/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* BODY 
------------------------------------------------------------ */

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

@font-face {
  font-family: 'Press';
  src: url("../font/PressStart2P-Regular.ttf") format("truetype");
  font-display: block;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: 0% 50% / .2% repeat url(../image/design/07/diamond.png) #54a27e fixed;
  font-family: arial;
}

/* SELECTION 
------------------------------------------------------------ */

::-moz-selection { color: #000; background: #54a27e; }

::selection { color: #000; background: #54a27e; }

/* SCROLL 
------------------------------------------------------------ */

::-webkit-scrollbar {
  width: .8vw;
}

::-webkit-scrollbar-track {
  background: rgba(84,162,126,0.6);
}

::-webkit-scrollbar-thumb {
  background: #000;
  border: solid .2vw #59b17c;
}

/* BORDER 
------------------------------------------------------------ */

hr {
  clear: both;
  position: relative;
  width: 100%;
  height: .35vw;
  border: none;
  background: #54a27e;
}

/* FONT 
------------------------------------------------------------ */

.press {
  font-weight: bold;
  font-family: "Press", 'Press Start 2P', arial;
}

/* LINK BOX
------------------------------------------------------------ */

a {
  color: #54a27e;
  text-decoration: none;
}

.link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
}

/* FLEX BOX 
------------------------------------------------------------ */

.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin: 0;
}

/* WRAP 
------------------------------------------------------------ */

#wrap {
  display: block;
  opacity: 0.9;
  position: relative;
  width: 100%;
  height: 100vh;
  margin: 0;
  overflow: hidden;
  background: #000;
}

/* IMPORTANT 
------------------------------------------------------------ */

#important {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  color: transparent; 
  font-size: 3vw;
  word-break: break-all;  
  pointer-event: none;
}

/* HEADER
------------------------------------------------------------ */

#hubbardian {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 98%;
  height: 100%;
  margin: 0 1%;
  padding: 0;
  overflow: hidden;
}

#hubbardian div {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
}

#hubbardian div:first-child {
  width: 5vw;
  height: auto;
}

#hubbardian div:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  width: 26.2vw;
  height: 89%;
}

#hubbardian div:last-child {
  display: block;
  width: 100%;
  height: 11%;
}

/* HEADER > SITE NAME
------------------------------------------------------------ */

#hubbardian h1 {
  margin: 0;
  padding: 0;
  color: #54a27e;
  font-weight: bold;
  font-size: 5.12vw;
  line-height: 5vw;
  letter-spacing: -.01em;
  font-family: "Press", 'Press Start 2P', arial;
  text-align: left;
}

#hubbardian div:first-child > h1 {
  position: absolute;
  bottom: 10%;
  left: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}

#hubbardian div:last-child > h1 {
  display: inline-block;
  position: relative;
}

/* HEADER > CASTLE
------------------------------------------------------------ */

#hubbardian div:nth-child(2) > p {
  position: relative;
  width: .8vw;
  background: #54a27e;
}

#hubbardian div:nth-child(2) > p:first-child {
  height: 90%;
  margin: 0 1.5% 5%;
}

#hubbardian div:nth-child(2) > p:first-child::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: -2vw;
  left: -130%;
  width: 3vw;
  height: 1.5vw;
  background: #54a27e;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
          clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

#hubbardian div:nth-child(2) > p:nth-child(2) {
  height: 80%;
  margin: 0 1.5% 5%;
}

#hubbardian div:nth-child(2) > p:last-child {
  width: 80%;
  height: 65%;
  margin: 0 0 5% 1.5%;
  border-bottom: solid .8vw #54a27e;
  border-left: solid .8vw #54a27e;
  border-bottom-left-radius: 2vw;
  background: transparent;
}

/* BOX
------------------------------------------------------------ */

#box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: absolute;
  bottom: 1%;
  left: 32%;
  width: 67%;
  height: 86%;
  margin: 0;
}

/* CONTENTS
------------------------------------------------------------ */ 

