/* =========================================
   event.fetistodon.com CSS - Cleaned Version
========================================= */
@charset "utf-8";

/* ## Base Reset & Common */
html, body, figure, h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, img, a, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: sans-serif;
  font-size: 20px;
  font-weight: normal;
  color: #47585c;
  line-height: 1.8em;
}
body {
  -webkit-text-size-adjust: 100%;
}

/* ## Global Header & Footer */
.globalHeader {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px #47585c solid;
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff url("/fechita/fechita_img/icon_main.png") no-repeat 10px 20px;
  background-size: 60px;
}
.globalHeader h1 {
  font-size: 25px;
  font-weight: bold;
  line-height: 30px;
  margin: 20px 0 20px 80px;
}
.globalHeader h1 a {
  font-size: 25px;
  font-weight: bold;
  line-height: 30px;
  text-decoration: none;
}
.globalHeader h1 .credit {
  font-size: 20px;
  font-weight: normal;
  display: inline-block;
}
.globalHeader p {
  margin: 20px 20px 20px 0;
}
.globalHeader a.globalNav {
  line-height: 62px;
  margin-left: 20px;
}
footer {
  text-align: center;
  margin: 0 60px 60px;
}

/* ## Page Navigation */
.pageNavigation {
  margin: 0 0 40px;
}
.pageNavigation ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, 250px);
  justify-content: left;
  grid-gap: 20px;
  list-style: none;
}
.pageNavigation li {
  border: 1px #47585c solid;
  text-align: center;
}
.pageNavigation li a {
  display: block;
  line-height: 60px;
  text-decoration: none;
}
.pageNavigation li a.current {
  color: #fff;
  background: #47585c;
}

/* ## Page Contents */
.pageContents {
  margin: 140px 60px 60px;
}
.howtoDoc h2 {
  margin-bottom: 20px;
  background: #eee;
  line-height: 60px;
  font-size: 30px;
  padding: 0 10px;
}

/* ## Event, Portal, Store Common Items */
/* ## Event List */
#eventList .noItem {
	margin: 80px 0;
}
#eventList .eventItems {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
  justify-content: center;
  grid-gap: 40px;
}
#eventList .eventItem {
	padding: 40px;
	border: 1px #47585c solid;
	text-align: left;
}
#eventList .eventItem h2 {
	margin-bottom: 20px;
  display: inline-block;
  font-size: 30px;
  font-weight: 100;
  text-align: justify;
  line-height: 1.3em;
}
#eventList .eventItem ul {
	margin: 0;
	padding: 0;
  list-style: none;
}
#eventList .eventItem .text li.desc {
  text-align: justify;
  word-break: break-all;
  margin: 40px 0 0;
}
#eventList .eventItem .text li.desc p {
	margin-bottom: 20px;
}
#eventList .eventItem .image {
	margin-bottom: 40px;
	display: flex;
}
#eventList .eventItem .image li {
	margin-right: 20px;
}
#eventList .eventItem .image li:last-child {
	margin-right: 0;
}
#eventList .eventItem .image li img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	vertical-align: bottom;
}
#eventList .eventItem .showDetail {
	display: block;
	background: #47585c;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 80px;
}
/* ### Pagenation */
#eventList .pagenation {
	margin: 40px 0 40px;
}
#eventList .pagenation ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.storeItem, #portal .eventItem {
  padding: 40px;
  border: 1px #47585c solid;
  text-align: left;
}
.storeItem h2, #portal .eventItem h2 {
  margin-bottom: 20px;
  display: inline-block;
  font-size: 30px;
  font-weight: 100;
  text-align: justify;
  line-height: 1.3em;
}
.storeItem ul, #portal .eventItem ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.text li.desc {
  text-align: justify;
  word-break: break-all;
  margin: 40px 0 0;
}
.text li.desc p {
  margin-bottom: 20px;
}
.image {
  margin-bottom: 40px;
  display: flex;
}
.image li {
  margin-right: 20px;
}
.image li:last-child {
  margin-right: 0;
}
.image li img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  vertical-align: bottom;
}
.storeItem .image li img {
  width: 100%;
  vertical-align: middle;
}
.showDetail {
  display: block;
  background: #47585c;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 80px;
}
.comments {
  display: block;
  background: #eeeeee;
  color: #000;
  text-align: left;
}
.comments li {
  line-height: 40px;
  margin: 20px;
}

