@charset "utf-8";
/* ========================================
   Suifeel Partner Program - SP
   max-width: 767px
======================================== */

.PartnerProgramPage{
	overflow: hidden;
	background: #fff;
	color: #0D0B2B;
}

.PartnerProgramContainer{
	width: 100%;
	padding: 0 22px;
	box-sizing: border-box;
}

/* HERO */

.LowerHero-partnerProgram{
	min-height: 470px;
}

.LowerHero-partnerProgram .LowerHero_bg{
	background-position: 72% center;
	background-size: cover;
}

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

	.LowerHero-partnerProgram .LowerHero_inner{
		min-height: 560px;
		padding: 132px 24px 82px;
	}

	.LowerHero-partnerProgram .LowerHero_bg{
		background-position: 72% center;
		background-size: cover;
	}

}

.LowerHero-partnerProgram .LowerHero_content{
	width: 100%;
}

/* Intro */

.PartnerProgramIntro{
	padding: 76px 0 0;
}

.PartnerProgramIntro_inner{
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 30px;
}

.PartnerProgramIntro_body{
	padding-top: 0;
}

.PartnerProgramIntro_body .SfText{
	max-width: 100%;
}

.PartnerProgramIntro_body .SfText + .SfText{
	margin-top: 22px;
}

/* Anchor：残っていても崩れない保険 */

.PartnerProgramAnchor{
	max-width: 100%;
	margin: 52px auto 0;
}

.PartnerProgramAnchor_label{
	margin-bottom: 22px;
	padding-bottom: 22px;
}

.PartnerProgramAnchor_list{
	grid-template-columns: 1fr;
	column-gap: 0;
	row-gap: 0;
}

/* Section Rhythm */

.PartnerProgramOverview,
.PartnerProgramType,
.PartnerProgramReward,
.PartnerProgramRule,
.PartnerProgramSupport,
.PartnerProgramFlow,
.PartnerProgramFaq{
	padding-top: 82px;
}

.PartnerProgramEntry{
	padding: 88px 0 108px;
}

/* Overview */

.PartnerProgramOverview_grid{
	grid-template-columns: 1fr;
	margin-top: 46px;
}

.PartnerProgramOverview_card{
	min-height: auto;
	padding: 30px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
	background: transparent;
}

