@charset "UTF-8";

/* ---------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background: url(../img/kv.webp) center no-repeat;
	background-size: cover;
	height: 50.461vw;
	position: relative;
}

.header__title {
	line-height: 1;
	color: rgb(var(--wht));
	font-family: var(--forevs);
	font-weight: 500;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.header__title span {
	letter-spacing: 0.05em;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: baseline;
}

.header__title--small {
	font-size: 2.188vw;
}

.header__title--main {
	margin: 0.781vw 0 1.563vw;
	font-size: 7.891vw;
}

.header__title .year {
	margin-left: 0.25em;
	display: flex;
}

.header__title .year .txt {
	font-size: 7.266vw;
}

.header__title--date {
	font-size: 2.813vw;
}

.header__title .blank {
	margin-left: 0.25em;
}

@media screen and (max-width: 768px) {
	.header {
		background-image: url(../img/kv_sp.webp);
		height: 160vw;
	}

	.header__title {
		width: 100%;
	}

	.header__title--small {
		font-size: 5.6vw;
	}

	.header__title--main {
		margin: 2.667vw 0 5.333vw;
		font-size: 14.4vw;
		white-space: nowrap;
		flex-wrap: wrap;
	}

	.header__title .year {
		margin-left: 0;
		width: 100%;
		justify-content: center;
	}

	.header__title .year .txt {
		font-size: 13.333vw;
	}

	.header__title--date {
		font-size: 7.467vw;
	}
}

/* ----------------------------------------------------
	main__body
---------------------------------------------------- */
.main__body {
	background: rgb(var(--red)) url(../img/mainBg.svg) center top no-repeat;
	background-size: cover;
	color: rgb(var(--wht));
}

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	padding-bottom: 0;
}

.lead .section__title {
	margin-bottom: 30px;
	font-size: 211px;
}

.lead__text {
	margin-bottom: 40px;
	line-height: 2.6;
	font-size: 21px;
}

.lead .support {
	background: rgb(var(--wht));
	padding: 20px 0 20px 28px;
	width: 505px;
}

.lead .support__title {
	margin-bottom: 20px;
	line-height: 1;
	color: rgb(var(--nvy));
	font-family: var(--forevs);
	font-weight: 500;
	font-size: 32px;
}

.lead .support__list--item {
	margin-bottom: 10px;
	line-height: 1;
	display: flex;
	align-items: center;
}

.lead .support__inner {
	display: flex;
	align-items: center;
}

