﻿:root {
	--green-primary: #009328;
	--brown-primary: #AB5F13;
	--text-primary: #202422;
	--text-secondary: #202020;
	--button-primary: #F7920E;

}

h2 {
	font-family: "Outfit", sans-serif;
	color: var(--text-primary);
	line-height: 2;
}

.sustainaPayBtn01.sustainaPayBtnArrowRight01>span::after {
	content: '';
	background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/ico_arrow-right-orange.png') no-repeat center;
	background-size: contain;
}

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

	h2 {
		font-size: 32px;
		color: var(--green-primary);
	}

	.sp-only {
		display: none !important;
	}

	.emphasisText {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 16px;
	}

	.emphasisText:before,
	.startDiagnosisLink p:before {
		content: '';
		display: block;
		width: 16px;
		height: 29px;
		margin-right: 16px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/text-em-l.png') no-repeat center;
		background-size: contain;
		z-index: 1;
	}

	.emphasisText:after,
	.startDiagnosisLink p:after {
		content: '';
		display: block;
		width: 16px;
		height: 29px;
		margin-left: 16px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/text-em-r.png') no-repeat center;
		background-size: contain;
		z-index: 1;
	}

	.mainVisual {
		text-align: center;
		padding: 48px 0;
		position: relative;
	}

	.mainVisual .headerUpperText {
		position: relative;
		margin-bottom: 17px;
		z-index: 2;
	}

	.mainVisual h1 {
		position: relative;
		margin-bottom: 60px;
		z-index: 2;
	}

	.mainVisual .emphasisText {
		margin-bottom: 12px;
	}

	.mainVisual .mainVisualButton a {
		width: 430px;
		background: var(--button-primary) !important;
		font-weight: 400;
	}

	.mainVisual .mainVisualButton {
		margin-bottom: 32px;
		position: relative;
		z-index: 2;
	}

	.mainVisual .campaign {
		margin: 0 auto;
		padding: 16px 24px;
		width: 760px;
		background: #fff;
		border-radius: 24px;
		position: relative;
	}

	.mainVisual .campaign .campaignTitle {
		font-size: 26px;
		width: fit-content;
		margin: 0 auto;
		line-height: 2;
		margin-bottom: 24px;
		color: var(--text-primary);
		border-bottom: 2px solid var(--green-primary);

	}

	.mainVisual .campaign .campaignContent .contentNote {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 139px;
		height: 139px;
		left: -60px;
		top: 50%;
		transform: translateY(-50%);
		background: var(--green-primary);
		border-radius: 50%;
	}

	.mainVisual .campaign .campaignContent .contentNote p {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		color: #fff;
		line-height: 1;
		font-size: 18px;
		text-align: center;
	}

	.mainVisual .campaign .campaignContent .contentNote p .present {
		text-transform: uppercase;
		font-weight: 800;
		font-family: "Outfit", sans-serif;
		font-size: 16px;
		line-height: 2;
	}

	.mainVisual .campaign .campaignContent .contentNote p .number {
		font-size: 50px;
	}

	.mainVisual .campaign .campaignContent .contentNote p .vertical {
		display: inline-block;
		text-orientation: upright;
		line-height: 1;
		letter-spacing: 0;
	}


	.mainVisual .campaign .contentTextSP {
		display: none;
	}

	.mainVisual .campaign .contentTextPC {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		font-size: 16px;
		gap: 8px;
		line-height: 1;
	}

	.mainVisual .campaign .contentTextPC .top {
		font-size: 20px;
		margin-bottom: 16px;
		line-height: 1.2;
	}

	.mainVisual .campaign .contentTextPC .bottom {
		margin-bottom: 25px;
		font-size: 26px;
		color: var(--text-primary);
		line-height: 1;
	}

	.mainVisual .campaign .contentTextPC .bottom .greenText {
		color: var(--green-primary);
	}

	.mainVisual .campaign .contentTextPC .bottom .greenText .number {
		font-size: 46px;
	}

	.mainVisual .campaign .contentTextPC .bottom .greenText .horizontal {
		font-size: 22px;
	}

	.mainVisual .campaign .campaignLink a {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		font-size: 16px;
		line-height: 1.8;
		text-decoration: underline;
		text-underline-offset: 3px;
		color: var(--green-primary);
	}

	.mainVisual .campaign .campaignLink a::after {
		content: '';
		width: 16px;
		height: 16px;
		display: block;
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/ico_arrow-down02.png) no-repeat center;
		background-size: contain;
	}

	.decorImage {
		position: absolute;
		z-index: 0;
	}

	.decorImage img {
		width: clamp(50vw, auto, 100%);
	}

	.decorImage.decor01 {
		top: 0;
		left: -24px;
	}

	.decorImage.decor02 {
		top: 100px;
		left: 230px;
	}

	.decorImage.decor03 {
		top: 0;
		right: 0;
		width: 40%;
	}

	.decorImage.decor04 {
		bottom: 85px;
		left: 71px;
	}

	.decorImage.decor05 {
		bottom: 64px;
		left: 0;
	}

	.diagnosisLink {
		display: inline-block;
		position: fixed;
		top: 75%;
		right: 0;
		background-color: var(--button-primary);
		padding: 20px 29px 17px;
		border-top-left-radius: 24px;
		border-bottom-left-radius: 24px;
		transform: translateY(-50%);
		font-size: 16px;
		color: #fff !important;
		z-index: 2;
	}

	.diagnosisLink:before {
		content: '';
		position: absolute;
		top: -30px;
		left: 50%;
		transform: translateX(-50%);
		width: 57px;
		height: 50px;
		display: block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/mv_sideLink-top.png') no-repeat center;
		background-size: contain;
	}

	.diagnosisLink .upper {
		font-size: 17px;
	}

	.diagnosisLink .lower {
		font-size: 22px;
		text-align: center;
	}

	.diagnosisLink:after {
		content: '';
		position: absolute;
		width: 161px;
		height: 56px;
		bottom: -35px;
		right: -80px;
		transform: translateX(-50%);
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/mv_sideLink-bottom.png) no-repeat center;
	}

	.aboutSection {
		padding: 80px 0;
		text-align: center;
		background: #fff;
	}

	.aboutSection .inner {
		width: 1200px;
		margin: 0 auto;
	}

	.aboutSection .aboutHashtag {
		font-size: 52px;
		line-height: 2.4;
		margin-bottom: 24px;
	}

	.aboutSection .aboutText {
		font-size: 24px;
		margin-bottom: 88px;
	}

	.aboutSection .aboutDetails {
		display: flex;
		gap: 16px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem {
		padding: 32px 15px 16px;
		width: calc(25% - 16px);
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
		background: #F6F1ED;
		border-radius: 24px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem .aboutDetailsTitle {
		font-size: 22px;
		line-height: 2;
		color: var(--green-primary);
	}

	.aboutSection .aboutDetails .aboutDetailsItem .aboutDetailsDesc {
		font-size: 16px;
		line-height: 2;
		margin-bottom: auto;
	}

	.aboutSection .aboutDetails .aboutDetailsItem .aboutDetailsImage {
		width: 185px;
		height: 170px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem .aboutDetailsImage img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
	}

	.aboutSection .aboutDetails .aboutDetailsItem:nth-child(4) .aboutDetailsImage {
		width: 185px;
		height: 170px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem:before {
		content: '';
		width: 100px;
		height: 50px;
		display: block;
		position: absolute;
		top: -26px;
		left: 50%;
		transform: translateX(-50%);
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step01:before {
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_01.png') center no-repeat;
		background-size: contain;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step01 .aboutDetailsDesc {
		margin-bottom: auto;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step02:before {
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_02.png') center no-repeat;
		background-size: contain;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step02 .aboutDetailsDesc {
		margin-bottom: 16px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step03:before {
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_03.png') center no-repeat;
		background-size: contain;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step03 .aboutDetailsDesc {
		margin-bottom: 16px;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step04:before {
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_04.png') center no-repeat;
		background-size: contain;
	}

	.aboutSection .aboutDetails .aboutDetailsItem.step04 .aboutDetailsDesc {
		margin-bottom: auto;
	}

	.aboutSection .aboutSlider {
		display: none;
	}

	.campaignSection {
		padding: 80px 0;
		background: #F4FBF3;
	}

	.campaignSection .inner {
		margin: 0 auto;
		width: 1200px;
		text-align: center;
	}

	.campaignSection .campaignSectionHashTag {
		font-size: 52px;
		line-height: 2.4;
	}

	.campaignSection .campaignSectionLeadText {
		font-size: 24px;
		line-height: 2;
		margin-bottom: 80px;
	}

	.campaignSection .campaignSectionContent {
		display: flex;
		gap: 32px;
		justify-content: center;
		position: relative;
		margin-bottom: 80px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle,
	.campaignSection .campaignSectionContent .campaignSectionItemOther {
		position: relative;
		padding: 32px 32px 34px;
		width: calc(50% - 16px);
		border: 3px solid var(--green-primary);
		border-radius: 24px;
		background: #fff;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle:after {
		content: '';
		position: absolute;
		width: 64px;
		height: 64px;
		display: block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_plus.png') no-repeat center;
		background-size: cover;
		right: -50px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		position: absolute;
		width: 100px;
		height: 100px;
		top: 26px;
		right: 68px;
		font-size: 16px;
		background: var(--green-primary);
		color: #fff;
		line-height: 1;
		border-radius: 50%;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note span {
		font-size: 30px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title {
		display: flex;
		text-align: left;
		font-size: 26px;
		line-height: 1;
		padding-bottom: 24px;
		border-bottom: 2px dashed #C9C9C9;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title:before {
		content: '';
		width: 113px;
		height: 80px;
		display: block;
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_reward_raffle.png) center no-repeat;
		background-size: cover;
		margin-right: 12px;
		margin-left: 36px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title .text p span {
		font-size: 60px;
		color: var(--green-primary);
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .desc {
		padding-top: 24px;
		font-size: 20px;
		line-height: 2;

	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .desc span {
		color: var(--green-primary);
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther:after {
		content: '';
		position: absolute;
		width: 260px;
		height: 143px;
		bottom: -100px;
		right: -70px;
		display: block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_reward_other.png') no-repeat center;
		background-size: cover;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title {
		font-size: 26px;
		line-height: 1;
		padding-bottom: 24px;
		border-bottom: 2px dashed #C9C9C9;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title p:first-child {
		line-height: 1.2;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 16px;
		font-size: 28px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title p:first-child:before {
		content: '';
		display: block;
		width: 52px;
		height: 51px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_bubble-hashtag.png') no-repeat center;
		background-size: cover;
		position: relative;
		top: -10px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title p:first-child:after {
		content: '';
		display: block;
		width: 52px;
		height: 51px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_bubble-heart.png') no-repeat center;
		background-size: cover;
		position: relative;
		top: -10px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title p:last-child {
		font-size: 40px;
		color: var(--green-primary);
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .desc {
		padding-top: 24px;
		font-size: 20px;
		line-height: 2;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .desc span {
		color: var(--green-primary);
	}

	.campaignSection .campaignPeriod .campaignPeriodTitle {
		font-size: 32px;
		line-height: 2.4;
		margin-bottom: 32px;
	}

	.campaignSection .campaignPeriod .campaignPeriodContent {
		margin-bottom: 80px;
		padding: 32px;
		border: 2px solid var(--text-secondary);
		border-radius: 24px;
	}

	.campaignSection .campaignPeriod .campaignPeriodContent p {
		font-size: 40px;
		color: var(--green-primary);
	}

	.campaignSection .campaignPeriod .campaignPeriodContent p span {
		font-size: 20px;
	}

	.campaignSection .campaignPeriod .campaignPeriodContent p .dayMark {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		vertical-align: middle;
		width: 28px;
		height: 28px;
		margin: 0 3px;
		font-size: 18px;
		color: #fff;
		background-color: var(--green-primary);
		border-radius: 100px;
	}

	.campaignSection .startDiagnosisLink p {
		font-size: 16px;
		margin-bottom: 16px;
	}

	.campaignSection .startDiagnosisLink .startDiagnosisLinkButton a {
		width: 476px;
		background: var(--button-primary) !important;
		font-weight: 400;
	}

	.campaignSteps {
		padding: 80px 0;
		background: #F4FBF3;
	}

	.campaignSteps .campaignNote {
		padding: 24px;
		border-radius: 8px;
		width: 920px;
		margin: 0 auto;
	}

	.campaignSteps .inner {
		margin: 0 auto;
		width: 1200px;
	}

	.otherInformation {
		padding: 80px 0;
		position: relative;
		background: #F6F1ED;
	}

	.otherInformation .inner {
		margin: 0 auto;
		width: 1200px;
		position: relative;
	}

	.otherInformation .inner:before {
		content: '';
		position: absolute;
		width: 80px;
		height: 80px;
		top: -55px;
		right: 40px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_sprout.png') no-repeat center;
		z-index: 1;
	}

	.otherInformation .banner {
		background: #fff;
		border-radius: 24px;
		padding: 60px;
		margin-bottom: 80px;
		text-align: center;
		position: relative;
		z-index: 2;
	}

	.otherInformation .banner .bannerTitle,
	.otherInformation .banner .bannerText,
	.otherInformation .banner .emphasisText,
	.otherInformation .banner .startDiagnosisLink {
		position: relative;
	}

	.otherInformation .banner .bannerTitle {
		font-size: 28px;
		line-height: 2.4;
		margin-bottom: 24px;
	}

	.otherInformation .banner .bannerText {
		font-size: 18px;
		margin-bottom: 80px;
	}

	.otherInformation .banner .emphasisText {
		margin-bottom: 16px;
	}

	.otherInformation .detailAccordion .blockDetail {
		font-size: 18px;
		line-height: 2;
	}

	.otherInformation .detailAccordion .blockDetail a {
		color: var(--green-primary);
	}

	.otherInformation .detailAccordion .blockDetail p {
		margin-bottom: 6px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl .title {
		color: var(--green-primary);
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd .note li {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd .note li:before {
		content: "※";
		color: inherit;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd span {
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd a {
		color: var(--green-primary);
		position: relative !important;
		display: inline-flex !important;
		align-items: center;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd a:after {
		content:'';
		width: 14px;
		height: 14px;
		display: block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/ico_new-window-green.png') no-repeat center;
		background-size: contain;
		margin-left: 8px;
	}

	#sustainaPayAccSwitch01 .ttl {
		font-weight: 400;
	}

	#sustainaPayAccContent01 {
		padding: 40px 140px;
	}

	.futureSection {
		padding: 80px 0 0;
		background: #F6F1ED;
		position: relative;
	}

	.futureSection::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(180deg, #EDE8E4 0%, #F6F1ED 100%);
		clip-path: ellipse(200% 100% at 50% 100%);
		z-index: 0;
	}

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

	.futureSection .futureSectionTitle {
		text-align: center;
	}

	.futureSection .futureSectionSubtitle {
		font-size: 52px;
		line-height: 2.4;
		text-align: center;
		margin-bottom: 120px;
	}

	.futureSection .futureSectionUpperText {
		font-size: 36px;
		line-height: 2;
		margin-bottom: 35px;
	}

	.futureSection .futureSectionLowerText {
		margin-bottom: 200px;
		width: 560px;
		font-size: 20px;
		line-height: 2.4;
		padding-left: 18px;
	}

	.futureSection .futureSectionImage {
		position: absolute;
		right: -100px;
		bottom: 285px;
		width: 471px;
	}

	.futureSection .futureSectionImage img {
		z-index: 1;
	}

	.futureSection .futureSectionImage:before {
		content: '';
		position: absolute;
		width: 537px;
		height: 277px;
		top: -210px;
		right: 55px;
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_future-section-before.png) center no-repeat;
		background-size: contain;
		z-index: -1;
	}

	.stickyNavbar {
		display: none;
	}

}

.campaignProcedure {
	margin-bottom: 80px;
}

.campaignProcedure .stepsContainer {
	display: flex;
	gap: 32px;
	width: 100%;
}

.campaignProcedure .campaignProcedureTitle {
	margin-bottom: 75px;
	font-weight: 400;
	text-align: center;
	font-size: 36px;
	color: var(--text-primary);
}

.campaignProcedure .stepsContainer .step01,
.campaignProcedure .stepsContainer .step02 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 50%;
	padding: 40px 24px;
	position: relative;
	background: #FFF;
	border-radius: 24px;
	text-align: center;
}

.campaignProcedure .stepsContainer .step01:before {
	content: '';
	display: block;
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	width: 175px;
	height: 63px;
	background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_step01.png') center no-repeat;
	background-size: contain;
}

.campaignProcedure .stepsContainer .step02:before {
	content: '';
	display: block;
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	width: 205px;
	height: 63px;
	background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_step02.png') center no-repeat;
	background-size: contain;
}

.campaignProcedure .stepsContainer .title {
	font-size: 24px;
	line-height: 1.8;
	height: 90px;
	display: flex;
	align-items: center;
	margin-bottom: 24px;
}

.campaignProcedure .stepsContainer .step01 .image,
.campaignProcedure .stepsContainer .step02 .image {
	display: block;
	margin-bottom: 24px;
	overflow: hidden;
}

.campaignProcedure .stepsContainer .step01 .image img,
.campaignProcedure .stepsContainer .step02 .image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.campaignProcedure .stepsContainer .step01 .image {
	width: 362px;
	height: 212px;
}

.campaignProcedure .stepsContainer .step02 .image {
	width: 150px;
	height: 150px;
}

.campaignProcedure .stepsContainer .desc {
	font-size: 18px;
	line-height: 2;
}

.campaignProcedure .stepsContainer .step02 .desc {
	margin-bottom: 10px;
}

.campaignProcedure .stepsContainer div .noteAsterisk {
	font-size: 13px;
	line-height: 2;
}

.campaignProcedure .stepsContainer div .noteAsterisk:before {
	content: "※";
	color: inherit;
	margin-right: 4px;
}

.campaignSteps .startDiagnosisLink p {
	margin-bottom: 16px;
}

.campaignSteps .startDiagnosisLink .startDiagnosisLinkButton {
	margin-bottom: 80px;
}

.campaignSteps .startDiagnosisLink .startDiagnosisLinkButton a {
	width: 430px;
	background: var(--button-primary) !important;
	font-weight: 400;
}

.campaignSteps .campaignNote {
	padding: 24px;
	border: 1px solid #202422;
	background: #FFF;
}

.campaignSteps .campaignNote .block01 {
	padding-bottom: 16px;
	border-bottom: 3px dashed #C9C9C9;
	font-size: 20px;
	line-height: 2;
	color: var(--text-secondary);
	text-align: center;
}

.campaignSteps .campaignNote .block02 {
	padding-top: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	font-size: 16px;
	line-height: 2;
}

.campaignSteps .campaignNote .block02 span {
	display: block;
}

.campaignSteps .campaignNote .block02 a {
	display: inline-block;
	color: var(--green-primary);
}

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

	 .decorImage.decor01 {
		top: 0;
		left: -140px;
	}

	.decorImage.decor02 {
		top: 100px;
		left: 105px;
	}

	.decorImage.decor03 {
		top: 40px;
		right: -24px;
		width: 40%;
	}

	.decorImage.decor04 {
		bottom: 85px;
		left: 20px;
	}

	.decorImage.decor05 {
		bottom: 64px;
		left: -230px;
	}
}

@media screen and (min-width: 1201px) and (max-width: 1429px) {
	.decorImage.decor02 {
		top: -5px;
		left: 0px;
	}
}


@media screen and (max-width: 1200px) and (min-width: 769px) {
		.decorImage.decor01 {
			top: 0;
			left: -100px;
		}

		.decorImage.decor02 {
			top: -5px;
			left: 0px;
		}

		.decorImage.decor03 {
			top: 40px;
			right: -24px;
			width: 40%;
		}

		.decorImage.decor04 {
			bottom: 150px;
			left: 20px;
		}

		.decorImage.decor05 {
			bottom: 64px;
			left: -200px;
		}
}

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

	.pc-only {
		display: none !important;
	}

	.emphasisText {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 14px;
	}

	.emphasisText:before,
	.startDiagnosisLink p:before {
		content: '';
		display: block;
		width: 10px;
		height: 18px;
		margin-right: 16px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/text-em-l.png') no-repeat center;
		background-size: contain;
		z-index: 1;
	}

	.emphasisText:after,
	.startDiagnosisLink p:after {
		content: '';
		display: block;
		width: 10px;
		height: 18px;
		margin-left: 16px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/text-em-r.png') no-repeat center;
		background-size: contain;
		z-index: 1;
	}

	.mainVisual {
		padding: 47px 0 32px;
		text-align: center;
		position: relative;
	}

	.mainVisual .headerUpperText {
		margin: 0 auto 16px;
		position: relative;
		z-index: 2;
		max-width: 302px;

	}

	.mainVisual h1 {
		margin: 0 auto 70px;
		position: relative;
		z-index: 2;
		max-width: 336px;
	}

	.emphasisText.mainVisualButtonText {
		margin-bottom: 16px;
	}

	.mainVisual .mainVisualButton {
		width: 100%;
		display: flex;
		justify-content: center;
		margin: 0 auto 32px;
		position: relative;
		z-index: 1;
	}

	.mainVisual .mainVisualButton a {
		width: 342px;
		font-weight: 400;
		background: var(--button-primary) !important;
	}

	.mainVisual .campaign {
		background: #fff;
		border-radius: 24px;
		margin: 0 24px;
		padding: 16px 17px;
		box-shadow: 0px 5px 20px 0px #6B6B6B26;
	}

	.mainVisual .campaign .contentTextPC {
		display: none;
	}

	.diagnosisLink {
		display: none;
	}

	.mainVisual .campaign .campaignTitle {
		font-size: 22px;
		line-height: 1.4;
		margin-bottom: 24px;
		color: var(--text-primary);
		border-bottom: 2px solid var(--green-primary);
	}

	.mainVisual .campaign .campaignContent {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 8px;
		margin-bottom: 16px;
	}

	.mainVisual .campaign .campaignContent .contentTextSP {
		text-align: left;
	}


	.mainVisual .campaign .campaignContent .contentText .top {
		font-size: 18px;
		line-height: 2.2;
	}

	.mainVisual .campaign .campaignContent .contentText .mid {
		font-size: 26px;
		line-height: 2.2;
		color: var(--green-primary);
	}

	.mainVisual .campaign .campaignContent .contentText .mid span {
		font-size: 18px;
	}

	.mainVisual .campaign .campaignContent .contentText .bottom {
		font-size: 26px;
		line-height: 1;
	}

	.mainVisual .campaign .campaignContent .contentText .bottom .greenText.number {
		font-size: 42px;
	}

	.mainVisual .campaign .campaignContent .contentText .bottom .greenText {
		color: var(--green-primary);
	}

	.mainVisual .campaign .campaignContent .contentNote {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 90px;
		height: 90px;
		right: -30px;
		top: 15px;
		background: var(--green-primary);
		border-radius: 50%;
	}

	.mainVisual .campaign .campaignContent .contentNote p {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		color: #fff;
		line-height: 1;
		font-size: 12px;
		text-align: center;
	}

	.mainVisual .campaign .campaignContent .contentNote p .present {
		text-transform: uppercase;
		font-weight: 800;
		font-family: "Outfit", sans-serif;
		font-size: 10px;
		line-height: 2;
	}

	.mainVisual .campaign .campaignContent .contentNote p .number {
		font-size: 32px;
	}

	.mainVisual .campaign .campaignContent .contentNote p .vertical {
		display: inline-block;
		text-orientation: upright;
		line-height: 1;
		letter-spacing: 0;
	}

	.mainVisual .campaign .campaignContent .contentText p {
		font-size: 14px;
		line-height: 1.2;
	}

	.mainVisual .campaign .campaignContent .contentText .greenText {
		font-size: 21px;
		color: var(--green-primary);
	}

	.mainVisual .campaign .campaignContent .contentText .greenText span {
		font-size: 42px;
	}

	.mainVisual .campaign .campaignLink {
		display: flex;
		justify-content: center;
	}

	.mainVisual .campaign .campaignLink a {
		display: flex;
		align-items: center;
		position: relative;
		font-size: 14px;
		text-decoration: underline;
		text-underline-offset: 3px;
		position: relative;
		color: var(--green-primary);
	}

	.mainVisual .campaign .campaignLink a:after {
		content: '';
		width: 16px;
		height: 16px;
		display: block;
		position: absolute;
		right: -16px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/ico_arrow-down02.png') no-repeat center;
		background-size: contain;
	}

	.mainVisual .decorImage {
		position: absolute;
		z-index: 0;
	}

	.mainVisual .decorImage.decor01 {
		top: 0;
		left: 0;
		width: 165px;
		height: 93px;
	}

	.mainVisual .decorImage.decor02 {
		top: 15px;
		right: 0;
		left: unset;
		width: 50px;
		height: 0;
	}

	.mainVisual .decorImage.decor03 {
		top: 285px;
		left: 5px;
		width: 75px;
	}

	.mainVisual .decorImage.decor04 {
		top: 145px;
		left: unset;
		right: 0px;
		width: 225px;
		height: auto;
	}

	.aboutSection {
		padding: 80px 0;
		text-align: center;
		background: #fff;
	}

	.aboutSection .aboutTitle {
		margin-bottom: 40px;
		font-size: 20px;
		line-height: 1;
		color: var(--green-primary);
	}

	.aboutSection .aboutHashtag {
		margin-bottom: 40px;
		font-size: 26px;
		line-height: 1;
		color: var(--text-secondary);
	}

	.aboutSection .aboutText {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 40px;
	}

	.aboutSection .aboutDetails {
		display: none;
	}

	.aboutSection .aboutSlider ul li .blockInnerB02 {
		position: relative;
	}

	.aboutSection .aboutSlider ul li .blockInnerB02 {
		border-radius: 16px;
		background: #F6F1ED;
		padding: 32px 16px;
		height: auto;
	}

	.aboutSection .aboutSlider {
		padding: 0 24px;
	}

	.aboutSection .aboutSlider ul li {
		height: 325px;
	}

	.aboutSlider .blockInnerB01 dt {
		font-size: 20px;
		line-height: 2;
		color: var(--green-primary);
	}

	.aboutSlider .blockInnerB02>div:first-child {
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
	}

	.aboutSlider .blockInnerB01 dd p {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 12px;
	}

	.aboutSlider dd>div>img {
		width: 126px;
	}

	.aboutSlider .v4-carousel01 .bx-next {
		right: 0 !important;
	}

	.aboutSlider .v4-carousel01 .bx-prev {
		left: 0 !important;
	}

	.aboutSlider .slider-image {
		width: 86px;
		margin: 0 auto;
	}

	.campaignSection {
		background: #F4FBF3;
		padding: 80px 24px;
	}

	.campaignSection .campaignSectionTitle {
		display: block;
		font-size: 20px;
		color: var(--green-primary);
		margin-bottom: 24px;
		text-align: center;
	}

	.campaignSection .campaignSectionHashTag {
		text-align: center;
		font-size: 26px;
		margin-bottom: 25px;
	}

	.campaignSection .campaignSectionLeadText {
		text-align: center;
		font-size: 16px;
		margin-bottom: 92px;
	}

	.campaignSection .campaignSectionContent {
		display: flex;
		flex-direction: column;
		gap: 12px;
		position: relative;
	}

	.campaignSection .campaignSectionContent:before {
		content: '';
		position: absolute;
		width: 280px;
		height: 120px;
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_sprout-decoration.png) no-repeat center;
		background-size: cover;
		top: -95px;
		left: -50px;
		z-index: 9;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle,
	.campaignSection .campaignSectionContent .campaignSectionItemOther {
		padding: 24px 16px;
		border-radius: 24px;
		border: 3px solid var(--green-primary);
		position: relative;
		background: #fff;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle {
		display: flex;
		flex-direction: column;
		position: relative;
		padding-top: 32px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle:after {
		content: '';
		position: absolute;
		width: 48px;
		height: 48px;
		display: block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_plus.png') no-repeat center;
		background-size: cover;
		left: 50%;
		bottom: -30px;
		transform: translateX(-50%);
		z-index: 2;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title,
	.campaignSection .campaignSectionContent .campaignSectionItemOther .title {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-content: center;
		position: relative;
		border-bottom: 3px dashed #C9C9C9;
		font-size: 22px;
		line-height: 1;
		padding-bottom: 23px;
	}


	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title:before {
		content: '';
		width: 75px;
		height: 80px;
		display: block;
		background: url(/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_reward_raffle.png) center no-repeat;
		background-size: contain;
		margin-right: 12px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .title span {
		font-size: 48px;
		color: var(--green-primary);
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .desc,
	.campaignSection .campaignSectionContent .campaignSectionItemOther .desc {
		font-size: 16px;
		padding-top: 23px;
		text-align: center;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .desc span,
	.campaignSection .campaignSectionContent .campaignSectionItemOther .desc span {
		color: var(--green-primary)
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note {
		width: 90px;
		height: 90px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: absolute;
		background: var(--green-primary);
		font-weight: 400;
		color: #fff;
		border-radius: 50%;
		top: -66px;
		right: -20px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note .noteUpper {
		font-size: 13px;
		line-height: 0.9;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note .noteLower {
		font-size: 13px;
		line-height: 0.9;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemRaffle .note .noteLower span {
		font-size: 26px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther {
		margin-bottom: 130px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title {
		margin-top: 29px;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title span {
		font-size: 34px;
		color: var(--green-primary);
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title .text {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: column;
		font-size: 24px;
		line-height: 1;
		gap: 12px;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title:before {
		content: '';
		width: 52px;
		height: 51px;
		display: block;
		position: absolute;
		top: -29px;
		left: calc(50% - 130px);
		z-index: 2;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_bubble-hashtag.png') no-repeat center;
		background-size: cover;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther .title:after {
		content: '';
		width: 52px;
		height: 51px;
		display: block;
		position: absolute;
		top: -29px;
		right: calc(50% - 130px);
		z-index: 2;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_bubble-heart.png') no-repeat center;
		background-size: cover;
	}

	.campaignSection .campaignSectionContent .campaignSectionItemOther:after {
		content: '';
		position: absolute;
		width: 200px;
		height: 110px;
		bottom: -75px;
		right: -25px;
		display: block;
		z-index: 2;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_reward_other-sp.png') no-repeat center;
		background-size: cover;
	}

	.campaignPeriod {
		text-align: center;
		margin-bottom: 56px;
	}

	.campaignPeriod .campaignPeriodTitle {
		font-size: 26px;
		color: var(--text-secondary);
	}

	.campaignPeriod .campaignPeriodContent {
		padding: 24px;
		border: 2px solid var(--text-secondary);
		border-radius: 24px;
	}

	.campaignPeriod .campaignPeriodContent p {
		font-size: 30px;
		color: var(--green-primary);
		line-height: 1.5;
	}

	.campaignPeriod .campaignPeriodContent p span {
		font-size: 16px;
	}

	.campaignSection .campaignPeriod .campaignPeriodContent p .dayMark {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		vertical-align: middle;
		padding: 2px;
		height: 20px;
		width: 20px;
		margin: 0 3px;
		font-size: 14px;
		color: #FFF;
		background: var(--green-primary);
		line-height: 1.5;
		border-radius: 100px;
	}

	.startDiagnosisLink {
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.startDiagnosisLink p {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 14px;
		margin-bottom: 8px;
	}

	.startDiagnosisLink .startDiagnosisLinkButton a {
		width: 350px;
		font-size: 18px;
		font-weight: 400;
		background-color: var(--button-primary) !important;
	}

	.startDiagnosisLink .startDiagnosisLinkButton a span {
		padding: 0 30px 0 20px;
	}

	.campaignSteps {
		padding: 40px 24px 80px;
		background: #F4FBF3;
	}

	.campaignSteps .startDiagnosisLink .startDiagnosisLinkButton {
		margin-bottom: 56px;
	}


	.campaignProcedure .campaignProcedureTitle {
		font-size: 26px;
		text-decoration: none;
		margin-bottom: 85px;
	}

	.campaignProcedure .stepsContainer {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 67px;
	}

	.campaignProcedure {
		padding: 0 16px;
		margin-bottom: 56px;
	}

	.campaignProcedure .stepsContainer .step01,
	.campaignProcedure .stepsContainer .step02 {
		width: 100%;
		padding: 32px 16px 24px;
		background-color: #FFF;
	}

	.campaignProcedure .stepsContainer .step02:before {
		width: 193px;
		height: 63px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_step02-sp.png') center no-repeat;
		background-size: contain;
	}

	.campaignProcedure .stepsContainer .title {
		margin-bottom: 32px;
		height: auto;
		font-size: 20px;
		align-items: flex-start;
		justify-content: flex-start;
		text-wrap: nowrap;
	}

	.campaignProcedure .stepsContainer .desc {
		font-size: 16px;
		text-align: left;
		margin-bottom: 8px;
	}

	.campaignProcedure .stepsContainer .step01 .saveImageLink {
		margin-bottom: 24px;
	}

	.campaignSteps .startDiagnosisLink .startDiagnosisLinkButton a {
		width: 342px;
	}

	.campaignProcedure .stepsContainer .step01 .saveImageLink a {
		width: 310px;
		font-weight: 400;
		background: var(--button-primary) !important;
	}

	.campaignProcedure .stepsContainer .noteAsterisk {
		font-size: 13px;
		text-align: left;
	}


	.campaignProcedure .stepsContainer .step01 .image {
		width: 215px;
		height: 165px;
		overflow: hidden;
	}

	.campaignSteps .campaignNote {
		border: 1px solid var(--text-primary);
		padding: 24px 16px 30px;
		font-size: 18px;
		line-height: 1.7;
		border-radius: 8px;
	}

	.campaignSteps .campaignNote .block01 {
		text-align: center;
		padding-bottom: 32px;
		border-bottom: 2px dashed #C9C9C9;
		font-size: 18px;
		line-height: 1.7;
	}

	.campaignSteps .campaignNote .block02 {
		display: block;
		flex-direction: column;
		padding-top: 32px;
		font-size: 16px;
	}

	.campaignSteps .campaignNote .block02 span {
		display: block;
		margin-bottom: 24px;
	}

	.otherInformation {
		padding: 80px 24px;
		position: relative;
		background: #F6F1ED;
	}

	.otherInformation:before {
		content: '';
		position: absolute;
		width: 80px;
		height: 80px;
		top: 25px;
		right: 24px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_sprout.png') no-repeat center;
		z-index: 0;
	}

	.otherInformation .banner {
		background: #fff;
		position: relative;
		padding: 32px 24px;
		border-radius: 24px;
		text-align: center;
		margin-bottom: 80px;
		z-index: 1;
	}

	.otherInformation .banner .bannerTitle {
		font-size: 22px;
		line-height: 1.5;
		color: var(--green-primary);
		margin-bottom: 16px;
	}

	.otherInformation .banner .emphasisText {
		margin-bottom: 10px;
		font-size: 14px;
	}

	.otherInformation .banner .bannerText {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 40px;
	}

	.otherInformation .detailAccordion .blockTitle .ttl {
		font-weight: 400;
		font-size: 24px;
	}

	.otherInformation .detailAccordion .blockDetail ul li {
		font-weight: 400;
	}

	.otherInformation .detailAccordion .blockDetail p {
		margin-bottom: 6px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl .title {
		color: var(--green-primary);
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd .note li {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd .note li:before {
		content: "※";
		color: inherit;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd span {
		margin-bottom: 8px;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd a {
		color: var(--green-primary);
		position: relative !important;
		display: inline-block !important;
		align-items: center;
	}

	.otherInformation .detailAccordion .blockDetail ul li dl dd a:after {
		content:'';
		width: 14px;
		height: 14px;
		display: inline-block;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/ico_new-window-green.png') no-repeat center;
		background-size: contain;
		margin-left: 8px;
	}


	.futureSection {
		padding: 80px 24px 0;
		background: #F6F1ED;
		position: relative;
	}

	.futureSection::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(180deg, #EDE8E4 0%, #F6F1ED 100%);
		clip-path: ellipse(300% 100% at 50% 100%);
		z-index: 0;
	}

	.futureSection h2,
	.futureSection .futureSectionSubtitle,
	.futureSection .futureSectionUpperText,
	.futureSection .futureSectionLowerText,
	.futureSection .futureSectionImage {
		position: relative;
		z-index: 1;
	}

	.futureSection h2 {
		margin-bottom: 32px;
		text-align: center;
		font-size: 20px;
		color: var(--green-primary);
	}

	.futureSection .futureSectionSubtitle {
		margin-bottom: 54px;
		text-align: center;
		font-size: 28px;
	}

	.futureSection .futureSectionUpperText {
		margin-bottom: 40px;
		font-size: 20px;
	}

	.futureSection .futureSectionLowerText {
		margin-bottom: 130px;
		font-size: 16px;
	}

	.futureSection .futureSectionImage {
		position: relative;
		width: 290px;
		margin-bottom: 70px;
		margin-left: auto;
		margin-right: 30px;
	}

	.futureSection .futureSectionImage img {
		position: relative;
		z-index: 2;
	}

	.futureSection .futureSectionImage:before {
		content: '';
		position: absolute;
		width: 263px;
		height: 164px;
		top: -120px;
		right: -75px;
		background: url('/kojin/visa_debit/sustaina_pay/specialty/cam/images/img_future-section-before.png') center no-repeat;
		background-size: contain;
		z-index: 0;
	}

	.stickyNavbar {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 16px;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 52px;
		background-color: var(--button-primary);
		color: #FFF;
		z-index: 2;
		text-decoration: none;
		cursor: pointer;
		color: #fff;
	}

	.stickyNavbar .title {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		font-size: 14px;
		color: #fff;
		font-weight: 700;
	}


	.stickyNavbar .title span {
		position: relative;
		top: -10px;
	}

	.stickyNavbar .text {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		font-size: 20px;
		font-weight: bold;
		color: #fff;
	}

	.stickyNavbar .text span {
		display: flex;
		align-items: center;
		color: #fff;
	}

	.withStickyNavbar .simpleFooter {
		background-color:#0ba26b !important;
		padding-bottom: 60px;
	}

	.sustainaPayShareBlock01 {
		display: block;
		margin-bottom: 80px;
		z-index: 2;
	}

	.sustainaPayShareBlock01 aside ul li a {
		width: 44px;
		height: 44px;
	}

	.sustainaPayShareList01 .listItem:nth-child(n+2) {
		margin: 0 12px;
	}
}

.sustainaPayShareList01 .listItem:nth-child(n+2) {
	margin: 0 20px;
}

.sustainaPayShareBlock01 aside ul li:first-child {
	display: none;
}

.sustainaPayShareBlock01 aside ul li {
	z-index: 3;
}