::selection {
  background: var(--select);
  color: var(--back);
}

body {
  background: var(--stripe);
  color: var(--text);
}

a:link {
  color: var(--link);
}

a:visited {
  color: var(--exit);
}

strong, .error {
 color: var(--error);
}


.ico {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: top;
}

.ico > i,
.ico > i::before,
.ico > i::after {
  height: 1em;
  position: absolute;
}

.ico > i::before {
  content: '*';
  top: -.05em;
  left: -.8em;
}

.ico > i::after {
  content: '｡';
  left: -.2em;
  bottom: .3625em;
}

.ico::before {
  content: "."
}



header {
  width: 100%;
  height: calc(100% / 2.84 / 2);
  border-bottom: 7px solid #0002;
  display: flex;
  align-items: center;
  backdrop-filter: blur(6px);
  background: var(--belt);
  position: sticky;
  top: 0;
  z-index: 5;
}

header a[href] {
  width: inherit;
  height: calc(100% - 1rem);
  border-bottom: 5px dashed #0002;
  color: var(--back);
  font-size: 2em;
  font-weight: bold;
  font-family: 'Caveat', cursive;
  letter-spacing: .125em;
  text-shadow: -1px -1px 0px var(--thin), 1px 1px 0px var(--border);
  text-decoration: none;
  padding-left: .5em;
}

.catch {
  width: 100%;
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

.catch > a {
  display: block;
  width: 30rem;  height: 14rem;
  background: url("files/catch.png");
  background-size: cover;
  translation: 3s;
  text-decoration: none;
}


.catch > a > div:empty {
  display: block;
  width: 100%;  height: 100%;
  position: absolute;
  bottom: 0;
  background: #fff8;
}

.catch h1 {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  width: 30rem;
  height: 5rem;
  padding-left: .625em;
  position: absolute;
  bottom: 0;
  backdrop-filter: blur(4px);
  background: var(--belt);
  color: var(--back);
}

.catch h1 > span {
  font-size: 1.4rem;
  padding-left: .75em;
  color: var(--back);
}

.catch > a[href] > h1 > span::after {
  content: " >>";
}



nav {
  display: flex;
  justify-content: center;
  width: 100%;  height: 2.4rem;
}

nav > p {
  width: 30rem;  height: inherit;
  background: var(--back);
  border-bottom: 1px solid var(--border);
  text-align: right;
}

nav > p > a {
  display: inline-flex;
  align-items: center;
  font-size: 1.2rem;
  height: 100%;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  color: var(--text);
}

nav > p > a ~ a::before {
  content: "/";
  text-decoration: none;
  position: absolute;
  left: -.3rem;
  color: var(--text);
}

nav > p > a:not([href]) {
  color: var(--miss);
}



.plate {
  width: 100%;
	margin: 1.5em 0;
  padding: .75em;
  background: #fff9;
}

.plate > *:first-of-type {
  width: 100%;  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: .75em;
  border: 4px dashed #fffb;
}

.banner {
  display: flex;
  width: 30rem;
  height: 8.8rem;
  text-decoration: none;
  overflow: hidden;
  z-index: 0;
}

.banner ~ .banner {
  margin-top: 1.5em;
}

.banner:nth-of-type(1) {
  background: url("/files/anniv") center / cover;
}

.banner:nth-of-type(2) {
  background: url("/files/main") center / cover;
}

.banner:nth-of-type(3) {
  background: url("/files/anvlo") center / cover;
}

.banner::after {
  content: '';
  width: 30rem;
  height: 8.8rem;
  position: absolute;
  top: 0;
  z-index: -1;
  background: #cccc;
}

.banner[href]::after {
  backdrop-filter: blur(4px) saturate(150%);
  background: #0003;
  transition: 1s;
}

.banner[href]:hover::after {
  backdrop-filter: blur(0) saturate(150%);
  background: transparent;
}

.banner > *:not(:empty) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 2em;
  font-weight: bold;
  font-family: 'Caveat', cursive;
  letter-spacing: .125em;
  color: var(--miss);
  text-shadow: -1px -1px 0px var(--thin), 1px 1px 0px var(--border);
}

.banner[href] > *:not(:empty) {
  color: var(--bold);
  text-shadow: -2px -2px 2px var(--thin), 2px 2px 2px var(--border);
}

.banner[href] > span:empty {
  font-size: 1rem;
  width: 8rem;  height: 2em;
  background: #c25;
  border-top: 2px solid var(--exit);
  border-bottom: 2px solid var(--exit);
  color: var(--exit);
  text-align: center;
  font-weit: bold;
  transform: rotate(-45deg) scaleX(1.875);
  position: absolute;
}

