@charset "utf-8";

/* スタイルシート
作成者：リフコム（時評社 図柄ナンバープレート案件）
作成日：2026.06.19
-------------------------------------------------------------------------------------*/

/*************************************************************************************
 ログイン・会員登録 共通：PMPro二重ボックス解消
**************************************************************************************/

/* PMProのカードラッパを透明化して auth-card に統合 */
.auth-card .pmpro,
.auth-card .pmpro_section,
.auth-card .pmpro_card,
.auth-card .pmpro_login_wrap,
.auth-card .pmpro_card_content,
.auth-card .pmpro_form_fieldset,
.auth-card fieldset {
	all: unset;
	display: block;
}

/* PMPro固有のラッパマージンをリセット */
.auth-card .pmpro_section,
.auth-card .pmpro_card {
	margin: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	background: none;
}

/*タイトル*/
.auth-card .lead {
  text-align: center;
  color: var(--color-ink-light);
  font-size: 13px;
  margin: 30px 0 25px;
}

/*************************************************************************************
 ログイン・会員登録 共通：フォームフィールドをテーマスタイルに統一
**************************************************************************************/

.auth-card .pmpro input[type="text"],
.auth-card .pmpro input[type="password"],
.auth-card .pmpro input[type="email"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	font-size: 15px;
	margin-top: 4px;
	font-family: inherit;
}

.auth-card .pmpro input[type="text"]:focus,
.auth-card .pmpro input[type="password"]:focus,
.auth-card .pmpro input[type="email"]:focus {
	outline: none;
	border-color: #2ea7da;
	box-shadow: 0 0 0 3px rgba(46,167,218,.15);
}

/* ラベル */
.auth-card .pmpro label,
.auth-card .pmpro .pmpro_form_label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 4px;
	color: #333;
}

/* 必須アスタリスク（PMPro）をテーマの .req 風に */
.auth-card .pmpro .pmpro_asterisk abbr {
	text-decoration: none;
	color: #e74c3c;
	font-size: 12px;
	margin-left: 4px;
}

/* フィールドグループのマージン */
.auth-card .pmpro .pmpro_form_field,
.auth-card .pmpro .login-username,
.auth-card .pmpro .login-password,
.auth-card .pmpro .login-remember,
.auth-card .pmpro .login-submit,
.auth-card .pmpro p[class^="login-"] {
	margin: 0 0 16px;
}

/* 2カラムレイアウト（パスワード確認・メール確認）を1カラムに */
.auth-card .pmpro .pmpro_cols-2 {
	display: block;
}

/*************************************************************************************
 ログイン・会員登録 共通：送信ボタン
**************************************************************************************/

.auth-card .pmpro input[type="submit"],
.auth-card .pmpro .button-primary,
.auth-card .pmpro .pmpro_btn-submit-checkout,
.pmpro_section #loginform .login-submit .button{
	display: block;
	width: 100%;
	padding: 13px;
	background: #2ea7da;
	color: #fff;
	border: none;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 16px;
	letter-spacing: 0.05em;
	font-family: inherit;
}

.auth-card .pmpro input[type="submit"]:hover,
.auth-card .pmpro .button-primary:hover,
.auth-card .pmpro .pmpro_btn-submit-checkout:hover,
.pmpro_section #loginform .login-submit .button:hover {
	background: #2494c2;
}

/*************************************************************************************
 ログイン：PMPro固有UI調整
**************************************************************************************/

/* 「パスワードを再設定しますか？」（PMProのcard_actions）を非表示 */
.auth-card .pmpro_card_actions {
	display: none !important;
}

/* パスワード表示トグルボタンをラベル横に整列 */
.auth-card .pmpro .pmpro_form_field-password-toggle {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
}

.auth-card .pmpro .pmpro_btn-plain {
	background: none;
	border: none;
	cursor: pointer;
	color: #2ea7da;
	font-size: 13px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/*************************************************************************************
 会員登録：PMPro固有UI調整
**************************************************************************************/

/* 会員情報カード（$0.00表示）を非表示 */
.auth-card--register #pmpro_pricing_fields,
.auth-card--register .pmpro_level_name_text,
.auth-card--register #pmpro_level_cost {
	display: none !important;
}

/* 「すでにアカウントをお持ちですか」エリアを非表示（auth-footで代替） */
.auth-card--register .pmpro_card_actions {
	display: none !important;
}

/* セクション見出し（アカウント情報・所属情報）を非表示 */
.auth-card--register .pmpro_form_legend,
.auth-card--register .pmpro_form_heading {
	display: none !important;
}

/* pmpro_form_submit のマージン調整 */
.auth-card--register .pmpro_form_submit {
	margin-top: 8px;
	display: block;
}

/* 処理中メッセージ */
.auth-card--register #pmpro_processing_message {
	text-align: center;
	color: #666;
	font-size: 14px;
	margin-top: 8px;
}

/* 同意チェックボックスラップ */
.auth-card .pmpro-agree-wrap {
	margin-bottom: 0;
}

