@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/*特集ページ共通定義*/
#tags_area #breadcrumbs {
	margin: 30px auto 30px auto;
	max-width: 1200px;
}

#tags_area #breadcrumbs span .breadcrumb_last {
	display:inline;
}

main {
	max-width:unset;
	margin: 0;
    padding: 0;
    display: block;
}

main .main_contents{
	width:auto;
}

main .bottom_content{
	margin:50px auto 0 auto;
}

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

	#tags_area #breadcrumbs {
		margin:15px;
	}

}


/*特集ページ個別定義*/
.koyo_gion2024 {
	font-family:'Zen Old Mincho',"游ゴシック","Yu Gothic",YuGothic,"Noto Sans JP";
	font-weight:500;
	font-size:15px;
	line-height:33px;
	color:#4F4F4F;
}

.koyo_gion2024 section {
	position:relative;
}

.koyo_gion2024 section > div{
	margin:auto;
	max-width:1140px;
}

.koyo_gion2024 section h2{
	font-size:33px;
}

.koyo_gion2024 section h2 span{
	display:block;
	text-align:center;
	font-size:20px;
}

.koyo_gion2024 .kv_img img {
	width:100%;
}

.koyo_gion2024 ul.menu{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	font-size:18px;
	margin-top:40px;
}

.koyo_gion2024 ul.menu li + li{
	margin-left:55px;
}

.koyo_gion2024 ul.menu li img{
	vertical-align:middle;
	position:relative;
	top:-2px;
	margin-left:10px;
}

#kg24_first_view{
	background:#f4f4ef;
	padding-top:60px;
}

#kg24_intro{
	background:#f4f4ef;
	padding-bottom:60px;
}

#kg24_intro p{
	margin:auto;
	padding-top:60px;
	max-width:640px;
	line-height:30px;
}

#kg24_intro .mark{
	text-align:center;
	margin-top:60px;
}

#kg24_access{
	padding-top:100px;
	padding-bottom:80px;
}

#kg24_access .page_link_btn{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	margin-top:50px;
}

#kg24_access .page_link_btn li:first-child a{
	margin-right:10px;
	background:#ef442e;
}

#kg24_access .page_link_btn li:last-child a{
	margin-right:10px;
	background:#0061ad;
}

#kg24_access .page_link_btn li a{
	display:block;
	width:260px;
	height:70px;
	line-height:70px;
	color:#fff;
	border-radius:70px;
	padding-left:20px;
	font-size:18px;
	position:relative;
}

#kg24_access .page_link_btn li a span{
	font-size:14px;
	margin-left:10px;
}

#kg24_access .page_link_btn li a img{
	position:absolute;
	top:10px;
	bottom:0;
	right:20px;
	margin:auto;
}

#kg24_access p{
	margin:auto;
	padding-top:60px;
	max-width:640px;
	line-height:30px;
}

.kg24_items{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
	margin-top:130px;
}

.kg24_items::after {
	display: block;
	content:"";
	width:30.7%;
}

.kg24_items article{
	width:30.7%;
	margin-bottom:100px;
}

.kg24_items article:nth-child(n + 7){
	display:none;
}

.kg24_items article.on{
	display:block;
}

.kg24_items article h3{
	font-size:30px;
	font-weight:normal;
	margin-top:40px;
}

.kg24_items article h3 span{
	font-size:17px;
	/*
	margin-left:10px;
	*/
}

.kg24_items article p{
	font-size:16px;
	line-height:28px;
	margin-top:15px;
}

.kg24_items article .supplementation{
	font-size:16px;
	line-height:28px;
	margin-top:15px;
}

.kg24_items article .for_access{
	display:inline-block;
	background:#fff;
	color:#aa9f85;
	border:solid 1px #edecd1;
	border-radius:20px;
	font-size:13px;
	padding:0 15px;
	margin-top:15px;
}

.kg24_items article .for_access a{
	color:#aa9f85;
}

.kg24_more{
	text-align:center;
	font-size:18px;
}

.kg24_more > span{
	position: relative;
	top: 5px;
}

