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

html {
  font-size: 62.5%; }

body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif; }

p {
  font-size: 15px;
  font-size: 1.5rem; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

ul {
  -webkit-padding-start: 0px;
  list-style-type: none; }

a {
  text-decoration: none; }

.view {
  position: relative;
  overflow-x: hidden; }
  .view::before {
    -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    -webkit-transition-delay: .2s;
    z-index: 99;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f56d1b;
    content: '';
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay: .2s;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }
  .view::after {
    -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    content: '';
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }
  .view.is_view::before {
    -webkit-transform: translateX(110%);
        -ms-transform: translateX(110%);
    z-index: 109;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
            transform: translateX(110%);
    background: #f56d1b;
    content: ''; }
  .view.is_view::after {
    -webkit-transform: translateX(110%);
        -ms-transform: translateX(110%);
    z-index: 99;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
            transform: translateX(110%);
    background: #f56d1b;
    content: ''; }

/*.pc {
    display: block;

    @include tab {
        display: none;
    }
}

.sp {
    display: none;

    @include tab {
        display: block;
    }
}*/

/***********CONTACT********************/
.btn {
  position: relative;
  /* Effect1
 *************************************** */
  /* 擬似要素の共通スタイル */
  /* 左上へ配置 */
  /* 右下へ配置 */
  /* 左下へ配置 */
  /* 右下へ配置 */
  /* hover */ }
  .btn.btn1 {
    width: 250px;
    background: #04275e; }
    .btn.btn1::after {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -webkit-transition: all .3s;
      display: block;
      position: absolute;
      top: 15px;
      right: 30px;
      width: 15px;
      height: 15px;
          transform: rotate(45deg);
      border-top: solid 2px rgba(255, 255, 255, .6);
      border-right: solid 2px rgba(255, 255, 255, .6);
      content: '';
      transition: all .3s; }
    .btn.btn1 a {
      width: 100%;
      font-size: 15px;
      font-size: 1.5rem; }
    .btn.btn1:hover::after {
      right: 20px;
      border-top: solid 2px white;
      border-right: solid 2px white; }
  .btn.contact {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
            align-items: center;
            justify-content: center;
    height: 300px;
    background: url(../img/default/index_request_bg.jpg) center center/cover no-repeat; }
    .btn.contact::before {
      background: rgba(0, 0, 0, .4); }
  .btn::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: ""; }
  .btn a {
    display: inline-block;
    color: #fff;
    font-size: 20px;
    font-size: 2rem;
    text-decoration: none; }
  .btn .button {
    position: relative;
    padding: 10px 40px;
    border: 2px solid rgba(0, 0, 0, .3); }
  .btn .change-border01::after,
  .btn .change-border01::before,
  .btn .change-border01__inner::after,
  .btn .change-border01__inner::before {
    -webkit-transition: all .3s ease;
    display: block;
    z-index: 10;
    position: absolute;
    background-color: #fff;
    content: '';
    transition: all .3s ease; }
  .btn .change-border01::after {
    top: -1px;
    left: -1px;
    width: 0px;
    height: 1px; }
  .btn .change-border01::before {
    right: -1px;
    bottom: -1px;
    width: 0px;
    height: 1px; }
  .btn .change-border01__inner::after {
    bottom: -1px;
    left: -1px;
    width: 1px;
    height: 0px; }
  .btn .change-border01__inner::before {
    top: -1px;
    right: -1px;
    width: 1px;
    height: 0px; }
  .btn .change-border01:hover::after,
  .btn .change-border01:hover::before {
    width: 100%;
    width: calc(100% + 1px); }
  .btn .change-border01:hover .change-border01__inner::after,
  .btn .change-border01:hover .change-border01__inner::before {
    height: 100%;
    height: calc(100% + 1px); }

/***********WALKING PANDA********************/
.wp {
  -webkit-animation: wp 10s linear 0s infinite normal;
  z-index: -1;
  position: absolute;
  top: 15%;
  width: 100%;
  height: 100%;
          animation: wp 10s linear 0s infinite normal; }
  .wp img {
    -webkit-animation: wpr 1s linear 0s infinite normal;
    width: 20px;
            animation: wpr 1s linear 0s infinite normal; }

.wp2 {
  -webkit-animation: wp2 12s linear 0s infinite normal;
  z-index: -1;
  position: absolute;
  top: 15%;
  width: 100%;
  height: 100%;
          animation: wp2 12s linear 0s infinite normal; }
  .wp2 img {
    -webkit-animation: wpr 1s linear 0s infinite normal;
    width: 20px;
            animation: wpr 1s linear 0s infinite normal; }

@-webkit-keyframes wp {
  0% {
    -webkit-transform: translate(100%, 0%);
            transform: translate(100%, 0%); }
  100% {
    -webkit-transform: translate(0%, 100%);
            transform: translate(0%, 100%); } }

@keyframes wp {
  0% {
    -webkit-transform: translate(100%, 0%);
            transform: translate(100%, 0%); }
  100% {
    -webkit-transform: translate(0%, 100%);
            transform: translate(0%, 100%); } }

@-webkit-keyframes wp2 {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%); }
  100% {
    -webkit-transform: translate(100%, 100%);
            transform: translate(100%, 100%); } }

