/* ============================================================
   members_info  会員登録案内
   共通＝モバイルファースト / PC は body:has(> .wrapper_wrapper_) で上書き
   ============================================================ */

/* ===== common（SP基準） ===== */
#members_info {
	max-width: none;
	margin: 60px -5px 0;
	padding: 0 0 50px;
	color: #333;
	font-size: 14px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;

	*, *::before, *::after { box-sizing: border-box; }
	img { max-width: 100%; height: auto; }

	.eg-inner {
		width: 100%;
		max-width: 1204px;
		margin: 0 auto;
		padding: 0;
	}

	.eg-green { color: #008000; }

	/* ---------- ボタン ---------- */
	.eg-btnwrap {
		margin-top: 28px;
		text-align: center;
	}
	.eg-btnwrap--btm { margin-top: 40px; }

	.eg-btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		max-width: 345px;
		min-height: 60px;
		margin: 0 auto;
		padding: 10px 40px;
		border-radius: 40px;
		background: url(../../img/usr/pages/members_info/btn_bg_sp.png) center / contain no-repeat;
		box-shadow: 0 5px 10px rgba(0,0,0,.15);
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 1.3;
		text-align: center;
		text-decoration: none;
	}
	.eg-btn__arrow {
		display: inline-block;
		width: 9px;
		height: 9px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		flex: none;
	}

	/* ---------- HERO ---------- */
	.eg-hero {
		position: relative;
		margin: 0 0 98px;
		padding: 0;
		text-align: center;
	}
	.eg-hero::before,
	.eg-hero::after {
		display: block;
		content: '';
		position: absolute;
		z-index: 1;
		pointer-events: none;
		top: 100%;
	}

	.eg-hero::before {
		width: 120px;
		height: 120px;
		left: -15px;
		background: url(../../img/usr/pages/members_info/head_image01.png) center / contain no-repeat;
	}
	.eg-hero::after {
		width: 120px;
		height: 120px;
		right: -15px;
		background: url(../../img/usr/pages/members_info/head_image02.png) center / contain no-repeat;
	}
	.eg-hero__lead {
		color: #008000;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: .04em;
	}
	.eg-hero__lead::before,
	.eg-hero__lead::after {
		display: inline-block;
		content: '';
		width: 2px;
		height: 1.0em;
		background: #008000;
		position: relative;
        top: 0.2em;
        transform: rotate(24deg);
	}
	.eg-hero__lead::before {
        transform: rotate(-24deg);
	}
	.eg-hero__ttl {
		margin: 6px 0 0;
		font-size: 26px;
		font-weight: 700;
		line-height: 1.45;
		color: #333;
		.eg-green { font-size: 30px; }
	}

	/* ---------- 新規会員登録について ---------- */
	.eg-about {
		position: relative;
		display: flex;
		flex-direction: column;
		margin-top: 34px;
		padding: 40px 18px 30px;
		background: #fff;
		border: solid 4px #D5F0D3;
		border-radius: 18px;
	}
	.eg-ribbon {
		min-width: 288px;
		margin: 0 0 18px;
		padding: 6px 40px 5px;
		background: #3eb134;
		color: #fff;
		font-size: 18px;
		font-weight: 700;
		text-align: center;
		white-space: nowrap;
		clip-path: polygon(0 0, 100% 0, calc(100% - 13px) 50%, 100% 100%, 0 100%, 13px 50%);
	}
	.eg-about__head {
		order: 2;
		text-align: center;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.5;
		.eg-lg { font-size: 30px; white-space: nowrap; }
	}
	.eg-about__head p { margin: 0; }
	.eg-about__cont { display: contents; }
	.eg-about__icon {
		order: 1;
		width: 100px;
		height: 100px;
		margin: 4px auto 12px;
		background: url(../../img/usr/pages/members_info/point01.png) center / contain no-repeat;
	}
	.eg-about__txt {
		order: 3;
		margin-top: 18px;
		text-align: left;
		color: #555;
		font-size: 14px;
		line-height: 1.85;
	}
	.eg-about__txt p { margin: 0; }
	.eg-about__deco {
		order: 4;
		display: block;
		width: 136px;
		height: 60px;
		margin: 16px auto 0;
		background: url(../../img/usr/pages/members_info/point02.png) center / contain no-repeat;
	}

	/* ---------- 特徴カード ---------- */
	.eg-features {
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
		margin: 34px 0 0;
		padding: 0;
		list-style: none;
	}
	.eg-card {
		width: 100%;
		padding: 24px 18px 26px;
		background: #fff;
		border: solid 4px #D5F0D3;
		border-radius: 10px;
		text-align: center;
	}
	.eg-card__ttl {
		margin: 0 0 0;
		padding-bottom: 14px;
		border-bottom: 2px dotted #6cbf5f;
		color: #008000;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.4;
	}
	.eg-card__icon {
		height: 160px;
		margin-bottom: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	.eg-card:nth-of-type(1) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point03.png); }
	.eg-card:nth-of-type(2) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point04.png); }
	.eg-card:nth-of-type(3) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point05.png); }
	.eg-card:nth-of-type(4) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point06.png); }
	.eg-card:nth-of-type(5) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point07.png); }
	.eg-card:nth-of-type(6) .eg-card__icon { background-image: url(../../img/usr/pages/members_info/point08.png); }
	.eg-card__txt {
		margin: 0;
		color: #666;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.8;
	}
	.eg-note { font-size: .8em; }

	/* ---------- その他注意事項 ---------- */
	.eg-notes {
		margin-top: 44px;
		text-align: center;
	}
	.eg-notes__ttl {
		position: relative;
		margin: 0 0 16px;
		font-size: 16px;
		font-weight: 700;
		color: #333;
	}
	.eg-notes__ttl::after {
		content: "";
		display: block;
		width: 40px;
		height: 2px;
		margin: 8px auto 0;
		background: #008000;
	}
	.eg-notes__body {
		display: inline-block;
		text-align: left;
		color: #707070;
		font-size: 11px;
		line-height: 1.9;
	}
	.eg-notes__body p { margin: 0; }
}

