@charset "UTF-8";
/* =base
------------------------------------------------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html.html_reset {
  margin: 0 !important;
  padding: 0 !important;
}

body {
  height: 100%;
  overflow-y: scroll;
  background-color: #fff;
  text-align: center;
  color: #514218;
  font-family: YakuHanJP, "Noto Sans JP", "Noto Sans", "メイリオ", "Meiryo", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.7em;
}

main {
  position: relative;
  overflow: hidden;
}

a {
  color: #3EBCDF;
  text-decoration: none;
  outline: none;
}
a:hover {
  text-decoration: none;
}

img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

body.top header {
  opacity: 0;
}
body.top main {
  opacity: 0;
}
body.top footer {
  opacity: 0;
}
body.top.scroll_on header {
  opacity: 1;
}
body.top.scroll_on main {
  opacity: 1;
}
body.top.scroll_on footer {
  opacity: 1;
}

@media only screen and (max-width: 769px) {
  body {
    overflow: hidden;
    pointer-events: none;
    min-height: 100%;
  }
  body.scroll_on {
    overflow-y: scroll;
    overflow-x: hidden;
    pointer-events: auto;
  }
}
/* =common animation
------------------------------------------------------------------------------------------*/
@-webkit-keyframes rotation1 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation1 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes rotation1_re {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@keyframes rotation1_re {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@-webkit-keyframes rotation2 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes rotation2 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes rotation3 {
  0% {
    -webkit-transform: translate(50%, -50%) rotate(0);
            transform: translate(50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(50%, -50%) rotate(360deg);
            transform: translate(50%, -50%) rotate(360deg);
  }
}
@keyframes rotation3 {
  0% {
    -webkit-transform: translate(50%, -50%) rotate(0);
            transform: translate(50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(50%, -50%) rotate(360deg);
            transform: translate(50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes bg_dot_anime_01 {
  0% {
    background-position: 50% calc(min(135px , 30vh)*-1);
  }
  25% {
    background-position: 50% 0%;
  }
  75% {
    background-position: 50% 0%;
  }
  100% {
    background-position: calc(min(70px, 10vw)*-1) 0%;
  }
}
@-webkit-keyframes bg_dot_anime_02 {
  0% {
    background-position: 50% calc(min(135px , 30vh)*1);
  }
  25% {
    background-position: 50% 0%;
  }
  75% {
    background-position: 50% 0%;
  }
  100% {
    background-position: calc(min(70px, 10vw)*1) 0%;
  }
}
/* =change
------------------------------------------------------------------------------------------*/
.pc_only {
  display: block;
}

.sp_only {
  display: none !important;
}

@media only screen and (max-width: 769px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }
}
/* =header
------------------------------------------------------------------------------------------*/
header .in_nav_h {
  position: fixed;
  top: 20px;
  left: min(30px, 4%);
  width: min(160px, 15vw);
  height: auto;
  z-index: 9998;
}
header .in_nav_h a img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 769px) {
  header .in_nav_h {
    top: 10px;
    left: 10px;
    width: min(160px, 26vw);
  }
}
/*=============================
.nav_trigger
=============================*/
.nav_trigger_outer {
  display: block;
  position: fixed;
  top: calc(min(42px , 3vw) *-1);
  right: calc(min(42px , 3vw) *-1);
  width: min(210px, 25vw);
  height: min(210px, 25vw);
  z-index: 9999;
  cursor: pointer;
  background: no-repeat center url("../images/svg/nav_trigger_base.svg");
  background-size: contain;
  -webkit-filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.4));
}
.nav_trigger_outer::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 50%;
  width: 110%;
  height: 110%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: no-repeat center url("../images/svg/nav_trigger_clock.svg");
  background-size: contain;
  pointer-events: none;
  -webkit-animation: 60s linear infinite rotation2;
          animation: 60s linear infinite rotation2;
}
.nav_trigger_outer .nav_trigger {
  position: absolute;
  width: 34%;
  height: 34%;
  cursor: pointer;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.nav_trigger_outer .nav_trigger span {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 13px;
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.nav_trigger_outer .nav_trigger span:nth-last-of-type(1) {
  top: calc(50% - 15%);
  width: 100%;
  background: no-repeat center url("../images/svg/nav_trigger_spoon.svg");
  background-size: contain;
}
.nav_trigger_outer .nav_trigger span:nth-last-of-type(2) {
  top: calc(50% + 15%);
  width: 100%;
  background: no-repeat center url("../images/svg/nav_trigger_folk.svg");
  background-size: contain;
}
.nav_trigger_outer.active .nav_trigger span:nth-last-of-type(1) {
  -webkit-transform: translate(-50%, -50%) rotate(-315deg);
          transform: translate(-50%, -50%) rotate(-315deg);
  top: calc(50% - 0%);
}
.nav_trigger_outer.active .nav_trigger span:nth-last-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(315deg);
          transform: translate(-50%, -50%) rotate(315deg);
  top: calc(50% - 0%);
}
.nav_trigger_outer.top_nav_trigger_outer {
  opacity: 1;
  /*transition: 0.4s cubic-bezier(0.87, 0, 0.13, 1);*/
}
.nav_trigger_outer.top_nav_trigger_outer.scroll_in {
  opacity: 1;
}

@media only screen and (max-width: 769px) {
  .nav_trigger_outer {
    width: min(210px, 25vw);
    height: min(210px, 25vw);
  }
  .nav_trigger_outer .nav_trigger {
    width: 40%;
    height: 40%;
  }
  .nav_trigger_outer .nav_trigger span:nth-last-of-type(1) {
    top: calc(50% - 15%);
  }
  .nav_trigger_outer .nav_trigger span:nth-last-of-type(2) {
    top: calc(50% + 15%);
  }
}
/* =navi CSS
------------------------------------------------------------------------------------------*/
#gloval_nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.8);
}
#gloval_nav nav {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(600px, 50%);
  -webkit-transform: translate(-50%, -200%);
          transform: translate(-50%, -200%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#gloval_nav nav .nav_bg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(1050px, 130vw);
  height: min(1050px, 130vw);
  background: -webkit-gradient(linear, left top, left bottom, from(#FF91C7), to(#6DDDFF));
  background: linear-gradient(#FF91C7, #6DDDFF);
  border-radius: 1000vw;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
#gloval_nav nav .nav_bg::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 97%;
  height: 97%;
  border-radius: 1000vw;
  background: repeat center url("../images/texture_cross_dot.png") #fff;
  background-size: 60px;
}
#gloval_nav nav .nav_bg .outframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80%;
  height: min(55%, 120vh);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
#gloval_nav nav .nav_bg .outframe::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 100%;
  width: 50%;
  background: no-repeat center left url("../images/svg/parts_large_curve_left.svg");
  background-size: contain;
}
#gloval_nav nav .nav_bg .outframe::after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 100%;
  width: 50%;
  background: no-repeat center right url("../images/svg/parts_large_curve_right.svg");
  background-size: contain;
}
#gloval_nav nav .nav_inner {
  position: relative;
}
#gloval_nav nav .nav_inner ul.nav_list li {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-transform: translateY(-50px);
          transform: translateY(-50px);
  opacity: 0;
  margin-bottom: min(60px, 9vw);
}
#gloval_nav nav .nav_inner ul.nav_list li:last-of-type {
  margin-bottom: 0;
}
#gloval_nav nav .nav_inner ul.nav_list li a {
  position: relative;
  display: inline-block;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
