html {
  overflow: hidden;
}

body {
  font-family: "Noto Sans Japanese";
}

/* navigation -------------------------*/
.hamburger {
  top: 50px !important;
  right: 50px !important;
  left: auto !important;
  width: 40px !important;
  height: 26px !important;
  padding: 0 !important;
  -webkit-transform-origin: top right !important;
      -ms-transform-origin: top right !important;
          transform-origin: top right !important;
  opacity: 0;
}
@media (max-width: 575px) {
  .hamburger {
    top: 25px !important;
    right: 25px !important;
  }
}
.full000-enter .hamburger {
  -webkit-animation: hamburger 1000ms 3000ms !important;
          animation: hamburger 1000ms 3000ms !important;
  -webkit-animation-fill-mode: both !important;
          animation-fill-mode: both !important;
}
@-webkit-keyframes hamburger {
  100% {
    opacity: 1;
  }
}
@keyframes hamburger {
  100% {
    opacity: 1;
  }
}
.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after {
  width: 40px !important;
  height: 3px !important;
  background-color: #00794f !important;
}

.hamburger__icon {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.hamburger__icon:before {
  top: -10px !important;
}

.hamburger__icon:after {
  top: 10px !important;
}

.hamburger.active .hamburger__icon {
  background-color: transparent !important;
}
.hamburger.active .hamburger__icon::before, .hamburger.active .hamburger__icon::after {
  background-color: white !important;
}
.hamburger.active .hamburger__icon::before {
  -webkit-transform: translateY(10px) rotate(45deg) !important;
      -ms-transform: translateY(10px) rotate(45deg) !important;
          transform: translateY(10px) rotate(45deg) !important;
}
.hamburger.active .hamburger__icon::after {
  -webkit-transform: translateY(-10px) rotate(-45deg) !important;
      -ms-transform: translateY(-10px) rotate(-45deg) !important;
          transform: translateY(-10px) rotate(-45deg) !important;
}

.fat-nav {
  background-color: rgba(0, 121, 79, 0.8) !important;
}
html:not(.ua-desktop) .fat-nav {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.fat-nav__wrapper {
  max-width: 700px !important;
  margin: auto !important;
}
@media (max-width: 575px) {
  .fat-nav__wrapper li {
    padding: 0 !important;
  }
}
.fat-nav__wrapper li:first-child a {
  font-size: 30px !important;
  font-weight: 500 !important;
}
@media (max-width: 575px) {
  .fat-nav__wrapper li:first-child a {
    font-size: 18px !important;
  }
}
.fat-nav__wrapper a {
  font-size: 25px !important;
  font-weight: 200 !important;
  position: relative !important;
}
@media (max-width: 575px) {
  .fat-nav__wrapper a {
    font-size: 16px !important;
  }
}
.fat-nav__wrapper a::after {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  content: "" !important;
  -webkit-transition: width 250ms !important;
          transition: width 250ms !important;
  background-color: yellow !important;
}
.fat-nav__wrapper a:hover::after {
  width: 100% !important;
}

.fat-nav__facebook::after {
  display: none !important;
}
.fat-nav__facebook i {
  font-size: 35px !important;
  line-height: 25px !important;
  -webkit-transition: color 250ms !important;
          transition: color 250ms !important;
  vertical-align: middle !important;
}
.fat-nav__facebook i:hover {
  color: #315096 !important;
}

/* loader -------------------------*/
.loader,
.loader::after {
  width: 10em;
  height: 10em;
  border-radius: 50%;
}

.loader {
  font-size: 10px;
  line-height: 1;
  width: 40px;
  height: 40px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
          animation: load8 1.1s infinite linear;
  text-indent: -9999em;
  border-top: 0.8em solid rgba(0, 121, 79, 0.2);
  border-right: 0.8em solid rgba(0, 121, 79, 0.2);
  border-bottom: 0.8em solid rgba(0, 121, 79, 0.2);
  border-left: 0.8em solid #00794f;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transition: opacity 1000ms;
}
.full000-enter .loader {
  opacity: 0;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* preload -------------------------*/
.preload {
  display: none;
}

/* body-sublime -------------------------*/
.body-sublime {
  opacity: 0;
}
.full000-enter .body-sublime {
  -webkit-animation: body-sublime 3000ms 3000ms;
          animation: body-sublime 3000ms 3000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes body-sublime {
  100% {
    opacity: 1;
  }
}
@keyframes body-sublime {
  100% {
    opacity: 1;
  }
}
/* full000 -------------------------*/
.full000 {
  position: fixed;
  width: 100%;
  height: 100%;
  padding: 35px;
}
@media (max-width: 575px) {
  .full000 {
    padding: 10px;
  }
}

.full000-inner {
  position: relative;
  height: 100%;
  border: 2px solid;
  border-color: transparent;
  background-color: rgba(255, 255, 255, 0.55);
}
.full000-enter .full000-inner {
  -webkit-animation: full000_inner 1000ms 3000ms;
          animation: full000_inner 1000ms 3000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_inner {
  100% {
    border-color: #00794f;
  }
}
@keyframes full000_inner {
  100% {
    border-color: #00794f;
  }
}
/* logo */
.full000-logo {
  width: 550px;
  height: 77px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.full000-logo img {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .full000-logo {
    width: 500px;
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
  }
}
@media (max-width: 575px) {
  .full000-logo {
    width: 300px;
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
  }
}
@media (max-height: 450px) {
  .full000-logo {
    bottom: -50%;
  }
}
@media (max-height: 320px) {
  .full000-logo {
    bottom: -50%;
  }
}

.full000-logo-01 {
  -webkit-transition: 1275ms 2075ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 1275ms 2075ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0);
  opacity: 0;
}
.full000-enter .full000-logo-01 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.full000-logo-02 {
  -webkit-transition: 1550ms 2150ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 1550ms 2150ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0);
  opacity: 0;
}
.full000-enter .full000-logo-02 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.full000-logo-03 {
  -webkit-transition: 1825ms 2225ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 1825ms 2225ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0);
  opacity: 0;
}
.full000-enter .full000-logo-03 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.full000-logo-04 {
  -webkit-transition: 2100ms 2300ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 2100ms 2300ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0);
  opacity: 0;
}
.full000-enter .full000-logo-04 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.full000-logo-05 {
  -webkit-transition: 2375ms 2375ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 2375ms 2375ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0);
  opacity: 0;
}
.full000-enter .full000-logo-05 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

@media (max-width: 575px) {
  .full000-logo-mark {
    position: absolute;
    top: -85px;
    right: 0;
    left: 0;
    width: 79px;
    height: 74px;
    margin: auto;
  }
}

@media (max-width: 767px) {
  .full000-logo-type {
    -webkit-transform: scale(0.975);
        -ms-transform: scale(0.975);
            transform: scale(0.975);
    -webkit-transform-origin: right;
        -ms-transform-origin: right;
            transform-origin: right;
  }
}
@media (max-width: 575px) {
  .full000-logo-type {
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0);
  }
}