.kg24_more a{
	width:53px;
	height:53px;
	border-radius:50%;
	display:inline-block;
	background:#ef442e;
	margin-left:20px;
	vertical-align:middle;
	position:relative;
}

.kg24_more a span{
	position:absolute;
	width:10px;
	height:1px;
	background:#fff;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}

.kg24_more a span:nth-child(1){
	transform: rotate(90deg);
}

.koyo_gion2024 section#kg24_sakimatsuri > div{
	background:#fef8f7;
	padding:100px 0;
}

#kg24_sakimatsuri .catch_image{
	margin-top:40px;
	text-align:center;
}

.koyo_gion2024 section#kg24_atomatsuri > div{
	background:#f4f7f9;
	padding:100px 0;
}

#kg24_atomatsuri{
	margin-top:90px;
}

#kg24_atomatsuri .catch_image{
	margin-top:40px;
	text-align:center;
}

#kg24_atomatsuri .kg24_more a{
	background:#0061ad;
}

#kg24_map{
	background:#f4f4ef;
	margin-top:90px;
	padding:100px 0;
}

#kg24_map p{
	margin:auto;
	padding-top:60px;
	max-width:640px;
	line-height:30px;
}

#kg24_map .map{
	margin:auto;
	padding-top:40px;
	max-width:830px;
}

#kg24_map .map iframe{
	width:100%;
}

#kg24_map .large_btn a{
	display:block;
	width:180px;
	height:54px;
	line-height:54px;
	color:#000;
	border-radius:70px;
	font-size:18px;
	position:relative;
	text-align:center;
	margin:60px auto 0 auto;
	background:#fff;
	border:solid 1px #edecd1;
	transition:all 0.4s;
}

#kg24_news{
	padding:100px 0;
}

#kg24_news .news_area{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	align-items:center;
}

#kg24_news .news_area h2{
	width:300px;
	padding-left:35px;
}

#kg24_news .news_area ul{
	flex:1;
}

#kg24_news .news_area ul li a{
	display:block;
	padding:18px 0;
	border-radius:70px;
	border:solid 1px #edecd1;
	padding-left:60px;
	position:relative;
	transition:all 0.4s;
}

#kg24_news .news_area ul li + li a{
	margin-top:12px;
}

#kg24_news .news_area ul li a svg{
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:60px;
}

#kg24_article{
	padding:100px 0 80px 0;
	background:#f4f4ef;
}

#kg24_article ul{
	max-width:1040px;
	margin:auto;
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
	margin-top:60px;
}

#kg24_article ul li{
	width:48%;
	position:relative;
	margin-bottom:45px;
}

#kg24_article ul li h3{
	position:absolute;
	top:0;
	right:0;
	left:0;
	bottom:0;
	margin:auto;
	font-size:30px;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight:normal;
	z-index:3;
}

#kg24_article ul li img {
	z-index:1;
}

#kg24_article ul li img.hover {
	display:none;
	position:absolute;
	left:0;
	top:0;
	z-index:2;
}

.koyo_gion2024 .fix_btn{
	position:fixed;
	bottom:0;
	left:-90px;
}

@media screen and (max-width: 782px) {
	.koyo_gion2024 .fix_btn{
		position:fixed;
		bottom:21vw;
		left:-90px;
		z-index:990;
	}
}


.koyo_gion2024 .fix_btn li{
	text-align:right;
}

.koyo_gion2024 .fix_btn li:first-child a{
	margin-right:10px;
	background:#ef442e;
}

.koyo_gion2024 .fix_btn li:last-child a{
	margin-right:10px;
	background:#0061ad;
}

.koyo_gion2024 .fix_btn li a{
	display:block;
	width:260px;
	height:70px;
	line-height:70px;
	color:#fff;
	border-radius:70px;
	padding-right:30px;
	font-size:18px;
	position:relative;
}

.koyo_gion2024 .fix_btn li a span{
	font-size:14px;
	margin-left:10px;
}

#kg24_page_top a {
	margin-top:40px;
	display: block;
	padding: 30px 0;
	background-color: #f2674c;
	color: #fff;
	font-size: 15px;
	transition: all 0.4s;
	text-align:center;
}