#gloval_nav nav .nav_inner ul.nav_list li a::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 10%;
  left: -110%;
  width: 100%;
  height: 75%;
  background: no-repeat right url("../images/svg/logo_parts_left.svg");
  background-size: contain;
}
#gloval_nav nav .nav_inner ul.nav_list li a::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 10%;
  right: -110%;
  width: 100%;
  height: 75%;
  background: no-repeat right url("../images/svg/logo_parts_left.svg");
  background-size: contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
#gloval_nav nav .nav_inner ul.nav_list li a:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
}
#gloval_nav nav .nav_inner ul.nav_list li a img {
  width: auto;
  height: min(60px, 9.5vw);
  max-height: 8vh;
}
#gloval_nav nav .nav_inner ul.nav_list li a img.top {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(1) {
  -webkit-transition-delay: calc(1* 0.04s + 0.2s);
          transition-delay: calc(1* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(2) {
  -webkit-transition-delay: calc(2* 0.04s + 0.2s);
          transition-delay: calc(2* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(3) {
  -webkit-transition-delay: calc(3* 0.04s + 0.2s);
          transition-delay: calc(3* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(4) {
  -webkit-transition-delay: calc(4* 0.04s + 0.2s);
          transition-delay: calc(4* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(5) {
  -webkit-transition-delay: calc(5* 0.04s + 0.2s);
          transition-delay: calc(5* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(6) {
  -webkit-transition-delay: calc(6* 0.04s + 0.2s);
          transition-delay: calc(6* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(7) {
  -webkit-transition-delay: calc(7* 0.04s + 0.2s);
          transition-delay: calc(7* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(8) {
  -webkit-transition-delay: calc(8* 0.04s + 0.2s);
          transition-delay: calc(8* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(9) {
  -webkit-transition-delay: calc(9* 0.04s + 0.2s);
          transition-delay: calc(9* 0.04s + 0.2s);
}
#gloval_nav nav .nav_inner ul.nav_list li:nth-of-type(10) {
  -webkit-transition-delay: calc(10* 0.04s + 0.2s);
          transition-delay: calc(10* 0.04s + 0.2s);
}
#gloval_nav.active {
  opacity: 1;
  pointer-events: inherit;
}
#gloval_nav.active nav {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#gloval_nav.active nav .nav_bg {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#gloval_nav.active nav .nav_bg .outframe {
  width: 125%;
  opacity: 1;
}
#gloval_nav.active nav .nav_inner ul.nav_list li {
  -webkit-transform: translate(0px);
          transform: translate(0px);
  opacity: 1;
}

@media only screen and (max-width: 1100px) {
  #gloval_nav nav .nav_bg {
    background: -webkit-gradient(linear, left top, right top, from(#FF91C7), to(#6DDDFF));
    background: linear-gradient(to right, #FF91C7, #6DDDFF);
  }
  #gloval_nav nav .nav_bg::before {
    background-size: 30px;
  }
  #gloval_nav nav .nav_bg .outframe {
    -webkit-transform: translate(-50%, -50%) rotateZ(90deg);
            transform: translate(-50%, -50%) rotateZ(90deg);
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
}
/* =foot
-----------------------------------------------------------------------------------------*/
footer {
  position: relative;
  padding: 54px 0;
  background-color: #fff;
  text-align: center;
}
footer .container .link_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}
footer .container .link_flex a {
  display: block;
  width: 170px;
  margin-right: 30px;
}
footer .container .link_flex a img {
  width: 100%;
  height: auto;
}
footer .container .link_flex a:last-of-type {
  margin-right: 0;
}
footer .container .kyosan {
  margin-bottom: 40px;
}
footer .container .kyosan p {
  color: #191919;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0.5em;
}
footer .container .kyosan a {
  display: block;
  width: 170px;
  margin: 0 auto;
}
footer .container .kyosan a img {
  width: 100%;
  height: auto;
}
footer .container .copywrite {
  color: #191919;
  font-size: 12px;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  footer {
    padding: 35px 0;
  }
  footer .container .link_flex {
    margin-bottom: 15px;
  }
  footer .container .link_flex a {
    margin-right: 10px;
    width: 140px;
  }
  footer .container .kyosan {
    margin-bottom: 22px;
  }
  footer .container .kyosan p {
    font-size: 12px;
  }
  footer .container .kyosan a {
    width: 130px;
  }
}
/* op_anim
------------------------------------------------------ */
.op_anim {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: repeat top left url("../images/texture_cross_dot.png") #fff;
  background-size: 60px;
  z-index: 20000;
  -webkit-transition: 0.8s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
.op_anim img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(540px, 70%);
  height: auto;
}
.op_anim.open {
  opacity: 0;
  pointer-events: none;
}

@media only screen and (max-width: 769px) {
  .op_anim {
    background-size: 30px;
  }
}
/* backgorund
------------------------------------------------------ */
.bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 110vh;
  background: no-repeat center url("../images/main_bg.jpg");
  background-size: cover;
  pointer-events: none;
}
.bg .dot {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: repeat center url("../images/svg/texture_dot.svg");
  background-size: 60px auto;
}
.bg .sideframe {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.bg .sideframe::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: no-repeat left url("../images/svg/bg_sideframe.svg");
  background-size: contain;
}
.bg .sideframe::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: no-repeat left url("../images/svg/bg_sideframe.svg");
  background-size: contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.bg .itembox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.bg .itembox .bluedot {
  position: absolute;
  background: no-repeat center top url("../images/svg/bg_bluedot.svg");
  width: min(70px, 10vw);
  height: min(135px, 13vh);
  background-size: contain;
}
.bg .itembox .bluedot.b_dot_a {
  top: 79%;
  left: 79%;
  -webkit-animation: bg_dot_anime_01 7s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
          animation: bg_dot_anime_01 7s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
}
.bg .itembox .bluedot.b_dot_b {
  top: 1%;
  right: min(300px, 30%);
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
  -webkit-animation: bg_dot_anime_01 5s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
          animation: bg_dot_anime_01 5s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
}
.bg .itembox .bluedot.b_dot_c {
  top: 57%;
  right: min(90px, 9%);
  -webkit-animation: bg_dot_anime_02 6s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
          animation: bg_dot_anime_02 6s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
}
.bg .itembox .bluedot.b_dot_d {
  bottom: 6%;
  left: clamp(60px , 12% , 120px);
  -webkit-transform: rotateZ(-90deg);
          transform: rotateZ(-90deg);
  -webkit-animation: bg_dot_anime_01 8s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
          animation: bg_dot_anime_01 8s cubic-bezier(0.02, 0.88, 0.58, 1) infinite;
}
.bg .itembox .ring {
  position: absolute;
  background: no-repeat center url("../images/svg/bg_ring.svg");
  background-size: contain;
  opacity: 0.6;
}
.bg .itembox .ring.ring_a {
  top: 10%;
  left: -3%;
  width: min(340px, 36vw);
  height: min(340px, 36vw);
}
.bg .itembox .ring.ring_b {
  top: 34%;
  right: -1%;
  width: min(170px, 17vw);
  height: min(170px, 17vw);
}
.bg .itembox .ring.ring_c {
  bottom: -1%;
  left: 24%;
  width: min(140px, 14vw);
  height: min(140px, 14vw);
}
.bg .itembox .bordercircle {
  position: absolute;
  background: no-repeat center url("../images/svg/bg_border_circle.svg");
  background-size: contain;
}
.bg .itembox .bordercircle.bc_a {
  top: calc(min(8% , 8vw)*-1);
  left: 25%;
  width: min(180px, 18vw);
  height: min(180px, 18vw);
  -webkit-animation: 40s linear infinite rotation1_re;
          animation: 40s linear infinite rotation1_re;
}
.bg .itembox .bordercircle.bc_b {
  bottom: -1%;
  right: -1.5%;
  width: min(240px, 28vw);
  height: min(240px, 28vw);
  -webkit-animation: 50s linear infinite rotation1;
          animation: 50s linear infinite rotation1;
}

@media only screen and (max-width: 769px) {
  .bg .sideframe {
    display: none;
  }
}
/* =IE killer
------------------------------------------------------------------------------------------*/
.IEblock {
  display: none;
}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .IEblock {
    position: fixed;
    display: block !important;
    z-index: 30000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #ee768e;
  }
  .IEblock .comment_block {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 10px;
    text-align: center;
    height: 90%;
    width: 90%;
    max-height: 400px;
    max-width: 600px;
  }
  .IEblock .comment_block p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 90%;
    color: #111;
    font-size: 20px;
    font-weight: bold;
  }
  .IEblock .comment_block p span {
    font-size: 0.8em;
  }
}
/* =404 page
------------------------------------------------------------------------------------------*/
#error_404 {
  padding: calc(var(--main_padding)*2) 0;
}
#error_404 .container_s p {
  color: #435DA6;
}
#error_404 .container_s .stit {
  font-size: 26px;
  line-height: 1em;
  margin-bottom: 1em;
}
#error_404 .container_s .text {
  margin-bottom: 3em;
}
#error_404 .container_s .error_toplink {
  position: relative;
  display: block;
  margin: 0 auto;
  width: min(230px, 70%);
  height: 60px;
  display: grid;
  place-items: center;
  background-color: #3EBCDF;
  color: #fff;
  font-weight: bold;
  font-size: min(18px, 1.8vw);
  white-space: nowrap;
  letter-spacing: 0.05em;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  border-radius: 5px;
}
#error_404 .container_s .error_toplink:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* =clearfix
------------------------------------------------------------------------------------------*/
.clearfix:after {
  clear: both;
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
  font-size: 0.1em;
  content: ".";
}
/*# sourceMappingURL=common.css.map */