/* ログインページ用CSS - 09-contact.cssをベースに作成 */

/* Google Fonts Import - Minion Pro風の高品質セリフフォント */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');

/* ベース背景色とテキスト色 - 統一されたダークテーマ */
body,
body.view_pc {
	background-color: #040c17 !important;
  	color: #ffffff !important;
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
}

/* ベースコンテナ - 白背景を除去 */
.base01,
.base02 {
    background: transparent !important;
}

/* ページコンテナ */
.p-page__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    background: transparent !important;
}

/* ページボディ - 左右の余白を削除 */
.p-page__body {
    background: transparent !important;
    padding: 0 !important;
    position: relative;
}

.base02.p-page__container.p-page__body {
    padding: 0 !important;
    max-width: 100%;
}

.p-page__body-inner {
    background: transparent !important;
    color: #ffffff !important;
    border-radius: 0;
    padding: 0px;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    border-top: 0px solid #f6f6f6 !important;
    border-bottom: 2px solid #f6f6f6 !important;
}

/* ショップヘッダー */
.p-shop__header {
    background: linear-gradient(180deg, rgba(26, 26, 26, 0.95) 0%, rgba(15, 15, 15, 0.8) 100%) !important;
    padding: 0 !important;
    border-bottom: 0px solid rgba(255, 215, 0, 0.2);
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
}

.p-shop__header--title {
    text-align: center;
    padding: 30px 0 0px !important;
    margin: 0 !important;
}

.p-shop__header a {
    text-decoration: none;
    display: block !important;
    width: 100% !important;
}

/* ショップタイトル - SVGロゴ使用 */
.p-shop__title,
.shop_title.p-shop__title {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px;
    padding: 10px 40px;
    background: #ffffff;
    border-radius: 12px;
    box-sizing: border-box;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
    margin: 0 !important;
}

