@charset "utf-8";
/**************************************************
 *	マイアカウント
 **************************************************/

/* 共通
===========================================*/
/* レイアウト */
.site-main article header{
	width:100%;
	height:auto;
	margin:0 auto;
	background:#f9f9f9;
	display:block;
}
.site-main article header h1{
	width:100%;
	height:auto;
	padding:30px;
	margin:0 auto;
	font-size:20px;
	text-align:center;
	display:block;
}
.entry-content{
	width:96%;
	height:auto;
	max-width:800px!important;
	padding:50px 0;
	margin:0 auto;
	display:block;
}
/* レスポンシブ対応 (タブレット以下) */
@media (max-width: 768px) {
	.entry-content{
		max-width:400px!important;
	}
}
/* レイアウトコンテナ (Flexbox)
===========================================*/
/* .woocommerce-accountクラスが付与されるbodyタグを起点とする */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap; /* 画面幅が足りない場合に折り返す */
	gap: 10px;			/* ナビゲーションとコンテンツの間の余白 */
}

/* 左カラム: ナビゲーション
===========================================*/
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex:0 1 160px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #eee;
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: 1px solid #eee;
}
.woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}
.woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 13px 19px;
	color: #333;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
}
.woocommerce-MyAccount-navigation-link a:hover {
	background-color: #eee;
}

/* アクティブなナビゲーション項目 */
.woocommerce-MyAccount-navigation-link.is-active > a {
	background-color: #f9f9f9;
}

/* 右カラム: コンテンツ内レイアウト
===========================================*/
.woocommerce-account .woocommerce-MyAccount-content {
	flex-basis: 0;	/* コンテンツは基本幅0で開始 */
	flex-grow: 999; /* 残りの利用可能なスペースを全て埋める */
	min-width: 60%; /* コンテンツが極端に狭くならないように最小幅を確保 */
}
/* レスポンシブ対応 (タブレット以下) */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		flex-direction: column; /* Flexboxの主軸を縦に変更 */
		gap: 32px;
	}

	.woocommerce-MyAccount-navigation {
		/* ナビゲーションをコンテンツの上に配置 */
		order: 1;
	}
	
	.woocommerce-MyAccount-content {
		/* コンテンツをナビゲーションの下に配置 */
		order: 2;
	}
}

/* タイトル */
.woocommerce-MyAccount-content h2{
	width:100%;
	height:auto;
	padding:10px;
	margin:0 auto 20px auto;
	font-size:18px;
	font-weight:bold;
	display:block;
}

/* 段落 */
.woocommerce-MyAccount-content p{
	width:100%;
	height:auto;
	padding:0 10px 10px 10px;
	margin:0 auto;
	border-left:4px solid #000;
	background:#f9f9f9;
	display:block;
}
.woocommerce-MyAccount-content div.woocommerce-notices-wrapper + p{
	padding-top:10px;
}
.woocommerce-MyAccount-content p + :is(h2, h3, h4, h5, h6){
	margin-top: 50px;
}

.woocommerce-MyAccount-content p a{
	text-decoration:underline 1px solid #aaa;
}
.woocommerce-MyAccount-content p a:hover{
	text-decoration:underline 1px solid #000;
}

