/*----- General -----*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
background: #333333 url(body_fm.jpg) repeat-x left top;
font-family: 'Lato', sans-serif;
font-weight: 900;
overflow: hidden;
}

h1 {
  text-align: center;
  color: #00a1df;
  font-size: 40px;
  margin-top: 36px;
}

/*---------- Tatemono / Parking / Michi / Kage ----------*/

/*.parking {
  margin-left: auto;
  margin-right: auto;
  height: 90px;
  width: 496px;
  color: #ffffff;
  background: repeating-linear-gradient(90deg, #ffffff, #ffffff 6px, #333333 6px, #333333 70px);
  opacity: .9;
}*/

.michi {
  width: 100%;
  height: 20px;
  background-color: #979797;
}

.michi-2 {
  width: 100%;
  height: 600px;
  background-color: #333333;
}

.tatemono {
  position: relative;
  width: 423px;
  height: 160px;
  background-color: #feffed;
  margin-top: 230px;
  margin-left: auto;
  margin-right: auto;
  z-index: 101
}

.kage {
  position: absolute;
  width: 374px;
  height: 10px;
  background-color: rgba(0,0,0,.2);
  top: 63px;
  left: 49px;
  z-index: 1100;
}

/*---------- Bordure ----------*/
.bordure-hidari,
.bordure-migi {
  position: absolute;
  bottom: 0;
  height: 4px;
  background-color: #7d7d7d; 
}

.bordure-hidari {
  width: 221px;
}

.bordure-migi {
  right: 0;
  width: 140px;
}

/*---------- Kanban ----------*/
.kanban {
  position: absolute;
  right: 0;
  top: 16px;
  width: 374px;
  height: 47px;
  background-color: #ffffff;
  border-top: 16px solid #01a044;
  border-bottom: 4px solid #00a1df;
}

.kanban span {
  position: absolute;
  color: #00a1df;
  font-size: 23px;
  right: 86px;
  top: -2px;
}

.kanban .sen {
  position: absolute;
  top: -16px;
  width: 1px;
  height: 47px;
  border-left: 1px solid rgba(255,255,255,.5);
}

.ichi {right: 25px; }
.ni { right: 75px; }
.san { right: 224px; }
.yon { right: 274px; }
.go { right: 324px; }

.kanban span.kanban-txt{
  position: absolute;
  left: 52px;
  top: 15px;
  color: #333333;
  font-size: 6px;
  font-weight: 700;
} 

/*---------- Kanban Nihongo ----------*/
.kanban-nihongo {
  position: absolute;
  text-align: center;
  top: 63px;
  left: 221px;
  width: 186px;
  height: 20px;
  background-color: #00a1df;
  z-index: 1000;
}

/*---------- Mado ----------*/
.mado-bg {
  background-color: #87bac7;
}

.chiisai-mado,
.mado-migi-ookii,
.mado-hidari,
.mado-migi {
  position: absolute;
  top: 63px;
  border-top: solid 4px #e5e6d6;
  border-bottom: solid 4px #e5e6d6;
}

.chiisai-mado,
.mado-migi-ookii {
  border-right: solid 4px #e5e6d6;
  border-left: solid 4px #e5e6d6;
}

.chiisai-mado {
  left: 11px;
  width: 33px;
  height: 23px;
}

.mado-hidari,
.mado-migi {
  width: 71px;
  height: 85px;
}

.mado-hidari {
  left: 59px;
  border-right: solid 2px #e5e6d6;
  border-left: solid 4px #e5e6d6;
}

.mado-migi {
  left: 130px;
  border-right: solid 4px #e5e6d6;
  border-left: solid 2px #e5e6d6;
}

.ookii-mado { /* mado-migi-ookii container*/
  position: absolute;
  left: 4px;
}

.mado-migi-ookii {
  left: 279px;
  width: 124px;
  height: 85px;
}

/*---------- Stickers ----------*/
.mado-hidari-sticker,
.mado-migi-sticker,
.mado-migi-ookii-sticker,
.doa-migi-sticker {
  position: absolute;
  width: 63px;
  height: 10px;
  background-color: #ffffff;
  border-top: solid 3px #01a044;
  border-bottom: solid 2px #00a1df;
  top: 118px;
  z-index: 1000;
}

.mado-hidari-sticker {
  left: 64px;
}

