@charset "utf-8";
/* ========================================
   Suifeel Partner Program - PC
======================================== */

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

.PartnerProgramContainer{
	width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

/* LowerHero */

.LowerHero-partnerProgram .LowerHero_bg{
	background:
		linear-gradient(90deg, rgba(247,251,253,.94), rgba(247,251,253,.38)),
		url(../commonImages/h1_img_partner.png);
	background-position:center right;
	background-size:cover;
}

/* Intro */

.PartnerProgramIntro{
	padding:120px 0 0;
	background:#fff;
}

.PartnerProgramIntro_inner{
	display:grid;
	grid-template-columns:42% 1fr;
	column-gap:96px;
	align-items:start;
}

.PartnerProgramIntro_head{
	text-align:left;
}

.PartnerProgramIntro_body{
	padding-top:6px;
}

.PartnerProgramIntro_body .SfText{
	max-width:720px;
}

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

/* Anchor */

.PartnerProgramAnchor{
	position:relative;
	max-width:1120px;
	margin:78px auto 0;
}

.PartnerProgramAnchor_label{
	margin:0 0 26px;
	padding:0 0 25px;
	border-bottom:1px solid rgba(13,11,43,.10);
	font-size:11px;
	line-height:1;
	font-weight:300;
	letter-spacing:.28em;
	color:#7fcbea;
}

.PartnerProgramAnchor_list{
	display:grid;
	grid-template-columns:repeat(2, minmax(0,1fr));
	column-gap:64px;
	row-gap:12px;
	margin:0;
	padding:0;
	list-style:none;
	counter-reset:partner-anchor;
}

.PartnerProgramAnchor_list li{
	margin:0;
	padding:0;
	counter-increment:partner-anchor;
}

.PartnerProgramAnchor_list a{
	position:relative;
	display:flex;
	align-items:center;
	gap:16px;
	padding:0 0 13px;
	border-bottom:1px solid rgba(13,11,43,.08);
	color:rgba(13,11,43,.74);
	font-size:14px;
	font-weight:500;
	letter-spacing:.04em;
	line-height:1.7;
	text-decoration:none;
	transition:
		color .28s ease,
		padding .28s ease,
		transform .28s ease;
}

.PartnerProgramAnchor_list a::before{
	content:counter(partner-anchor, decimal-leading-zero);
	flex:0 0 auto;
	font-size:12px;
	font-weight:300;
	letter-spacing:.18em;
	color:rgba(123,175,203,.95);
}

.PartnerProgramAnchor_list a:hover{
	color:#0D0B2B;
	padding-left:8px;
	transform:translateX(4px);
}

/* Overview */

.PartnerProgramOverview{
	padding:140px 0 0;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fcfd 100%
		);
}

.PartnerProgramOverview_grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:0;
	margin:86px 0 0;
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramOverview_card{
	min-height:300px;
	padding:42px 36px 38px;
	border-right:1px solid rgba(13,11,43,.08);
	background:rgba(255,255,255,.72);
	box-sizing:border-box;
}

.PartnerProgramOverview_card:last-child{
	border-right:none;
}

.PartnerProgramOverview_card h3{
	margin:20px 0 0;
	font-size:22px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.05em;
	color:#0D0B2B;
}

.PartnerProgramOverview_card p{
	margin:22px 0 0;
}

/* Type */

.PartnerProgramType{
	padding:150px 0 0;
	background:#fff;
}

.PartnerProgramType_head{
	display:grid;
	grid-template-columns:42% 1fr;
	column-gap:88px;
	align-items:start;
}

.PartnerProgramType_head .SfText{
	max-width:720px;
	padding-top:8px;
}

