@charset "utf-8";
/* ─── カラー変数 ─────────────────────────────── */
:root {
    --wine:        #6B0F1A;
    --wine-dk:     #3A0609;
    --wine-mid:    #9B2535;
    --gold:        #C9A84C;
    --gold-lt:     #E8C96A;
    --gold-pale:   #F5E6C0;
    --cream:       #FAF6EE;
    --cream-dk:    #F0E8D8;
    --text:        #2A0A0E;
    --text-mid:    #5C1A22;

    /* グラデーション（各所で共通利用） */
    --grad-wine: linear-gradient(160deg,
    var(--wine-dk)  0%,
    var(--wine)    35%,
    var(--wine-mid) 65%,
    var(--wine-dk) 100%);
    --grad-gold: linear-gradient(90deg,
    transparent 0%, var(--gold) 30%,
    var(--gold-lt) 50%, var(--gold) 70%,
    transparent 100%);
}

/* ─── ベース ─────────────────────────────────── */
body {
    background: var(--cream);
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", "YuMincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

/* ─── HEADER ─────────────────────────────────── */
header {
    background: var(--grad-wine);
    border-bottom: 2px solid var(--gold);
    box-shadow: 0 3px 14px rgba(58,6,9,.55);
}

a { color: var(--wine) }

.com-text {
    color: var(--gold-lt) !important;
    text-shadow: 0 0 4px rgba(0,0,0,.6), 1px 1px 0 rgba(0,0,0,.4), -1px -1px 0 rgba(0,0,0,.4), 1px -1px 0 rgba(0,0,0,.4), -1px 1px 0 rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.5);
}

/* ─── COUNT BAND ─────────────────────────────── */
#notice {
    background: var(--grad-wine) !important;
    border-top:    1px solid var(--gold);
    border-bottom: 1px solid var(--gold);
    box-shadow: none !important;
}
#count a          { color: #fff; font-weight: 700; letter-spacing: .06em; }
#count strong     {
    display: inline-flex; align-items: center; justify-content: center;
    background: #fff; color: var(--wine);
    width: 32px; height: 32px; border-radius: 4px;
    border: 1px solid var(--gold);
    font-size: 1.25em; margin: 0 5px; font-weight: 900;
}

/* ─── BREADCRUMB ─────────────────────────────── */
.breadcrumb_wrapper {
    background: var(--cream-dk);
    border-bottom: 1px solid var(--gold);
}
.breadcrumb ul li a { color: var(--wine); }

/* ─── TOP NAV (nav_simple) ───────────────────── */
nav.nav_simple {
    background: #1a0608;
    border-top:    1px solid var(--gold);
    border-bottom: 2px solid var(--gold);
}

/* ─── AD スライダー枠 ────────────────────────── */
#ad {
    border-top:    2px solid var(--gold);
    border-bottom: 2px solid var(--gold);
    box-shadow: none;
}
/* slick ドット */
#ad .slick-dots li.slick-active button { background: var(--gold); }
#ad .slick-dots li button              { background: rgba(201,168,76,.35); }

/* ─── ARTICLE カード共通 ─────────────────────── */
article.shadow,
#search.shadow {
    border: 1px solid var(--gold);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(201,168,76,.2);
    overflow: hidden;
}
/* カード上部にゴールドライン */
article.shadow::before,
#search.shadow::before {
    content: '';
    display: block;
    height: 2px;
    background: var(--grad-gold);
}

/* ─── セクション見出し帯 (title areatop / page) ─ */
.title.areatop,
.title.page {
    /*background: var(--grad-wine);*/
    border-bottom: 2px solid var(--gold);
}
.title.areatop h2,
.title.areatop h1,
.title.page h1 {
    color: var(--gold-lt);
    text-shadow: 0 0 4px rgba(0,0,0,.6), 1px 1px 0 rgba(0,0,0,.4), -1px -1px 0 rgba(0,0,0,.4), 1px -1px 0 rgba(0,0,0,.4), -1px 1px 0 rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.5);
}

/* ─── スライダー アイテム dl ─────────────────── */
.slider .item dl {
    border-top: 2px solid var(--gold);
    background: #fff;
}
.slider .item dl dt { color: var(--wine); font-weight: 700; }
.slider .item dl dd { color: var(--text-mid); }
.slider .item dl dd span { color: var(--gold); }

/* ─── 検索フォーム ───────────────────────────── */
#search { background: var(--cream); }

#search h2 {
    color: var(--wine);
    border-bottom: 1px solid var(--gold);
    padding-bottom: 6px;
}

/* テキスト入力 */
.search_nm {
    border: 1.5px solid var(--gold) !important;
    border-right: none !important;
    border-radius: 6px 0 0 6px !important;
    background: #fff;
}
.search_nm:focus { outline: none; box-shadow: 0 0 0 2px rgba(107,15,26,.15); }

