@font-face
{
  font-family: PixelMplus12 Regular;
  src: url('https://cdn.leafscape.be/PixelMplus/PixelMplus12-Regular_web.woff2')
       format("woff2");
}

body {
  background-color: #212529;
  color: #fff;
  font-family: PixelMplus12 Regular;
}

#menu {
  height: 700px;
}

.nes-badge {
  width: 6.9em;
}

.red {
  background-color: #e6332a;
}

.blue {
  background-color: #00b6ed;
}

.green {
  background-color: #3aaa35;
}

.appear {
	transform-origin:center center;
	animation:show 3s backwards;
}
.d1 {animation-delay:0.2s;}
.d2 {animation-delay:0.4s;}
.d3 {animation-delay:0.6s;}
.d4 {animation-delay:0.8s;}
.d5 {animation-delay:1.0s;}
.d6 {animation-delay:1.2s;}
@keyframes show {
	0% {
		transform:translate(0,2em);
		opacity:0;
		text-shadow:0 0 0 #0f0;
	}
	50% {
		text-shadow:0 0 0.5em #0f0;
	}
	100% {
		transform:translate(0,0);
		opacity:1;
		text-shadow:none;
	}
}

/* サブメニュー */
/*
ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}
*/

.dropdown_container{
  display: inline-block;
  position: relative;
}

.dropdown_container > ul{
  position: absolute;
  top: 100%;
  right: 0;
  height: 0;
  width: 200px;
  overflow: hidden;
}

.dropdown_container:hover > ul{
  height: auto;
}

.dropdown_container a {
  display: block;
  color: black;
  text-decoration: none;
}

/*** 中央メニュー ***/
.menu-item {
  position: absolute;
  text-align: center;
  font-size: 18px;
  color: #fff;
  transition-duration: 0.3s;
  max-width: 200px;
}

.menu-item:hover {
	transform: scale(1.2);
	transition-duration: 0.3s;
}

.category-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 300px));
}

.category-item {
}

#logo {
  position: absolute;
  line-height: 0;
  top: calc(50% - 101px);
  left: calc(50% - 147px);
}

#menu-app {
  top: calc(50% + 112px);
  width: 100px;
  height: 100px;
  border-radius: 50px;
  left: calc(50% - 50px - 100px);
}
#menu-app div {
  margin: calc(50% - 9px) 0 0 0;
}

#menu-miyage {
  top: calc(50% - 210px);
  width: 100px;
  height: 100px;
  border-radius: 50px;
  left: calc(50% + 50px);
}
#menu-miyage div {
  margin: calc(50% - 9px) 0 0 0;
}

#menu-make {
  top: calc(50% + 172px);
  width: 100px;
  height: 100px;
  border-radius: 50px;
  left: calc(50% - 50px);
}
#menu-make div {
  margin: calc(50% - 26px) 0 0 0;
}
#menu-programing {
  top: calc(50% - 270px);
  width: 110px;
  height: 110px;
  border-radius: 55px;
  left: calc(50% - 55px);
  font-size: 14px;
}
#menu-programing div {
  margin: calc(50% - 16px) 0 0 0;
}

#menu-web {
  top: calc(50% - 210px);
  width: 100px;
  height: 100px;
  border-radius: 50px;
  left: calc(50% - 50px - 100px);
}
#menu-web div {
  margin: calc(50% - 9px) 0 0 0;
}

#menu-system {
  top: calc(50% + 112px);
  width: 100px;
  height: 100px;
  border-radius: 50px;
  left: calc(50% + 50px);
}
#menu-system div {
  margin: calc(50% - 26px) 0 0 0;
}

#sub-menu {
  text-align: right;
}

@media (min-width: 768px) {
  body {
    width: 1000px;
    margin: auto;
  }

  .menu-item {
    font-size: 18px;
  }

  #logo {
    top: 250px;
    left: calc(50% - 147px);
  }

  #menu-app {
    top: 400px;
    width: 136px;
    height: 136px;
    border-radius: 68px;
    left: calc(50% - 68px - 136px - 120px);
  }
  #menu-app div {
    margin: calc(50% - 9px) 0 0 0;
  }

  #menu-miyage {
    top: 125px;
    width: 136px;
    height: 136px;
    border-radius: 68px;
    left: calc(50% + 68px + 120px);
  }
  #menu-miyage div {
    margin: calc(50% - 9px) 0 0 0;
  }

  #menu-make {
    top: 520px;
    width: 136px;
    height: 136px;
    border-radius: 68px;
    left: calc(50% - 68px);
  }
  #menu-make div {
    margin: calc(50% - 26px) 0 0 0;
  }
  #menu-programing {
    top: 25px;
    width: 150px;
    height: 150px;
    border-radius: 75px;
    font-size: 18px;
    left: calc(50% - 75px);
  }
  #menu-programing div {
    margin: calc(50% - 18px) 0 0 0;
  }

  #menu-web {
    top: 125px;
    width: 136px;
    height: 136px;
    border-radius: 68px;
    left: calc(50% - 68px - 136px - 120px);
  }
  #menu-web div {
    margin: calc(50% - 9px) 0 0 0;
  }

  #menu-system {
    top: 400px;
    width: 136px;
    height: 136px;
    border-radius: 68px;
    left: calc(50% + 68px + 120px);
  }
  #menu-system div {
    margin: calc(50% - 26px) 0 0 0;
  }
}

