.font-futura {
	font-family: 'futura-pt', sans-serif;
}

.page-sponsorship ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-sponsorship p {
	margin: 0;
}

.page-sponsorship i {
	font-style: normal;
}

.hero-wrap {
	position: relative;
}

.hero-wrap .hero-bg img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100vw;
	height: 950px;
	object-fit: cover;
}

.hero-wrap .area-logo {
	max-width: 1080px;
	width: 100%;
	position: absolute;
	top: 130px;
	left: 0;
	right: 0;
	margin: auto;
}

.hero-wrap .area-logo img {
	max-width: 506px;
	width: 100%;
}

.band {
	width: 100%;
	padding: 1.2em;
	position: fixed;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10;
}

.band ul.list-link-index {
	display: flex;
	flex-wrap: wrap;
	max-width: 980px;
	width: 100%;
}

.band ul.list-link-index li a {
	display: block;
	font-size: 15px;
	font-weight: 300;
	transition: 0.6s;
}

.band ul.list-link-index li a:hover {
	text-decoration: none;
	font-weight: 800;
	color: var(--KEYAKI-YELLOW, #f8b400);
	transition: 0.6s;
}

.band ul.list-link-index li a:hover svg circle {
	fill: var(--KEYAKI-YELLOW, #f8b400);
	transition: 0.6s;
}

.band ul.list-link-index li {
	margin: 0 2em 1em 0;
}

.band ul.list-link-index li:nth-child(n + 6) {
	margin-bottom: 0;
}

.band ul.list-link-index li a .inner {
	display: flex;
	align-items: flex-start;
	margin-right: 0.4em;
}

.band ul.list-link-index li svg {
	margin: 0.08em 0.3em 0 0;
	height: 16px;
	line-height: 16px;
}

.band ul.list-link-index li a .inner p {
	line-height: 1;
}

.cont-w1080 {
	max-width: 1120px;
	width: 100%;
	margin: auto;
	padding: 0 20px;
}

.bg-image-keyaki {
	background: url(../keyaki2023/assets/images/sponsorship/bg-image-keyaki.webp) no-repeat center;
	background-size: cover;
	height: 5660px;
	padding: 80px 20px;
}

.cont-sponsorship-wrap .bg-klp-image img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100vw;
	height: 2000px;
	object-fit: cover;
}

.cont-sponsorship-type01 {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto 1.8em;
	padding: 40px;
	background: rgba(0, 0, 0, 0.8);
	background: linear-gradient(
		to bottom right,
		rgba(0, 0, 0, 0.94),
		/* 左上：黒 80% */ rgba(0, 0, 0, 0.7) /* 右下：完全透明 */
	);
}

.page-sponsorship ul.list-lightup03 {
	margin: 0 0 2em 0;
}

.list-about-infra01 {
	display: flex;
	padding: 0;
}

.page-sponsorship ul.list-about-infra01 {
	margin: 0 0 2em 0;
}

.list-about-infra01 li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	width: calc((100% - 80px) / 5);
	height: 254px;
	margin-right: 20px;
	padding: 2em 0.2em 0.6em;
	border: 1px solid #fff;
	border-radius: 10px;
	background: rgba(35, 24, 21, 0.9);
	text-align: center;
}

.list-about-infra01 li:last-child {
	margin-right: 0;
}

.list-about-infra01 li i {
	width: 100%;
	text-align: center;
	font-family: futura-pt, sans-serif;
	font-weight: 500;
}

.list-about-infra01 li b {
	width: 100%;
	text-align: center;
}

.box-item-name {
	margin: 0 0 1em 0;
}