/* SVGロゴをdata URIとして埋め込み */
.p-shop__title::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
    height: 28px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 321.9 28.1"><path fill="%23000000" d="M24.2,4c-2.5.3-3.3.8-4.7,3.2-1.5,2.5-2.8,4.8-4.7,8.5-.4.7-.5,1.2-.5,2.1v4.8c0,3.3.3,3.5,3.6,3.8v1.3H6.2v-1.3c3.2-.4,3.5-.5,3.5-3.8v-4.6c0-.8-.2-1.2-.5-1.9-1.2-2.4-2.6-4.9-4.8-8.8-1.5-2.5-2-3-4.3-3.3v-1.3h10.6v1.3c-2.6.4-2.5.9-1.9,2.2,1.4,2.7,3.1,5.9,4.6,8.7,1.2-2.3,3.2-6.2,4.3-8.4.8-1.7.5-2.1-2.3-2.5v-1.3h8.9v1.3Z"/><path fill="%23000000" d="M30.3,10.2c5.2,0,8.7,3.9,8.7,8.7s-4.5,9.3-8.8,9.3-8.9-4.3-8.9-8.8,4.9-9.2,9-9.2ZM29.9,11.6c-1.9,0-3.7,1.9-3.7,6.6s1.8,8.4,4.5,8.4,3.5-1.3,3.5-6.8-1.5-8.2-4.3-8.2Z"/><path fill="%23000000" d="M60.3,27.7c-2.7,0-5.2,0-6.4,0-.2-.2-5.3-7.4-5.5-7.7-.4-.5-.6-.7-.9-.7-.1,0-.3,0-.5,0v4.2c0,2.5.2,2.6,2.4,2.9v1.2h-9.1v-1.2c2.2-.3,2.4-.4,2.4-2.9V5.7c0-2.2-.2-2.4-2.4-2.8v-1.1c2.3-.2,4.7-.7,6.7-1.3v17.8c1-.2,1.7-.8,2.3-1.4.9-.9,2.4-2.6,2.9-3.5.6-.9,0-1.3-1.5-1.5v-1.2l8.1-.3v1.2c-2.5.4-3.6.8-5,2.4-.7.7-1.8,2-2.8,3.2.9,1.4,4.6,6.1,5.8,7.4,1.4,1.6,1.9,1.8,3.5,2v1.2Z"/><path fill="%23000000" d="M69,10.2c5.2,0,8.7,3.9,8.7,8.7s-4.5,9.3-8.8,9.3-8.9-4.3-8.9-8.8,4.9-9.2,9-9.2ZM68.5,11.6c-1.9,0-3.7,1.9-3.7,6.6s1.8,8.4,4.5,8.4,3.5-1.3,3.5-6.8-1.5-8.2-4.3-8.2Z"/><path fill="%23000000" d="M90,27.7v-1.2c1.9-.3,2.1-.5,2.1-2.7v-6.6c0-3-1.2-4.3-3.1-4.2-1.1,0-2.3.4-3.3,1.4v9.4c0,2.2.2,2.5,2.2,2.7v1.2h-8.9v-1.2c2-.2,2.4-.4,2.4-2.8V5.5c0-1.9-.2-2.3-2.5-2.6v-1.2c2.5-.2,5.1-.8,6.8-1.3v12.3c1.4-1.3,3.3-2.6,5.3-2.6,3.3,0,5.3,2.1,5.3,6.5v6.9c0,2.5.3,2.6,2.3,2.8v1.2h-8.6Z"/><path fill="%23000000" d="M112.9,28.1c-.9,0-1.7-.3-2.2-.8-.5-.5-.8-1-1-1.5-1.5,1-3.4,2.3-4.3,2.3-3.1,0-5-2.5-5-4.9s1-3,3-3.8c2.3-.8,5.3-1.8,6.2-2.5v-1.4c0-2.3-1-3.5-2.7-3.5s-1.3.3-1.6.8c-.4.6-.6,1.4-1,2.5-.2.9-.8,1.2-1.5,1.2s-2.1-.9-2.1-1.9.5-1.1,1.3-1.7c1.5-1,3.8-2.3,5.9-2.7,1.4,0,2.7.3,3.7,1.1,1.5,1.2,2.1,2.7,2.1,4.6v6.9c0,1.8.6,2.3,1.3,2.3s.8-.1,1.3-.3l.4,1.2-3.8,2.1ZM109.6,18.4c-.7.4-1.8.9-2.7,1.3-1.3.6-2,1.3-2,2.7,0,2.1,1.5,2.9,2.5,2.9s1.5-.2,2.2-.9v-6.1Z"/><path fill="%23000000" d="M139.7,27.7v-1.2c1.8-.2,2.1-.4,2.1-2.9v-6.6c0-3-1.3-4-2.9-4s-2.1.4-3.3,1.5c0,.5,0,1,0,1.6v7.7c0,2.2.2,2.4,2.1,2.7v1.2h-8.5v-1.2c1.9-.2,2.2-.4,2.2-2.7v-6.9c0-2.8-1-3.9-2.8-3.9s-2.3.6-3.4,1.5v9.3c0,2.3.2,2.5,1.9,2.7v1.2h-8.6v-1.2c2.3-.3,2.4-.4,2.4-2.8v-8.1c0-2.3,0-2.5-2-2.9v-1.1c2-.2,4.1-.8,6.3-1.5v3c.8-.6,1.6-1.1,2.5-1.7,1.1-.7,2-1.1,3.2-1.1,2,0,3.5,1.2,4.3,3,1-.7,1.8-1.3,2.8-2,.8-.5,1.9-1,3.1-1,3.2,0,5,2.2,5,6.1v7.5c0,2.3.2,2.4,2.2,2.7v1.2h-8.5Z"/><path fill="%23000000" d="M162.5,28.1c-.9,0-1.7-.3-2.2-.8-.5-.5-.8-1-1-1.5-1.5,1-3.4,2.3-4.3,2.3-3.1,0-5-2.5-5-4.9s1-3,3-3.8c2.3-.8,5.3-1.8,6.2-2.5v-1.4c0-2.3-1-3.5-2.7-3.5s-1.3.3-1.6.8c-.4.6-.6,1.4-1,2.5-.2.9-.8,1.2-1.5,1.2s-2.1-.9-2.1-1.9.5-1.1,1.3-1.7c1.5-1,3.8-2.3,5.9-2.7,1.4,0,2.7.3,3.7,1.1,1.5,1.2,2.1,2.7,2.1,4.6v6.9c0,1.8.6,2.3,1.3,2.3s.8-.1,1.3-.3l.4,1.2-3.8,2.1ZM159.2,18.4c-.7.4-1.8.9-2.7,1.3-1.3.6-2,1.3-2,2.7,0,2.1,1.5,2.9,2.5,2.9s1.5-.2,2.2-.9v-6.1Z"/><path fill="%23000000" d="M190.1,14.1c3.7.6,6.7,2.4,6.7,6.1s-1.5,4.7-3.7,5.9c-2,1.1-4,1.5-6.7,1.5h-9.5v-1.1c3.3-.3,3.5-.7,3.5-3.7V7.5c0-3.2-.3-3.5-3.5-3.7v-1.1h10.1c2.9,0,4.7.5,5.9,1.3,1.3.9,2.3,2.3,2.3,4.3,0,3.6-3,5.3-5.1,5.8ZM185.7,13.7c4.2,0,6-1.7,6-4.8s-1.7-4.8-5.3-4.8-1.8.1-2.2.4c-.3.2-.4.7-.4,1.9v7.3h2ZM183.7,22.8c0,2.8.7,3.5,3.4,3.5s5.9-1.6,5.9-5.7-2.8-5.6-7.5-5.6h-1.8v7.8Z"/><path fill="%23000000" d="M217.6,26.8c-1.8.3-3.9.8-5.9,1.3v-3c-2.1,1.7-3.8,3-5.9,3s-4.8-1.6-4.8-5.8v-7.5c0-2.1-.3-2.3-1.3-2.5l-1.1-.2v-1c1.7,0,4.2-.5,5.5-.7-.1,1.2-.1,3.1-.1,5.6v5.2c0,3.4,1.8,4.3,3.5,4.3s2.8-.6,4.2-1.8v-9c0-2.1-.5-2.3-1.8-2.5l-1.2-.2v-1c2.5-.1,5.2-.5,6-.7v12.9c0,1.9.3,2.2,1.8,2.3h1.1v1.1Z"/><path fill="%23000000" d="M219.5,27.7v-1.1c2.5-.2,2.8-.4,2.8-3V5.2c0-2.3-.2-2.6-2.7-2.9v-1C221.6,1.1,224,.5,225.3,0v23.6c0,2.5.2,2.7,2.7,3v1.1h-8.5Z"/><path fill="%23000000" d="M229.9,27.7v-1.1c2.5-.2,2.8-.4,2.8-3V5.2c0-2.3-.2-2.6-2.7-2.9v-1C232.1,1.1,234.5.5,235.7,0v23.6c0,2.5.2,2.7,2.7,3v1.1h-8.5Z"/><path fill="%23000000" d="M240.6,27.7v-1.1c2.4-.2,2.7-.4,2.7-3v-7.9c0-2.4-.1-2.5-2.4-2.9v-.9c2-.3,3.8-.8,5.5-1.5v13.3c0,2.6.3,2.8,2.8,3v1.1h-8.5ZM244.6,6.5c-1.1,0-2-1-2-2s1-2.1,2.1-2.1,2,.9,2,2.1-.9,2-2,2Z"/><path fill="%23000000" d="M258.9,10.3c4.8,0,8.4,3.7,8.4,8.6s-4.6,9.2-8.4,9.2-8.5-4.3-8.5-8.6c0-6.3,4.9-9.2,8.5-9.2ZM258.4,11.6c-2.3,0-4.5,2.3-4.5,6.7s2.2,8.4,5.3,8.4,4.4-1.7,4.4-7-1.8-8.2-5.2-8.2Z"/><path fill="%23000000" d="M280.2,27.7v-1.1c2.2-.2,2.5-.5,2.5-3.1v-6.3c0-2.7-1-4.5-3.5-4.5s-3.1.9-4.3,2v9c0,2.7.2,2.7,2.5,3v1.1h-8.3v-1.1c2.5-.3,2.8-.4,2.8-3v-7.9c0-2.5-.3-2.6-2.3-3v-1c1.9-.3,3.8-.8,5.4-1.5v3c.8-.5,1.6-1.1,2.6-1.8,1.1-.7,2.1-1.2,3.2-1.2,3.1,0,5,2.3,5,6v7.3c0,2.6.2,2.7,2.5,3v1.1h-8Z"/><path fill="%23000000" d="M311.7,27.7v-1.1c2.4-.3,2.6-.7,1.9-1.9-.9-1.5-2.6-4.4-5-8.2-1.8,2.8-3.5,5.5-4.8,7.7-.9,1.6-.6,2,2,2.3v1.1h-9v-1.1c2.3-.2,3.4-.8,4.5-2.2,1.4-1.8,3-4.1,6.3-9.2-2-3.2-3.7-6-5-8-1.7-2.6-2.2-3.1-5-3.4v-1.1h9.6v1.1c-2.4.2-2.5.7-1.8,1.7,1.2,2.2,2.7,4.4,4.3,7,1.5-2.3,2.9-4.5,3.9-6.3.9-1.7.7-2.1-1.9-2.4v-1.1h8.8v1.1c-2.9.4-3.6.7-5.2,3-1.3,1.8-2,2.9-4.7,6.9,2.1,3.3,4,6.5,5.8,9.3,1.8,2.9,2.6,3.3,5.4,3.6v1.1h-10.2Z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ページタイトル */