@keyframes wp2 {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%); }
  100% {
    -webkit-transform: translate(100%, 100%);
            transform: translate(100%, 100%); } }

@-webkit-keyframes wpr {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes wpr {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/***********SMOOTH SCROLL********************/
#top {
  z-index: 101;
  position: fixed;
  right: 20px;
  bottom: 20px; }
  #top a {
    display: block;
    width: 60px;
    height: 60px;
    padding: 18px 0 0;
    border-radius: 7px;
    background: #f56d1b;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    text-align: center;
    text-decoration: none; }

.loader {
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
          transform: translate(-50%, -50%);
  color: #FFF;
  font-size: 26px;
  font-weight: 600;
  opacity: 0; }

.color-wipes-animate {
  z-index: 1000;
  position: fixed;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100vh; }

.color-wipe {
  display: none;
  width: 100%;
  height: 100vh;
  background: #be2829; }

.color-wipe:nth-child(1) {
  background: white url(../img/lp.png) top center/cover no-repeat; }

/*.color-wipe:nth-child(2) {
    background: #fff url(../img/daruma.jpg) center center /cover no-repeat;
}

.color-wipe:nth-child(3) {
    background: #fff url(../img/panda.jpg) center center /cover no-repeat;
}

.color-wipe:nth-child(4) {
    background: #fff url(../img/daruma.jpg) center center /cover no-repeat;
}

.color-wipe:nth-child(5) {
    background: #fff url(../img/panda.jpg) center center /cover no-repeat;
}*/
/***********HEADER********************/
header {
  position: relative; }
  header .header-inner h1 {
    z-index: 99;
    position: fixed;
    top: 10px;
    left: 20px; }

input {
  position: fixed;
  opacity: 0; }

label {
  position: absolute;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  cursor: pointer; }
  label::before {
    -webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    z-index: 997;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #124364;
    background-image: url("../img/top/pandaruma.png");
    content: '';
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  label .burger {
    -webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    display: none;
    z-index: 999;
    position: fixed;
    top: 3em;
    left: 3em;
    width: 3em;
    height: 3em;
    margin: 0;
    padding: 0;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    label .burger::before,
    label .burger .bar, label .burger::after {
      -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      display: block;
      position: absolute;
      left: 0;
      width: 100%;
      height: 12%;
      background: #000;
      content: '';
      transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    label .burger .bar {
      top: 44%; }
    label .burger::before {
      -webkit-transform-origin: top left;
          -ms-transform-origin: top left;
      top: 0;
              transform-origin: top left; }
    label .burger::after {
      -webkit-transform-origin: bottom left;
          -ms-transform-origin: bottom left;
      bottom: 0;
              transform-origin: bottom left; }

input:focus + label .burger,
label:hover .burger {
  opacity: .75; }

nav {
  z-index: 998;
  position: fixed;
  top: 30px;
  right: 0; }
  nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    nav ul li {
      margin-right: 40px; }
      nav ul li a {
        -webkit-transition: all .3s;
        color: #000;
        font-size: 20px;
        font-size: 2rem;
        transition: all .3s; }
        nav ul li a:hover {
          color: #f56d1b; }

main .content {
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
          transform: translate3d(0, 0, 0);
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  /* material acceleration */
  will-change: transform, filter; }

[id="navcheck"]:checked + label::before {
  opacity: 1;
  pointer-events: auto; }

[id="navcheck"]:checked + label .burger::before, [id="navcheck"]:checked + label .burger::after {
  width: 141.42%; }

[id="navcheck"]:checked + label .burger::before {
  -webkit-transform: rotate(45deg) translateY(-50%);
      -ms-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%); }

[id="navcheck"]:checked + label .burger::after {
  -webkit-transform: rotate(-45deg) translateY(50%);
      -ms-transform: rotate(-45deg) translateY(50%);
          transform: rotate(-45deg) translateY(50%); }

[id="navcheck"]:checked + label .burger .bar {
  -webkit-transform: scale(0.1);
      -ms-transform: scale(0.1);
          transform: scale(0.1); }

[id="navcheck"]:checked ~ nav {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }
  [id="navcheck"]:checked ~ nav::before {
    -webkit-transform: skewX(15deg) translateX(0);
        -ms-transform: skewX(15deg) translateX(0);
            transform: skewX(15deg) translateX(0); }
  [id="navcheck"]:checked ~ nav a {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }

[id="navcheck"]:checked ~ main .content {
  -webkit-transform: translateX(3em);
      -ms-transform: translateX(3em);
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
  -webkit-filter: blur(2px);
          transform: translateX(3em);
          transform-origin: left center;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
  filter: blur(2px);
  /* quite laggy :S */ }

/* helper */
.visuallyhidden {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0; }

body {
  overflow-x: hidden; }

/***********MAIN********************/
body {
  background: #fff; }

header .header-inner h1 {
  -webkit-transform: translate(-50%);
      -ms-transform: translate(-50%);
  z-index: 99;
  position: fixed;
  top: 10px;
  left: 50%;
          transform: translate(-50%); }
  header .header-inner h1 a {
    color: #000;
    font-size: 36px; }

.main {
  padding: 60px; }
  .main #gallary {
    padding: 60px;
    background:none; }
    .main #gallary .slick-track {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      top: 0;
      left: 0;
              align-items: center;
              justify-content: center;
      margin-right: auto;
      margin-left: auto; }
    .main #gallary .slick-initialized .slick-slide:focus {
      outline: -webkit-focus-ring-color auto 0px !important; }
    .main #gallary .slick-slide img {
      display: block;
      width: auto;
      height: 80vh;
      margin: 0 auto; }
    .main #gallary .slide-arrow {
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
      z-index: 99;
      position: absolute;
      top: 50%;
              transform: translateY(-50%);
      cursor: pointer; }
    .main #gallary .prev-arrow {
      left: 3%;
      background: url(../img/arrow_prev.png) center center/cover no-repeat; }
    .main #gallary .next-arrow {
      right: 3%; }
    .main #gallary .slick-counter {
      margin: 40px auto 0;
      font-size: 24px;
      text-align: center; }

