@font-face {
  font-family: 'BestTen-DOT';
  src: url('https://drumanekotoonlab.monster/font/BestTen-DOT.woff') format('woff');
}

@font-face {
  font-family: 'madoufmg';
  src: url('https://drumanekotoonlab.monster/font/madoufmg.woff') format('woff');
}

*, *::before, *::after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

body {
  background-color: color(display-p3 0 0 1);
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 6px;
  padding-right: 6px;
  cursor: url(https://drumanekotoonlab.monster/img/cursorimg.png), auto;
}

/* カーソル（ポインター） */
a, button, button:hover, label, label:hover, nav,li img, nav,li img:hover {
  cursor: url(https://drumanekotoonlab.monster/img/cursorimg2.png), pointer;
}

/* マウスストーカー */
#mouse-stalker {
  pointer-events: none;
  position: fixed;
  top: 12px;
  left: 27px;
  width: 37px;
  height: 37px;
  background: url("https://drumanekotoonlab.monster/img/stalkerimg.gif");
  background-size: 37px;
  transform: translate(0,0);
  transition: transform 0s;
  transition-timing-function: ease-out;
  z-index: 1000;
  filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.53));
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: pixelated;
}

/* crtエフェクト */
.crt::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(99deg, rgba(99, 0, 0, 0.00), rgba(0, 255, 0, 0.00), rgba(0, 0, 255, 0.0));
  z-index: 1001;
  background-size: 100% 2px, 2px 100%;
  pointer-events: none;
}

@keyframes flicker {
  0% {
  opacity: 0.27861;
  }
  5% {
  opacity: 0.34769;
  }
  10% {
  opacity: 0.23604;
  }
  15% {
  opacity: 0.10626;
  }
  20% {
  opacity: 0.18128;
  }
  25% {
  opacity: 0.10626;
  }
  30% {
  opacity: 0.18128;
  }
  35% {
  opacity: 0.23604;
  }
}

.crt::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.15);
  opacity: 0;
  z-index: 1001;
  pointer-events: none;
  animation: flicker 0.1s infinite;
}

/* 背景 */
.body-wrapper::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width: 100%;
  height: 100%;
  background-position: left;
  background-image:url("https://drumanekotoonlab.monster/img/backgroundblue.png");
  background-repeat: repeat;
  background-size: 440px;
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: pixelated;
}

.title-bar-text {
  font-size: 15px;
}

#contents {
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 21px;
  animation: fadeIn2 0.5s ease 0.3s 1 normal backwards;
}

@keyframes fadeIn2 {
  from {
    opacity: 0;
    transform: translateY(120px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#aboutwin {
  max-width: 900px;
}

#lang {
  font-size: 13px;
}

 /* === ラジオボタンは非表示 ================== */
#lang input[type="radio"] {
  display: none;
}

 /* === 各ラジオボタンのラベルをボタンに変更 == */
#lang label {
  font-size: 14px;
  color: #589393;
  background: #000;
  padding: 3px;
}
 
 /* === 選択されている言語のラベル色を変更 ==== */
#lang input[type="radio"]:checked + label {
  color: color(display-p3 0 1 0);
}

.abouttext {
  font-family: 'BestTen-DOT', sans serif;
  color: color(display-p3 0 0 1);
  padding: 10px;
}

.abouttext p {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.9px;
}

.abouttext a {
  color: color(display-p3 1 0 1);
  text-decoration: none;
  border-bottom: solid 1px color(display-p3 1 0 1);
}

.abouttext a:visited {
  color: color(display-p3 1 0 1);
  text-decoration: none;
}

.abouttext a:hover {
  color: color(display-p3 1 0 1);
}

#profile {
  color: color(display-p3 0 1 0);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto 0 auto;
  max-width: 520px;
  height: 250px;
  background: #000;
  padding: 20px;
  line-height: 27px;
}

#ptext {
  text-align: center;
  font-size: 15px;
}

