body {
  margin: 0;
}

/* コンテンツ部分にマージンを適用 */
#illustration,
#digi-fab,
#animation,
#other-works,
#footer {
  margin-left: 23px;
  margin-right: 23px;
  margin-bottom: 100px;
}

#illustration {
  margin-top: 50px;
}

/* イラストギャラリーの画像間のマージンを追加 */
#illustration-gallery .col {
  padding: 5px;
}

#illustration-gallery .col img {
  display: block;
  width: 100%;
}

/* タブレット以上でイラストのマージンを中くらいに */
@media (min-width: 768px) {
  #illustration-gallery .col {
    padding: 10px;
  }
}

/* 大きい画面のときイラストのマージンを大きく */
@media (min-width: 992px) {
  #illustration-gallery .col {
    padding: 30px;
  }
}

/* craftsギャラリーの画像間のマージンを追加 */
#crafts-gallery .col {
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#crafts-gallery .craft-item {
  width: 100%;
  text-align: center;
}

#crafts-gallery .craft-item img {
  margin: 0 auto;
  display: block;
}

/* タブレット以上でcraftsのマージンを中くらいに */
@media (min-width: 768px) {
  #crafts-gallery .col {
    padding: 10px;
  }
}

/* 大きい画面のときcraftsのマージンを大きく */
@media (min-width: 992px) {
  #crafts-gallery .col {
    padding: 30px;
  }
}

/* 超大画面のときコンテンツサイズを制限 */
@media (min-width: 1700px) {
  #illustration-gallery,
  #crafts-gallery {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
}

#digi-fab,
#animation,
#other-works {
  margin-top: 80px;
}

/* タブレット以上でセクション間を広く */
@media (min-width: 768px) {
  #digi-fab,
  #animation,
  #other-works {
    margin-top: 150px;
  }
}

/* 大きい画面でセクション間をさらに広く */
@media (min-width: 992px) {
  #digi-fab,
  #animation,
  #other-works {
    margin-top: 200px;
  }
}

#footer {
  text-align: center;
  padding: 100px 0;
}

#animation .col {
  padding: 10px !important;
}

#animation .col img {
  padding: 0;
}

/* タブレット以上でアニメーションのパディングを中くらいに */
@media (min-width: 768px) {
  #animation .col {
    padding: 25px !important;
  }
}

/* 大きい画面でアニメーションのパディングを大きく */
@media (min-width: 992px) {
  #animation .col {
    padding: 50px !important;
  }
}

/* アニメーションセクション全体に大きめのスペース */
@media (min-width: 768px) {
  #animation {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
}

@media (min-width: 1200px) {
  #animation {
    margin-left: 180px !important;
    margin-right: 180px !important;
  }
}

@media (min-width: 1600px) {
  #animation {
    margin-left: 250px !important;
    margin-right: 250px !important;
  }
}

/* 大きい画面の時は横にスペースを開ける */
@media (min-width: 1200px) {
  #illustration,
  #digi-fab,
  #animation,
  #other-works,
  #footer {
    margin-left: 100px;
    margin-right: 100px;
  }
}

@media (min-width: 1600px) {
  #illustration,
  #digi-fab,
  #animation,
  #other-works,
  #footer {
    margin-left: 150px;
    margin-right: 150px;
  }
}

/* 870px以下でハンバーガーメニュー表示 */
@media (max-width: 870px) {
  .navbar-expand-custom .navbar-toggler {
    display: block;
  }

  .navbar-expand-custom .navbar-collapse {
    display: none;
  }

  .navbar-expand-custom .navbar-collapse.show {
    display: block;
  }
}

@media (min-width: 871px) {
  .navbar-expand-custom .navbar-toggler {
    display: none;
  }

  .navbar-expand-custom .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-custom .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-custom .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}

.navbar.navbar-light.navbar-expand-custom {
  padding-top: 20px;
  padding-bottom: 20px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

#top {
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px) {
  #min-logo {
    margin: 0 auto;
    /*margin-top: 150px;*/
    /*text-align: center;*/
  }
}

#wrap {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: white;
  z-index: 1000;
  transition: opacity 0.3s ease !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 1;
  pointer-events: auto;
}

#wrap .container-fluid {
  padding-left: 23px;
  padding-right: 23px;
}

/* コンテンツをトップの下に配置 */
body {
  padding-top: 0;
}

#content-wrapper {
  position: relative;
  z-index: 1;
  background-color: white;
  margin-top: 100vh;
}

.koumoku {
  display: block;
  height: 50px;
  margin: 0 auto;
}

.nav-item {
  border-width: 6px;
  border-style: outset;
  margin-right: 7px;
}

p {
  margin-left: 20px;
  margin-right: 20px;
}

img {
  margin-right: 20px;
}

.img-fluid {
  max-width: 100%;
  height: auto;
  background-size: contain;
}

.typing {
  height: 25vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes typing {
  from {
    width: 0;
  }
}

@keyframes effect {
  50% {
    border-color: transparent;
  }
}

.typing-effect {
  width: 11ch;
  animation: typing 1s steps(11), effect .5s step-end infinite alternate;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid;
  font-family: 'Roboto Mono';
  font-size: 29px;
}

item-title {
  font-family: 'Kiwi Maru', serif;
  font-size: 18px;
  font-weight: 700;
}