#modal-window {
  display: block;
  z-index: 998;
  position: fixed;
  width: 90%;
  height: 80%;
  border-radius: 20px;
  left: 50%;
  top: 50%;
  margin-top: 30px;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  background: #fff;
  padding: 10px 20px;
  overflow: hidden;
}

.category-item img, .category-item video {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  padding-bottom: 8px;
}

.category-item .button {
  margin: auto;
}

.popupModal1 > input { /* ラジオボックス非表示 */
    display: none;
}
.popupModal1 > input:nth-child(1) + label {
    cursor: pointer;
}
.modalPopup2 { /* 初期設定 ポップアップ非表示 */
    display: none;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {/* ラジオ１ チェックでポップアップ表示 */
    display: block;
    z-index: 998;
    position: fixed;
    width: 90%;
    height: 80%;
    border-radius: 20px;
    left: 50%;
    top: 50%;
    margin-top: 30px;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: #212529;
    padding: 10px 20px;
    overflow: hidden;
}
@media (min-width: 768px) {/* PCのときはページの真ん中の600x600領域 */
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2{
         width: 600px;
         height: 600px;
         padding: 30px;

  }
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
     left: 50% !important;
     top: 50% !important;
     margin-left: 270px !important;
     margin-top: -310px !important;
  }
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div {/* */
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    display: inline-block;
    width: 100%;
    height: 100%;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > iframe {
    width: 100%;
      height:100%;
      border:none;
      display:block;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > img {/* ポップアップの中の要素 */
max-width: 100%;
}
.popupModal1 > input:nth-child(1) + label ~ label {
    display: none;/* ラジオ１ 以外のラベルを初期は非表示 */

}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.70);
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 997;
    text-indent: -999999px;
    overflow: hidden;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    background: rgba(255, 255, 255, 0.5);
    display: inline-block;
    position: fixed;
    left: 10px;
    bottom: 20px;
    z-index: 999;
    width: 44pt;
    height: 44pt;
    font-size: 40px;
    border-radius: 50%;
    line-height: 44pt;
    text-align: center;
    box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
}

.popupModal1 > input:nth-child(1) + label + input:nth-child(3):checked + label + input:nth-child(5) + label + .modalPopup2,
.popupModal1 > input:nth-child(1) + label + input:nth-child(3) + label + input:nth-child(5):checked + label + .modalPopup2 { /* ラジオ２と３ どっちかチェックでポップアップ非表示 */
    display: none;
}


.modalPopup2 {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.popupModal1 .modalTitle {
     padding-bottom: .5em;
     margin: .5em 0;
     border-bottom:
     1px solid #ccc;
     font-weight: bold;
}
.popupModal1 .modalMain {
     color:#222;
     text-align: left;
     font-size: 14px;
     line-height: 1.8em;
}

.category-section {

}

footer {
  text-align: center;
}

#tayori-modal, #tayori-trigger-label {
  font-family: PixelMplus12 Regular;
}

#submenu-container .submenu-trigger {
  right: -2px;
  width: 38px;
  border-radius: 6px 0 0 6px;
  padding: 8px 0;
  position: fixed;
  cursor: pointer;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 2147483000;
  -webkit-transition: all 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
  -moz-transition: all 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
  -ms-transition: all 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition: all 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: all 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
  word-break: break-all;
}

#submenu-container .submenu-trigger:hover {
  right: 0px;
}

#submenu-container .submenu-trigger-label {
  float: inherit;
  width: 13px;
  margin: 0 10px;
  text-orientation: upright;
  direction: ltr;
  color: #ffffff !important;
  line-height: 1.1em;
  text-align: center;
  font-size: 13px !important;
}

#submenu-container .submenu-trigger-label > a {
  color: #ffffff;
  text-decoration: none;
}

#submenu-container .submenu-trigger-label > a:hover {
  color: #ffffff;
}

#submenu-trigger-top {
  bottom: calc(5% + 160px + 78px + 194px);
}

#submenu-trigger-about {
  bottom: calc(5% + 160px + 78px);
}

#submenu-trigger-blog {
  bottom: calc(5% + 160px + 10px);
}
