@charset "utf-8";
/* ぱたぱたアニメ館 */
/* Plate neo-classic */
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  NEO-CLASSIC STATIC
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* COMMON-BASE */
.neo-classic {
  display: table;
  min-width: 260px;
  margin: 15px auto;
  padding: 30px 50px;
  box-sizing: border-box;
  font-family: "serif";
  font-size: 20px;
  letter-spacing: 3px;
  line-height: 1;
  text-align: center;
  transition: transform 0.3s ease;
}
/* ANTIQUE-GOLD */
.antique-gold.antique-gold {
  background: #fdfdfd;
  border: 1px solid #b8860b;
  outline: 3px solid #b8860b;
  outline-offset: -10px;
  color: #333;
  }
/* MIDNIGHT-BAR */
.midnight-bar {
  background: #1a1a1a;
  border: 1px solid #d4af37;
  outline: 2px solid #d4af37;
  outline-offset: -10px;
  color: #d4af37;
}
/* FOREST-TRADITION */
.forest-tradition {
  background: #2d3e2d;
  border: 1px solid #e0e0e0;
  outline: 2px solid #e0e0e0;
  outline-offset: -10px;
  color: #e0e0e0;
}
/* SAKURA-ROMANCE */
.sakura-romance {
  background: #fffafa;
  border: 1px solid #db7093;
  outline: 2px solid #db7093;
  outline-offset: -10px;
  color: #db7093;
}
/* ROYAL-BLUE */
.royal-blue {
  background: #002366;
  border: 1px solid #ffffff;
  outline: 2px solid #ffffff;
  outline-offset: -10px;
  color: #ffffff;
}
/* BORDEAUX-WINE */
.bordeaux-wine {
  background: #6b0d0d;
  border: 1px solid #fdfdfd;
  outline: 2px solid #fdfdfd;
  outline-offset: -10px;
  color: #fdfdfd;
}
/* MONOCHROME-MODERN */
.monochrome-modern {
  background: #ffffff;
  border: 4px solid #000000;
  outline: 2px solid #000000;
  outline-offset: 5px;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  ANTIQUE-LINK
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

.antique-link.antique-link {
  display: table;
  margin: 15px auto;
  position: relative;
  padding: 30px 50px;
  box-sizing: border-box;
  background: #fdfdfd;
  border: 1px solid #b8860b;
  outline: 3px solid #b8860b;
  outline-offset: -10px;
  text-align: center;
  color: #333;
  text-decoration: none;
  font-family: "serif";
  letter-spacing: 3px;
  line-height: 1;
  user-select: none;
  transition: all 0.25s ease;
}
.antique-link:hover {
  background: #fffcf5;
  box-shadow: 0 5px 15px rgba(184, 134, 11, 0.15);
  outline-offset: -8px;
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  ANTIQUE-GOLD ANIMATION (BUTTON)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

.antique-ani {
  display: table;
  margin: 15px auto;
  position: relative;
  overflow: hidden;
  padding: 30px 50px;
  box-sizing: border-box;
  background: #fdfdfd;
  border: 1px solid #b8860b;
  outline: 2px solid #b8860b;
  outline-offset: -10px;
  text-align: center;
  color: #333;
  cursor: pointer;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 3px;
  transition: all 0.25s ease;
  user-select: none;
  line-height: 1;
}
/* 光の反射 */
.antique-ani::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
  120deg,
  transparent,
  rgba(255, 255, 255, 0.8),
  transparent
  );
  transition: all 0.5s ease;
}
/* hover：光 */
.antique-ani:hover::before {
  left: 150%;
}
/* active：光（スマホ用） */
.antique-ani:active::before {
  left: 150%;
  transition: all 0.5s ease;
}
/* hover：背景色と影 */
.antique-ani:hover {
  background: #fffcf5;
  box-shadow: 0 5px 15px rgba(184, 134, 11, 0.15);
  outline-offset: -8px; /* わずかに枠を広げる */
}
/* 凹む演出（クリック時） */
.antique-ani:active {
  transform: translateY(3px); /* 沈み込み */
  outline-offset: -12px;      /* さらに押し込まれる表現 */
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.2);
  background: #f5f0e1;
  transition: all 0.05s;      /* クリック時は素早く反応 */
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  RESPONSIVE DESIGN
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

/* ANTIQUE-GOLD */
.antique-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.5em;
  background: #fdfdfd;
  border: 0.06em solid #b8860b;
  outline: 0.18em solid #b8860b;
  outline-offset: -0.6em;
  color: #333;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 4vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 599px) {
  .antique-res {
    padding: 1.5em 1.2em;
    outline-offset: -0.5em;
  }
}
/* MIDNIGHT-BAR */
.midnight-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.8em; 
  background: #1a1a1a;
  border: 0.06em solid #d4af37;
  outline: 0.12em solid #d4af37;
  outline-offset: -0.6em;
  color: #d4af37;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .midnight-res {
    padding: 1.5em 1em;
    outline-offset: -0.4em;
  }
}
/* FOREST-TRADITION */
.forest-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.8em; 
  background: #2d3e2d;
  border: 0.06em solid #e0e0e0;
  outline: 0.12em solid #e0e0e0;
  outline-offset: -0.6em;
  color: #e0e0e0;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  transition: all 0.3s ease;
  overflow-wrap: anywhere;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .forest-res {
    padding: 1.5em 1.2em;
    outline-offset: -0.4em;
  }
}
/* SAKURA-ROMANCE */
.sakura-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.8em; 
  background: #fffafa;
  border: 0.06em solid #db7093;
  outline: 0.12em solid #db7093;
  outline-offset: -0.6em;
  color: #db7093;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .sakura-res {
    padding: 1.5em 1.2em;
    outline-offset: -0.4em;
  }
}
/* ROYAL-BLUE */
.royal-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.8em; 
  background: #002366;
  border: 0.06em solid #ffffff;
  outline: 0.12em solid #ffffff;
  outline-offset: -0.6em;
  color: #ffffff;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .royal-res {
    padding: 1.5em 1.2em;
    outline-offset: -0.45em;
  }
}
/* BORDEAUX-WINE */
.bordeaux-res {
  display: table;
  margin: 40px auto;
  width: fit-content;
  max-width: 90%;
  box-sizing: border-box;
  padding: 1.8em 2.8em;
  background: #6b0d0d;
  border: 0.06em solid #fdfdfd;
  outline: 0.12em solid #fdfdfd;
  outline-offset: -0.6em;
  color: #fdfdfd;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .bordeaux-res {
    padding: 1.5em 1.2em;
    outline-offset: -0.45em;
  }
}
/* MONOCHROME-MODERN */
.monochrome-res {
  display: table;
  margin: 60px auto;
  width: fit-content;
  max-width: 85%;
  box-sizing: border-box;
  padding: 1.8em 2.8em; 
  background: #ffffff;
  border: 0.25em solid #000000;
  outline: 0.125em solid #000000;
  outline-offset: 0.3em;
  color: #000000;
  text-align: center;
  font-family: "serif";
  font-size: clamp(16px, 5vw, 32px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: all 0.3s ease;
}
/* スマホ用 */
@media screen and (max-width: 480px) {
  .monochrome-res {
    padding: 1.5em 1em;
    outline-offset: 0.2em;
  }
}