.mado-migi-sticker {
  left: 133px;
}

.mado-migi-ookii-sticker {
  width: 114px;
  left: 284px;
}

.doa-migi-sticker {
  width: 21px;
  top: 51px;
  left: 1px;
}

/*---------- Informations ----------*/
.tabakosake {
  position: absolute;
  left: 287px;
  top: 92px;
  z-index: 1000;
}

.atm {
  position: absolute;
  color: #00a1df;
  background-color: #ffffff;
  font-size: 8px;
  padding: 2px 2px;
  top: 100px;
  left: 320px;
  z-index: 1000;
}

/*---------- Doa ----------*/
.doa-hidari,
.doa-migi {
  position: absolute;
  z-index: 100;
  top: -4px;
  height: 97px;
  border-top: solid 4px #e5e6d6;
  border-left: solid 4px #e5e6d6;
  border-right: solid 4px #e5e6d6;
}

.doa-hidari {
  left: 0px;
  width: 31px;
}

.doa-migi {
  left: 31px;
  width: 31px;
}

.doa-hidari::after,
.doa-migi::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
}

.doa-hidari::after {
  right: -5px;
}
.doa-migi::before {
  right: 26px;
}

.doa-logo {
  position: absolute;
  font-size: 14px;
  color: #ffffff;
  top: 46px;
  left: -27px;
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  z-index: 1000;
  user-select: none;
}

.doa-bg {
  position: absolute;
  top: 67px;
  left: 221px;
  width: 62px;
  height: 93px;
  background: #ffffff;
  overflow: hidden;
}
.doa-bg:hover {
  cursor: pointer;
}

/*---------- Doa Animation ----------*/
.open-left { animation: openleft 5s linear 1; }
.open-right { animation: openright 5s linear 1; }

@keyframes openleft {
  0% {transform: translate(0px, 0px);}
  50% {transform: translate(-31px, 0px);}
  100% {transform: translate(0px, 0px);}
}

@keyframes openright {
  0% {transform: translate(0px, 0px);}
  50% {transform: translate(31px, 0px);}
  100% {transform: translate(0px, 0px);}
}

/*---------- Keijiban ----------*/
.keijiban {
  position: absolute;
  width: 80px;
  height: 110px;
  border-radius: 4px;
  background-color: #ffffff;
  left: 412px;
  top: -140px;
  text-align: center;
}

.k-fami {
  position: absolute;
  font-size: 14px;
  color: #00a1df;
  left: 4px;
  padding-top: 50px;
}

.k-fami::before,
.k-fami::after {
  content: "";
  position: absolute;
  left: 0px;
}

.k-fami::before {
  width: 72px;
  height: 37px;
  background-color: #01a044;
  top: 4px;
}

.k-fami::after {
  width: 71px;
  height: 4px;
  background-color: #00a1df;
  top: 76px;
}

.k-24 {
  color: #ffffff;
  background-color: #00a1df;
  padding: 2px 4px;
  position: absolute;
  bottom: 4px;
  left: 4px;
}

.bou {
  position: absolute;
  height: 156px;
  width: 6px;
  background-color: #33332f;
  left: 37px;
  top: 110px;
}
.bou::after,
.gomibako-1::before {
  content: "";
  position: absolute;
  width: 10px;
  background-color: #33332f;
}