.auth-card .pmpro-agree-wrap a {
	color: #2ea7da;
}

.pmpro_form_fields {
flex-direction: column;
gap: 0 !important;
}

/* パスワードリセット画面：PMPro出力のリード文を非表示 */
.pmpro_lostpassword > p:first-child {
    display: none;
}

.pmpro_lost_password-instructions {
    display: none;
}


.pmpro_section #loginform .login-submit .button{
	display: block;
	width: 100%;
	padding: 13px;
	background: #2ea7da !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 16px;
	letter-spacing: 0.05em;
	font-family: inherit;
}

.pmpro_section #loginform .login-submit .button:hover {
	background: #2494c2 !important;
	border: none !important;
	color: #fff!important;
}

.pmpro_section:has(.pmpro_form) .pmpro_card_content {
	padding-top: 0 !important;
}

.pmpro_section .pmpro_card.pmpro_login_wrap .pmpro_card_content,
.pmpro_section .pmpro_card.pmpro_lost_password_wrap .pmpro_card_content{
	padding-top: 0 !important;
}



/*************************************************************************************
 bbPress 返信フォーム — 不要要素の非表示
**************************************************************************************/

/* legend（返信先: xxxxxx）*/
#new-reply-144 legend,
.bbp-reply-form legend {
    display: none;
}

/* quicktags ツールバー */
#qt_bbp_reply_content_toolbar {
    display: none;
}

/* タグ入力フィールド */
.bbp-reply-form p:has(#bbp_topic_tags) {
    display: none;
}

/* メール通知チェックボックス */
.bbp-reply-form p:has(#bbp_topic_subscription) {
    display: none;
}

/* テキストエリアの高さを縮める */
.bbp-the-content-wrapper textarea.bbp-the-content {
    min-height: 120px;
    height: 120px;
    resize: vertical;
}

.bbp-reply-form textarea {
    min-height: 120px;
    height: 120px;
}

.bbp-submit-wrapper {
    display: flex;
    justify-content: flex-end;
}

/* トピック作成ボタン */
.new-topic-toggle {
    display: flex;
    justify-content: flex-end;
    margin: 16px 0;
}

/* ページネーション */
.bbp-pagination-count {
    font-size: 12px;
    color: var(--color-ink-light);
	margin-top: 20px;
}

.bbp-the-content-wrapper{
	margin-bottom: 15px;
}


/*************************************************************************************
 会員登録：氏名（姓・名）／ふりがな（せい・めい）を2カラム表示
 page-membership-checkout.php のJSが対象2フィールドを .name-row で包む。
 親 .pmpro_form_fields は flex-direction:column のため、.name-row 自体は
 1アイテムとして縦の流れに乗り、その内側だけ横並び(flex row)にする。
**************************************************************************************/
.auth-card--register .name-row {
	display: flex;
	gap: 12px;
	width: 100%;
	margin-bottom: 20px;
}
.auth-card--register .name-row > .pmpro_form_field {
	flex: 1 1 0;
	min-width: 0; /* input のはみ出し防止 */
	margin: 0;
}
.auth-card--register .name-row > .pmpro_form_field input {
	width: 100%;
	box-sizing: border-box;
}

/* 画面が狭いときは縦積みに戻す */
@media (max-width: 480px) {
	.auth-card--register .name-row {
		flex-direction: column;
		gap: 0;
	}
}

/*************************************************************************************
 マイページ：氏名（姓・名）／ふりがな（せい・めい）を2カラム表示
 page-mypage.php は .name-row 直下が生の <input>（登録側のPMProラッパが無い）。
 そのため登録用の .auth-card--register .name-row > .pmpro_form_field は当たらない。
 マイページ専用に .mypage スコープで input 直下版を定義する。
**************************************************************************************/
.mypage .name-row {
	display: flex;
	gap: 12px;
	width: 100%;
}
.mypage .name-row > input {
	flex: 1 1 0;
	min-width: 0; /* input のはみ出し防止 */
}

/* 画面が狭いときは縦積みに戻す */
@media (max-width: 480px) {
	.mypage .name-row {
		flex-direction: column;
		gap: 0;
	}
}




/*************************************************************************************
 会員登録・マイページ：セレクト(年代)を他の入力欄と同じ見た目に統一
**************************************************************************************/
.auth-card--register select.pmpro_form_input,
.mypage .form-row select {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 40px 10px 14px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	font-size: 15px;
	font-family: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

/*************************************************************************************
 会員登録・マイページ：送信時の未入力を赤枠に（JSで .is-error を付与）
**************************************************************************************/
.auth-card--register .pmpro_form_input.is-error,
.mypage .form-row input.is-error,
.mypage .form-row select.is-error {
	box-shadow: 0 0 0 3px rgba(231, 76, 60, .15);
}


/* セクション見出し（アカウント情報・所属情報）を非表示 */
.auth-card--register .pmpro_form_legend,
.auth-card--register .pmpro_form_heading,
.auth-card--register #pmpro_user_fields-title,
.auth-card--register .pmpro_card_title {
	display: none !important;
}