* {
	padding: 0;
	margin: 0;
	list-style: none;
	text-decoration: none;
	font-weight: normal;
	box-sizing: border-box;
	font-size: 1em;
	color: #000;
	line-height: 1.625em;
}

html {
	font-size: min(18px, max(12px, calc(max(100vh, 100vw) / 120)));
	font-family: Inter var, ui-sans-serif, system-ui, sans-serif;
}

body {
	transition: opacity .25s linear;
}

.loading {
	opacity: 0;
}

section > aside {
  position: relative;
}

section > aside:before {
  background: #000;
  content: '';
  display: block;
  position: absolute;
  width: 1px;
  left: calc(50% - 1px);
  height: calc(100% - 4px);
}

section > aside:after {
  background: #000;
  border-radius: 4px;
  bottom: 0;
  content: '';
  display: block;
  height: 4px;
  position: absolute;
  width: 4px;
  z-index: 1;
  left: calc(50% - 2px);
}

i {
	width: 1em;
	height: 1em;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
}

i.icon-01 {
	background-image: url('../icon/01.svg');
}

i.icon-02 {
	background-image: url('../icon/02.svg');
}

i.icon-03 {
	background-image: url('../icon/03.svg');
}

i.icon-04 {
	background-image: url('../icon/04.svg');
}

i.icon-05 {
	background-image: url('../icon/05.svg');
}

i.icon-06 {
	background-image: url('../icon/06.svg');
}

i.icon-07 {
	background-image: url('../icon/07.svg');
}

.list-disc > li {
  list-style: none;	
	display: flex;
}

.list-disc li::before {
	content: '\2022';
  color: #000;
	font-size: 1.5em;
	margin-right: .5em;
}

h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
	display: none;
}
				
.gallery > ul {
  display: flex;
  overflow-x: scroll;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scroll-snap-type: x mandatory;
}

.gallery > ul::-webkit-scrollbar {
  display: none;
}

.gallery > ul li {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.indicators {
  padding: 1.25em 0;
  display: flex;
  justify-content: center;
}

.indicators li {
  width: .5em;
  height: .5em;
	margin: 0 .25em;
  border-radius: 1em;
  background-color: #fff;
  opacity: .5;
}

.indicators li.active {
  opacity: 1;
}