.bou::after {
  height: 38px;
  border-bottom: 2px solid #1a1a17;
  bottom: -34px;
  left: -2px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

/*---------- Haizara ----------*/
.haizara {
  position: absolute;
  left: -3px;
  top: 130px;
  width: 10px;
  height: 30px;
  background-color: #e6e6e6;
  border-top: 2px solid #acb8bb;
  border-left: 3px solid #acb8bb;
  border-bottom: 5px solid #acb8bb;
  z-index: 1000;
}

.haizara::before,
.haizara::after {
  content: "";
  position: absolute;
  width: 10px;
  left: -3px;
}

.haizara::before {
  background-color: #e6e6e6;
  height: 2px;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  top: -4px;
}

.haizara::after {
  background-color: #33332f;
  height: 1px;
  top: 27px;
}

.haizara hr {
  border: 0;
  height: 1px;
  background-color: #acb8bb;
  margin-top: 2px;
  width: 5px;
  margin-left: 2px;
}

/*---------- Bench ----------*/
.bench {
  position: absolute;
  width: 43px;
  height: 3px;
  left: 11px;
  top: 144px;
  background-color: #d28f6f;
  border-bottom: 1px solid #a46437;
  z-index: 1000;
}

.bench::after {
  content: "";
  width: 39px;
  height: 2px;
  background-color: rgba(0,0,0,.4);
  position: absolute;
  top: 3px;
  left: 2px;
}

.bench-ashi {
  position: absolute;
  width: 3px;
  height: 13px;
  background-color: #d28f6f;
  top: 3px;
}

.hidari-ashi { left: 2px; }
.migi-ashi { right: 2px; }

/*---------- Gomibako ----------*/
.gomibako {
  position: absolute;
  top: 130px;
  left: 137px;
  z-index: 1100;
}

.gomibako-1,
.gomibako-2,
.gomibako-3 {
  position: absolute;
  width: 14px;
  height: 30px;
  background-color: #acb8bb;
  border-top: solid 3px #01a044;
  border-bottom: solid 1px #33332f;
}

.gomibako-2 {
  left: 15px;
}

.gomibako-3 {
  left: 30px;
}

.gomibako-1::before {
  height: 5px;
  border: 1px solid #7d7d7d;
  top: 1px;
  left: 1px;
}

.gomibako-2::before,
.gomibako-3::before {
  position: absolute;
  font-size: 10px;
  color: #33332f;
  top: -2px;
  left: 1px;
}

.gomibako-2::before {
  content: "\25CF\25CF";
}

.gomibako-3::before {
  content: "\25CF\25A0";
}

.gomibako-1::after,
.gomibako-2::after,
.gomibako-3::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 5px;
  background-color: #01a044;
  top: 10px;
  left: 3px;
}

.gomi-txt-1,
.gomi-txt-2,
.gomi-txt-3 {
  color: #ffffff;
  font-size: 3px;
  z-index: 1000;
  position: absolute;
  top: 10px;
  left: 4px;
}

/*---------- Denwa Box ----------*/
.denwa-box {
  position: absolute;
  top: 103px;
  left: 202px;
  z-index: 1100;
}
.box {
  position: absolute;
  width: 18px;
  height: 32px;
  background-color: #7d7d7d;
  border: 2px solid #33332f;
}
.box::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 1px;
  background-color: #acb8bb;
}
.denwa-green {
  position: absolute;
  width: 10px;
  height: 18px;
  background-color: #e6e6e6;
  border-right: 1px solid #4cbd64;
  border-bottom: 9px solid #4cbd64;
  border-left: 1px solid #4cbd64;
  left: 3px;
  bottom: 0;
}
.denwa-green::before {
  content: "";
  position: absolute;
  width: 3px;
  height: 8px;
  background-color: #41a356;
  top: 2px;
  left: -2px;
}
.denwa-green::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 2px;
  background-color: #33332f;
  bottom: -9px;
  left: -1px;
}
.denwa-otsuri::before {
  content: "\25A0";
  position: absolute;
  font-size: 7px;
  left: 4px;
  bottom: -7px;
}
.denwa-ashi {
  position: absolute;
  width: 3px;
  height: 25px;
  background-color: #acb8bb;
  left: 8px;
  top: 32px;
}
.denwa-ashi::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 2px;
  background-color: #acb8bb;
  top: 23px;
  left: -6px;
}

/*---------- Yuubin ----------*/
.yuubin {
  position: absolute;
  top: 119px;
  left: 406px;
  z-index: 1100;
}
.akabox {
  position: absolute;
  width: 15px;
  height: 28px;
  background-color: #c23b2f;
}
.akabox::before {
  content: "\3012";
  position: absolute;
  color: #ffffff;
  font-size: 6px;
  left: 5px;
  bottom: 4px; 
}
.akabox::after {
  content: "";
  position: absolute;
  border-bottom: solid 1px #ffffff;
  width: 11px;
  left: 2px;
  bottom: 3px;
}

.greybox {
  position: absolute;
  width: 13px;
  height: 12px;
  background-color: #e6e6e6;
  border-top: 1px solid #7d7d7d;
  border-right: 1px solid #7d7d7d;
  border-left: 1px solid #7d7d7d;
  top: 2px;
  left: 1px;
}
.greybox hr {
  border: 0;
  height: 2px;
  background-color: #33332f;
  margin-top: 1px;
  width: 9px;
  margin-left: 1px;
}