#profilebox {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 20px;
}

#profilebox p {
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 32px;
}

#profilebox img {
  max-width: 150px;
  height: 150px;
}

.cp_hr02 {
  border-width: 1.5px 1 0 0;
  border-style: dashed;
  border-color: color(display-p3 0 0 1);
}

#stamp {
  letter-spacing: 6px;
  text-align: center;
}

#stamp img {
  width: 84px;
}

#catimg {
  text-align: center;
}

#catimg img {
  width: 160px;
}

#catimg {
  font-size: 14px;
  letter-spacing: 0.7px;
}

#stamp2win {
   max-width: 850px;
}

#stamp2 {
  line-height: 15px;
  letter-spacing: 5px;
  text-align: center;
}

#stamp2 img {
  width: 84px;
}

#footer {
  font-size: 13px;
  color: color(display-p3 1 0 1);
  font-family: 'BestTen-DOT', sans serif;
  background: #000;
  letter-spacing: 0.6px;
  text-align:  center;
  padding-top: 9px;
}




/*タブレット画面 横向き*/
@media all and (min-width: 768px) and (max-width: 1279px) {
  .body-wrapper::before {
    background-size: 410px;
  }
  
  #mouse-stalker {
    top: 4px;
    left: 2px;
    width: 35px;
    height: 35px;
    background-size: 35px;
  }
  
  body {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 10%;
    padding-right: 10%;
  }

  .title-bar-text {
    font-size: 14px;
  }
  
  #contents {
    max-width: 800px;
    width: 100%;
    gap: 18px;
  }

  #aboutwin {
    max-width: 800px;
  }

  .abouttext {
    padding: 10px;
  }
  
  .abouttext p {
    font-size: 13px;
    letter-spacing: 0.4px;
    line-height: 24px;
  }

  #lang label {
    font-size: 13px;
  }
  
  #profile {
    max-width: 500px;
    height: 250px;
  }
  
  #ptext {
    font-size: 15px;
  }
  
  #profilebox {
    column-gap: 25px;
  }
  
  #profilebox p {
    font-size: 13px;
    letter-spacing: 0.6px;
    line-height: 33px;
  }
  
  #profilebox img {
    max-width: 150px;
    height: 150px;
  }
  
  #stamp {
    letter-spacing: 3px;
  }
  
  #stamp img {
    max-width: 74px;
  }
  
  #catimg img {
    width: 152px;
  }

 #stamp2win {
    max-width: 800px;
  }

  #stamp2 {
    line-height: 18px;
    letter-spacing: 5px;
  }

  #stamp2 img {
    max-width: 73px;
  }

  #footer {
    font-size: 12px;
    letter-spacing: 0.6px;
    padding-top: 9px;
  }
}


/*タブレット画面 縦向き*/
@media all and (min-width: 768px) and (max-width: 960px) {
  .body-wrapper::before {
    background-size: 400px;
}

  #mouse-stalker {
    top: 4px;
    left: 2px;
    width: 35px;
    height: 35px;
    background-size: 35px;
  }

  body {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 10%;
    padding-right: 10%;
  }
  
  .title-bar-text {
    font-size: 13px;
  }
  
  #contents {
    max-width: 800px;
    width: 100%;
    gap: 18px;
  }
  
  #aboutwin {
    max-width: 800px;
  }
  
  .abouttext {
    padding: 10px;
  }
  
  .abouttext p {
    font-size: 13px;
    letter-spacing: 0.4px;
    line-height: 24px;
  }

  #lang label {
    font-size: 13px;
  }
  
  #profile {
    max-width: 500px;
    height: 250px;
  }
  
  #ptext {
    font-size: 15px;
  }
  
  #profilebox {
    column-gap: 25px;
  }
  
  #profilebox p {
    font-size: 13px;
    letter-spacing: 0.6px;
    line-height: 33px;
  }
  
  #profilebox img {
    max-width: 150px;
    height: 150px;
  }
  
  #stamp {
    letter-spacing: 3px;
  }
  
  #stamp img {
    max-width: 75px;
  }
  
  #catimg img {
    max-width: 160px;
  }