.lead .support__list--item .title {
	background: rgb(var(--nvy));
	margin-right: 10px;
	width: 60px;
	height: 28px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 0 28px 28px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lead .support__list--item .name {
	margin-right: 20px;
	color: rgb(var(--blk));
	font-size: 18px;
}

.lead .support__list--item .name a {
	color: rgb(var(--blk));
	text-decoration: none;
}

.lead .support__list--item .name a:hover {
	text-decoration: underline;
}

.lead .support__list--item .logo {
	width: 206px;
}

.lead .decoration {
	width: 528px;
	position: absolute;
	top: 155px;
	right: 0;
	z-index: 1;
}

@media screen and (max-width: 1280px) {
	.lead .section__title {
		margin-bottom: 2.344vw;
		font-size: 16.484vw;
	}

	.lead__text {
		margin-bottom: 3.125vw;
		font-size: 1.641vw;
	}

	.lead .support {
		padding: 1.563vw 0 1.563vw 2.188vw;
		width: 39.453vw;
	}

	.lead .support__title {
		margin-bottom: 1.563vw;
		font-size: 2.5vw;
	}

	.lead .support__list--item {
		margin-bottom: 0.781vw;
	}

	.lead .support__list--item .title {
		margin-right: 0.781vw;
		width: 4.688vw;
		height: 2.188vw;
		font-size: 1.25vw;
		border-radius: 0 2.188vw 2.188vw 0;
	}

	.lead .support__list--item .name {
		margin-right: 1.563vw;
		font-size: 1.406vw;
	}

	.lead .support__list--item .logo {
		width: 16.094vw;
	}

	.lead .decoration {
		width: 41.25vw;
		top: 12.109vw;
	}
}

@media screen and (max-width: 768px) {
	.lead {
		/* padding: 97.067vw 0 0; */
		padding: 85vw 0 0;
	}

	.lead .section__title {
		margin-bottom: 8vw;
		font-size: 20.8vw;
	}

	.lead__text {
		margin-bottom: 8vw;
		line-height: 2;
		font-size: 4.267vw;
	}

	.lead .support {
		padding: 7.2vw 0;
		width: 100%;
		text-align: center;
	}

	.lead .support__title {
		margin-bottom: 5.333vw;
		font-size: 6.4vw;
	}

	.lead .support__list--item {
		margin: 0 auto 2.667vw;
		flex-wrap: wrap;
	}

	.lead .support__inner {
		margin: 0 auto;
		width: 53vw;
		justify-content: flex-start;
	}

	.lead .support__list--item .title {
		margin-right: 2.667vw;
		width: 14.4vw;
		height: 6.4vw;
		font-size: 3.733vw;
		border-radius: 0 6.4vw 6.4vw 0;
	}

	.lead .support__list--item .name {
		margin-right: 0;
		font-size: 4.267vw;
	}

	.lead .support__list--item .logo {
		margin: 2.667vw auto 0;
		width: 58vw;
	}

	.lead .decoration {
		width: 94.264vw;
		top: 3.467vw;
	}
}

/* fade-split */
.fade-split {
	visibility: hidden;
	/* 初期は非表示 */
}

.fade-split.initialized {
	visibility: visible;
	/* JSで処理開始時に表示 */
}

.fade-split .char {
	opacity: 0;
	display: inline-block;
	transition: opacity 0.5s ease;
	will-change: opacity;
}

.fade-split .char.fade-in {
	opacity: 1;
}

/* ----------------------------------------------------
	hotels
---------------------------------------------------- */
.hotels {
	padding: 17.969vw 0 0;
}

.hotels__wrapper {
	margin-bottom: 9.375vw;
	display: flex;
	flex-direction: row-reverse;
}

.hotels .section__title {
	width: 46%;
	font-size: 5.313vw;
	position: absolute;
	top: 17.969vw;
	right: 0;
}

.hotels .section__title::after {
	background: rgb(var(--wht));
	width: calc(100% - 22.888vw);
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 1;
	content: "";
}

.hotels .section__title span {
	padding-right: 1rem;
	position: relative;
	z-index: 2;
}

.hotels__map {
	padding: 8.438vw 10vw 0 0;
	width: 54%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.hotels__map img {
	width: 38.015vw;
}

.hotels__content {
	padding-top: 8.438vw;
	width: 46%;
}

.hotels__slide {
	margin: 0 !important;
	padding-bottom: 2.344vw;
	overflow: hidden;
}

.hotels__slide .slick-list {
	padding-right: 20%;
	overflow: visible;
}

.hotels__slide .slick-list .slick-track {
	display: flex;
}

.hotels__slide--item {
	margin: 0 2.969vw 0 0;
}

.hotels__slide--item .hotel-number {
	line-height: 1;
	font-family: var(--forevs);
	font-size: 3.594vw;
	position: relative;
	top: 10px;
}

.hotels__slide--item .inner {
	background: rgb(var(--wht));
	padding: 2.5vw 2.813vw;
	min-height: 38.594vw;
	display: flex;
	flex-direction: column;
	position: relative;
}

.hotels__slide--item .image {
	margin-bottom: 20px;
}

.hotels__slide--item .hotels-name {
	margin-bottom: 1.563vw;
	line-height: 1.5;
	color: rgb(var(--blk));
	font-size: 1.719vw;
}

.hotels__slide--item .linkBtn {
	margin-top: auto;
}

.hotels__slide--item .linkBtn a {
	background: rgb(var(--nvy));
	width: 18.75vw;
	height: 3.906vw;
	font-size: 1.25vw;
	border-radius: 0 3.906vw 3.906vw 0;
}

.hotels__slide--item .linkBtn a svg {
	stroke: rgb(var(--wht));
}

.hotels .slick-dots {
	display: flex;
	bottom: 0;
}

.hotels .slick-dots li {
	margin: 0 0.625vw 0 0;
	width: auto;
	height: auto;
}

.hotels .slick-dots li button {
	background: rgb(var(--gry));
	width: 1.25vw;
	height: 1.25vw;
	text-indent: -99999px;
	border-radius: 1.25vw;
}

.hotels .slick-dots li.slick-active button {
	background: rgb(var(--nvy));
}

.hotels__link {
	display: flex;
}

.hotels__link .linkBtn {
	margin-right: 50px;
}

.hotels__link .linkBtn a {
	width: 330px;
	color: rgb(var(--nvy));
}

.hotels__link .restaurant a {
	background: rgb(var(--grn));
}

.hotels__link .plan a {
	background: rgb(var(--aqu));
}

.hotels__link .linkBtn a svg {
	stroke: rgb(var(--nvy));
}

@media screen and (max-width: 1280px) {
	.hotels__link .linkBtn {
		margin-right: 3.906vw;
	}

	.hotels__link .linkBtn a {
		width: 25.781vw;
	}
}

@media screen and (max-width: 768px) {
	.hotels {
		padding: 17.333vw 0 0;
	}

	.hotels__wrapper {
		margin-bottom: 8vw;
		flex-direction: column-reverse;
	}

	.hotels .section__title {
		margin-bottom: 8vw;
		width: 100%;
		font-size: 11.733vw;
		position: relative;
		top: auto;
		right: auto;
	}

	.hotels .section__title::after {
		width: 41.535vw;
	}

	.hotels .section__title span {
		background: none;
		padding: 0 1rem 0 7.2vw;
	}

	.hotels__map {
		padding: 0;
		width: 100%;
		justify-content: center;
		align-items: center;
	}

	.hotels__map img {
		width: 75.518vw;
	}

	.hotels__content {
		padding: 8vw 7.2vw 0;
		width: 100%;
	}

	.hotels__slide {
		padding-bottom: 8vw;
		overflow: hidden;
	}

	.hotels__slide .slick-list {
		padding-right: 0;
		overflow: hidden;
	}

	.hotels__slide--item {
		margin: 0;
	}

	.hotels__slide--item .hotel-number {
		font-size: 9.6vw;
		top: 2.667vw;
	}

	.hotels__slide--item .inner {
		padding: 6.4vw 4.8vw;
		min-height: 102.933vw;
	}

	.hotels__slide--item .image {
		margin-bottom: 4.8vw;
	}

	.hotels__slide--item .hotels-name {
		margin-bottom: 4.8vw;
		font-size: 4.8vw;
	}

	.hotels__slide--item .linkBtn a {
		width: 51.733vw;
		height: 10.667vw;
		font-size: 3.733vw;
		border-radius: 0 10.667vw 10.667vw 0;
	}

	.hotels .slick-dots li {
		margin-right: 1.6vw;
	}

	.hotels .slick-dots li button {
		width: 3.467vw;
		height: 3.467vw;
		border-radius: 3.467vw;
	}

	.hotels__link {
		display: block;
	}

	.hotels__link .linkBtn {
		margin: 0 0 6.4vw;
	}

	.hotels__link .linkBtn a {
		width: 100%;
	}
}

/* ----------------------------------------------------
	pickup
---------------------------------------------------- */
.pickup .container {
	margin: 0 0 0 auto;
	width: 89.063%;
}

.pickup .section__title {
	margin-bottom: 20px;
	line-height: 1;
	font-size: 5.313vw;
	display: flex;
	align-items: center;
	position: relative;
}

.pickup .section__title::after {
	background: rgb(var(--wht));
	width: calc(100% - 27.891vw);
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	content: "";
}

.pickup .section__title span {
	margin-left: 1.25vw;
	width: 10.156vw;
	height: 2.969vw;
	font-size: 1.25vw;
	letter-spacing: -0.005em;
	border: solid 1px rgb(var(--wht));
	border-radius: 0 2.969vw 2.969vw 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
}

.pickup__lead {
	margin-bottom: 1.563vw;
	font-size: 1.406vw;
}

.pickup__slide {
	margin: 0 !important;
	padding-bottom: 2.344vw;
	overflow: hidden;
}

.pickup__slide .slick-list {
	padding-right: 20%;
	overflow: visible;
}

.pickup__slide .slick-list .slick-track {
	display: flex;
}

.pickup__slide--item {
	background: rgb(var(--wht));
	margin: 0 2.969vw 0 0;
	padding: 2.5vw;
	height: auto;
	color: rgb(var(--blk));
	display: flex !important;
	flex-direction: column;
}

.pickup__slide--item .image {
	margin-bottom: 1.563vw;
}

.pickup__slide--item .name {
	color: rgb(var(--red));
	font-size: 1.406vw;
	font-weight: bold;
	letter-spacing: -0.005em;
}

.pickup__slide--item .title {
	margin-bottom: 0.781vw;
	line-height: 1.25;
	font-size: 1.719vw;
	font-weight: bold;
}

.pickup__slide--item .title small {
	font-size: 1.406vw;
	letter-spacing: -0.005em;
}

.pickup__slide--item .text {
	margin-bottom: 0;
	font-size: 1.25vw;
}

.pickup__slide--item .note {
	margin-bottom: 2.344vw;
	color: rgb(var(--gld));
	font-size: 1.25vw;
	font-weight: bold;
}

.pickup__slide--item .note::before {
	content: "●";
}

.pickup__slide--item .linkBtn {
	margin-top: auto;
}

.pickup__slide--item .linkBtn a {
	background: rgb(var(--nvy));
	width: 18.75vw;
	height: 3.906vw;
	font-size: 1.25vw;
	border-radius: 0 3.906vw 3.906vw 0;
}

.pickup__slide--item .linkBtn a svg {
	stroke: rgb(var(--wht));
}

.pickup .slick-dots {
	display: flex;
	bottom: 0;
}

.pickup .slick-dots li {
	margin: 0 0.625vw 0 0;
	width: auto;
	height: auto;
}

.pickup .slick-dots li button {
	background: rgb(var(--gry));
	width: 1.25vw;
	height: 1.25vw;
	text-indent: -99999px;
	border-radius: 1.25vw;
}

.pickup .slick-dots li.slick-active button {
	background: rgb(var(--nvy));
}

@media screen and (max-width: 768px) {
	.pickup .container {
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.pickup .section__title {
		margin-bottom: 5.333vw;
		padding-left: 7.2vw;
		font-size: 11.733vw;
	}

	.pickup .section__title::after {
		width: calc(100% - 74.155vw);
	}

	.pickup .section__title span {
		margin-left: 1.6vw;
		width: 28.8vw;
		height: 9.067vw;
		font-size: 3.733vw;
		border-radius: 0 9.067vw 9.067vw 0;
	}

	.pickup__lead {
		margin-bottom: 5.333vw;
		padding: 0 7.2vw;
		font-size: 4.267vw;
	}

	.pickup__slide--item .linkBtn {
		margin-top: auto;
	}

	.pickup__slide {
		padding: 0 7.2vw 8vw;
		overflow: hidden;
	}

	.pickup__slide .slick-list {
		padding-right: 0;
		overflow: hidden;
	}

	.pickup__slide--item {
		margin: 0;
		padding: 6.4vw 4.8vw;
	}

	.pickup__slide--item .image {
		margin-bottom: 4.8vw;
	}

	.pickup__slide--item .name {
		font-size: 3.733vw;
	}

	.pickup__slide--item .title {
		margin-bottom: 2.667vw;
		font-size: 4.8vw;
	}

	.pickup__slide--item .title small {
		font-size: 3.2vw;
		letter-spacing: -0.005em;
	}

	.pickup__slide--item .text {
		font-size: 3.733vw;
	}

	.pickup__slide--item .note {
		margin-bottom: 5.333vw;
		font-size: 3.733vw;
	}

	.pickup__slide--item .linkBtn a {
		width: 51.733vw;
		height: 10.667vw;
		font-size: 3.733vw;
		border-radius: 0 10.667vw 10.667vw 0;
	}

	.pickup .slick-dots li {
		margin-right: 1.6vw;
	}

	.pickup .slick-dots li button {
		width: 3.467vw;
		height: 3.467vw;
		border-radius: 3.467vw;
	}
}

/*
	pickup__info
------------------------------ */
.pickup__info {
	background: rgb(var(--wht));
	margin: 180px auto 0;
	padding: 72px 0;
	width: 810px;
	color: rgb(var(--blk));
	text-align: center;
	position: relative;
}

.pickup__info::after {
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	border: solid 1px rgb(var(--gld));
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 1;
	content: "";
}

.pickup__info .logo {
	margin: 0 auto 40px;
	width: 190px;
	position: relative;
	z-index: 2;
}

.pickup__info .title {
	margin-bottom: 30px;
	line-height: 1.5;
	font-size: 24px;
	position: relative;
	z-index: 2;
}

.pickup__info .text {
	margin-bottom: 30px;
	line-height: 2;
	font-size: 16px;
	position: relative;
	z-index: 2;
}

.pickup__info .linkBtn {
	position: relative;
	z-index: 2;
}

.pickup__info .linkBtn a {
	background: rgb(var(--gld));
	margin: 0 auto;
	width: 240px;
}

.pickup__info .linkBtn a svg {
	stroke: rgb(var(--wht));
}

@media screen and (max-width: 1280px) {
	.pickup__info {
		margin-top: 14.063vw;
		padding: 5.625vw 0;
		width: 63.281vw;
	}

	.pickup__info::after {
		width: calc(100% - 1.25vw);
		height: calc(100% - 1.25vw);
		top: 0.625vw;
		left: 0.625vw;
	}

	.pickup__info .logo {
		margin-bottom: 3.125vw;
		width: 14.844vw;
	}

	.pickup__info .title {
		margin-bottom: 2.344vw;
		font-size: 1.875vw;
	}

	.pickup__info .text {
		margin-bottom: 2.344vw;
		font-size: 1.25vw;
	}

	.pickup__info .linkBtn a {
		width: 18.75vw;
	}
}

@media screen and (max-width: 768px) {
	.pickup__info {
		margin-top: 21.333vw;
		padding: 11.733vw 7.2vw;
		width: calc(100% - 14.4vw);
	}

	.pickup__info::after {
		width: calc(100% - 3.2vw);
		height: calc(100% - 3.2vw);
		top: 1.6vw;
		left: 1.6vw;
	}

	.pickup__info .logo {
		margin-bottom: 6.4vw;
		width: 40vw;
	}

	.pickup__info .title {
		margin-bottom: 4.8vw;
		font-size: 4.267vw;
	}

	.pickup__info .text {
		margin-bottom: 5.333vw;
		font-size: 3.733vw;
		text-align: left;
	}

	.pickup__info .linkBtn a {
		width: 51.733vw;
	}
}

/* ----------------------------------------------------
	campaign
---------------------------------------------------- */
.campaign {
	background: rgb(var(--orn)) url(../img/campaignBg.svg) center no-repeat;
	background-size: cover;
	position: relative;
}

.campaign__title {
	margin-bottom: 40px;
	color: rgb(var(--nvy));
	font-size: 68px;
}

.campaign__wapper {
	display: flex;
	justify-content: space-between;
}

.campaign__image {
	width: 335px;
	position: relative;
}

.campaign__image::before {
	background: url(../img/campaign-imageBg.svg) center no-repeat;
	background-size: cover;
	width: 497px;
	height: 693px;
	position: absolute;
	top: -98px;
	left: -56px;
	z-index: 1;
	content: "";
}

.campaign__image img {
	position: relative;
	z-index: 2;
}

.campaign__content .title {
	margin-bottom: 10px;
	line-height: 1.5;
	color: rgb(var(--nvy));
	font-size: 27px;
}

.campaign__content .text {
	margin-bottom: 20px;
	line-height: 2;
	font-size: 16px;
}

.campaign__step {
	margin-bottom: 20px;
}

.campaign__step--item:not(:last-of-type) {
	margin-bottom: 10px;
}

.campaign__step--item .stepTitle {
	color: rgb(var(--red));
	font-family: var(--forevs);
	font-size: 34px;
	font-weight: 500;
}

.campaign__step--item .stepText b {
	font-weight: bold;
}

.campaign__step--item .stepText a {
	color: #48a2e2;
}

.campaign__period {
	margin-bottom: 20px;
	color: rgb(var(--nvy));
}

.campaign__period--item {
	line-height: 1.25;
	font-size: 19px;
	font-weight: bold;
}

.campaign__period--item i {
	font-family: var(--forevs);
	font-size: 31px;
	font-weight: 500;
}

.campaign__content .linkBtn {
	margin-bottom: 10px;
}

.campaign__content .linkBtn a {
	background: rgb(var(--nvy)) url(../img/icon-x.svg) center left 1em no-repeat;
	background-size: 24px auto;
	padding-left: 60px;
	width: 320px;
}

.campaign__content .linkBtn a svg {
	stroke: rgb(var(--wht));
}

.campaign__pdf a {
	color: rgb(var(--blk));
	font-weight: bold;
}

.campaign__content .sponsor {
	margin-top: 30px;
}

.campaign__content .sponsor a {
	color: rgb(var(--blk));
	text-decoration: none;
}

.campaign__content .sponsor a:hover {
	text-decoration: underline;
}

.campaign__content .sponsor__logo {
	margin-top: 10px;
	width: 280px;
}

@media screen and (max-width: 1280px) {
	.campaign__title {
		margin-bottom: 3.125vw;
		font-size: 5.313vw;
	}

	.campaign__image {
		width: 26.172vw;
	}

	.campaign__image::before {
		width: 38.828vw;
		height: 54.141vw;
		top: -7.656vw;
		left: -4.375vw;
	}

	.campaign__content .title {
		margin-bottom: 0.781vw;
		font-size: 2.109vw;
	}

	.campaign__content .text {
		margin-bottom: 1.563vw;
		font-size: 1.25vw;
	}

	.campaign__step {
		margin-bottom: 1.563vw;
	}

	.campaign__step--item:not(:last-of-type) {
		margin-bottom: 0.781vw;
	}

	.campaign__step--item .stepTitle {
		font-size: 2.656vw;
	}

	.campaign__period {
		margin-bottom: 1.563vw;
	}

	.campaign__period--item {
		font-size: 1.484vw;
	}

	.campaign__period--item i {
		font-size: 2.422vw;
	}

	.campaign__content .linkBtn {
		margin-bottom: 0.781vw;
	}

	.campaign__content .linkBtn a {
		background-size: 1.875vw auto;
		padding-left: 4.688vw;
		width: 25vw;
	}

	.campaign__content .sponsor {
		margin-top: 2.344vw;
	}

	.campaign__content .sponsor__logo {
		margin-top: 0.781vw;
		width: 21.875vw;
	}
}

@media screen and (max-width: 768px) {
	.campaign {
		background: rgb(var(--orn)) url(../img/campaignBg_sp.svg) center top no-repeat;
		background-size: cover;
	}

	.campaign__title {
		margin-bottom: 7.2vw;
		font-size: 11.733vw;
		position: relative;
		z-index: 2;
	}

	.campaign__wapper {
		flex-direction: column-reverse;
	}

	.campaign__image {
		margin-bottom: 13.333vw;
		width: 100%;
		text-align: center;
		position: relative;
	}

	.campaign__image::before {
		background: url(../img/campaign-imageBg_sp.svg) center no-repeat;
		background-size: 100% auto;
		width: 100vw;
		height: 144.034vw;
		top: -13.333vw;
		left: -7.2vw;
	}

	.campaign__image img {
		width: 74.667vw;
	}

	.campaign__content .title {
		margin-bottom: 4vw;
		font-size: 6.4vw;
	}

	.campaign__content .text {
		margin-bottom: 5.333vw;
		font-size: 4.267vw;
	}

	.campaign__step {
		margin-bottom: 6.4vw;
	}

	.campaign__step--item:not(:last-of-type) {
		margin-bottom: 4vw;
	}

	.campaign__step--item .stepTitle {
		font-size: 9.067vw;
	}

	.campaign__step--item .stepText a {
		display: inline;
	}

	.campaign__period {
		margin-bottom: 6.4vw;
		color: rgb(var(--nvy));
	}

	.campaign__period--item {
		font-size: 4.267vw;
	}

	.campaign__period--item i {
		font-size: 6.933vw;
	}

	.campaign__content .linkBtn {
		margin-bottom: 4vw;
	}

	.campaign__content .linkBtn a {
		background-size: 6.4vw auto;
		padding-left: 16vw;
		width: 100%;
		height: 13.333vw;
	}

	.campaign__pdf a {
		color: rgb(var(--blk));
		font-weight: bold;
	}

	.campaign__content .sponsor {
		margin-top: 8vw;
	}

	.campaign__content .sponsor__logo {
		margin-top: 0.8vw;
		width: 59.733vw;
	}
}

/* ----------------------------------------------------
	recommend
---------------------------------------------------- */
.recommend {
	background: rgb(var(--blu)) url(../img/recommendBg.svg) center no-repeat;
	background-size: cover;
	color: rgb(var(--wht));
}

.recommend__title {
	margin-bottom: 60px;
	font-size: 68px;
}

.recommend__title span {
	font-size: 50px;
	display: block;
}

.recommend__lead {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: bold;
}

.recommend__list {
	display: flex;
	justify-content: space-between;
}

.recommend__list--item {
	width: 306px;
	display: flex;
	flex-direction: column;
}

.recommend__list--item .image {
	margin-bottom: 10px;
}

.recommend__list--item .title {
	margin-bottom: 10px;
	line-height: 1.25;
	font-family: var(--forevs);
	font-size: 35px;
}

.recommend__list--item .title .jp {
	margin-top: 6px;
	font-family: var(--gothic);
	font-size: 18px;
	display: flex;
}

.recommend__list--item .text {
	margin-bottom: 20px;
}

.recommend__list--item .linkBtn {
	margin-top: auto;
}

.recommend__list--item .linkBtn a {
	background: rgb(var(--nvy));
	width: 240px;
}

.recommend__list--item .linkBtn a svg {
	stroke: rgb(var(--wht));
}

.recommend__list--item .linkBtn2 {
	margin-top: auto;
}

.recommend__list--item .linkBtn2 a {
	background: rgb(var(--red));
	width: 240px;
}

.recommend__list--item .linkBtn2 a svg {
	stroke: rgb(var(--wht));
}

@media screen and (max-width: 1280px) {
	.recommend__title {
		margin-bottom: 4.688vw;
		font-size: 5.313vw;
	}

	.recommend__title span {
		font-size: 3.906vw;
	}

	.recommend__lead {
		margin-bottom: 3.125vw;
		font-size: 1.406vw;
	}

	.recommend__list--item {
		width: 23.906vw;
	}

	.recommend__list--item .image {
		margin-bottom: 0.781vw;
	}

	.recommend__list--item .title {
		margin-bottom: 0.781vw;
		font-size: 2.734vw;
	}

	.recommend__list--item .title .jp {
		margin-top: 0.469vw;
		font-size: 1.406vw;
	}

	.recommend__list--item .text {
		margin-bottom: 1.563vw;
	}

	.recommend__list--item .linkBtn a {
		width: 18.75vw;
	}
    
    .recommend__list--item .linkBtn2 a {
		width: 18.75vw;
	}
}

@media screen and (max-width: 768px) {
	.recommend {
		background: rgb(var(--blu)) url(../img/recommendBg_sp.svg) center top no-repeat;
		background-size: cover;
	}

	.recommend__title {
		margin-bottom: 4.8vw;
		font-size: 11.733vw;
		letter-spacing: 0.025em;
	}

	.recommend__title span {
		font-size: 9.6vw;
	}

	.recommend__lead {
		margin-bottom: 6.4vw;
		font-size: 4.267vw;
	}

	.recommend__list {
		display: block;
	}

	.recommend__list--item {
		width: 100%;
		display: block;
	}

	.recommend__list--item .image {
		margin-bottom: 2.667vw;
	}

	.recommend__list--item:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.recommend__list--item .title {
		margin-bottom: 2.667vw;
		font-size: 8vw;
	}

	.recommend__list--item .title .jp {
		margin-top: 1.6vw;
		font-size: 4.8vw;
	}

	.recommend__list--item .text {
		margin-bottom: 5.333vw;
		font-size: 3.733vw;
	}

	.recommend__list--item .linkBtn a {
		width: 53.333vw;
	}
    
    .recommend__list--item .linkBtn2 a {
		width: 53.333vw;
	}
}