.p-page__title {
    font-size: 28px;
    font-weight: 200;
    color: #ffffff;
    margin: 40px 0 30px;
    padding-bottom: 0px;
    border-bottom: 0px solid rgba(212, 175, 55, 0.3);
    text-align: center;
    position: relative;
}

/* ログインページの説明文 */
.p-page__body-inner > p {
    color: #ffffff !important;
    text-align: center;
    margin: 20px 0;
    font-size: 16px;
    font-weight: 500;
}

/* アラートメッセージ */
.c-alert {
    background: #040c17 !important;
    border: 1px solid rgba(212, 175, 55, 0.2) !important;
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    line-height: 1.6;
}

/* フォームテーブル */
.c-form__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 30px 0;
    background: rgba(#040c17, 0.6);
    border: 1px solid rgba(255, 215, 0, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.c-form__table tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.c-form__table tr:last-child {
    border-bottom: none;
}

/* フォームタイトル（左側のラベル） */
.c-form__title {
    background: rgba(212, 175, 55, 0.05);
    padding: 10px 15px;
    width: 35%;
    vertical-align: top;
    font-weight: 500;
    color: #ffffff;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.c-form__title label {
    color: #ffffff;
    font-size: 14px;
}

/* フォームコンテンツ（右側の入力エリア） */
.c-form__content {
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.01);
}

/* 入力フィールド */
.c-input--text,
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
    width: 100%;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 6px;
    color: #ffffff !important;
    font-size: 14px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.c-input--text:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none;
    border-color: #FFD700 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.15) !important;
}