.PartnerProgramOverview_card:first-child{
	border-top: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramOverview_card:last-child{
	border-bottom: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramOverview_card h3{
		font-size: 20px;
    line-height: 1.65;
}

/* Type */

.PartnerProgramType_head{
	grid-template-columns: 1fr;
	row-gap: 28px;
}

.PartnerProgramType_head .SfText{
	max-width: 100%;
	padding-top: 0;
}

.PartnerProgramType_list{
	grid-template-columns: 1fr;
	margin-top: 46px;
	border-top: 1px solid rgba(13,11,43,.08);
	border-bottom: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramType_item{
	min-height: auto;
	padding: 30px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
	background: transparent;
}

.PartnerProgramType_item:last-child{
	border-bottom: none;
}

.PartnerProgramType_itemActive{
	background:
		linear-gradient(180deg, rgba(247,252,255,.66), rgba(255,255,255,0));
	padding-left: 18px;
	padding-right: 18px;
}

.PartnerProgramType_label{
	margin-bottom: 22px;
	font-size: 10.5px;
}

.PartnerProgramType_item h3{
	font-size: 22px;
	line-height: 1.55;
}

.PartnerProgramType_item p:not(.PartnerProgramType_label){
	margin-top: 20px;
	font-size: 13.5px;
	line-height: 2.05;
}

/* Reward */

.PartnerProgramReward_body{
	grid-template-columns: 1fr;
	gap: 18px;
	margin-top: 48px;
}

.PartnerProgramReward_main{
	padding: 34px 26px 32px;
}

.PartnerProgramReward_box{
	padding: 30px 26px;
}

.PartnerProgramReward_main h3,
.PartnerProgramReward_box h3{
	font-size: 22px;
	line-height: 1.58;
}

.PartnerProgramReward_priceList{
	grid-template-columns: 1fr;
	margin-top: 34px;
}

.PartnerProgramReward_priceList div{
	padding: 24px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramReward_priceList div:last-child{
	border-bottom: none;
}

.PartnerProgramReward_priceList span{
	margin-bottom: 14px;
	font-size: 11.5px;
}

.PartnerProgramReward_priceList strong{
	font-size: 29px;
}

.PartnerProgramReward_note{
	margin-top: 22px;
	text-align: left;
}

.PartnerProgramReward_sub{
	grid-template-columns: 1fr;
	gap: 18px;
}

.PartnerProgramReward_box .SfText{
	margin-top: 20px;
}

.PartnerProgramReward_box ul{
	margin-top: 24px;
}

.PartnerProgramReward_box li{
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 17px 0;
}

.PartnerProgramReward_box li strong{
	white-space: normal;
}

/* Rule */

.PartnerProgramRule_inner{
	padding: 66px 0 68px;
}

.PartnerProgramRule_head{
	display: block;
}

.PartnerProgramRule_body{
	margin-top: 46px;
}

.PartnerProgramRule_list{
	grid-template-columns: 1fr;
}

.PartnerProgramRule_list article{
	min-height: auto;
	padding: 30px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
	background: transparent;
}

.PartnerProgramRule_list article:last-child{
	border-bottom: none;
}

.PartnerProgramRule_list span{
	margin-bottom: 22px;
	font-size: 31px;
}

.PartnerProgramRule_list h3{
	font-size: 20px;
}

.PartnerProgramRule_list p{
	font-size: 13.5px;
	line-height: 2.05;
}

/* Note */

.PartnerProgramRule .SfNote{
	margin-top: 46px;
	padding: 30px 26px;
	border-radius: 26px;
}

/* Support */

.PartnerProgramSupport_grid{
	grid-template-columns: 1fr;
	margin-top: 46px;
}

.PartnerProgramSupport_grid article{
	min-height: auto;
	padding: 30px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
	background: transparent;
}

.PartnerProgramSupport_grid article:first-child{
	border-top: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramSupport_grid article:last-child{
	border-bottom: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramSupport_grid h3{
	font-size: 21px;
}

.PartnerProgramSupport_grid .SfText{
	margin-top: 20px;
}

/* Flow */

.PartnerProgramFlow_steps{
	grid-template-columns: 1fr;
	margin-top: 46px;
}

.PartnerProgramFlow_steps article{
	min-height: auto;
	padding: 30px 0;
	border-right: none;
	border-bottom: 1px solid rgba(13,11,43,.08);
	background: transparent;
}

.PartnerProgramFlow_steps article:first-child{
	border-top: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramFlow_steps article:last-child{
	border-bottom: 1px solid rgba(13,11,43,.08);
}

.PartnerProgramFlow_steps span{
	margin-bottom: 22px;
	font-size: 32px;
}

.PartnerProgramFlow_steps h3{
	font-size: 20px;
}

.PartnerProgramFlow_steps p{
	font-size: 13.5px;
	line-height: 2.05;
}

/* FAQ */

.PartnerProgramFaq_list{
	max-width: 100%;
	margin-top: 42px;
	gap: 14px;
}

.PartnerProgramFaq_item{
	border-radius: 24px;
}

.PartnerProgramFaq_item summary{
	padding: 24px 60px 24px 24px;
	font-size: 15.5px;
	line-height: 1.75;
}

.PartnerProgramFaq_item summary::after{
	right: 24px;
	font-size: 26px;
}

.PartnerProgramFaq_item div{
	padding: 0 24px 28px;
}

.PartnerProgramFaq_item p{
	font-size: 13.5px;
	line-height: 2.05;
}

/* Entry CTA */

.PartnerProgramEntry_inner{
	max-width: 100%;
	padding: 58px 26px 56px;
	border-radius: 30px;
}

.PartnerProgramEntry h2{
	margin-top: 22px;
	font-size: 26px;
	line-height: 1.6;
	letter-spacing: .045em;
}

.PartnerProgramEntry p:not(.SfEyebrow):not(.PartnerProgramEntry_note){
	margin-top: 28px;
	font-size: 13.5px;
	line-height: 2.05;
}

.PartnerProgramEntry_actions{
	margin-top: 40px;
}

.PartnerProgramPrimaryBtn{
	width: 100%;
	min-width: 0;
	min-height: 56px;
	padding: 0 22px;
	font-size: 13.5px;
}

.PartnerProgramEntry_note{
	margin-top: 24px;
	font-size: 11.5px;
}

/* Common */

#partner_overview,
#partner_type,
#partner_reward,
#partner_rule,
#partner_support,
#partner_flow,
#partner_faq,
#partner_entry{
	scroll-margin-top: 96px;
}

.pc-only{
	display: none;
}

.sp-only{
	display: inline;
}

@media screen and (max-width: 767px){
  .LowerHero_title {
		font-size: 30px;
    line-height: 1.55;
    letter-spacing: .055em;
  }
}

.LowerHero_lead {
	margin-top: 20px;
	font-size: 13px;
	line-height: 1.95;
	letter-spacing: .04em;
}

.PartnerProgramOverview_card p {
  font-size: 13px;
  line-height: 2.02;
}

.SfSectionTitle {
  font-size: 25px;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: .045em;
}