#contents {
  position: relative;
  width: 73%;
  height: 100%;
  margin: 0;
  padding: 0 1%;
  overflow-y: scroll;
  overflow-x: hidden;
  border-top: solid .5vw #54a27e;
  border-left: solid .5vw #54a27e;
  border-top-left-radius: 2vw;
  background: #000;
  color: #54a27e;
}

#contents > span {
  display: block;
  padding: 1% 0;
  color: #54a27e;
  font-size: 2.5vw;
  font-weight: bold;
}

#contents > .headline {
  margin: 1% 0;
  padding: 1% 0;
  font-size: 3.1vw;
  font-family: "Press", 'Press Start 2P', arial;
  letter-spacing: -.08em;
}

#contents > p {
  display: block;
  margin: 0 0 1%;
  padding: 0;
  font-size: 1.1vw;
  line-height: 1.5vw;
}

/* NAVIGATION
------------------------------------------------------------ */ 

nav {
  width: 27%;
  height: 100%;
  margin: 0;
  padding: 0 0 0 .3%;
  border-top: solid .5vw #54a27e;
  border-top-right-radius: 2vw;
  background: #54a27e;
  word-break: break-all;
}

nav * {
  display: block;
  position: relative;
  width: 100%;
}

nav h1 {
  display: none;
  height: 1vw;
  margin: 4% 0 2%;
  background: 0% 50% / 2% space url(../image/design/07/diamond.png);
  color: rgba(84,162,126,0.9);
  font-weight: bold;
  font-size: 0;
  font-family: "Press", 'Press Start 2P', arial;
  line-height: 3.5vw;
  letter-spacing: -.15em;
  -webkit-filter: drop-shadow( -.5vw -.5vw .01vw rgba(0,0,0,0.3) );
          filter: drop-shadow( -.5vw -.5vw .01vw rgba(0,0,0,0.3) );
}

nav iframe {
  height: 98%;
  padding: 1% 0 0;
  border: none;
  overflow-y: scroll;
}

/* FOOTER
------------------------------------------------------------ */ 

footer {
  width: 100%;
  height: auto;
  margin: 5% 0 0;
  color: #54a27e;
  font-size: .8vw;
  font-family: "Press", 'Press Start 2P', arial;
  letter-spacing: -.1em;
}

/* COPY 
------------------------------------------------------------ */

#cp {
  position: absolute;
  color: #fff;
  font-family: 'Press';
  font-size: .6vw;
  text-align: right;
}

/* FOR PORTRAIT
------------------------------------------------------------ */

@media screen and (orientation: portrait) {

::-webkit-scrollbar {
  width: 0;
}

hr {
  height: 1vw;
}

#important {
  font-size: 4.5vw;
}

#hubbardian {
  display: none;
}

#wrap {
  opacity: 1;
  overflow-y: scroll; 
}

#box{
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  margin: 0;
}

#contents {
  position: relative;
  z-index: 98;
  width: 96%;
  height: auto;
  margin: 34vw auto 0;
  padding: 2% 2% 50% 2%;
  overflow: hidden;
  border: none;
}

#contents > span {
  font-size: 6vw;
  line-height: 5.8vw; 
}

#contents > .headline {
  margin: 1% 0;
  font-size: 6.2vw;
  line-height: 6vw; 
}

#contents > p {
  margin: 2% auto;
  padding: 0;
  font-size: 2.8vw;
  line-height: 4vw;
}

nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: auto;
  padding: 0;
  border: none;
  border-radius: 0;
}

nav h1 {
  display: none;
}

nav iframe {
  height: 33vw;
  margin: 3.3vw 0 0;
  padding: 0;
  border: none;
}

footer {
  margin: 10% 0;
  font-size: 2.8vw;
}

#cp {
  z-index: 99;
  width: 100%;
  margin: -1.4vw 0 0;
  padding: .2% 0;
  background: #000;
  font-size: 2vw;
  text-align: center;
}

}