#stamp2win {
    max-width: 800px;
}

  #stamp2 {
    line-height: 18px;
    letter-spacing: 3px;
  }

  #stamp2 img {
    max-width: 73px;
  }

  #footer {
    font-size: 12px;
    letter-spacing: 0.6px;
    padding-top: 9px;
  }
}


/* モバイル画面 横向き */
@media all and (min-width: 576px) and (max-width: 767px) {
  .body-wrapper::before {
    background-size: 400px;
  }
  
  #mouse-stalker {
    top: 4px;
    left: 2px;
    width: 35px;
    height: 35px;
    background-size: 35px;
  }

  body {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 5%;
    padding-right: 5%;
  }
  
  .title-bar-text {
    font-size: 13px;
  }
  
  #contents {
    max-width: 600px;
    width: 100%;
    gap: 17px;
  }
  
  #aboutwin {
    max-width: 600px;
  }
  
 .abouttext {
    padding: 13px;
  }
  
  .abouttext p {
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 21px;
  }

  #lang label {
    font-size: 14px;
  }
  
  #profile {
    max-width: 440px;
    height: 240px;
    line-height: 27px;
  }
  
  #ptext {
    font-size: 14px;
  }
  
  #profilebox {
    column-gap: 18px;
  }
  
  #profilebox p {
    font-size: 12px;
    letter-spacing: 0.6px;
    line-height: 30px;
  }
  
  #profilebox img {
    max-width: 130px;
    height: 130px;
  }
  
  #stamp {
    letter-spacing: 3px;
  }
  
  #stamp img {
    max-width: 74px;
  }
  
  #catimg img {
    max-width: 150px;
  }

#stamp2win {
   max-width: 600px;
}

  #stamp2 {
    line-height: 18px;
    letter-spacing: 3px;
  }

  #stamp2 img {
    max-width: 74px;
  }

  #footer {
    font-size: 13px;
    letter-spacing: 0.6px;
    padding-top: 9px;
  }
}


 /* モバイル画面 縦向き */
@media all and (max-width: 575px) {
  .body-wrapper::before {
    background-size: 330px;
    width: 100%;
    height: 100%;
  }

  #mouse-stalker {
    top: 4px;
    left: 2px;
    width: 35px;
    height: 35px;
    background-size: 35px;
  }

  body {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 5%;
    padding-right: 5%;
  }
  
  .title-bar-text {
    font-size: 13px;
  }
  
  #contents {
    max-width: 560px;
    width: 100%;
    gap: 17px;
  }
  
  #aboutwin {
    max-width: 560px;
  }
  
 .abouttext {
    padding: 5px;
  }
  
  .abouttext p {
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 22px;
  }

  #lang label {
    font-size: 13px;
  }
  
  #profile {
    max-width: 390px;
    height: auto;
    line-height: 26px;
    padding: 20px;
  }
  
  #ptext {
    font-size: 12px;
  }
  
  #profilebox {
    column-gap: 12px;
  }
  
  #profilebox p {
    font-size: 10px;
    letter-spacing: 0.6px;
    line-height: 20px;
  }
  
  #profilebox img {
    max-width: 30%;
    height: auto;
  }
  
  #stamp {
    letter-spacing: 3px;
  }
  
  #stamp img {
    max-width: 24%;
    height: auto;
  }
  
  #catimg img {
    max-width: 38%;
    height: auto;
  }

 #stamp2win {
    max-width: 560px;
 }

  #stamp2 {
    line-height: 16px;
    letter-spacing: 4px;
  }

  #stamp2 img {
    max-width: 22%;
    height: auto;
  }

  #footer {
    font-size: 12px;
    letter-spacing: 0.6px;
    padding-top: 9px;
  }
}