@charset "utf-8";

:root {
  --nav-font: "M PLUS Rounded 1c", sans-serif;
  --read-font: "Yusei Magic", sans-serif;
  --manken-black: #0f1419;
  --manken-whire: #FFFEFD;
  --base-color: #F9E8BE;
  --c1: #C4801C;
  --c2: #47A296;
  --c3: #D8759D;
  --c4: #B82A4C;
  --c5: #87BFC5;
  --c6: #406394;
  --ham-color: #87BFC5;
  --hamline-color: #406394;
  --shadow: rgba(105, 105, 105, 0.8);
}

body {
  background-color: var(--manken-whire);
}

/* メイン */
/* サムネ */
main {
  overflow: hidden;
}

.thum {
  background-color: var(--manken-whire);
  padding-bottom: 20px;
}

.thum section {
  position: relative;
  width: 1600px;
  max-width: 97%;
  margin: 0 auto;
  height: calc(100vh - 120px);
  min-height: 600px;
  overflow: hidden;
  border: 8px solid var(--manken-black);
  border-radius: 8px;
  background-image: url(../img/tes.jpg);
  background-size: cover;
  background-position: 50% 50%;
}

.thum h1 {
  position: absolute;
  color: black;
  font-family: var(--nav-font);
  font-weight: 700;
  font-size: 98px;
  line-height: 1.1;
  writing-mode: vertical-rl;
  border: 7px solid black;
  border-radius: 12px;
  background-color: white;
  padding: 10px 6px;
  --space: 6px;
}

.thum h1:nth-child(1) {
  top: var(--space);
  right: var(--space);
}

.thum h1:nth-child(2) {
  left: var(--space);
  bottom: var(--space);
}

/* SVG */
.svgbox {
  position: relative;
}

.svgbox svg {
  filter: drop-shadow(0 7px 0 black);
}

/* メニュー */
.menu {
  position: relative;
}

.menu::after {
  position: absolute;
  content: '';
  z-index: -10;
  top: -100vh;
  width: 100%;
  height: 300vh;
  background-color: var(--base-color);
  background-image: url(../img/bg.png);
  background-size: 1100px;
}

/* リード文 */
.lead {
  z-index: 2;
  position: absolute;
  width: 93%;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-size: 22px;
  font-family: var(--read-font);
  text-shadow: 1px 4px 0px var(--manken-whire);
}

.menu ul {
  width: 1000px;
  max-width: 93%;
  margin: 0 auto;
  padding-top: 184px;
  padding-bottom: 124px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
  row-gap: 20px;
}

.menu ul li {
  width: 30%;
  background-color: var(--manken-whire);
  text-align: center;
  border-radius: 4px;
  box-shadow: 0 2px 4px var(--shadow);
  border: 1px solid #F5D78C;
  transition-duration: 0.2s;
}

.menu ul li a {
  display: block;
  padding: 1rem 0 2rem;
}

.menu ul li img {
  width: 110px;
  margin: 0 auto;
}

.menu ul li:hover {
  background-color: #F5F5F4;
}

.menu ul li:hover img {
  animation: yureru 0.45s ease;
}

@keyframes yureru {
  0% {
    translate: 0 0;
    rotate: 0deg;
  }

  20% {
    translate: 1px 0;
    rotate: 3deg;
  }

  40% {
    translate: -1px 0;
    rotate: -3deg;
  }

  60% {
    translate: 1px 0;
    rotate: 2deg;
  }

  80% {
    translate: -1px 0;
    rotate: -2deg;
  }

  100% {
    translate: 0 0;
    rotate: 0deg;
  }
}

h2 {
  text-decoration: underline var(--manken-black);
  text-underline-offset: 3px;
  font-family: var(--nav-font);
  line-height: 1.2;
  transition-duration: 0.1s;
}


@media (max-width: 800px) {

  .thum {
    padding-top: 56px;
  }

  .thum section {
    border: 6px solid var(--manken-black);
    border-radius: 6px;
  }

  .thum h1 {
    font-size: 53px;
    border: 6px solid var(--manken-black);
    border-radius: 6px;
    --space: 6px;
  }

  .svgbox svg {
    filter: drop-shadow(0 6px 0 black);
  }

  .lead {
    position: relative;
    width: 93%;
    top: 0;
    padding-top: 3em;
    font-size: 18px;
    text-shadow: 1px 2px 0px var(--manken-whire);
  }

  .menu ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 82px;
    padding-bottom: 94px;
    column-gap: 10px;
    row-gap: 10px;
  }

  .menu ul li {
    width: 100%;
    box-shadow: 0 1px 3px var(--shadow);
  }

  .menu ul li:last-child {
    grid-column-start: 1;
    grid-column-end: 3;
  }
}