.c-input--text::placeholder,
input::placeholder,
textarea::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* パスワードリセットリンク */
.c-form__note {
    margin-top: 10px;
}

.c-form__note a {
    color: #FFD700 !important;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.3s ease;
}

.c-form__note a:hover {
    color: #FFF8DC !important;
    text-decoration: underline;
}

/* ボタングループ */
.c-button__group {
    text-align: center;
    margin: 40px 0;
}

/* ボタン共通スタイル - 01-common.cssのスタイルに統一 */
.c-button {
    display: inline-block;
    padding: 10px 20px;
    background: rgba(200, 134, 13, 0.8) !important;
    color: #ffffff !important;
    text-decoration: none;
    border: 1px solid #c8860d !important;
    border-radius: 6px;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    letter-spacing: 0.04em;
}

.c-button:hover:not(:disabled) {
    background: #c8860d !important;
    color: white !important;
    border-color: #c8860d !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(200, 134, 13, 0.3) !important;
}

/* プライマリボタン（ログインボタン） */
.c-button--login,
.c-button--primary {
    background: #28a745 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 200;
    min-width: 200px;
}

.c-button--login:hover:not(:disabled),
.c-button--primary:hover:not(:disabled) {
    background: #239a3b !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3) !important;
}

.c-button--primary:disabled {
    background: #6c757d !important;
    color: #ffffff !important;
    cursor: not-allowed;
    opacity: 0.7;
    border: none !important;
}

/* ボタンサイズ */
.c-button--lg {
    padding: 16px 40px;
    font-size: 16px;
}

.c-button--sm {
    padding: 8px 20px;
    font-size: 12px;
}

/* ショップへ戻るボタン - タイトルと同じ高さに配置 */
.c-button__group--sub {
    position: absolute !important;
    top: 1px !important;
    left: 0px !important;
    margin: 0 !important;
    text-align: left !important;
    z-index: 10;
}

.c-button__group--sub .c-button {
    background: transparent !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    line-height: 1.5;
    font-weight: 500;
}

.c-button__group--sub .c-button:hover {
    background: rgba(200, 134, 13, 0.8) !important;
    color: #ffffff !important;
    border-color: #c8860d !important;
    transform: none;
}

/* フッター */
.p-page__footer {
    background: #040c17;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    margin-top: 60px;
    padding: 40px 0;
}

.p-page__copyright {
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    padding: 20px 0;
}

.p-secure__image {
    display: inline-block;
    margin: 20px 0;
}

.p-secure__msg {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    line-height: 1.5;
    max-width: 200px;
    margin: 0 auto;
    text-align: center;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .p-shop__title {
        font-size: 24px;
    }
    
    .p-page__title {
        font-size: 22px;
    }
    
    .c-form__table {
        border-radius: 8px;
    }
    
    .c-form__title {
        width: 100%;
        display: block;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding: 15px;
    }
    
    .c-form__content {
        display: block;
        padding: 15px;
    }
    
    .c-button--primary,
    .c-button--login {
        width: 100%;
        padding: 14px 30px;
    }
    
    /* スマホでもPCと同じ配置を維持 */
    .c-button__group--sub {
        position: absolute !important;
        top: 1px !important;
        left: 0px !important;
        margin: 0 !important;
        text-align: left !important;
        z-index: 10;
    }
    
    .c-button__group--sub .c-button {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
}