/* 右カラム: Orders
===========================================*/
/* 注文履歴テーブルの基本スタイル */
.woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse; /* テーブルの枠線を統合 */
	margin-bottom: 24px;
	border:1px solid #eee;
}
.woocommerce-orders-table thead {
	background-color: #f8f8f8;
	border-bottom: 1px solid #eee;
}
.woocommerce-orders-table th,
.woocommerce-orders-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
	vertical-align:middle;
}
/* アクションボタン */
.woocommerce-orders-table .woocommerce-button {
	width:100%;
	display: block;
	padding: 8px 16px;
	margin: 4px;
	border: 1px solid #000;
	background-color: #000;
	color: #fff;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.woocommerce-orders-table .woocommerce-button:hover {
	color:#000;
	background-color: #ddd;
}
/* レスポンシブ対応 (タブレット以下) */
@media (max-width: 768px) {
	.woocommerce-orders-table {
		border: none;
	}

	.woocommerce-orders-table thead {
		display: none; /* ヘッダーを非表示にする */
	}

	.woocommerce-orders-table tr {
		display: block;
		border-bottom: 1px solid #e0e0e0;
		margin-bottom: 16px;
	}

	.woocommerce-orders-table td {
		display: flex;
		justify-content: space-between;
		padding: 8px 0;
		border-top: none;
	}

	.woocommerce-orders-table td::before {
		display:none;
	}
	
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
		display: block;
		text-align: right;
	}
}
/* 右カラム: Downloads
===========================================*/
/* 管理画面 woocommerce設定 高度な設定で対応 */

/* 右カラム: Addresses
===========================================*/
/* 住所セクション全体 */
.woocommerce-Addresses {
	margin-top:10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
/* 各カラム（Billing / Shipping） */
.woocommerce-Address {
    flex: 1 1 calc( (100% - 10px) /2 );
    border: 1px solid #eee;
    background-color: #fff;
    box-sizing: border-box;
}
/* タイトルと編集リンク */
.woocommerce-Address-title {
	padding:20px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
	border-bottom:1px solid #eee;
}
.woocommerce-Address-title h2 {
	margin:0 auto 10px auto;
}
.woocommerce-Address-title .edit {
	width:100%;
	margin:0 auto;
	text-align:right;
    font-size: 13px;
    color: #000;
    text-decoration: underline;
    transition: color 0.2s ease;
	display:block;
}
.woocommerce-Address-title .edit:hover {
    color: #555;
}
/* 住所本体 */
.woocommerce-Address address {
	padding:10px;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}
/* レスポンシブ対応（スマホ） */
@media (max-width: 768px) {
    .woocommerce-Addresses {
        flex-direction: column;
    }

    .woocommerce-Address {
        flex: 1 1 100%;
    }
}

/* 右カラム: Addresses
   edit-address フォーム
===========================================*/
.woocommerce-address-fields {
  margin-top: 30px;
}
.woocommerce-address-fields p{
	border:none;
	background:none;
}
/* フォームの行ラッパー (Flexbox) */
.woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px; /* 左右の余白のみ設定 */
}
/* 各フォーム行の共通スタイル */
.woocommerce-address-fields .form-row {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column; /* ラベルと入力欄を縦に並べる */
  flex: 1 1 100%; /* 基本は100%幅 */
}
/* 左右分割フィールド (First/Last Name, Postcode/Prefecture) */
.woocommerce-address-fields .form-row-first,
.woocommerce-address-fields .form-row-last {
  flex: 1 1 calc(50% - 10px); /* gapの半分を引いて正確に50%にする */
  min-width: 200px;
}
/* ラベルのスタイル */
.woocommerce-address-fields label {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}
.woocommerce-address-fields label .required {
  color: #c00;
  font-weight: normal;
  text-decoration: none;
}
/* 入力フィールド (input, select) の共通スタイル */
.woocommerce-address-fields .input-text,
.woocommerce-address-fields select,
.woocommerce-address-fields .select2-selection--single {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  font-size: 15px;
  transition: border-color 0.2s ease;
  height: 42px; /* 高さを統一 */
  background-color: #fff;
}
.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields select:focus {
  border-color: #000;
  outline: none;
}
/* Select2（国・都道府県のドロップダウン）の調整 */
.select2-container .select2-selection--single {
  padding: 0; /* select2独自のpaddingをリセット */
  border-radius:0!important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding: 8px 12px;
  line-height: 24px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}