/* 虫眼鏡ボタン */
.name_search button[type="submit"] {
    background: var(--grad-wine);
    border: 1.5px solid var(--gold);
    border-radius: 0 6px 6px 0;
}

/* select プルダウン */
#search select {
    color: var(--gold-lt);
    border: 1.5px solid var(--gold) !important;
    border-radius: 6px;
    /*padding: 9px 10px;*/
    appearance: none;
    -webkit-appearance: none;
    /* 矢印を手前、グラデーションを奥に重ねる */
    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 d='M0 0h12L6 8z' fill='%23E8C96B'/%3E%3C/svg%3E"),
        var(--grad-wine) !important;
    background-repeat: no-repeat, no-repeat;
    background-position: right 10px center, 0 0;
    background-size: 12px 8px, cover;
}
#search select option { background: var(--wine-dk); }

/* radio / checkbox */
#search input[type="radio"],
#search input[type="checkbox"] { accent-color: var(--wine); }

/* 検索ボタン */
button.search#submit {
    display: block;
    width: calc(100% - 28px);
    margin: 12px 14px;
    background: var(--grad-wine);
    color: var(--gold-lt);
    border: 2px solid var(--gold);
    border-radius: 30px;
    padding: 14px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .1em;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(58,6,9,.35),
    inset 0 1px 0 rgba(201,168,76,.25);
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
    transition: box-shadow .2s, transform .15s;
}
button.search#submit:hover {
    box-shadow: 0 6px 20px rgba(58,6,9,.5);
    transform: translateY(-1px);
}

/* 条件クリアボタン */
button.reset#reset {
    display: block;
    width: calc(100% - 28px);
    margin: 0 14px 14px;
    background: transparent;
    color: var(--wine);
    border: 1.5px solid var(--gold);
    border-radius: 30px;
    padding: 9px;
    font-size: 13px;
    cursor: pointer;
    transition: background .15s;
}
button.reset#reset:hover { background: var(--gold-pale); }

/* HIT バッジ */
.hit_fixed {
    background: var(--wine);
    color: var(--gold-lt);
    border: 1px solid var(--gold);
    border-radius: 20px;
}
.hit_fixed em { color: var(--gold-lt); font-style: normal; font-weight: 700; }

/* ─── ニュースリスト ──────────────────────────── */
ul.list_a li { border-bottom: 1px solid var(--gold-pale); }
ul.list_a li:last-child { border-bottom: none; }
ul.list_a li a:hover { background: var(--gold-pale); }
ul.list_a li a p   { color: var(--gold); font-weight: 600; }
ul.list_a li a h3  { color: var(--text); }

/* ─── 電話エリア ──────────────────────────────── */
article.phone_mid,
article.phone_footer {
    background: var(--grad-wine);
    border: 1px solid var(--gold);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(201,168,76,.2);
}
article.phone_mid::before,
article.phone_footer::before { display: none; } /* カード上ラインは不要 */

article.phone_mid p.number a,
article.phone_footer p.number a { color: var(--gold-lt); text-shadow: 0 1px 3px rgba(0,0,0,.4); }
article.phone_mid p,
article.phone_footer p         { color: rgba(232,201,106,.8); }
article.phone_footer h4 a      { color: var(--gold-pale); }

.btn_call a {
    display: block;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-lt) 50%, var(--gold) 100%);
    color: var(--wine-dk) !important;
    border-radius: 30px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .04em;
    box-shadow: 0 4px 12px rgba(0,0,0,.22);
    transition: transform .15s, box-shadow .15s;
}
.btn_call a:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,.3);
}

/* ─── 初めての方 (acc) ───────────────────────── */
#acc {
    background: var(--cream);
}
#acc h4,
#acc .ui-accordion-header {
    background: var(--grad-wine) !important;
    color: var(--gold-lt) !important;
    border-bottom: 2px solid var(--gold) !important;
    border-radius: 0 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.4);
    cursor: pointer;
}
/* jQueryUIのデフォルト色リセット */
#acc .ui-state-default,
#acc .ui-widget-header { border: none !important; }

#snav3 ul.nav li { border-bottom: 1px solid var(--gold-pale); }
#snav3 ul.nav li:last-child { border-bottom: none; }
#snav3 ul.nav li a:hover { background: var(--gold-pale); }
#snav3 ul.nav li a dt { color: var(--wine); font-weight: 700; }
#snav3 ul.nav li a dd { color: var(--text-mid); }

/* ─── フッター textlink ───────────────────────── */
#textlink {
    background: #fff;
    border: 1px solid var(--gold);
    border-radius: 8px;
    overflow: hidden;
    margin: 12px 10px;
    box-shadow: 0 2px 10px rgba(201,168,76,.18);
}
#textlink li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--gold-pale);
}
#textlink li:last-child { border-bottom: none; }