.PartnerProgramType_list{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:0;
	margin:78px 0 0;
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramType_item{
	position:relative;
	min-height:330px;
	padding:42px 36px 40px;
	border-right:1px solid rgba(13,11,43,.08);
	background:#fff;
	box-sizing:border-box;
}

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

.PartnerProgramType_itemActive{
	background:
		linear-gradient(180deg, rgba(247,252,255,.92), rgba(255,255,255,1));
}

.PartnerProgramType_label{
	margin:0 0 28px;
	font-size:11px;
	line-height:1;
	font-weight:600;
	letter-spacing:.22em;
	color:#7BAFCB;
}

.PartnerProgramType_item h3{
	margin:0;
	font-size:24px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.06em;
	color:#0D0B2B;
}

.PartnerProgramType_item p:not(.PartnerProgramType_label){
	margin:24px 0 0;
	font-size:14px;
	line-height:2.1;
	letter-spacing:.04em;
	color:rgba(13,11,43,.68);
}

/* Reward */

.PartnerProgramReward{
	padding:150px 0 0;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fcfd 100%
		);
}

.PartnerProgramReward_body{
	display:grid;
	grid-template-columns:minmax(0,1fr) 420px;
	gap:42px;
	align-items:stretch;
	margin:82px 0 0;
}

.PartnerProgramReward_main,
.PartnerProgramReward_box{
	background:rgba(255,255,255,.88);
	border:1px solid rgba(13,11,43,.07);
	box-sizing:border-box;
}

.PartnerProgramReward_main{
	padding:48px 52px 46px;
}

.PartnerProgramReward_main h3,
.PartnerProgramReward_box h3{
	margin:0;
	font-size:26px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.05em;
	color:#0D0B2B;
}