.banner[href] > span:empty::before {
  content: "NEW*　　"
}



footer {
  width: 100%;
  backdrop-filter: blur(3px);
  background: #fffc;
  position: sticky;
  bottom: 0;
  z-index: 5;
}

.specialthx {
  width: 100%;
  height: 3.5rem;
  padding-top: .3rem;
  border-top: 3px solid #fff;
}

.specialthx > *:first-of-type {
  width: inherit;  height: 100%;
  border-top: 2px dashed #fff;
}

.specialthx > * > div:empty {
  width: 100%;
  height: 1.2rem;
  position: absolute;
  top: 0;
  z-index: 5;
}

.specialthx > * > div:not(:empty) {
  height: 100%;
}

.specialthx > * > div > p {
  width: 100%;  height: 100%;
  display: flex;
  justify-content: center;
  align-item: center;
  z-index: 0;
}

.specialthx span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: calc(100% / 3);
  height: 100%;
}

.specialthx span a {
  display: inline-block;
  width: 8.1rem;
  height: 1.5rem;
}

#accaiiCounter {
  bottom: calc(.6rem - 1px / 4);
}

.specialthx span:not([id]):first-of-type a {
  background: url("/files/power") center / cover #26e;
}

.specialthx span:not([id]):last-of-type a {
  background: url("/files/share") center / cover var(--exit);
}



input#toggle, .caution {
  display: none;
}

label[for="toggle"] {
  font-size: 3em;
  font-weight: bold;
  transform: rotate(-15deg);
  position: fixed;
  right: 5.4rem;  bottom: 18rem;
  z-index: 10;
}

textarea:focus ~ label[for="toggle"] {
  display: none;
}

label[for="toggle"] > span {
  -webkit-text-stroke: .2rem #fff;
}

label[for="toggle"] > span > .ico {
  color: var(--link);
}

.caution {
  width: 100%;  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #000d;
  color: #fff;
  position: fixed;
  bottom: 0;
  z-index: 8;
}

.sudden {
  width: calc(100% - 2.5em);
  padding: 1.25em;
  border-radius: 1rem;
  border: 4px solid var(--error);
  font-size: 1.4rem;
  position: absolute;
}

.caution > div > p ~ p {
  margin-top: 1em;
}


#toggle:checked ~ label {
  transform: rotate(10deg);
}

#toggle:checked ~ label > span > .ico {
  color: var(--error);
}

#toggle:checked ~ .caution {
  display: flex;
}



.bkm {
  width: 30rem;  height: 13rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  overflow: hidden;
}

.bkm ~ .bkm {
  margin-top: 1.5em;
}

.bkm p {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 30rem;  height: 2.4rem;
  background: var(--back);
  border-bottom: 1px solid var(--border);
  top: 10.4rem;
  font-size: 1.2rem;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  color: var(--bold);
}

.bkm > a {
  display: block;
  width: 100%;  height: 100%;
  background: url("/other/808_w") center top / 100% 10.4rem;
  translation: 3s;
  text-decoration: none;
}

.bkm:first-of-type > a {
  background: url("/other/800_w") center top / 100% 10.4rem;
}

.twitter > a {
  background: #00aade;
}

.twitter > a::before {
  content: "murmur";
  color: #fff;
  font-size: 10em;
  font-family: "Peddana", serif;
  transform: rotate(-30deg);
  position: absolute;
  top: -9rem;
  left: 4rem;
}

.ring-s > a {
  background: url("/other/808_w") center top / 100% 10.4rem;
}

.dekno-s > a {
  background: url("/other/dekno-s") center top / 100% 10.4rem;
}

.decoya > a {
  background: url("/other/decoya") center top / 100% 10.4rem;
}

.bkm > a > div:empty {
  display: block;
  width: 100%;  height: 10.4rem;
  position: absolute;
  top: 0;
  background: #aa86;
}

.bkm:first-of-type > a > div:empty {
  background: #c036;
  backdrop-filter: saturate(200%);
}

.bkm h1 {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  width: 30rem;
  height: 4rem;
  padding-left: .625em;
  position: absolute;
  bottom: 2.4rem;
  backdrop-filter: blur(4px);
  background: var(--belt);
  color: var(--back);
}

.bkm h1 > span {
  font-size: 1.4rem;
  padding-left: .75em;
  color: var(--back);
}

.bkm > a[href] > h1 > span::after {
  content: " >>";
}