/* ============================================================
   PC   （body 直下に .wrapper_wrapper_ を持つ＝PCテンプレート）
   ============================================================ */
	/* PC header調整 */
body:has(> .wrapper_wrapper_) {
	div#pageTop {
		z-index: 99995;
	}
	.p-headNews {
		position: relative;
	}
	.p-headNews::before {
		display: block;
		content: '';
		position: absolute;
		z-index: 99992;
		pointer-events: none;
		width: 351px;
		height: 351px;
		left: auto;
		right: calc(50% + 338px);
		top: 100%;
		background: url(/img/usr/pages/members_info/head_image01.png) center / contain no-repeat;
	}
}
body:has(> .wrapper_wrapper_) #members_info {

	.only_sp { display: none !important; }

	margin: 64px 0 80px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;




	.eg-inner { padding: 0 20px; }

	/* ボタン */
	.eg-btnwrap { margin-top: 44px; }
	.eg-btnwrap--btm { margin-top: 60px; }
	.eg-btn {
		width: 500px;
		max-width: 100%;
		min-height: 80px;
		gap: 14px;
		font-size: 20px;
		border-radius: 44px;
		background: url(../../img/usr/pages/members_info/btn_bg_pc.png) center / contain no-repeat;
	}
	.eg-btn:hover {
		color: #008000;
		background-image: url(../../img/usr/pages/members_info/btn_bg_over_pc.png);
	}
	.eg-btn__arrow { width: 11px; height: 11px; }
	.eg-btn:hover .eg-btn__arrow {
		border-color: #008000;
	}

	/* HERO */
	.eg-hero { padding: 0; }
	.eg-hero::before {
		width: 351px;
		height: 351px;
		left: auto;
		right: calc(50% + 338px);
		top: -160px;
		display: none;
	}
	.eg-hero::after {
		width: 351px;
		height: 351px;
		right: auto;
		left: calc(50% + 274px);
		top: calc(100% - 125px);
	}

	.eg-hero__lead { font-size: 24px; }
	.eg-hero__ttl {
		margin-top: 12px;
		font-size: 40px;
		line-height: 1.4;
		.eg-green { font-size: 50px; }
	}

	/* 新規会員登録について */
	.eg-about {
		display: block;
		margin-top: 56px;
		padding: 56px 60px 50px;
		border-radius: 24px;
	}
	.eg-ribbon {
		width: 449px;
		margin: 0 auto 26px;
		padding: 10px 50px;
		font-size: 22px;
		clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%, 20px 50%);
	}
	.eg-about__head {
		font-size: 30px;
		line-height: 1.6;
		.eg-lg { font-size: 40px; }
	}
	.eg-about__cont {
		position: relative;
		margin-top: 26px;
		min-height: 150px;
		padding: 0 60px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.eg-about__icon {
		position: absolute;
		left: -30px;
		top: -80px;
		width: 200px;
		height: 200px;
		margin: 0;
		background-size: contain;
	}
	.eg-about__txt {
		margin-top: 0;
		font-size: 16px;
		line-height: 2.4;
		text-align: center;
	}
	.eg-about__deco {
		position: absolute;
		right: 24px;
		bottom: 54px;
		width: 202px;
		height: 91px;
		margin: 0;
	}

	/* 特徴カード */
	.eg-features {
		gap: 20px;
		margin-top: 56px;
	}
	.eg-card {
		width: calc((100% - 20px) / 2);
		padding: 36px 40px 40px;
	}
	.eg-card__ttl {
		margin-bottom: 0;
		padding-bottom: 20px;
		font-size: 30px;
	}
	.eg-card__icon {
		height: 200px;
	}
	.eg-card__txt { font-size: 16px; }

	/* その他注意事項 */
	.eg-notes { margin-top: 70px; }
	.eg-notes__ttl { font-size: 20px; }
	.eg-notes__body { font-size: 14px; }
}

/* ============================================================
   SP   （body 直下に #container を持つ＝SPテンプレート）
   共通スタイルを継承。SP専用の微調整のみ。
   ============================================================ */
body:has(> #container) #members_info {
	.only_pc { display: none !important; }
}