.PartnerProgramReward_priceList{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	margin:46px 0 0;
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramReward_priceList div{
	padding:30px 26px 32px;
	border-right:1px solid rgba(13,11,43,.08);
	box-sizing:border-box;
}

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

.PartnerProgramReward_priceList span{
	display:block;
	margin:0 0 20px;
	font-size:12px;
	line-height:1;
	font-weight:600;
	letter-spacing:.16em;
	color:#7BAFCB;
}

.PartnerProgramReward_priceList strong{
	display:block;
	font-size:30px;
	line-height:1.25;
	font-weight:500;
	letter-spacing:.03em;
	color:#0D0B2B;
	white-space:nowrap;
}

.PartnerProgramReward_priceList small{
	display:block;
	margin-top:10px;
	font-size:11px;
	line-height:1.7;
	letter-spacing:.04em;
	color:rgba(13,11,43,.48);
}

.PartnerProgramReward_note{
	margin:28px 0 0;
	font-size:12px;
	line-height:1.9;
	letter-spacing:.04em;
	color:rgba(13,11,43,.48);
	text-align:right;
}

.PartnerProgramReward_sub{
	display:grid;
	gap:22px;
}

.PartnerProgramReward_box{
	padding:36px 34px 34px;
}

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

.PartnerProgramReward_box ul{
	margin:28px 0 0;
	padding:0;
	list-style:none;
	border-top:1px solid rgba(13,11,43,.08);
}

.PartnerProgramReward_box li{
	display:flex;
	justify-content:space-between;
	gap:20px;
	padding:18px 0;
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramReward_box li span{
	font-size:13px;
	line-height:1.8;
	letter-spacing:.06em;
	color:rgba(13,11,43,.62);
}

.PartnerProgramReward_box li strong{
	font-size:14px;
	line-height:1.8;
	font-weight:500;
	letter-spacing:.04em;
	color:#0D0B2B;
	white-space:nowrap;
}

/* Rule */

.PartnerProgramRule{
	padding:150px 0 0;
	background:#fff;
}

.PartnerProgramRule_inner{
	padding:96px 0;
}

.PartnerProgramRule_head{
	display:grid;
	grid-template-columns:42% 1fr;
	column-gap:88px;
	align-items:start;
}

.PartnerProgramRule_body{
	margin-top:78px;
}

.PartnerProgramRule_list{
	display:grid;
	grid-template-columns:repeat(4, minmax(0,1fr));
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramRule_list article{
	min-height:270px;
	padding:38px 30px 34px;
	border-right:1px solid rgba(13,11,43,.08);
	box-sizing:border-box;
	background:rgba(255,255,255,.72);
}

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

.PartnerProgramRule_list span{
	display:block;
	margin:0 0 28px;
	font-size:34px;
	line-height:1;
	font-weight:300;
	letter-spacing:.04em;
	color:#7fcbea;
}

.PartnerProgramRule_list h3{
	margin:0;
	font-size:21px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.05em;
	color:#0D0B2B;
}

.PartnerProgramRule_list p{
	margin:22px 0 0;
	font-size:13.5px;
	line-height:2.05;
	letter-spacing:.04em;
	color:rgba(13,11,43,.66);
}

/* Support */

.PartnerProgramSupport{
	padding:150px 0 0;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fcfd 100%
		);
}

.PartnerProgramSupport_grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:0;
	margin:82px 0 0;
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramSupport_grid article{
	min-height:280px;
	padding:42px 36px 38px;
	border-right:1px solid rgba(13,11,43,.08);
	background:rgba(255,255,255,.72);
	box-sizing:border-box;
}

.PartnerProgramSupport_grid article:last-child{
	border-right:none;
}

.PartnerProgramSupport_grid h3{
	margin:0;
	font-size:22px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.05em;
	color:#0D0B2B;
}

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

/* Flow */

.PartnerProgramFlow{
	padding:150px 0 0;
	background:#fff;
}

.PartnerProgramFlow_steps{
	display:grid;
	grid-template-columns:repeat(4, minmax(0,1fr));
	gap:0;
	margin:82px 0 0;
	border-top:1px solid rgba(13,11,43,.08);
	border-bottom:1px solid rgba(13,11,43,.08);
}

.PartnerProgramFlow_steps article{
	min-height:300px;
	padding:42px 34px 38px;
	border-right:1px solid rgba(13,11,43,.08);
	background:
		linear-gradient(180deg, rgba(255,255,255,1), rgba(248,252,255,.58));
	box-sizing:border-box;
}

.PartnerProgramFlow_steps article:last-child{
	border-right:none;
}

.PartnerProgramFlow_steps span{
	display:block;
	margin:0 0 30px;
	font-size:38px;
	line-height:1;
	font-weight:200;
	letter-spacing:-.04em;
	color:rgba(123,175,203,.82);
}

.PartnerProgramFlow_steps h3{
	margin:0;
	font-size:21px;
	line-height:1.6;
	font-weight:500;
	letter-spacing:.06em;
	color:#0D0B2B;
}

.PartnerProgramFlow_steps p{
	margin:22px 0 0;
	font-size:13.5px;
	line-height:2.05;
	letter-spacing:.05em;
	color:rgba(13,11,43,.62);
}

/* FAQ */

.PartnerProgramFaq{
	padding:150px 0 0;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fcfd 100%
		);
}

.PartnerProgramFaq_list{
	max-width:980px;
	margin:78px auto 0;
	display:grid;
	gap:18px;
}

.PartnerProgramFaq_item{
	background:rgba(255,255,255,.94);
	border:1px solid rgba(123,175,203,.18);
	border-radius:28px;
	box-shadow:0 18px 50px rgba(13,11,43,.04);
	overflow:hidden;
}

.PartnerProgramFaq_item summary{
	position:relative;
	list-style:none;
	cursor:pointer;
	padding:30px 84px 30px 34px;
	font-size:18px;
	line-height:1.8;
	font-weight:500;
	letter-spacing:.04em;
	color:#0D0B2B;
	box-sizing:border-box;
}

.PartnerProgramFaq_item summary::-webkit-details-marker{
	display:none;
}

.PartnerProgramFaq_item summary::after{
	content:"+";
	position:absolute;
	right:34px;
	top:50%;
	transform:translateY(-50%);
	font-size:28px;
	font-weight:300;
	color:#7BAFCB;
	transition:transform .25s ease;
}

.PartnerProgramFaq_item[open] summary::after{
	transform:translateY(-50%) rotate(45deg);
}

.PartnerProgramFaq_item div{
	padding:0 34px 34px;
}

.PartnerProgramFaq_item p{
	margin:0;
	font-size:14px;
	line-height:2.1;
	letter-spacing:.04em;
	color:rgba(13,11,43,.68);
}

/* Entry CTA */

.PartnerProgramEntry{
	padding:150px 0 170px;
	background:#fff;
}

.PartnerProgramEntry_inner{
	position:relative;
	max-width:980px;
	margin:0 auto;
	padding:86px 76px 82px;
	text-align:center;
	background:
		linear-gradient(
			135deg,
			#0D0B2B 0%,
			#15133D 52%,
			#1B2552 100%
		);
	border-radius:38px;
	overflow:hidden;
	box-sizing:border-box;
}

.PartnerProgramEntry_inner::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(
			circle at top right,
			rgba(123,175,203,.24) 0%,
			rgba(123,175,203,0) 46%
		);
	pointer-events:none;
}

