@charset "UTF-8";

/* ============================================================
   特別仕様 STARRY
   ============================================================ */

/* ---------- 共通フォーム部品 ---------- */
input,
textarea {
    padding: 5px;
}

button {
    margin: 2em 0;
    height: 40px;
    line-height: 40px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    color: var(--color_b);
    padding: 0 10px;
    background-color: var(--color_w);
    cursor: pointer;
    border-radius: 3px;
}

button:hover {
    background-color: var(--color_main1);
    color: var(--color_w) !important;
    transition: 0.5s;
}

/* ---------- テーブル共通 ---------- */
table,
td,
th {
    border-collapse: collapse;
    border: 1px solid rgba(0, 0, 0, 0.5);
}

table td {
    border-color: rgba(255, 255, 255, 0.5) !important;
    vertical-align: middle;
}

/* 奇数行（黒バック用の交互色） */
tr.stry-tableodd td {
    background-color: rgba(0, 0, 0, 0.3) !important;
}

/* ---------- 12ヶ月コースボタン ---------- */
.stry-course-select-table button {
    height: 40px;
    line-height: 40px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    border-radius: 3px;
}

#div_entry04 table:not(.has-border-color) :where(th, td) {
    border: unset;
}


/* ============================================================
   カード情報入力（#div_entry09）
   ============================================================ */
#div_entry09 input,
#div_entry09 select {
    margin: 10px auto;
    padding: 5px;
}

#div_entry09 select {
    width: 100px;
}

div#div_entry09 select option {
    color: #000;
}


/* ============================================================
   購入画面（#div_item_ec04）
   ============================================================ */
#div_item_ec04 option {
    height: 40px;
}

#div_item_ec04 input,
#div_item_ec04 select {
    height: 40px !important;
    line-height: 40px;
    margin-bottom: 15px;
    padding: 2px;
}

#div_item_ec04 input,
#div_item_ec04 option,
#div_item_ec04 select {
    color: #000;
}

#div_item_ec04 input[type="checkbox"],
#div_item_ec04 input[type="checkbox"]:checked:before {
    height: 25px !important;
}

#div_item_ec04 h5 {
    color: #fff;
}

button#backbtn,
button#btn {
    color: #000;
}


/* ============================================================
   決済・カート表（#div_item_ec05 / #div_support02）
   ============================================================ */
#div_item_ec05 table {
    margin: 10px 0 20px;
    border-collapse: collapse;
}

#div_support02 th,
#div_support02 td,
#div_item_ec05 th,
#div_item_ec05 td {
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px !important;
}

div#div_item_ec05 form table {
    border: solid 1px #fff;
    width: 100%;
    margin-bottom: 4em;
}

div#div_item_ec05 form table td {
    border: solid 1px #fff;
    padding: 5px;
}

.stry-ec03-table-itemdelete input {
    filter: brightness(0) invert(1);
}

.stry-paymethodinfobox img {
    max-width: 100%;
}

/* カート導線 */
.stry-ec02-breadcrumbs,
.stry-ec02-breadcrumbs.stry-alignleft {
    display: none;
}


/* ============================================================
   Sign Up Now!!（エントリーページ）
   ============================================================ */
.stry-entry01-signuptitle {
    font-family: "Anton", sans-serif !important;
}

#entry_area {
    border-radius: 5px;
}

.stry-midwrapper {
    border: none !important;
}

#join_text,
#join_text h3,
#join_text h4 {
    color: #fff !important;
}

#join_text {
    padding: 30px !important;
    border: none;
}

.stry-entry01-mailaddress,
.stry-entry01-password,
.stry-entry01-agree,
.stry-entry01-agreement {
    color: #fff;
}

.stry-entry01-agreement {
    background-color: transparent;
}

.stry-entry01-agreement a {
    color: #aaa;
}

.stry-entry01-alert {
    margin: 20px -15px 20px -15px !important;
}

pre.entry_rule {
    padding: 20px !important;
}

.entry_rule {
    background-color: #000 !important;
}

pre.entry_rule {
    white-space: pre-wrap;
}


/* ============================================================
   問い合わせ（#div_support01）
   ============================================================ */
#div_support01 {
    padding: 0;
}

td.stry-support01-column01 {
    vertical-align: middle;
}

#btn2 {
    text-align: center;
    margin: 2em auto;
    max-width: 350px;
    width: 100px;
    font-size: 18px;
    color: var(--color_b);
    border: 1px solid rgba(0, 0, 0, 0.5);
    border-radius: 3px;
    cursor: pointer;
}

#div_support01 #btn2 {
    max-width: 150px;
}

#btn2:hover {
    transition: 0.5s;
    color: var(--color_w);
}


/* ============================================================
   マイページ（#div_member01）
   ============================================================ */
#div_member01 .stry-midwrapper a {
    text-decoration-line: underline;
}

hr.stry-member01-hr01,
hr.stry-member01-hr02,
hr.stry-member01-hr03 {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.stry-support01-table,
table.stry-member01-memberinfo-table,
table.stry-member01-courseinfo-table,
table.stry-member01-maintable,
table.stry-update01-courseinfo-table {
    width: 100%;
}

table.stry-member01-memberinfo-table .stry-member01-column01,
table.stry-member01-courseinfo-table .stry-member01-column01,
table.stry-update01-courseinfo-table .stry-update01-column01 {
    background-color: transparent !important;
}

table.stry-support01-table tr,
table.stry-support01-table td {
    background-color: transparent;
}


/* ============================================================
   黒バック対応（共通）
   ============================================================ */
#payment_text,
.stry-errorbox,
.stry-loginbox,
.stry-entry01-contents,
.stry-entry01-signupbox,
table tr:nth-of-type(2n+1),
.stry-ec02-item-block02,
td.stry-ec03-table-unitprice,
td.stry-ec03-table-ammount,
td.stry-ec03-table-subtotal,
.stry-member01-memberinfo-table .stry-member01-column01,
.stry-member01-courseinfo-table .stry-member01-column01,
.stry-member01-pointinfo-table .stry-member01-column01 {
    background-color: transparent !important;
}

button.stry-login01-button,
button.stry-logout01-button,
button.stry-member01-button00,
button.stry-member01-button01,
button.stry-member01-button02,
button.stry-member01-button03,
button.stry-member01-button04,
button.stry-member01-button05,
button.stry-update01-button00,
button.stry-update01-button01,
button.stry-error01-button,
.stry-support01-button,
button.stry-ec03-recalc,
button.stry-ec04-back-button,
button.stry-ec04-payment-button {
    color: #000 !important;
}

#payment_text {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.page-f button:hover {
    color: var(--color_w) !important;
    border: 1px solid var(--color_w);
}


/* ============================================================
   カテゴリページ補正
   ============================================================ */
.stry-ec01-category-thumbnail a img {
    max-width: 100px !important;
}

.stry-ec01-item-descriptions,
.stry-ec01-category-name a {
    color: #000;
}