.box-item-name p {
	display: inline-block;
	padding: 0.6em 0.9em 0.8em;
	line-height: 1;
	color: var(--KEYAKI-YELLOW, #f8b400);
	border: 1px solid var(--KEYAKI-YELLOW, #f8b400);
}

.page-sponsorship h2 {
	margin-bottom: 0.6em;
}

.area-parade2025 .pc-left b:after {
	background-color: #f8b400; /* 線色 */
	border-radius: 7px; /* 線幅の半分 */
	content: '';
	display: block;
	height: 13px; /* 線幅 */
	display: none;
}

.area-parade2025 .pc-left p {
	line-height: 1.6;
}

.area-parade2025 .pc-left b {
	display: inline-block;
	width: 100%;
}

/*
.area-parade2025 .pc-left b {
	font-size: 100px;
	line-height: 1.2;
}
*/

.area-parade2025 .pc-left b img {
	max-width: 580px;
	width: 100%;
}

.page-sponsorship h2 {
	font-size: 55px;
	font-weight: 800;
	line-height: 1.4;
	font-feature-settings: 'palt';
}

.area-parade2025 {
	margin-bottom: 3em;
}

.area-parade2025 .pc-left p span {
	font-size: 34px;
}

.area-parade2025 .pc-left p {
	font-size: 30px;
}

.plus-1km-map2025 {
	margin: 0 0 3em 0;
}

.list-lightup03 li,
.deco-border-side,
.type-icon-circle p {
	font-size: 24px;
}

.page-sponsorship h2 + p,
.cont-sponsorship-type01 > p,
.list-about-infra02 li {
	font-size: 20px;
	font-weight: 400;
}

.page-sponsorship ul.list-about-infra02 li {
	margin: 0 0 0.1em 0;
}

.area-parade2025 .pc-left small {
	display: block;
	margin: 0.2em 0 1.8em;
	font-size: 15px;
	font-weight: 200;
}

.page-sponsorship h2 + p {
	margin: 0 0 1em 0;
	line-height: 1.6;
}

.area-parade2025 {
	display: flex;
	align-items: center;
}

.area-parade2025 .pc-left {
	width: 65%;
	margin-right: 3%;
}

.area-parade2025 .pc-right {
	width: 32%;
}

.area-parade2025 .pc-right img {
	max-width: 320px;
	width: 100%;
}

.plus-1km-map2025 img {
	max-width: 1080px;
	width: 100%;
}

.list-plus-area-image {
	display: flex;
	flex-wrap: wrap;
}

.list-plus-area-image li {
	width: calc((100% - 23px) / 2);
	margin: 0 23px 23px 0;
}

.list-plus-area-image li:nth-child(2n) {
	margin-right: 0;
}

.list-plus-area-image li:nth-child(n + 3) {
	margin-bottom: 0;
}

.list-plus-area-image li img {
	max-width: 540px;
	width: 100%;
}

.old-year-wrap {
	display: flex;
}

.old-year-wrap .old-year {
	width: calc((100% - 23px) / 2);
}

.old-year-wrap .old-year.old-year2023 {
	margin-right: 23px;
}

.old-year-wrap .old-year img {
	max-width: 540px;
	width: 100%;
}

.list-lightup03 {
	padding: 0;
}

.list-lightup03 li {
	margin-bottom: 0.4em;
}

.list-lightup03 li:last-child {
	margin-bottom: 0;
}

.list-about-infra01 li i,
.list-about-infra01 li b {
	font-size: 40px;
	line-height: 1;
}

.list-about-infra01 li p {
	font-size: 15px;
}

.page-sponsorship p.deco-border-side {
	margin: 0 0 1em 0;
	white-space: nowrap;
}

.deco-border-side {
	display: flex;
	justify-content: center;
	align-items: center;
}

.deco-border-side::before,
.deco-border-side::after {
	content: '';
	width: 37.6%;
	height: 1px;
	background-color: #fff;
}

.deco-border-side::before {
	margin-right: 20px;
}

.deco-border-side::after {
	margin-left: 20px;
}

.page-sponsorship p.title-infra05 {
	margin: 0 0 0.4em 0;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}

.infra05-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-sponsorship ul.list-about-infra02 {
	margin: 0;
	padding: 0 1.8em;
	text-align: center;
}

.type-icon-circle {
	display: flex;
	align-items: center;
	margin-bottom: 2em;
}

.type-icon-circle i {
	margin-right: 0.8em;
}

.type-icon-circle p {
	margin: 0;
}

.type-icon-circle p span {
	font-weight: 300;
}

.list-plus-area-image {
	padding: 0;
}

.title-old-year-wrap {
	margin-bottom: 2.2em;
}

.old-year .area-map {
	margin-bottom: 1em;
}

.old-year .area-info {
	margin-bottom: 1em;
}

.old-year img {
	max-width: 540px;
	width: 100%;
}

.old-year2023 .title-old-year-wrap img {
	max-width: 345px;
}

.old-year2024 .title-old-year-wrap img {
	max-width: 436px;
}

.old-year2023 .title-old-year-wrap b {
	color: var(--KEYAKI-PURPLE, #c44b96);
}

.old-year2024 .title-old-year-wrap b {
	color: var(--KEYAKI-GREEN, #009495);
}

.old-year .title-old-year-wrap b small {
	margin-left: 0.18em;
	font-weight: 400;
}

.old-year .title-old-year-wrap b small span {
	font-size: 0.8em;
}

.title-old-year-wrap b {
	font-size: 40px;
	font-weight: 500;
}

.title-old-year-wrap p {
	margin: 0 0 1em 0;
	font-size: 24px;
	font-weight: 500;
}

.itle-type-line-wrap i {
	width: 150px;
	height: 150px;
	aspect-ratio: 1/1;
}

.title-type-line-wrap {
	position: relative;
}

.title-type-line-wrap i {
	position: absolute;
	top: -0.8em;
	left: -0.8em;
}

.title-type-line-wrap p.lead {
	margin: 0 0 0.3em 0;
	font-size: 20px;
	text-align: center;
}

.page-sponsorship h3 {
	font-size: 96px;
	font-weight: 500;
}

.page-sponsorship h3.mb-pattern01 {
	margin: 0 0 0.5em 0;
}

.page-sponsorship h3.mb-pattern02 {
	margin: 0 0 0.2em 0;
}

.title-type-line-wrap h4 {
	margin: 0 0 0.9em 0;
	padding: 0.6em 0.4em 0.5em;
	font-size: 24px;
	font-family: Futura;
	font-weight: 500;
	color: var(--KEYAKI-BLACK, #231815);
	background: var(--KEYAKI-YELLOW, #f8b400);
	text-align: center;
}

.cont-sponsorship-type02 {
	max-width: 1160px;
	width: 100%;
	margin: 0 auto 8em;
	padding: 0 40px;
}

.cont-sponsorship-type02 > small {
	display: block;
	margin: 0 0 1.9em 0;
}

.type-photo-layout01 {
	display: flex;
	margin: 0 0 3em 0;
}

.type-photo-layout01.pattern-under-text {
	margin: 0 0 1em 0;
}

.type-photo-layout01.pattern-under-text + p {
	font-weight: 400;
	line-height: 1.6;
}

.type-photo-layout01 .pc-left {
	width: 68%;
	margin-right: 2%;
}

.type-photo-layout01 .pc-right {
	width: 30%;
}

.type-photo-layout01 .list-photo,
.list-pc-photo-column02,
.list-effort {
	padding: 0;
}

.type-photo-layout01 .list-photo li:first-child {
	margin-bottom: 5%;
}

.type-photo-layout01 img {
	max-width: 760px;
	width: 100%;
}

ul.list-pc-photo-column02.type-actual-results p {
	font-size: 15px;
	font-weight: 300;
}

ul.list-pc-photo-column02.type-actual-results p.title {
	margin: 0 0 0.4em 0;
	font-size: 24px;
	font-weight: 500;
}

.list-pc-photo-column02 {
	display: flex;
	flex-wrap: wrap;
}

.list-pc-photo-column02 li p {
	font-weight: 400;
}

.list-pc-photo-column02 li {
	width: calc((100% - 22px) / 2);
	margin-right: 22px;
	margin-bottom: 2.4em;
}

.list-pc-photo-column02 li:nth-child(2n) {
	margin-right: 0;
}

.list-pc-photo-column02 li:nth-child(n + 3) {
	margin-bottom: 0;
}

.list-pc-photo-column02 li img {
	max-width: 580px;
	width: 100%;
	margin: 0 0 0.8em 0;
}

.list-pc-photo-column02.type-actual-results li,
.list-pc-photo-column02.type-actual-results li:nth-child(n + 3) {
	margin-bottom: 2em;
}

.list-pc-photo-column02.type-actual-results li:nth-child(n + 13) {
	margin-bottom: 0;
}

.effort-year-wrap p.title {
	margin: 0 0 0.6em 0;
	font-size: 24px;
}

.effort-year-wrap li p.title {
	margin: 0 0 0.4em 0;
	font-weight: 400;
}

.effort-year-wrap li p.name {
	margin: 0 0 0.6em 0;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}

.effort-year-wrap li p {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.5;
}

.effort2023-wrap {
	margin: 3.8em 0 3.2em 0;
}

.list-effort {
	display: flex;
}

.list-effort li {
	width: calc((100% - 46px) / 3);
	margin-right: 23px;
}

.list-effort li:last-child {
	margin-right: 0;
}

.list-effort li img {
	max-width: 580px;
	width: 100%;
	margin: 0 0 1em 0;
}

.inner-cont {
	margin: 0 0 8em 0;
}

.talk-night-time {
	margin: 0 0 1.3em 0;
	padding: 0.6em 1em;
	text-align: center;
	background: #ffcf00;
}

.talk-night-time img {
	max-width: 546px;
	width: 100%;
}

.talk-event2024 {
	display: flex;
}

.talk-member {
	width: 67%;
	margin-right: 2.2%;
}

.cycle-parade {
	width: 30.8%;
}

.list-talk-member {
	display: flex;
	padding: 0;
}

.list-talk-member li {
	width: calc((100% - 48px) / 3);
	margin-right: 24px;
	padding: 0;
}

.list-talk-member li:last-child {
	margin-right: 0;
}

.talk-event2024 img {
	max-width: 580px;
	width: 100%;
	margin: 0 0 1.2em 0;
}

.page-sponsorship h4.type-border-box {
	margin: 0 0 1.2em 0;
	padding: 0.6em 0.4em;
	border: 1px solid #fff;
	font-size: 24px;
	font-weight: 400;
	text-align: center;
}

.page-sponsorship h4.type-border-box.border-bottomo-none {
	margin-bottom: 0;
	border-bottom: none;
}

table.table-support-plan {
	max-width: 1080px;
	width: 100%;
}

table.table-support-plan .line01 {
	width: 14%;
}

table.table-support-plan .line02 {
	width: 6%;
}

table.table-support-plan .line03,
table.table-support-plan .line04,
table.table-support-plan .line05,
table.table-support-plan .line06,
table.table-support-plan .line07,
table.table-support-plan .line08,
table.table-support-plan .line09,
table.table-support-plan .line10 {
	width: 10%;
}

.table-support-plan th {
	height: 108px;
}

.table-support-plan td.rowspan02 {
	height: 138px;
}

.table-support-plan th,
.table-support-plan td {
	padding: 0.2em;
	border: 1px solid #fff;
	font-size: 20px;
	font-weight: 400;
	text-align: center;
	line-height: 1.2;
	color: #fff;
}

.table-support-plan td.size-sub,
.table-support-plan td small {
	font-size: 15px;
}

.table-support-plan td small.more-small {
	display: block;
	font-size: 11px;
	line-height: 1.8;
}

.table-support-plan .diamond th,
.bg-color-diamond {
	background: var(--KEYAKI-PURPLE, #c44b96);
}

.table-support-plan .platinum th,
.bg-color-platinum {
	background: var(--KEYAKI-GREEN, #009495);
}

.table-support-plan .gold th,
.bg-color-gold {
	background: var(--KEYAKI-ORANGE, #f29100);
}

.table-support-plan .pearl th,
.bg-color-pearl {
	background: var(--KEYAKI-PINK, #ec75a9);
}

.table-support-plan .silver th,
.bg-color-silver {
	background: var(--KEYAKI-LIGHT-GREEN, #c1d612);
}

.table-support-plan .supporter th,
.bg-color-supporter {
	background: var(--KEYAKI-BLUE, #00b3cd);
}

.table-support-plan .diamond td {
	background: rgba(196, 75, 150, 0.2);
}

.table-support-plan .platinum td {
	background: rgba(0, 148, 149, 0.2);
}

.table-support-plan .gold td {
	background: rgba(242, 145, 0, 0.2);
}

.table-support-plan .pearl td {
	background: rgba(236, 117, 169, 0.2);
}

.table-support-plan .silver td {
	background: rgba(193, 214, 18, 0.2);
}

.table-support-plan .supporter td {
	background: rgba(0, 179, 205, 0.2);
}

.color-diamond {
	color: var(--KEYAKI-PURPLE, #c44b96);
}

.color-platinum {
	color: var(--KEYAKI-GREEN, #009495);
}

.color-gold {
	color: var(--KEYAKI-ORANGE, #f29100);
}

.color-pearl {
	color: var(--KEYAKI-PINK, #ec75a9);
}

.color-silver {
	color: var(--KEYAKI-LIGHT-GREEN, #c1d612);
}

.color-supporter {
	color: var(--KEYAKI-BLUE, #00b3cd);
}

.bg-circle {
	position: relative;
}

.bg-circle:after {
	content: '';
	background: url(../keyaki2023/assets/images/sponsorship/bg-circle.webp) no-repeat;
	width: 80px;
	height: 80px;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.lead-partner {
	display: flex;
	align-items: flex-start;
	margin: 0 0 2.6em 0;
}

.lead-partner p {
	font-weight: 400;
}

.lead-partner > img {
	margin-right: 0.5em;
}

.partner-wrap .partner-referral img {
	max-width: 1080px;
	width: 100%;
}

.partner-referral picture > img {
	margin-bottom: 22px;
}

.list-partner-referral {
	display: flex;
	padding: 0;
}

.list-partner-referral li {
	width: calc((100% - 22px) / 2);
}

.list-partner-referral li:first-child {
	margin-right: 22px;
}

.list-economic-effects {
	display: flex;
	flex-wrap: wrap;
}

.list-economic-effects li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: calc((100% - 22px) / 2);
	height: 186px;
	padding: 1em 0.2em;
	border: 1px solid #fff;
	border-radius: 10px;
	text-align: center;
}

.list-economic-effects li:nth-child(1),
.list-economic-effects li:nth-child(2) {
	margin-bottom: 22px;
}

.list-economic-effects li:nth-child(odd) {
	margin-right: 22px;
}

.list-economic-effects li p,
.list-economic-effects li small,
.list-economic-effects li b {
	width: 100%;
	line-height: 1;
}

.list-economic-effects li b {
	font-weight: 400;
}

.list-economic-effects li p.title {
	font-size: 24px;
	font-weight: 400;
}

.list-economic-effects li small {
	display: block;
	margin: -0.7em 0 0 0;
	font-size: 15px;
	font-weight: 300;
}

.list-economic-effects li b span {
	font-size: 40px;
}

.list-economic-effects li:nth-child(1) b,
.list-economic-effects li:nth-child(2) b {
	font-size: 64px;
}

.list-economic-effects li:nth-child(3) b,
.list-economic-effects li:nth-child(4) b {
	font-size: 96px;
}

.cont-sponsorship-type02 > small {
	font-size: 15px;
	font-weight: 200;
}

.list-organizational-structure li {
	margin: 0 0 2.4em 0;
}

.list-organizational-structure li p {
	margin: 0 0 0.5em 0;
	font-size: 24px;
	font-weight: 400;
}

.list-organizational-structure li small {
	display: block;
	font-size: 15px;
	font-weight: 300;
}

.list-support-plan li,
.list-plan-type li {
	font-size: 20px;
}

.list-plan-type {
	display: flex;
}

.list-plan-type li {
	width: calc((100% - 100px) / 6);
	margin-right: 20px;
	text-align: center;
}

.list-plan-type li:last-child {
	margin-right: 0;
}

.list-plan-type li p {
	margin: 0;
	padding: 0.6em 0.4em;
	text-align: center;
}

.list-plan-type li small {
	display: block;
	margin: 0.4em 0 0 0;
	padding: 0;
	font-size: 13px;
	font-weight: 300;
	text-align: center;
	line-height: 1.4;
	word-break: keep-all;
}

.page-sponsorship ul.list-support-plan {
	margin: 0 0 1.8em 0;
}

.list-support-plan li {
	margin-bottom: 0.5em;
	font-weight: 400;
}

.list-support-plan li:last-child {
	margin-bottom: 0;
}

.list-image-insert {
	display: flex;
}

.list-image-insert li {
	width: calc((100% - 44px) / 3);
	margin: 0 22px 0 0;
}

.list-image-insert li:last-child {
	margin-right: 0;
}

.list-image-insert li img {
	max-width: 580px;
	width: 100%;
}

.single-image-insert img {
	max-width: 1080px;
	width: 100%;
}

.image-insert p {
	margin: 0;
	padding: 0.4em;
	font-size: 20px;
	font-weight: 400;
	text-align: center;
	background: #231815;
}

.image-insert small {
	display: block;
	font-size: 15px;
	font-weight: 300;
}

.bg-color-2e {
	padding: 160px 0;
	background: #2e2e2e;
}

.support-plan-wrap {
	margin: 0 0 5em 0;
}

.support-plan-by-type-wrap {
	margin-bottom: 5em;
}

h4.support-plan-by-type {
	margin: 0 0 0.08em 0;
	font-size: 96px;
	font-weight: 500;
	line-height: 1;
}

.support-plan-wrap h5 {
	margin: 0;
	padding: 0.4em 0.4em 0.4em 1em;
	font-size: 24px;
	color: #231815;
}

.support-plan-by-type-wrap table {
	max-width: 1080px;
	width: 100%;
}

.support-plan-by-type-wrap table th {
	width: 14.8%;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
}

.support-plan-by-type-wrap table td {
	width: 85.2%;
}

.support-plan-by-type-wrap table td p {
	margin: 0;
	font-weight: 600;
}

.support-plan-by-type-wrap table td p,
.support-plan-by-type-wrap table td small span {
	font-size: 24px;
}

.support-plan-by-type-wrap table td small span {
	font-weight: 300;
}

.support-plan-by-type-wrap table td small {
	display: block;
	font-size: 20px;
	font-weight: 300;
}

.support-plan-by-type-wrap table td p,
.support-plan-by-type-wrap table td small {
	text-indent: -1em;
	padding-left: 1em;
}

.support-plan-by-type-wrap table td .mass {
	margin-bottom: 0.9em;
}

.support-plan-by-type-wrap table td .mass:last-child {
	margin-bottom: 0;
}

.support-plan-by-diamond table th,
.support-plan-by-diamond table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-PURPLE, #c44b96);
}

.support-plan-by-platinum table th,
.support-plan-by-platinum table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-GREEN, #009495);
}

.support-plan-by-gold table th,
.support-plan-by-gold table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-ORANGE, #f29100);
}

.support-plan-by-pearl table th,
.support-plan-by-pearl table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-PINK, #ec75a9);
}

.support-plan-by-silver table th,
.support-plan-by-silver table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-LIGHT-GREEN, #c1d612);
}

.support-plan-by-supporter table th,
.support-plan-by-supporter table td {
	padding: 0.2em;
	border: 2px solid var(--KEYAKI-BLUE, #00b3cd);
}

.support-plan-by-type-wrap table td {
	padding: 2em 0.2em 2em 2em;
}

.page-sponsorship ul.list-image-insert {
	margin: 0 0 1.4em 0;
}

.list-economic-effects li b span {
	font-family: 'Noto Sans JP', sans-serif;
}

.fadein-up {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 1s ease, transform 1s ease;
}

.fadein-up.visible {
	opacity: 1;
	transform: translateY(0);
}

/* 協賛LP 追従ボタン */
.floating-button {
	position: fixed;
	bottom: 1em;
	right: 1em;
	width: 146px;
	height: 146px;
	z-index: 9999;
}

.floating-button a {
	display: block;
}

.floating-button img {
	width: 136px;
	height: 136px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.image-hover-style {
	position: relative;
	width: 136px; /* 例 */
	height: 136px; /* 例 */
}

.image-normal,
.image-hover {
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s ease; /* アニメーション */
}

.image-hover {
	opacity: 0;
}

.floating-button a:hover .image-hover-style .image-normal {
	opacity: 0;
}

.floating-button a:hover .image-hover-style .image-hover {
	opacity: 1;
}

/* 波線リング（CSSで表現） */
.rotating-ring {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 2px dashed #fbd100; /* 波線風の色と太さ */
	border-radius: 50%;
	animation: rotate-ring 30s linear infinite;
	box-sizing: border-box;
	z-index: 9999;
}

.floating-button a:hover .rotating-ring {
	border: 2px dashed #fff;
	transition: 0.3s;
}

/* 中央の画像 */
.center-image {
	position: absolute;
	width: 80%;
	height: 80%;
	top: 10%;
	left: 3.5%;
	border-radius: 50%;
}

/* 回転アニメーション */
@keyframes rotate-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.pc-show {
	display: block;
}

.mobile-show {
	display: none;
}

.tbl-only-show {
	display: none;
}

@media screen and (max-width: 1080px) {
	.list-economic-effects li p.title {
		font-size: 22px;
		line-height: 1.4;
	}

	.list-economic-effects li small {
		margin: 0;
		font-size: 13px;
		line-height: 1.4;
	}

	.list-economic-effects li {
		height: 220px;
	}
}

@media screen and (max-width: 860px) {
	.list-about-infra01 li i,
	.list-about-infra01 li b {
		font-size: 36px;
	}

	.list-about-infra01 li p {
		font-size: 12px;
	}

	.list-about-infra01 {
		flex-wrap: wrap;
		justify-content: center;
	}

	.list-about-infra01 li {
		width: calc((100% - 80px) / 3);
	}

	.list-about-infra01 li:nth-child(4),
	.list-about-infra01 li:nth-child(5) {
		margin-top: 1em;
	}

	.list-plan-type li p {
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	.tbl-only-show {
		display: block;
	}

	.cont-sponsorship-type01 {
		padding: 1.8em;
	}

	.list-economic-effects li p.title {
		font-size: 20px;
	}

	.list-economic-effects li:nth-child(1) b,
	.list-economic-effects li:nth-child(2) b {
		font-size: 50px;
	}

	.list-economic-effects li b span {
		font-size: 24px;
	}

	.list-economic-effects li:nth-child(3) b,
	.list-economic-effects li:nth-child(4) b {
		font-size: 70px;
	}

	.bg-circle:after {
		content: '';
		background: url(../keyaki2023/assets/images/sponsorship/bg-circle.webp) no-repeat;
		width: 40px;
		height: 40px;
		background-size: contain;
	}

	.list-plan-type {
		flex-wrap: wrap;
	}

	.list-plan-type li {
		width: calc((100% - 4%) / 3);
		margin: 0 2% 2% 0;
	}

	.list-plan-type li:nth-child(n + 4) {
		margin: 0 2% 0 0;
	}

	.list-plan-type li:nth-child(3n) {
		margin: 0 0 0 0;
	}
}

@media screen and (max-width: 720px) {
	.bg-image-keyaki {
		height: 5840px;
	}
}

@media screen and (max-width: 460px) {
	.pc-show {
		display: none;
	}

	.tbl-only-show {
		display: none;
	}

	.mobile-show {
		display: block;
	}

	.hero-wrap .hero-bg img {
		height: 100vh;
	}

	.cont-sponsorship-type01 {
		padding: 40px 1.4em 40px;
	}

	.hero-wrap .area-logo img {
		padding: 0 20px;
	}

	.band {
		display: none;
	}

	.floating-button img {
		width: 110px;
		height: 110px;
	}

	.floating-button {
		width: 120px;
		height: 120px;
	}

	.page-sponsorship h2 {
		margin-bottom: 1em;
		font-size: 30px;
		line-height: 1.5;
	}

	.box-item-name p {
		font-size: 13px;
	}

	.list-lightup03 li,
	.deco-border-side,
	.type-icon-circle p {
		font-size: 20px;
	}

	.page-sponsorship h2 + p,
	.cont-sponsorship-type01 > p,
	.list-about-infra02 li {
		font-size: 13px;
	}

	.page-sponsorship p.title-infra05 {
		margin: 0 0 1.2em 0;
		font-size: 20px;
		line-height: 1.4;
	}

	.list-about-infra02 li {
		font-size: 13px;
	}

	.page-sponsorship ul.list-about-infra02 {
		padding: 0 0.8em;
	}

	.deco-border03 svg {
		width: 74%;
	}

	.area-parade2025 {
		flex-wrap: wrap;
		margin: 0 0 2.2em 0;
	}

	.area-parade2025 .pc-left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 2.8em;
	}

	.area-parade2025 .pc-right {
		width: 100%;
		padding: 0 0.4em;
		text-align: center;
	}

	.area-parade2025 .pc-left p,
	.area-parade2025 .pc-left p span {
		font-size: 16px;
	}

	.area-parade2025 .pc-left small {
		font-size: 10px;
	}

	.area-parade2025 .pc-left b {
		font-size: 64px;
		line-height: 1.2;
	}

	.area-parade2025 .pc-left b:after {
		background-color: #f8b400;
		border-radius: 7px;
		content: '';
		display: block;
		height: 10px;
		display: none;
	}

	.plus-1km-map2025 {
		margin: 0 0 3.6em 0;
	}

	.type-icon-circle {
		margin: 0 0 1.4em 0;
	}

	.list-plus-area-image li {
		width: 100%;
		margin: 0 0 1em 0;
	}

	.list-plus-area-image li:nth-child(n + 3) {
		margin: 0 0 1em 0;
	}

	.list-plus-area-image li:last-child {
		margin: 0 0 0 0;
	}

	.old-year-wrap {
		flex-wrap: wrap;
	}

	.old-year-wrap .old-year {
		width: 100%;
	}

	.old-year-wrap .old-year.old-year2023 {
		margin: 0 0 2.6em 0;
	}

	.title-old-year-wrap {
		margin-bottom: 1.4em;
	}

	.title-old-year-wrap b {
		display: block;
		margin: 0 0 0.1em 0;
		font-size: 20px;
	}

	.title-old-year-wrap p {
		margin: 0 0 0.8em 0;
		font-size: 20px;
	}

	.old-year > p,
	.title-type-line-wrap p.lead {
		font-size: 13px;
	}

	.old-year2023 .title-old-year-wrap img {
		max-width: 300px;
	}

	.old-year .area-map {
		margin-bottom: 1.2em;
	}

	.old-year .area-info {
		margin-bottom: 0.8em;
	}

	.bg-image-keyaki {
		height: 6280px;
		padding: 25px 20px;
	}

	.cont-sponsorship-type02 {
		padding: 0 20px;
	}

	.page-sponsorship h3 {
		font-size: 48px;
	}

	.title-type-line-wrap h4 {
		font-size: 20px;
	}

	.title-type-line-wrap.type-left-icon h4 {
		padding: 0.6em 0.4em 0.5em 3em;
	}

	.title-type-line-wrap i {
		position: absolute;
		top: 1.4em;
		left: -0.8em;
	}

	.type-photo-layout01 {
		flex-wrap: wrap;
	}

	.type-photo-layout01 .pc-left {
		width: 100%;
		margin: 0 0 0.7em 0;
	}

	.type-photo-layout01 .pc-right {
		width: 100%;
	}

	.type-photo-layout01 .pc-right .list-photo {
		display: flex;
	}

	.type-photo-layout01 .list-photo li:first-child {
		margin: 0 0.8em 0 0;
	}

	.list-pc-photo-column02 li {
		width: 100%;
		margin: 0 0 2em 0;
	}

	.list-pc-photo-column02 li:nth-child(n + 3) {
		margin: 0 0 2em 0;
	}

	.list-pc-photo-column02 li:last-child {
		margin: 0;
	}

	.list-pc-photo-column02 li p,
	.type-photo-layout01.pattern-under-text + p,
	.effort-year-wrap li p {
		font-size: 13px;
		line-height: 1.7;
	}

	.list-effort {
		flex-wrap: wrap;
	}

	.list-effort li {
		width: 100%;
		margin: 0 0 2em 0;
	}

	.list-effort li:last-child {
		margin: 0;
	}

	.effort2023-wrap {
		margin: 3.6em 0 3.2em 0;
	}

	.effort-year-wrap li p.title {
		margin: 0 0 0 0;
		font-size: 20px;
		line-height: 1.3;
	}

	.talk-event2024 {
		flex-wrap: wrap;
	}

	.talk-member {
		width: 100%;
		margin: 0 0 1.2em 0;
	}

	.list-talk-member {
		flex-wrap: wrap;
	}

	.list-talk-member li {
		display: flex;
		align-items: center;
		width: 100%;
		margin: 0 0 1.2em 0;
	}

	.list-talk-member li:last-child {
		margin: 0;
	}

	.talk-event2024 img {
		margin: 0;
	}

	.list-talk-member li .thumbnail {
		width: 31%;
		margin: 0 9% 0 0;
	}

	.list-talk-member li .area-member-info {
		width: 60%;
	}

	.cycle-parade {
		width: 100%;
	}

	.list-pc-photo-column02.type-actual-results li:nth-child(n + 13) {
		margin: 0 0 2em 0;
	}

	.list-pc-photo-column02.type-actual-results li:last-child {
		margin: 0;
	}

	ul.list-pc-photo-column02.type-actual-results p.title {
		margin: 0 0 0.2em 0;
		font-size: 20px;
	}

	ul.list-pc-photo-column02.type-actual-results p,
	.list-organizational-structure li small {
		font-size: 13px;
	}

	.list-support-plan li {
		font-size: 15px;
	}

	.list-economic-effects li {
		width: 100%;
		margin: 0 0 2em 0;
	}

	.list-economic-effects li:nth-child(odd) {
		margin-right: 0;
	}

	.list-economic-effects li p.title,
	.list-organizational-structure li p {
		font-size: 20px;
	}

	.list-economic-effects li:nth-child(1) b,
	.list-economic-effects li:nth-child(2) b {
		font-size: 64px;
	}

	.list-economic-effects li b span {
		font-size: 40px;
	}

	.list-economic-effects li:nth-child(3) b,
	.list-economic-effects li:nth-child(4) b {
		font-size: 64px;
	}

	.lead-partner {
		display: inline-block;
		margin: 0 0 0.8em 0;
	}

	.lead-partner > img {
		width: 200px;
		display: inline-block;
	}

	.lead-partner p {
		display: inline;
		font-size: 13px;
		line-height: 2.4;
	}

	.list-partner-referral {
		flex-wrap: wrap;
	}

	.list-partner-referral li {
		width: 100%;
	}

	.list-partner-referral li:first-child {
		margin: 0 0 1.3em 0;
	}

	.tategaki {
		writing-mode: vertical-rl;
	}

	.list-plan-type li p {
		font-size: 15px;
	}

	.page-sponsorship h4.type-border-box,
	.support-plan-wrap h5 {
		font-size: 20px;
	}

	.list-plan-type li small {
		font-size: 12px;
		white-space: nowrap;
	}

	.list-image-insert {
		flex-wrap: wrap;
	}

	.list-image-insert li {
		width: 100%;
		margin: 0 0 2em 0;
	}

	h4.support-plan-by-type {
		font-size: 48px;
	}

	.support-plan-by-type-wrap table td p {
		font-size: 20px;
	}

	.support-plan-by-type-wrap table td small,
	.support-plan-by-type-wrap table td small span {
		font-size: 13px;
	}

	.support-plan-by-type-wrap table th {
		width: 20%;
	}

	.support-plan-by-type-wrap table td {
		width: 80%;
		padding: 0.8em 0.6em 0.8em 1em;
	}

	.box-item-name {
		margin: 0 0 0.6em 0;
	}

	.cont-sponsorship-type01 {
		margin: 0 auto 2.8em;
	}

	.page-sponsorship p.deco-border-side {
		margin: 0 0 0.6em 0;
		display: block;
		text-align: left;
	}

	.deco-border-side::before,
	.deco-border-side::after {
		display: none;
	}

	.page-sponsorship ul.list-about-infra01 {
		margin: 0 0 2.8em 0;
		padding: 30px;
		border: 1px solid #fff;
		border-radius: 10px;
		background: rgba(35, 24, 21, 0.9);
	}

	.list-about-infra01 li {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 0.6em 0;
		padding: 0 0 0.6em 0;
		border: none;
		border-bottom: 1px solid #fff;
		border-radius: 0;
		text-align: left;
		background: none;
	}

	.list-about-infra01 li:last-child {
		margin: 0;
		padding: 0;
		border: none;
	}

	.list-about-infra01 li i,
	.list-about-infra01 li b {
		display: inline-block;
		width: initial;
	}

	.list-about-infra01 li i {
		margin: 0 0.6em 0 0;
		font-size: 20px;
	}

	.list-about-infra01 li b {
		font-size: 24px;
	}

	.list-about-infra01 li p {
		display: block;
		width: 100%;
		margin: 0.8em 0 0 0;
		font-size: 13px;
	}

	.page-sponsorship h2 + p {
		margin: 0 0 2em 0;
	}

	.page-sponsorship ul.list-about-infra02 li {
		margin: 0 0 0.4em 0;
	}

	.bg-color-2e {
		padding: 6em 0;
	}

	.title-type-line-wrap.sub-line02 i {
		top: 2.56em;
	}

	.page-sponsorship h3.mb-pattern01 {
		margin: 0 0 1em 0;
	}

	.title-type-line-wrap p.lead {
		margin: 0 0 0.6em 0;
		font-weight: 400;
	}

	.inner-cont {
		margin: 0 0 6em 0;
	}

	.effort-year-wrap li p {
		font-size: 13px;
		line-height: 1.4;
	}

	.effort-year-wrap li p.name {
		font-size: 20px;
		text-align: left;
	}

	.cont-sponsorship-type02 > small {
		font-size: 13px;
	}

	.list-economic-effects li:last-child {
		margin: 0;
	}

	.table-support-plan th,
	.table-support-plan td {
		height: 70px;
		font-size: 15px;
	}

	.page-sponsorship ul.list-support-plan {
		margin: 0 0 1.2em 0;
	}

	.support-plan-wrap {
		margin: 0 0 3em 0;
	}

	.image-insert small {
		font-size: 13px;
	}

	.support-plan-wrap h5 {
		padding: 0.4em 0.4em 0.4em 0.6em;
	}
}

@media (max-width: 425px) {
	.bg-image-keyaki {
		height: 6060px;
	}
}

@media (max-width: 400px) {
	.bg-image-keyaki {
		height: 5920px;
	}
}

@media (max-width: 375px) {
	.bg-image-keyaki {
		height: 5920px;
	}
}

@media (max-width: 320px) {
	.bg-image-keyaki {
		height: 6150px;
	}
}

.table-scroll-wrap {
	margin-bottom: 2em;
}

.scroll-hint {
	display: none;
	text-align: center;
	font-size: 1.2rem;
	color: rgb(248, 180, 0);
	margin-bottom: 0.5em;
	animation: blink 1.6s infinite;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}

.scroll-hint::before {
	content: '⇦';
	margin-right: 0.4em;
	animation: bounceLeft 1s infinite alternate;
	display: inline-block;
}

.scroll-hint::after {
	content: '⇨';
	margin-left: 0.4em;
	animation: bounceRight 1s infinite alternate;
	display: inline-block;
}

@keyframes blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
}

@keyframes bounceLeft {
	0% {
		transform: translateX(0);
		opacity: 1;
	}
	100% {
		transform: translateX(-3px);
		opacity: 0.6;
	}
}

@keyframes bounceRight {
	0% {
		transform: translateX(0);
		opacity: 1;
	}
	100% {
		transform: translateX(3px);
		opacity: 0.6;
	}
}

.table-container {
	overflow-x: visible;
}

@media (max-width: 768px) {
	.scroll-hint {
		display: block;
	}

	.table-container {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding-left: 10px; /* 左余白を追加してボーダー見切れ防止 */
	}

	.table-support-plan {
		margin-left: -10px; /* padding-left と合わせてバランスを取る */
	}

	table.table-support-plan {
		min-width: 900px;
		width: max-content;
	}

	.table-support-plan td,
	.table-support-plan th {
		scroll-snap-align: start;
		white-space: nowrap;
	}
}

.table-support-plan table {
	border-collapse: collapse;
	width: 100%;
}

.table-support-plan th,
.table-support-plan td {
	border: 1px solid #ccc;
	padding: 0.5em;
	text-align: center;
}

.table-support-plan th {
	background-color: #f0f0f0;
}

.bg-circle {
	background: #dff0ff;
}

.font-futura {
	font-family: 'futura-pt', sans-serif;
}

.more-small {
	font-size: 0.75em;
}

/*-	ハンバーガメニュー	レイアウト	-*/

.header.header-sponsorship .modal-body .nav.nav-sponsorship.flex-column {
	height: 300px;
}

.header-sponsorship .nav-sponsorship a.nav-link {
	margin: 0 1em 0.4em 0;
	line-height: 1.4;
}

.header-sponsorship .nav-sponsorship a.nav-link:nth-child(n + 7) {
	margin-right: 0;
}

@media (max-width: 768px) {
	.header-sponsorship .nav-sponsorship a.nav-link {
		padding: 0 0.4em 1.8em 0;
		font-size: 14px;
	}
}

.cont-google-form {
	max-width: 1120px;
	width: 100%;
	padding: 0 20px;
	margin: auto;
}

.cont-google-form .iframe-wrapper {
	max-width: 100%;
	overflow-x: hidden;
}

.cont-google-form .iframe-wrapper iframe {
	display: block;
	width: 100%;
	border: none;
}

.cont-google-form iframe {
	width: 100%;
	height: 5580px;
	padding: 4em 0 4em;
	background: #f2f2f2;
}

@media (max-width: 460px) {
	.cont-google-form iframe {
		height: 6360px;
		padding: 2em 0 2em;
	}
}

@media (max-width: 390px) {
	.cont-google-form iframe {
		height: 6800px;
	}
}

.page-sponsorship {
	overflow: hidden;
}

.sponsorship-to-youtube {
	max-width: 768px;
	width: 100%;
	margin: 2em auto 0;
}

.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}