.box-ashi {
  position: absolute;
  width: 5px;
  height: 13px;
  background-color: #33332f;
  top: 28px;
  left: 5px;
}


/*---------- Clouds ----------*/
#clouds {
    position: absolute;
    top: 170px;
    left: 50px;
    z-index: -9999;
    opacity: .9;
}

.kumo {
  position: relative; 
  width: 180px;
  height: 60px;
  background: #fff;
  border-radius: 200px;
  -moz-border-radius: 200px;
  -webkit-border-radius: 200px;
}

.kumo::before, .kumo::after {
  content: "";
  position: absolute; 
  background: #fff;
  width: 80px;
  height: 80px;
  top: -20px;
  left: 15px;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  -moz-transform: rotate(30deg);
}

.kumo::after {
    width: 90px;
    height: 90px;
    top: -35px;
    left: auto;
    right: 20px;
}

.x1 { animation: ugoku-kumo 60s linear infinite; }

.x2 {
  left: 300px;
  top: 25px;
  transform: scale(.6);
  animation: ugoku-kumo 40s linear infinite;
} 

.x3 {
  left: -150px;
  top: -65px;
  transform: scale(.8);
  animation: ugoku-kumo 60s linear infinite;
} 

.x4 {
  left: 460px;
  top: -140px;
  transform: scale(.5);
  animation: ugoku-kumo 40s linear infinite;
} 

.x5 {
  left: 580px;
  top: -160px;
  transform: scale(.4);
  animation: ugoku-kumo 45s linear infinite;
} 

@keyframes ugoku-kumo {
  0% {opacity:0; margin-left: 1200px;}
  10% {opacity:.4;}
  90% {opacity:0;}
  100% {margin-left: -1200px;}
}

/*---------- Night ----------*/
.night-tareginu,
.tsuki {
  display: none;
}

.light {
  box-shadow: 0px 0px 40px 2px rgba(255,255,255,.6);
}

body {
  transition: all .5s ease-in-out;
}

.sky-night {
  background: #041931 url(body_fm_night.jpg) repeat-x left top;
}

.tatemono-night {
  background-color: #edfeff;
}
.michi-night {
  background-color: #5c656e;
}
.michi-2-night {
  background-color: #202932;
}

.tsuki-off {
  position: absolute;
  width: 90px;
  height: 90px;
  background-color: #ffffff;
  border-radius: 50%; 
  top: 250px;
  left: 170px;
  z-index: 3000;
  opacity: 0;
  transition: all .7s ease-in-out;
}
.tsuki-on {
  position: absolute;
  width: 90px;
  height: 90px;
  background-color: #ffffff;
  border-radius: 50%; 
  top: 150px;
  left: 170px;
  z-index: 3000; 
  opacity: 1;
}

/*---------- Footer ----------*/
footer {
    width: 100%;
    height: 160px;
    position: absolute;
    bottom: 0;
    z-index: 9999;
}
footer p {
  text-align: center;
  font-size: 16px;
  font-weight: 300;
  color: rgba(125,125,125,.4);
  margin-top: 30px;
}
footer p a {
  color: rgba(125,125,125,.4);
  text-decoration: none;
  border-bottom: 1px solid rgba(125,125,125,.4);
  padding-bottom: 2px;
}
.switch {
  width: 230px;
  font-size: 16px;
  color: rgba(255,255,255,.2);
  background-color: rgba(255,255,255,.1);
  padding: 13px 2px 2px 5px;
  border-radius: 100px;
  margin: 0 auto;
  height: 90px;
  text-align: center;
}
.switch:hover {
  cursor: pointer;
}
.fa {
  font-size: 4em;
  transition: all .5s ease-in-out;
}
.fa:first-child {
  margin-right: 30px;
}
.fa:first-child:hover {
  color: #FDB813;
}

.fa:active {
  font-size: 3.9em;
}
.fa:first-child:active {
  margin-right: 32px;
  
}
.fa:last-child:active {
  margin-left: 2px;
  
}
.fa:last-child:hover {
  color: #FEFCD7;
}

.fa-soleil-on {
  color: #FDB813; 
}

.fa-moon-on {
  color: #FEFCD7;
}

@media (min-width: 750px) {

    .switch {
      transform: scale(.4, .4);
    }

}