﻿/* STREAMING_CHUNK:Configuring charset and normalize defaults... /
@charset "UTF-8";
/! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
footer,
header,
nav,
section {
display: block;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
figcaption,
figure,
main {
display: block;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
pre {
font-family: monospace, monospace;
font-size: 1em;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
outline-width: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
b,
strong {
font-weight: inherit;
font-weight: bolder;
}
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
dfn {
font-style: italic;
}
mark {
background-color: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
audio,
video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
img {
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
progress {
display: inline-block;
vertical-align: baseline;
}
textarea {
overflow: auto;
}
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
details,
menu {
display: block;
}
summary {
display: list-item;
}
canvas {
display: inline-block;
}
template {
display: none;
}
[hidden] {
display: none;
}

/* STREAMING_CHUNK:Setting up Bootstrap 5 variables and dark mode rules... */
:root,
[data-bs-theme=light] {
--bs-blue: #0ea5e9;
--bs-indigo: #6366f1;
--bs-purple: #8b5cf6;
--bs-pink: #ec4899;
--bs-red: #ef4444;
--bs-orange: #f97316;
--bs-yellow: #eab308;
--bs-green: #10b981;
--bs-teal: #14b8a6;
--bs-cyan: #06b6d4;
--bs-black: #020617;
--bs-white: #ffffff;
--bs-gray: #64748b;
--bs-gray-dark: #0f172a;
--bs-gray-100: #f8fafc;
--bs-gray-200: #e2e8f0;
--bs-gray-300: #cbd5e1;
--bs-gray-400: #94a3b8;
--bs-gray-500: #64748b;
--bs-gray-600: #475569;
--bs-gray-700: #334155;
--bs-gray-800: #1e293b;
--bs-gray-900: #0f172a;
--bs-primary: #06b6d4;
--bs-secondary: #64748b;
--bs-success: #10b981;
--bs-info: #38bdf8;
--bs-warning: #f59e0b;
--bs-danger: #ef4444;
--bs-light: #0f172a;
--bs-dark: #020617;
--bs-font-sans-serif: 'Inter', "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 0.875rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #f1f5f9;
--bs-body-bg: #0f172a;
--bs-border-color: #1e293b;
--bs-border-color-translucent: rgba(255, 255, 255, 0.1);
--bs-border-radius: 0.5rem;
}

*,
*::before,
*::after {
box-sizing: border-box;
}

body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
}

a {
color: #38bdf8;
text-decoration: none;
}
a:hover {
color: #7dd3fc;
text-decoration: underline;
}

/* STREAMING_CHUNK:Overriding EC-CUBE core layout structures for full-width dark theme... /
/ EC-CUBE4 レイアウト構文の上書き（左右白枠の完全排除とダーク化） */
.ec-layoutRole,
.ec-layoutRole__contents,
.ec-layoutRole__main,
.ec-layoutRole__mainWithColumn,
.ec-layoutRole__mainBetweenColumn {
background-color: #0f172a !important;
color: #f8fafc !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

.ec-layoutRole__contents {
padding-top: 0 !important;
padding-bottom: 0 !important;
}

/* STREAMING_CHUNK:Styling custom ionwave header and navigation blocks... /
/ ヘッダー全体領域 */
.ec-headerRole,
.ec-headerNaviRole {
background-color: #020617 !important;
border-bottom: 1px solid #1e293b !important;
color: #f1f5f9 !important;
max-width: 100% !important;
padding-left: 1rem !important;
padding-right: 1rem !important;
}

.ec-headerRole a,
.ec-headerNaviRole a {
color: #cbd5e1 !important;
}
.ec-headerRole a:hover,
.ec-headerNaviRole a:hover {
color: #38bdf8 !important;
}

/* カートバッジ */
.ec-headerRole__cart .ec-cartNavi__badge,
.ec-headerNaviRole__cart .ec-cartNavi__badge {
background-color: #10b981 !important;
color: #020617 !important;
font-weight: bold !important;
}

/* STREAMING_CHUNK:Styling EC-CUBE header search block... /
/ 検索フォーム統合スタイル（ヘッダー内での文字・選択ボックス位置ずれ防止） */
.ec-headerNaviRole__search form,
.ec-headerSearch {
display: flex !important;
align-items: center !important;
gap: 0.35rem !important;
width: 100% !important;
max-width: 320px !important;
}

.ec-headerNaviRole__search select,
.ec-headerSearch__category select {
background-color: #0f172a !important;
color: #f8fafc !important;
border: 1px solid #334155 !important;
border-radius: 0.375rem !important;
padding: 0.35rem 0.5rem !important;
font-size: 0.75rem !important;
max-width: 110px !important;
height: 38px !important;
}

.ec-headerNaviRole__search input[type="search"],
.ec-headerNaviRole__search input[type="text"],
.ec-headerSearch__keyword input {
background-color: #0f172a !important;
color: #f8fafc !important;
border: 1px solid #334155 !important;
border-radius: 0.375rem !important;
padding: 0.35rem 0.75rem !important;
font-size: 0.875rem !important;
width: 100% !important;
height: 38px !important;
}

.ec-headerNaviRole__search button,
.ec-headerSearch__btn button {
color: #38bdf8 !important;
background: transparent !important;
border: none !important;
height: 38px !important;
cursor: pointer !important;
}

/* STREAMING_CHUNK:Styling mobile drawer menu for dark theme... /
/ スマホドロワー（引き出しメニュー）スタイリング */
.ec-drawerRole__drawer {
background-color: #0f172a !important;
color: #f8fafc !important;
border-right: 1px solid #1e293b !important;
}

.ec-drawerRole__drawer a {
color: #e2e8f0 !important;
border-bottom-color: #1e293b !important;
}

@media (max-width: 767px) {
.ec-headerRole__navSP {
position: relative !important;
top: auto !important;
left: auto !important;
right: auto !important;
}
.ec-headerRole__navSP .ec-headerNavSPBtn {
position: relative !important;
top: auto !important;
left: auto !important;
margin: 0 !important;
}
}

/* STREAMING_CHUNK:Customizing form inputs, buttons, and tables... /
/ フォーム部品 & テーブルの標準上書き */
.form-control,
.form-select,
textarea {
background-color: #0f172a !important;
color: #f8fafc !important;
border-color: #334155 !important;
}

.form-control:focus,
.form-select:focus {
border-color: #06b6d4 !important;
box-shadow: 0 0 0 0.25rem rgba(6, 182, 212, 0.25) !important;
}

.table {
--bs-table-bg: #0f172a;
--bs-table-color: #f8fafc;
--bs-table-border-color: #1e293b;
color: #f8fafc !important;
}

/* ボタンカスタム */
.ec-blockBtn--action,
.btn-primary {
background-color: #06b6d4 !important;
border-color: #0891b2 !important;
color: #020617 !important;
font-weight: bold !important;
}

.ec-blockBtn--action:hover,
.btn-primary:hover {
background-color: #22d3ee !important;
border-color: #06b6d4 !important;
}

/* フッター補正 */
.ec-footerRole {
background-color: #020617 !important;
border-top: 1px solid #1e293b !important;
color: #94a3b8 !important;
padding: 2rem 0 !important;
}

.ec-footerRole a {
color: #cbd5e1 !important;
}
.ec-footerRole a:hover {
color: #38bdf8 !important;
}