/* 保存ボタン */
.woocommerce-address-fields .button {
  margin: 0 0 0 auto;
  padding: 12px 24px;
  border: 1px solid #000;
  background-color: #000;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  display:block;
}
.woocommerce-address-fields .button:hover {
  background-color: #ddd;
  color: #000;
}
/* レスポンシブ対応 (Address Edit Form) */
@media (max-width: 768px) {
  /* 左右分割フィールドを縦積みにする */
  .woocommerce-address-fields .form-row-first,
  .woocommerce-address-fields .form-row-last {
    flex-basis: 100%;
  }

  /* 縦積みになった際の左右のgapをなくす */
  .woocommerce-address-fields__field-wrapper {
    gap: 0;
  }
}


/* 右カラム: Payment Methods
===========================================*/
.woocommerce-MyAccount-content .woocommerce-info {
	background-color: #f9f9f9;
	border-left: 4px solid #000;
	padding: 12px 16px;
	margin-bottom: 20px;
	font-size: 14px;
	color: #333;
}

.woocommerce-MyAccount-content .woocommerce-info + a.button {
	width:180px;
	display: block;
	margin:10px 0 0 auto;
	padding: 10px 0;
	text-align:center;
	background-color: #000;
	color: #fff;
	border: 1px solid #000;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.woocommerce-MyAccount-content a.button:hover {
	background-color: #ddd;
	color: #000;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.woocommerce-MyAccount-content a.button {
		width: 100%;
		text-align: center;
	}
}

/* 右カラム: Payment Methods
   Add payment method
===========================================*/
.woocommerce-MyAccount-content .woocommerce-PaymentMethods {
	list-style: none;
	padding: 0;
	margin:0;
}

.woocommerce-MyAccount-content .woocommerce-PaymentMethod {
	border: 1px solid #eee;
	padding: 20px;
	background-color: #f9f9f9;
}

.woocommerce-MyAccount-content .woocommerce-PaymentMethod label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: bold;
	cursor: pointer;
}

.woocommerce-MyAccount-content .woocommerce-PaymentMethod img.stripe-cards-icon {
	max-height: 24px;
	margin-left: auto;
}

.woocommerce-MyAccount-content .woocommerce-PaymentBox {
	margin-top: 12px;
	padding: 12px;
	background-color: #fff;
	border: 1px solid #ccc;
}

.woocommerce-MyAccount-content .woocommerce-PaymentBox .testmode-info {
	font-size: 13px;
	margin-bottom: 12px;
}
.woocommerce-MyAccount-content .woocommerce-PaymentBox .testmode-info strong{
	color:#f00;
}
.woocommerce-MyAccount-content .woocommerce-PaymentBox .testmode-info a{
	text-decoration:underline 1px solid #aaa;
	transition:all 0.2s linear;
}
.woocommerce-MyAccount-content .woocommerce-PaymentBox .testmode-info:hover; a{
	text-decoration:1px solid #000;
}

.woocommerce-MyAccount-content .woocommerce-Button {
	width:auto;
	display:block;
	margin:0 0 0 auto;
	padding: 10px 20px;
	background-color: #000;
	color: #fff;
	border: 1px solid #000;
	text-decoration: none;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	margin-top: 12px;
}

.woocommerce-MyAccount-content .woocommerce-Button:hover {
	background-color: #ddd;
	color: #000;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.woocommerce-MyAccount-content .woocommerce-PaymentMethod {
		padding: 12px;
	}

	.woocommerce-MyAccount-content .woocommerce-Button {
		width: 100%;
		text-align: center;
	}
}

/* 右カラム: Account Details
===========================================*/
/* 入力欄の基本スタイル */
.woocommerce-EditAccountForm .woocommerce-Input,
.woocommerce-EditAccountForm .input-text {
	border: 1px solid #ccc;
	padding: 12px;
	box-sizing: border-box;
	width: 100%; /* 親要素に合わせて幅を100%に */
}
.woocommerce-EditAccountForm p{
	padding:0;
	border:none;
	background:none;
}
/* フォームの各行の配置 */
.woocommerce-EditAccountForm .form-row {
	margin-bottom: 20px;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
	display: inline-block;
	width: calc(50% - 10px);
	vertical-align: top;
}