/*#textlink li span {*/
/*    background: var(--wine);*/
/*    padding: 12px 14px;*/
/*    border-right: 1px solid var(--gold-pale);*/
/*    display: flex; align-items: center; justify-content: center;*/
/*}*/
/*#textlink li a {*/
/*    flex: 1;*/
/*    padding: 12px 14px;*/
/*    color: var(--text);*/
/*    font-weight: 600;*/
/*    display: flex; align-items: center; justify-content: space-between;*/
/*    text-decoration: none;*/
/*    transition: background .15s;*/
/*}*/
/*#textlink li a::after {*/
/*    content: '›';*/
/*    color: var(--gold);*/
/*    font-size: 20px;*/
/*    font-weight: 400;*/
/*}*/
/*#textlink li a:hover { background: var(--gold-pale); }*/

/* ─── フッター全体 ────────────────────────────── */
footer {
    background: linear-gradient(180deg, var(--wine-dk) 0%, #1a0305 100%);
    border-top: 2px solid var(--gold);
}
p.copyright {
    color: rgba(201,168,76,.45);
    border-top: 1px solid rgba(201,168,76,.15);
    font-size: 10px;
}

/* ─── ページトップボタン ──────────────────────── */
.btn_pagetop img {
    filter: drop-shadow(0 2px 4px rgba(201,168,76,.5));
}

/* ─── 年齢確認ポップアップ ───────────────────── */
.cont_verification {
    background: var(--grad-wine) !important;
}
.cont_verification .title { color: var(--gold-lt) !important; }
.cont_verification input[type="button"] {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-lt) 50%, var(--gold) 100%);
    color: var(--wine-dk);
    border: none;
    border-radius: 30px;
    font-weight: 700;
    padding: 12px 32px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

/* ─── ゴールドセパレーター（fieldset 間） ────── */
#search fieldset + fieldset,
#search_form fieldset + fieldset {
    margin-top: 4px;
    padding-top: 4px;
}
#search fieldset.kodawari select:first-child {
    width: 98%;
    margin-left: 1%;
}

.title em a { background:var(--wine);color:var(--gold-lt);border:1px solid var(--gold);border-radius:4px;padding:4px 10px;font-size:11px;text-decoration:none;white-space:nowrap; }

#count { background: var(--grad-wine), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%23C9A84C'/%3E%3C/svg%3E") !important }

/* スケジュール */
.time table th { background: var(--grad-wine) }

/* コンパニオン詳細 */
.btn_link { background: var(--grad-wine) }
#gallery .favorite ul li.add_fav { border: 1px solid var(--wine); color: var(--wine); }
.title_profile h1 { color: var(--wine) }
.btn_read { border: 1px solid var(--wine) }
.btn_read a  { color: var(--wine) }

/* システム料金 */
#price table th { background: var(--grad-wine) }

/* ─── #E82B88 → var(--wine) 上書き（styles.css / styles_sp.css 以外） ── */
/* areatop.css */
#message p { color: var(--wine); }
#himitsu .item dl dt { color: var(--wine); }
#member.shadow p a { color: var(--wine); }
/* navs.css */
nav #gnav li.mypage dt { color: var(--wine); }
/* slick.css */
.slick-dots li.slick-active button:before { color: var(--wine); }
/* system.css */
.course p.price em { color: var(--wine); }
.course .osusume { color: var(--wine); }
#option p.caption { color: var(--wine); }
/* search.css */
#tile .item dd.manin { color: var(--wine); }
#tile .item dl dt { color: var(--wine); }
#tile .item a dl dd span { color: var(--wine); }
#list .item .profile .images .manin { color: var(--wine); }
/* profile.css / companion_review.css */
#option ul li span { color: var(--wine); }
#latest_diary .excerpt .bodytext h3 { color: var(--wine); }
#sekirara dd { color: var(--wine); }
#koe dt { color: var(--wine); }
#koe dd.date { color: var(--wine); }
/* receipt.css */
#receipt dt span { color: var(--wine); }
/* credit.css */
#credit dt span { color: var(--wine); }
/* notice.css */
#notice dt span { color: var(--wine); }
/* sim.css */
#sim .select_course p.price em { color: var(--wine); }
#sim .select_option p.caption { color: var(--wine); }
/* styles.css */
.syasyo_cmt p strong { color: var(--wine); }

#notice .padding { color: #fff }

.star-prof {
    color: var(--gold-lt) !important;
    text-shadow: 0 0 4px rgba(0,0,0,.6), 1px 1px 0 rgba(0,0,0,.4), -1px -1px 0 rgba(0,0,0,.4), 1px -1px 0 rgba(0,0,0,.4), -1px 1px 0 rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.5);
}

#news ul li span {
    background: rgba(232,201,106,.8);
}