/* ## Pagenation */
.pagenation {
  margin: 40px 0 40px;
}
.pagenation ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
}

/* ## Portal */
#portal .pageContents {
  margin: 160px 40px 40px;
}
#portal .item {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
#portal .item img {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#portal .text {
  margin-left: 15px;
}
#portal .title {
  font-size: 25px;
  font-weight: bold;
  line-height: 30px;
}
#portal .credit {
  font-size: 20px;
  font-weight: normal;
  display: inline-block;
}
#portal .description {
  font-size: 20px;
}

/* ## How To */
#howto .pageContents {
  margin: 160px 40px 40px;
}
#howto .pageContents h2 {
  font-weight: bold;
  margin-bottom: 20px;
}
#howto .pageContents section {
  margin: 40px 0 40px;
}
#howto .pageContents p {
  margin-bottom: 20px;
  text-align: justify;
}
#howto .pageContents table {
  margin-bottom: 20px;
}
#howto .pageContents .format textarea {
  padding: 10px;
  width: 225px;
  height: 200px;
  border: 1px #47585c solid;
}
#howto .pageContents .format .arrow {
  margin: 10px;
}
#howto .pageContents .format .copyButton {
  margin: 0 10px;
  font-size: 0.8em;
  padding: 6px 2px;
  line-height: 0.5em;
}
#howto .pageContents ul, #howto .pageContents ol {
  list-style: inside;
}
#howto .pageContents ol {
  list-style-type: decimal;
}
#howto .pageContents li {
  margin-bottom: 10px;
  text-indent: -1em;
  padding-left: 1em;
}
#howto .pageContents li:last-child {
  margin-bottom: 0;
}

/* ## Buttons */
/* === Button layout fix === */
.button .sendButton, .button .backButton, .button .backButton_out {
  width: 150px;
  height: 60px;
  line-height: 60px;
  border: 1px #47585c solid;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
  margin: 20px;
  padding: 0;
  border-radius: 0;
}
.button .sendButton {
  background: #fff;
  color: #47585c;
  text-decoration: none;
}
.button .backButton, .button .backButton_out {
  background: #47585c;
  color: #fff;
  text-decoration: none;
}
.button .backButton a {
  text-decoration: none;
  color: #fff;
  font-size: 20px;
  width: 100%;
}
.button ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.button li {
  list-style: none;
}

/* ## Side Menu */
.side_openButton {
  color: #fff;
  background: #47585c;
  display: block;
  line-height: 60px;
  text-decoration: none;
  border: 1px #47585c solid;
  text-align: center;
  word-break: break-all;
  margin: 40px 0;
}
.side_boxWrapBg {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  position: fixed;
  top:0; right:0; bottom:0; left:0;
  margin: auto;
  z-index: 9;
}
.side_boxWrapWrap.active .side_boxWrapBg {
  display: block;
}
.side_boxWrap {
  position: fixed;
  top: 0;
  left: -420px;
  z-index: 99;
  background: #fff;
  width: 420px;
  height: 100%;
  transition: 0.3s;
}
.side_boxWrapWrap.active .side_boxWrap {
  left: 0;
}
.side_closeButton {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 60px;
  text-decoration: none;
  margin: 0;
  border: 1px #47585c solid;
  text-align: center;
  word-break: break-all;
  background: #47585c;
  color: #fff;
  cursor: pointer;
}
.side_boxList {
  display: flex;
  justify-content: center;
  grid-gap: 0;
  list-style: none;
  width: 100%;
}
.side_listItems {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 60px;
  text-decoration: none;
  margin: 0;
  border: 0.5px #47585c solid;
  text-align: center;
  word-break: break-all;
  width: 100%;
  background: #fff;
  color: #47585c;
  cursor: pointer;
}
.side_listItems a {
  text-decoration: none;
  width: 100%;
}