.full000-logo-06 {
  -webkit-transform: scale(5) rotate(-180deg);
      -ms-transform: scale(5) rotate(-180deg);
          transform: scale(5) rotate(-180deg);
  opacity: 0;
  -webkit-filter: blur(5px);
          filter: blur(5px);
}
.full000-enter .full000-logo-06 {
  -webkit-animation: full000_15 2500ms 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
          animation: full000_15 2500ms 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_15 {
  100% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes full000_15 {
  100% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.full000-logo-07 {
  -webkit-transform: scale(5) translate3d(-100px, 100px, 0);
          transform: scale(5) translate3d(-100px, 100px, 0);
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  opacity: 0;
}
.full000-enter .full000-logo-07 {
  -webkit-animation: full000_16 1250ms 1750ms cubic-bezier(0.165, 0.84, 0.44, 1);
          animation: full000_16 1250ms 1750ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_16 {
  100% {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
            transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes full000_16 {
  100% {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
            transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
/* catch */
.full000-catch {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.3em;
  position: absolute;
  right: 0;
  bottom: 30%;
  left: 0;
  width: 100%;
  height: 1em;
  margin: 0 auto;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
  text-align: center;
  opacity: 0;
  color: #00794f;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 5px rgba(255, 255, 255, 0.25), 0 0 2.5px rgba(255, 255, 255, 0.125);
}
@media (max-width: 575px) {
  .full000-catch {
    font-size: 24px;
    bottom: 37.5%;
  }
}
@media (max-height: 450px) {
  .full000-catch {
    bottom: 0%;
  }
}
@media (max-height: 320px) {
  .full000-catch {
    bottom: 0%;
  }
}
.full000-enter .full000-catch {
  -webkit-animation: full000_catch 2000ms 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
          animation: full000_catch 2000ms 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_catch {
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes full000_catch {
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.full000glint {
  -webkit-animation: full000_glint 7000ms infinite;
          animation: full000_glint 7000ms infinite;
}
@-webkit-keyframes full000_glint {
  1% {
    color: #fccf00;
  }
  4% {
    color: #01935f;
  }
}
@keyframes full000_glint {
  1% {
    color: #fccf00;
  }
  4% {
    color: #01935f;
  }
}
/* buttons */
.full000-buttons {
  position: absolute;
  bottom: 5%;
  width: 100%;
  opacity: 0;
}
@media (max-width: 575px) {
  .full000-buttons {
    -webkit-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0);
  }
}
@media (max-height: 450px) {
  .full000-buttons {
    display:none;
  }
}
.full000-enter .full000-buttons {
  -webkit-animation: full000_buttons 1000ms 3000ms;
          animation: full000_buttons 1000ms 3000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_buttons {
  100% {
    opacity: 1;
  }
}
@keyframes full000_buttons {
  100% {
    opacity: 1;
  }
}
.full000-buttons-left {
  text-align: right;
}
@media (max-width: 991px) {
  .full000-buttons-left {
    position:relative;
    top: 100px;
    text-align: center;
  }
}

.full000-buttons-right {
  text-align: left;
}
@media (max-width: 991px) {
  .full000-buttons-right {
    position:relative;
    top: 115px;
    text-align: center;
  }
}

.full000-buttons-item {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 20em;
  padding: 30px 0;
  -webkit-transition: 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  text-align: center;
  letter-spacing: .1em;
  color: #00794f;
  border: 2px solid #00794f;
  background-color: rgba(255, 255, 255, 0.45);
  z-index: 1;
}
@media (max-width: 575px) {
  .full000-buttons-item {
    font-size: 16px;
    font-weight: 400;
    width: 90%;
  }
}
@media (max-height: 320px) {
  .full000-buttons-item {
    padding: 10px 0;
  }
}
.ua-nontouch .full000-buttons-item:hover {
  color: yellow;
  background-color: rgba(255, 255, 255, 0);
}
.full000-buttons-item::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: -35%;
  width: 0;
  height: 100%;
  content: '';
  -webkit-transition: width 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: width 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: skew(50deg);
      -ms-transform: skew(50deg);
          transform: skew(50deg);
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
  background-color: #00794f;
}
.ua-nontouch .full000-buttons-item:hover::before {
  width: 135%;
}

/* inner-inner */
.full000-inner-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.full000-enter .full000-inner-inner {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-animation: full000_inner_inner 1000ms 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
          animation: full000_inner_inner 1000ms 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000_inner_inner {
  100% {
    -webkit-transform: translate3d(0, -20%, 0);
            transform: translate3d(0, -20%, 0);
  }
}
@keyframes full000_inner_inner {
  100% {
    -webkit-transform: translate3d(0, -20%, 0);
            transform: translate3d(0, -20%, 0);
  }
}
/* shimoda */
.full000-shimoda {
  line-height: 1;
  position: absolute;
  right: 10px;
  bottom: 10px;
  opacity: 0;
  color: #00794f;
}
.full000-enter .full000-shimoda {
  -webkit-animation: full000-shimoda 1000ms 3000ms;
          animation: full000-shimoda 1000ms 3000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes full000-shimoda {
  100% {
    opacity: 1;
  }
}
@keyframes full000-shimoda {
  100% {
    opacity: 1;
  }
}