.woocommerce-EditAccountForm .form-row-first {
	margin-right: 10px;
}

/* ラベルのスタイル */
.woocommerce-EditAccountForm label {
	display: block;
	margin-bottom: 5px;
}

/* フィールドセットのスタイル */
.woocommerce-EditAccountForm fieldset {
	border: 1px solid #ccc;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 0;
}

.woocommerce-EditAccountForm legend {
	padding: 0 10px;
	font-size: 16px;
	font-weight: bold;
}

span#account_display_name_description{
	padding-top:3px;
	display:block;
}
/* レスポンシブ対応 (タブレット以下) */
@media (max-width: 768px) {
	.woocommerce-EditAccountForm .form-row-first,
	.woocommerce-EditAccountForm .form-row-last,
	.woocommerce-EditAccountForm .form-row-wide {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* 右カラム: Delete Account Form
===========================================*/
/* 削除フォームコンテナ */
.wpfda-delete-account-container {
}

/* 警告メッセージ */
.wpfda-delete-account-container form > *:first-child {
  display: block;
  font-size: 14px;
  padding:10px;
  margin-bottom: 20px;
  border-left:4px solid #f00;
  background:#f9f9f9;
}

/* パスワード確認フィールド */
.wpfda-password-confirm {
  margin-bottom: 20px;
}

.wpfda-password-confirm label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

.wpfda-password-confirm input[type="password"] {
  width: 100%;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 0;
  box-sizing: border-box;
}

/* エラーメッセージ表示領域 */
.wpfda-error {
  margin-bottom: 20px;
}

.wpfda-error span {
  font-size: 13px;
  color: red;
}

/* 確認ボタン */
.wpfda-submit button[type="submit"] {
	width:auto;
	display:block;
	margin:0 0 0 auto;
	padding: 10px 20px;
	background-color: #000;
	color: #fff;
	border: 1px solid #000;
	text-decoration: none;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	margin-top: 12px;
}

.wpfda-submit button[type="submit"]:hover {
	background-color: #ddd;
	color: #000;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .wpfda-submit button[type="submit"] {
    width: 100%;
    text-align: center;
  }
}

/* logout後
===========================================*/
.woocommerce h2{
	width:100%;
	height:auto;
	padding:10px;
	margin:0 auto;
	font-size:18px;
	font-weight:bold;
	text-align:center;
	display:block;
}
/* ログインフォーム全体 */
.woocommerce-form-login {
	min-width:340px;
  margin:0 auto;
  padding: 20px;
  border: 1px solid #eee;
  background-color: #fff;
  box-sizing: border-box;
}

/* 各フォーム行 */
.woocommerce-form-login .form-row,
.woocommerce-form-login .woocommerce-form-row {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
}

/* ラベル */
.woocommerce-form-login label {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

/* 入力フィールド */
.woocommerce-form-login input.input-text {
  width: 100%;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 0;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.woocommerce-form-login input.input-text:focus {
  border-color: #000;
  outline: none;
}

/* パスワード表示ボタン */
.woocommerce-form-login .show-password-input {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: 8px;
}

/* Remember me チェックボックス */
.woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #333;
}

/* ログインボタン */
.woocommerce-form-login__submit {
  padding: 12px 24px;
  background-color: #000;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border: 1px solid #000;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.woocommerce-form-login__submit:hover {
  background-color: #333;
  border-color: #333;
}

/* パスワード紛失リンク */
.woocommerce-LostPassword {
  margin-top: 10px;
  font-size: 13px;
}

.woocommerce-LostPassword a {
  text-decoration: underline 1px solid #aaa ;
}

.woocommerce-LostPassword a:hover {
  text-decoration: underline 1px solid#000 ;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .woocommerce-form-login__submit {
    width: 100%;
    text-align: center;
  }
}
