/**
 * Base Reset
 * EC-CUBEレイアウトリセット + 基本リセット
 */

/* ===== Box Sizing Reset ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ===== Document Reset ===== */
html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ===== EC-CUBE Layout Reset ===== */
.ec-layoutRole {
  margin: 0 !important;
  padding: 0 !important;
}

.ec-layoutRole__contents {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ec-layoutRole__main {
  margin: 0 !important;
  padding: 0 !important;
}

.ec-layoutRole__mainWithColumn {
  margin: 0 !important;
  padding: 0 !important;
}

.ec-layoutRole__mainBottom {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== Typography Reset ===== */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: 600;
}

p {
  margin: 0;
}

/* ===== List Reset ===== */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ===== Link Reset ===== */
a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* ===== Button Reset ===== */
button {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

button:focus {
  outline: none;
}

/* ===== Form Reset ===== */
input,
textarea,
select {
  margin: 0;
  font: inherit;
  color: inherit;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

/* ===== Image Reset ===== */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== Table Reset ===== */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ===== Fieldset Reset ===== */
fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

/* ===== Summary Reset ===== */
summary {
  cursor: pointer;
}

/* ===== Address Reset ===== */
address {
  font-style: normal;
}