footer .footer-inner {
  width: 980px;
  margin: 0 auto; }
  footer .footer-inner .footer-inner-content {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            align-items: center;
            justify-content: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    footer .footer-inner .footer-inner-content .footer-inner-content-logo {
      width: 40%;
      padding-right: 30px;
      border-right: 3px dotted #000; }
    footer .footer-inner .footer-inner-content .footer-inner-content-contact {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
              align-items: center;
              justify-content: center;
      width: 60%;
      padding-left: 30px; }
      footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact p {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
        -webkit-box-align: center;
            -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
                align-items: center;
                justify-content: space-between;
        font-size: 28px;
        font-weight: bold; }
      footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact p span {
        margin-right: 5px; }
      footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact p span img {
        width: 60px; }
      footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact-tel {
        margin-right: 20px; }
  footer .footer-inner .copyright {
    text-align: center; }
  @media (max-width: 768px) {
      header .header-inner h1 {
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
        left: 50%;
                transform: translateX(-50%); 
	      width: 100%;
    text-align: center;}
      header .header-inner h1 img {
        margin: 0 auto; }
      label .burger {
        display: block; }
    nav {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
      -webkit-transform: translate3d(0, 0, 0);
      /* material acceleration */
      -webkit-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
      -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      z-index: 998;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
              flex-flow: column nowrap;
              align-items: flex-start;
              justify-content: center;
              transform: translate3d(0, 0, 0);
              transform: translateX(-100%);
      transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      will-change: transform; }
      nav::before {
        -webkit-transform: skewX(15deg) translateX(-100%);
            -ms-transform: skewX(15deg) translateX(-100%);
        -webkit-transform-origin: bottom left;
            -ms-transform-origin: bottom left;
        -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        z-index: -1;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 25em;
                transform: skewX(15deg) translateX(-100%);
                transform-origin: bottom left;
        background: #f56d1b;
        content: '';
        transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        will-change: transform; }
      nav ul {
        display: block; }
        nav ul li {
          margin-bottom: 20px; }
          nav ul li a {
            -webkit-transform: translateX(-100%);
                -ms-transform: translateX(-100%);
            -webkit-transition: color .15s, -webkit-transform .5s;
            -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
            margin: .5em 0;
            padding: .2em 2em;
                    transform: translateX(-100%);
            color: white;
            font-size: 2.5em;
            font-weight: 500;
            text-decoration: none;
            transition: color .15s, -webkit-transform .5s;
            transition: color .15s, transform .5s;
            transition: color .15s, transform .5s, -webkit-transform .5s;
                    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
            nav ul li a:nth-child(1) {
              -webkit-transition-delay: 0s, 100ms;
                      transition-delay: 0s, 100ms; }
            nav ul li a:nth-child(2) {
              -webkit-transition-delay: 0s, 150ms;
                      transition-delay: 0s, 150ms; }
            nav ul li a:nth-child(3) {
              -webkit-transition-delay: 0s, 200ms;
                      transition-delay: 0s, 200ms; }
            nav ul li a:nth-child(4) {
              -webkit-transition-delay: 0s, 250ms;
                      transition-delay: 0s, 250ms; }
            nav ul li a:nth-child(5) {
              -webkit-transition-delay: 0s, 300ms;
                      transition-delay: 0s, 300ms; }
            nav ul li a:nth-child(6) {
              -webkit-transition-delay: 0s, 350ms;
                      transition-delay: 0s, 350ms; }
            nav ul li a:hover, nav ul li a:focus {
              color: black; }
        .main #gallary .slick-slide img {
          width: 100%;
          height: auto; }
        .main #gallary .prev-arrow {
          left: 2%; }
        .main #gallary .next-arrow {
          right: 2%; } }
  @media (max-width: 480px) {
      label .burger {
        top: 2em;
        left: 2em; }
      header .header-inner h1 a {
        font-size: 24px; }
    .main {
      padding: 15px;
	  }
      .main #gallary {
        padding: 0px;
	  margin-bottom:10px;}
        .main #gallary .slide-arrow {
          width: 30px; }
        footer .footer-inner .footer-inner-content .footer-inner-content-logo {
          width: 90%;
          padding-right: 0; }
        footer .footer-inner .footer-inner-content .footer-inner-content-contact {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
          footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact p {
            -webkit-margin-before: .5em;
            -webkit-margin-after: .1em;
                    margin-block-start: .5em;
                    margin-block-end: .1em;
            font-size: 2rem; }
          footer .footer-inner .footer-inner-content .footer-inner-content-contact .contact p span img {
            width: 40px; }
      footer .footer-inner .copyright {
        padding: 0 20px;
        font-size: 1rem; } }
  @media (max-width: 768px) and (min-width: 40em) {
      nav::before {
        width: 40em; } }
  @media (max-width: 1024px) {
        nav ul li {
          margin-right: 20px; }
          nav ul li a {
            font-size: 1.5rem; }
    footer .footer-inner {
      width: 100%; }
      footer .footer-inner .footer-inner-content {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin: 40px 0;
        padding: 0 20px;
        border-top: 0px solid #000;
        border-bottom: 0px solid #000; }
        footer .footer-inner .footer-inner-content .footer-inner-content-logo {
          border-right: 0px dotted #000; }
          footer .footer-inner .footer-inner-content .footer-inner-content-logo img {
            margin: 0 auto; }
        footer .footer-inner .footer-inner-content .footer-inner-content-contact {
          width: 100%; } }