.PartnerProgramEntry_inner > *{
	position:relative;
	z-index:2;
}

.PartnerProgramEntry .SfEyebrow{
	color:rgba(123,175,203,.92);
}

.PartnerProgramEntry h2{
	margin:24px 0 0;
	font-size:36px;
	line-height:1.55;
	font-weight:500;
	letter-spacing:.06em;
	color:#fff;
}

.PartnerProgramEntry p:not(.SfEyebrow):not(.PartnerProgramEntry_note){
	margin:34px auto 0;
	max-width:720px;
	font-size:15px;
	line-height:2.15;
	letter-spacing:.04em;
	color:rgba(255,255,255,.74);
}

.PartnerProgramEntry_actions{
	margin-top:52px;
}

.PartnerProgramPrimaryBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:320px;
	min-height:62px;
	padding:0 36px;
	border-radius:999px;
	background:#fff;
	border:1px solid #fff;
	color:#0D0B2B;
	font-size:15px;
	line-height:1.6;
	font-weight:500;
	letter-spacing:.08em;
	text-decoration:none;
	box-sizing:border-box;
	transition:
		transform .28s ease,
		box-shadow .28s ease,
		opacity .28s ease;
}

.PartnerProgramPrimaryBtn:hover{
	transform:translateY(-3px);
	box-shadow:0 18px 40px rgba(255,255,255,.14);
	opacity:.92;
}

.PartnerProgramEntry_note{
	margin:28px 0 0;
	font-size:12px;
	line-height:1.9;
	letter-spacing:.04em;
	color:rgba(255,255,255,.48);
}

/* Common */

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

.pc-only{
	display:inline;
}

.sp-only{
	display:none;
}

/* ========================================
   PC Final Polish
======================================== */

/* HERO */
.LowerHero-partnerProgram{
	min-height: 620px;
}

.LowerHero-partnerProgram .LowerHero_bg{
	background-position: center right;
}

/* Section Rhythm */
.PartnerProgramOverview,
.PartnerProgramType,
.PartnerProgramReward,
.PartnerProgramRule,
.PartnerProgramSupport,
.PartnerProgramFlow,
.PartnerProgramFaq{
	padding-top: 128px;
}

.PartnerProgramEntry{
	padding-top: 132px;
}

/* Reward - 間延び解消 */
.PartnerProgramReward_body{
	align-items: start;
	margin-top: 72px;
	padding: 60px 0;
}

.PartnerProgramReward_main{
	min-height: auto;
}

.PartnerProgramReward_priceList{
	margin-top: 40px;
}

.PartnerProgramReward_note{
	margin-top: 24px;
}

/* Rule - 見出し配置安定 */
.PartnerProgramRule_head{
	display: block;
}

.PartnerProgramRule_inner{
	padding: 82px 0 86px;
}

/* Support / Flow - 余白調整 */
.PartnerProgramSupport_grid,
.PartnerProgramFlow_steps{
	margin-top: 72px;
}

/* FAQ */
.PartnerProgramFaq_list{
	margin-top: 66px;
}

/* Entry CTA */
.PartnerProgramEntry_inner{
	max-width: 960px;
	padding: 78px 72px 76px;
}

.PartnerProgramEntry h2{
	font-size: 34px;
}