#kg24_page_top a img{
	position:relative;
	margin-left:10px;
	vertical-align:middle;
}

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

	#kg24_news .news_area ul li a span{
		display:block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width:550px;
	}

	#kg24_map .large_btn a:hover{
		color:#fff;
		background:#000;
		border:solid 1px #000;
	}

	#kg24_news .news_area ul li a:hover{
		color:#fff;
		background:#000;
		border:solid 1px #000;
	}

	#kg24_news .news_area ul li a:hover svg polyline{
		stroke:#fff;
	}

}

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

	.pc_only {
		display:none !important;
	}

	.koyo_gion2024 ul.menu {
		justify-content:space-between;
		font-size: 17px;
		margin-top: 30px;
		padding: 0 40px;
	}


	.koyo_gion2024 ul.menu li:nth-child(1){
		order: 1;
		width:60%;
	}

	.koyo_gion2024 ul.menu li:nth-child(2){
		order: 3;
		width:60%;
		margin-top:15px;
	}

	.koyo_gion2024 ul.menu li:nth-child(3){
		order: 2;
		width:35%;
	}

	.koyo_gion2024 ul.menu li:nth-child(4){
		order: 4;
		width:35%;
		margin-top:15px;
	}

	.koyo_gion2024 ul.menu li + li{
		margin-left:0;
	}

	#kg24_intro p{
		font-size:14px;
		line-height:24px;
		padding:40px 13px 0 13px;
	}

	#kg24_intro .mark{
		margin-top:40px;
	}

	.koyo_gion2024 section h2{
		font-size:27px;
	}

	#kg24_access{
		padding-top:60px;
		padding-bottom:60px;
	}

	#kg24_access .page_link_btn li a {
		width: 265px;
		height: 48px;
		line-height: 48px;
		font-size: 17px;
	}

	#kg24_access .page_link_btn li a span{
		font-size: 10px;
	}

	#kg24_access .page_link_btn li a img{
		top:5px;
	}

	#kg24_access .page_link_btn li.ato{
		margin-top:7px;
	}

	#kg24_access p{
		font-size:14px;
		line-height:24px;
		padding:40px 20px 0 20px;
	}

	.koyo_gion2024 section#kg24_sakimatsuri{
		margin: 0 13px;
	}

	.koyo_gion2024 section#kg24_sakimatsuri > div{
		padding:60px 0;
	}

	.koyo_gion2024 section h2 span{
		font-size:15px;
	}

	.kg24_items{
		margin-top:45px;
	}

	.kg24_items article{
		width:47.14%;
		margin-bottom:40px;
	}

	.kg24_items article h3{
		font-size:19px;
		margin-top:18px;
	}

	.kg24_items article h3 span{
		font-size:10px;
	}

	.kg24_items article p{
		font-size:12px;
		line-height:28px;
		margin-top:15px;
	}

	.kg24_items article .supplementation{
		font-size:12px;
		line-height:28px;
	}

	.kg24_items article .for_access a{
		font-size:12px;
		line-height:20px;
		padding: 5px 15px;
	}

	.kg24_more{
		font-size:16px;
	}

	.kg24_more a{
		width:48px;
		height:48px;
	}

	#kg24_atomatsuri{
		margin:25px 13px 0 13px;
	}

	.koyo_gion2024 section#kg24_atomatsuri > div{
		padding:60px 0;
	}

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

	#kg24_map p{
		font-size:14px;
		line-height:24px;
		padding:40px 20px 0 20px;
	}

	#kg24_news{
		padding:60px 0;
		margin:0 13px;
	}

	#kg24_news .news_area{
		display:block;
	}

	#kg24_news .news_area h2{
		width:auto;
		padding-left:0;
	}

	#kg24_news .news_area ul{
		margin-top:50px;
	}

	#kg24_news .news_area ul li a{
		padding:12px 35px;
	}

	#kg24_news .news_area ul li a svg{
		right:20px;
	}

	#kg24_article{
		padding:60px 0;
	}

	#kg24_article ul{
		display:block;
		padding:0 37px;
		margin-top:40px;
	}

	#kg24_article ul li{
		width:100%;
		margin-bottom:20px;
	}

	#kg24_article ul li h3{
		font-size:18px;
	}

}