@charset "UTF-8";
/*!
 * animsition v4.0.2
 * A simple and easy jQuery plugin for CSS animated page transitions.
 * http://blivesta.github.io/animsition
 * License : MIT
 * Author : blivesta (http://blivesta.com/)
 */
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
.animsition, .animsition-overlay {
  position: relative;
  opacity: 0;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animsition-overlay-slide {
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: #fafafa; }

.animsition-loading, .animsition-loading:after {
  width: 32px;
  height: 32px;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  border-radius: 50%;
  z-index: 99999; }

.animsition-loading {
  background-color: transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.2);
  border-right: 5px solid rgba(0, 0, 0, 0.2);
  border-bottom: 5px solid rgba(0, 0, 0, 0.2);
  border-left: 5px solid #eee;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-name: animsition-loading;
  animation-name: animsition-loading; }

@-webkit-keyframes animsition-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn); } }

@keyframes animsition-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn); } }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  to {
    opacity: 1; } }

.fade-in {
  -webkit-animation-name: fade-in;
  animation-name: fade-in; }

@-webkit-keyframes fade-out {
  0% {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fade-out {
  0% {
    opacity: 1; }
  to {
    opacity: 0; } }

.fade-out {
  -webkit-animation-name: fade-out;
  animation-name: fade-out; }

@-webkit-keyframes fade-in-up {
  0% {
    -webkit-transform: translateY(500px);
    transform: translateY(500px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-up {
  0% {
    -webkit-transform: translateY(500px);
    transform: translateY(500px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.fade-in-up {
  -webkit-animation-name: fade-in-up;
  animation-name: fade-in-up; }

@-webkit-keyframes fade-out-up {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-500px);
    transform: translateY(-500px);
    opacity: 0; } }

@keyframes fade-out-up {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-500px);
    transform: translateY(-500px);
    opacity: 0; } }

.fade-out-up {
  -webkit-animation-name: fade-out-up;
  animation-name: fade-out-up; }

@-webkit-keyframes fade-in-up-sm {
  0% {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-up-sm {
  0% {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.fade-in-up-sm {
  -webkit-animation-name: fade-in-up-sm;
  animation-name: fade-in-up-sm; }

@-webkit-keyframes fade-out-up-sm {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
    opacity: 0; } }

@keyframes fade-out-up-sm {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
    opacity: 0; } }

.fade-out-up-sm {
  -webkit-animation-name: fade-out-up-sm;
  animation-name: fade-out-up-sm; }

@-webkit-keyframes fade-in-up-lg {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-up-lg {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.fade-in-up-lg {
  -webkit-animation-name: fade-in-up-lg;
  animation-name: fade-in-up-lg; }

@-webkit-keyframes fade-out-up-lg {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-1000px);
    transform: translateY(-1000px);
    opacity: 0; } }

@keyframes fade-out-up-lg {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(-1000px);
    transform: translateY(-1000px);
    opacity: 0; } }

.fade-out-up-lg {
  -webkit-animation-name: fade-out-up-lg;
  animation-name: fade-out-up-lg; }

@-webkit-keyframes fade-in-down {
  0% {
    -webkit-transform: translateY(-500px);
    transform: translateY(-500px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-down {
  0% {
    -webkit-transform: translateY(-500px);
    transform: translateY(-500px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.fade-in-down {
  -webkit-animation-name: fade-in-down;
  animation-name: fade-in-down; }

@-webkit-keyframes fade-out-down {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(500px);
    transform: translateY(500px);
    opacity: 0; } }

@keyframes fade-out-down {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(500px);
    transform: translateY(500px);
    opacity: 0; } }

.fade-out-down {
  -webkit-animation-name: fade-out-down;
  animation-name: fade-out-down; }

@-webkit-keyframes fade-in-down-sm {
  0% {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-down-sm {
  0% {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.fade-in-down-sm {
  -webkit-animation-name: fade-in-down-sm;
  animation-name: fade-in-down-sm; }

@-webkit-keyframes fade-out-down-sm {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; } }

@keyframes fade-out-down-sm {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; } }

.fade-out-down-sm {
  -webkit-animation-name: fade-out-down-sm;
  animation-name: fade-out-down-sm; }

.fade-in-down-lg {
  -webkit-animation-name: fade-in-down;
  animation-name: fade-in-down; }

@-webkit-keyframes fade-out-down-lg {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0; } }

@keyframes fade-out-down-lg {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  to {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0; } }

.fade-out-down-lg {
  -webkit-animation-name: fade-out-down-lg;
  animation-name: fade-out-down-lg; }

@-webkit-keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-500px);
    transform: translateX(-500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-500px);
    transform: translateX(-500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-left {
  -webkit-animation-name: fade-in-left;
  animation-name: fade-in-left; }

@-webkit-keyframes fade-out-left {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-500px);
    transform: translateX(-500px);
    opacity: 0; } }

@keyframes fade-out-left {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-500px);
    transform: translateX(-500px);
    opacity: 0; } }

.fade-out-left {
  -webkit-animation-name: fade-out-left;
  animation-name: fade-out-left; }

@-webkit-keyframes fade-in-left-sm {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-left-sm {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-left-sm {
  -webkit-animation-name: fade-in-left-sm;
  animation-name: fade-in-left-sm; }

@-webkit-keyframes fade-out-left-sm {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0; } }

@keyframes fade-out-left-sm {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0; } }

.fade-out-left-sm {
  -webkit-animation-name: fade-out-left-sm;
  animation-name: fade-out-left-sm; }

@-webkit-keyframes fade-in-left-lg {
  0% {
    -webkit-transform: translateX(-1500px);
    transform: translateX(-1500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-left-lg {
  0% {
    -webkit-transform: translateX(-1500px);
    transform: translateX(-1500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-left-lg {
  -webkit-animation-name: fade-in-left-lg;
  animation-name: fade-in-left-lg; }

@-webkit-keyframes fade-out-left-lg {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-1500px);
    transform: translateX(-1500px);
    opacity: 0; } }

@keyframes fade-out-left-lg {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(-1500px);
    transform: translateX(-1500px);
    opacity: 0; } }

.fade-out-left-lg {
  -webkit-animation-name: fade-out-left-lg;
  animation-name: fade-out-left-lg; }

@-webkit-keyframes fade-in-right {
  0% {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-right {
  0% {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-right {
  -webkit-animation-name: fade-in-right;
  animation-name: fade-in-right; }

@-webkit-keyframes fade-out-right {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0; } }

@keyframes fade-out-right {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0; } }

.fade-out-right {
  -webkit-animation-name: fade-out-right;
  animation-name: fade-out-right; }

@-webkit-keyframes fade-in-right-sm {
  0% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-right-sm {
  0% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-right-sm {
  -webkit-animation-name: fade-in-right-sm;
  animation-name: fade-in-right-sm; }

@-webkit-keyframes fade-out-right-sm {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0; } }

@keyframes fade-out-right-sm {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0; } }

.fade-out-right-sm {
  -webkit-animation-name: fade-out-right-sm;
  animation-name: fade-out-right-sm; }

@-webkit-keyframes fade-in-right-lg {
  0% {
    -webkit-transform: translateX(1500px);
    transform: translateX(1500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-in-right-lg {
  0% {
    -webkit-transform: translateX(1500px);
    transform: translateX(1500px);
    opacity: 0; }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fade-in-right-lg {
  -webkit-animation-name: fade-in-right-lg;
  animation-name: fade-in-right-lg; }

@-webkit-keyframes fade-out-right-lg {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(1500px);
    transform: translateX(1500px);
    opacity: 0; } }

@keyframes fade-out-right-lg {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  to {
    -webkit-transform: translateX(1500px);
    transform: translateX(1500px);
    opacity: 0; } }

.fade-out-right-lg {
  -webkit-animation-name: fade-out-right-lg;
  animation-name: fade-out-right-lg; }

@-webkit-keyframes rotate-in {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

@keyframes rotate-in {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

.rotate-in {
  -webkit-animation-name: rotate-in;
  animation-name: rotate-in; }

@-webkit-keyframes rotate-out {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

@keyframes rotate-out {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

.rotate-out {
  -webkit-animation-name: rotate-out;
  animation-name: rotate-out; }

@-webkit-keyframes rotate-in-sm {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

@keyframes rotate-in-sm {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

.rotate-in-sm {
  -webkit-animation-name: rotate-in-sm;
  animation-name: rotate-in-sm; }

@-webkit-keyframes rotate-out-sm {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

@keyframes rotate-out-sm {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

.rotate-out-sm {
  -webkit-animation-name: rotate-out-sm;
  animation-name: rotate-out-sm; }

@-webkit-keyframes rotate-in-lg {
  0% {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

@keyframes rotate-in-lg {
  0% {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; } }

.rotate-in-lg {
  -webkit-animation-name: rotate-in-lg;
  animation-name: rotate-in-lg; }

@-webkit-keyframes rotate-out-lg {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

@keyframes rotate-out-lg {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 1; }
  0%, to {
    -webkit-transform-origin: center center; }
  to {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; } }

.rotate-out-lg {
  -webkit-animation-name: rotate-out-lg;
  animation-name: rotate-out-lg; }

@-webkit-keyframes flip-in-x {
  0% {
    -webkit-transform: perspective(550px) rotateX(90deg);
    transform: perspective(550px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(550px) rotateX(0deg);
    transform: perspective(550px) rotateX(0deg);
    opacity: 1; } }

@keyframes flip-in-x {
  0% {
    -webkit-transform: perspective(550px) rotateX(90deg);
    transform: perspective(550px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(550px) rotateX(0deg);
    transform: perspective(550px) rotateX(0deg);
    opacity: 1; } }

.flip-in-x {
  -webkit-animation-name: flip-in-x;
  animation-name: flip-in-x;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-x {
  0% {
    -webkit-transform: perspective(550px) rotateX(0deg);
    transform: perspective(550px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(550px) rotateX(90deg);
    transform: perspective(550px) rotateX(90deg);
    opacity: 0; } }

@keyframes flip-out-x {
  0% {
    -webkit-transform: perspective(550px) rotateX(0deg);
    transform: perspective(550px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(550px) rotateX(90deg);
    transform: perspective(550px) rotateX(90deg);
    opacity: 0; } }

.flip-out-x {
  -webkit-animation-name: flip-out-x;
  animation-name: flip-out-x;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-in-x-nr {
  0% {
    -webkit-transform: perspective(100px) rotateX(90deg);
    transform: perspective(100px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(100px) rotateX(0deg);
    transform: perspective(100px) rotateX(0deg);
    opacity: 1; } }

@keyframes flip-in-x-nr {
  0% {
    -webkit-transform: perspective(100px) rotateX(90deg);
    transform: perspective(100px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(100px) rotateX(0deg);
    transform: perspective(100px) rotateX(0deg);
    opacity: 1; } }

.flip-in-x-nr {
  -webkit-animation-name: flip-in-x-nr;
  animation-name: flip-in-x-nr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-x-nr {
  0% {
    -webkit-transform: perspective(100px) rotateX(0deg);
    transform: perspective(100px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(100px) rotateX(90deg);
    transform: perspective(100px) rotateX(90deg);
    opacity: 0; } }

@keyframes flip-out-x-nr {
  0% {
    -webkit-transform: perspective(100px) rotateX(0deg);
    transform: perspective(100px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(100px) rotateX(90deg);
    transform: perspective(100px) rotateX(90deg);
    opacity: 0; } }

.flip-out-x-nr {
  -webkit-animation-name: flip-out-x-nr;
  animation-name: flip-out-x-nr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-in-x-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1; } }

@keyframes flip-in-x-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1; } }

.flip-in-x-fr {
  -webkit-animation-name: flip-in-x-fr;
  animation-name: flip-in-x-fr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-x-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; } }

@keyframes flip-out-x-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; } }

.flip-out-x-fr {
  -webkit-animation-name: flip-out-x-fr;
  animation-name: flip-out-x-fr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-in-y {
  0% {
    -webkit-transform: perspective(550px) rotateY(90deg);
    transform: perspective(550px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(550px) rotateY(0deg);
    transform: perspective(550px) rotateY(0deg);
    opacity: 1; } }

@keyframes flip-in-y {
  0% {
    -webkit-transform: perspective(550px) rotateY(90deg);
    transform: perspective(550px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(550px) rotateY(0deg);
    transform: perspective(550px) rotateY(0deg);
    opacity: 1; } }

.flip-in-y {
  -webkit-animation-name: flip-in-y;
  animation-name: flip-in-y;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-y {
  0% {
    -webkit-transform: perspective(550px) rotateY(0deg);
    transform: perspective(550px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(550px) rotateY(90deg);
    transform: perspective(550px) rotateY(90deg);
    opacity: 0; } }

@keyframes flip-out-y {
  0% {
    -webkit-transform: perspective(550px) rotateY(0deg);
    transform: perspective(550px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(550px) rotateY(90deg);
    transform: perspective(550px) rotateY(90deg);
    opacity: 0; } }

.flip-out-y {
  -webkit-animation-name: flip-out-y;
  animation-name: flip-out-y;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-in-y-nr {
  0% {
    -webkit-transform: perspective(100px) rotateY(90deg);
    transform: perspective(100px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(100px) rotateY(0deg);
    transform: perspective(100px) rotateY(0deg);
    opacity: 1; } }

@keyframes flip-in-y-nr {
  0% {
    -webkit-transform: perspective(100px) rotateY(90deg);
    transform: perspective(100px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(100px) rotateY(0deg);
    transform: perspective(100px) rotateY(0deg);
    opacity: 1; } }

.flip-in-y-nr {
  -webkit-animation-name: flip-in-y-nr;
  animation-name: flip-in-y-nr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-y-nr {
  0% {
    -webkit-transform: perspective(100px) rotateY(0deg);
    transform: perspective(100px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(100px) rotateY(90deg);
    transform: perspective(100px) rotateY(90deg);
    opacity: 0; } }

@keyframes flip-out-y-nr {
  0% {
    -webkit-transform: perspective(100px) rotateY(0deg);
    transform: perspective(100px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(100px) rotateY(90deg);
    transform: perspective(100px) rotateY(90deg);
    opacity: 0; } }

.flip-out-y-nr {
  -webkit-animation-name: flip-out-y-nr;
  animation-name: flip-out-y-nr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-in-y-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateY(90deg);
    transform: perspective(1000px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1; } }

@keyframes flip-in-y-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateY(90deg);
    transform: perspective(1000px) rotateY(90deg);
    opacity: 0; }
  to {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1; } }

.flip-in-y-fr {
  -webkit-animation-name: flip-in-y-fr;
  animation-name: flip-in-y-fr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flip-out-y-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(1000px) rotateY(90deg);
    transform: perspective(1000px) rotateY(90deg);
    opacity: 0; } }

@keyframes flip-out-y-fr {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(1000px) rotateY(90deg);
    transform: perspective(1000px) rotateY(90deg);
    opacity: 0; } }

.flip-out-y-fr {
  -webkit-animation-name: flip-out-y-fr;
  animation-name: flip-out-y-fr;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes zoom-in {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes zoom-in {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0; }
  to {
    opacity: 1; } }

.zoom-in {
  -webkit-animation-name: zoom-in;
  animation-name: zoom-in; }

@-webkit-keyframes zoom-out {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7); }
  50%, to {
    opacity: 0; } }

@keyframes zoom-out {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7); }
  50%, to {
    opacity: 0; } }

.zoom-out {
  -webkit-animation-name: zoom-out;
  animation-name: zoom-out; }

@-webkit-keyframes zoom-in-sm {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes zoom-in-sm {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0; }
  to {
    opacity: 1; } }

.zoom-in-sm {
  -webkit-animation-name: zoom-in-sm;
  animation-name: zoom-in-sm; }

@-webkit-keyframes zoom-out-sm {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50%, to {
    opacity: 0; } }

@keyframes zoom-out-sm {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50%, to {
    opacity: 0; } }

.zoom-out-sm {
  -webkit-animation-name: zoom-out-sm;
  animation-name: zoom-out-sm; }

@-webkit-keyframes zoom-in-lg {
  0% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes zoom-in-lg {
  0% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
    opacity: 0; }
  to {
    opacity: 1; } }

.zoom-in-lg {
  -webkit-animation-name: zoom-in-lg;
  animation-name: zoom-in-lg; }

@-webkit-keyframes zoom-out-lg {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4); }
  50%, to {
    opacity: 0; } }

@keyframes zoom-out-lg {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4); }
  50%, to {
    opacity: 0; } }

.zoom-out-lg {
  -webkit-animation-name: zoom-out-lg;
  animation-name: zoom-out-lg; }

@-webkit-keyframes overlay-slide-in-top {
  0% {
    height: 100%; }
  to {
    height: 0; } }

@keyframes overlay-slide-in-top {
  0% {
    height: 100%; }
  to {
    height: 0; } }

.overlay-slide-in-top {
  top: 0;
  height: 0;
  -webkit-animation-name: overlay-slide-in-top;
  animation-name: overlay-slide-in-top; }

@-webkit-keyframes overlay-slide-out-top {
  0% {
    height: 0; }
  to {
    height: 100%; } }

@keyframes overlay-slide-out-top {
  0% {
    height: 0; }
  to {
    height: 100%; } }

.overlay-slide-out-top {
  top: 0;
  height: 100%;
  -webkit-animation-name: overlay-slide-out-top;
  animation-name: overlay-slide-out-top; }

@-webkit-keyframes overlay-slide-in-bottom {
  0% {
    height: 100%; }
  to {
    height: 0; } }

@keyframes overlay-slide-in-bottom {
  0% {
    height: 100%; }
  to {
    height: 0; } }

.overlay-slide-in-bottom {
  bottom: 0;
  height: 0;
  -webkit-animation-name: overlay-slide-in-bottom;
  animation-name: overlay-slide-in-bottom; }

@-webkit-keyframes overlay-slide-out-bottom {
  0% {
    height: 0; }
  to {
    height: 100%; } }

@keyframes overlay-slide-out-bottom {
  0% {
    height: 0; }
  to {
    height: 100%; } }

.overlay-slide-out-bottom {
  bottom: 0;
  height: 100%;
  -webkit-animation-name: overlay-slide-out-bottom;
  animation-name: overlay-slide-out-bottom; }

@-webkit-keyframes overlay-slide-in-left {
  0% {
    width: 100%; }
  to {
    width: 0; } }

@keyframes overlay-slide-in-left {
  0% {
    width: 100%; }
  to {
    width: 0; } }

.overlay-slide-in-left {
  width: 0;
  -webkit-animation-name: overlay-slide-in-left;
  animation-name: overlay-slide-in-left; }

@-webkit-keyframes overlay-slide-out-left {
  0% {
    width: 0; }
  to {
    width: 100%; } }

@keyframes overlay-slide-out-left {
  0% {
    width: 0; }
  to {
    width: 100%; } }

.overlay-slide-out-left {
  left: 0;
  width: 100%;
  -webkit-animation-name: overlay-slide-out-left;
  animation-name: overlay-slide-out-left; }

@-webkit-keyframes overlay-slide-in-right {
  0% {
    width: 100%; }
  to {
    width: 0; } }

@keyframes overlay-slide-in-right {
  0% {
    width: 100%; }
  to {
    width: 0; } }

.overlay-slide-in-right {
  right: 0;
  width: 0;
  -webkit-animation-name: overlay-slide-in-right;
  animation-name: overlay-slide-in-right; }

@-webkit-keyframes overlay-slide-out-right {
  0% {
    width: 0; }
  to {
    width: 100%; } }

@keyframes overlay-slide-out-right {
  0% {
    width: 0; }
  to {
    width: 100%; } }

.overlay-slide-out-right {
  right: 0;
  width: 100%;
  -webkit-animation-name: overlay-slide-out-right;
  animation-name: overlay-slide-out-right; }

/*--------------------------------------------------------------------------
   reset
   --------------------------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong,
sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 0; }

article, aside, details, figcaption, figure, main, footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

img {
  border: 0;
  vertical-align: top; }

em {
  font-style: italic; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0; }

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle; }

input:focus, textarea:focus, select:focus {
  outline: none; }

body, p, h1, h2, h3, h4, h5, ul, li, table, tbody, th, td, a {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/*------------------------------
変数
-------------------------------*/
/*-----------------------------------
アニメーション(ホバーアクションはすべてPCにのみ適応)
-------------------------------------*/
.a-hover-border__item {
  position: relative; }

.a-hover-border__vertical, .a-hover-border__horizontal {
  width: 100%;
  height: 100%;
  box-sizing: border-box; }
  .a-hover-border__vertical:before, .a-hover-border__vertical:after, .a-hover-border__horizontal:before, .a-hover-border__horizontal:after {
    content: "";
    position: absolute;
    opacity: 0;
    background-color: #000; }

.a-hover-border__vertical:before, .a-hover-border__vertical:after {
  width: 2px;
  height: 0; }

.a-hover-border__vertical:before {
  top: 0;
  left: 0;
  transition-duration: .4s; }

.a-hover-border__vertical:after {
  bottom: 0;
  right: 0;
  transition-duration: .6s; }

.a-hover-border__horizontal:before, .a-hover-border__horizontal:after {
  height: 2px;
  width: 0; }

.a-hover-border__horizontal:before {
  top: 0;
  left: 0;
  transition-duration: .4s; }

.a-hover-border__horizontal:after {
  bottom: 0;
  right: 0;
  transition-duration: .6s; }

@media only screen and (min-width: 751px) {
  .a-hover-border:hover .a-hover-border__vertical:before, .a-hover-border:hover .a-hover-border__vertical:after {
    opacity: 1;
    height: 100%; }
  .a-hover-border:hover .a-hover-border__horizontal:before, .a-hover-border:hover .a-hover-border__horizontal:after {
    opacity: 1;
    width: 100%; } }

.animation-swipe {
  overflow: hidden; }
  .animation-swipe__inner {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    transition-delay: .2s;
    transition-duration: 0.8s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(cubic-bezier(0.38, 0.96, 0.63, 1.04));
    -webkit-transform-origin: left;
            transform-origin: left;
    position: relative; }
    .animation-swipe__inner:before {
      content: "";
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      display: block;
      position: absolute;
      background-color: #3e3e3e;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 3;
      transition-delay: .5s;
      -webkit-transform-origin: right center;
              transform-origin: right center;
      transition-duration: 1.4s;
      transition-timing-function: cubic-bezier(cubic-bezier(0.38, 0.96, 0.63, 1.04)); }
  .animation-swipe__img {
    -webkit-transform: scale(1);
            transform: scale(1);
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-delay: .1s;
    transition-duration: 10s;
    transition-timing-function: cubic-bezier(cubic-bezier(0.38, 0.96, 0.63, 1.04)); }
  .animation-swipe.is-shown .animation-swipe__inner {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    transition-timing-function: cubic-bezier(0.31, 0.88, 0.47, 0.96); }
    .animation-swipe.is-shown .animation-swipe__inner:before {
      -webkit-transform: scale(0, 1);
              transform: scale(0, 1); }
  .animation-swipe.reverse .animation-swipe__inner {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    -webkit-transform-origin: right;
            transform-origin: right; }
    .animation-swipe.reverse .animation-swipe__inner:before {
      -webkit-transform-origin: left center;
              transform-origin: left center; }
  .animation-swipe.reverse.is-shown .animation-swipe__inner {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
    .animation-swipe.reverse.is-shown .animation-swipe__inner:before {
      -webkit-transform: scale(0, 1);
              transform: scale(0, 1); }

.animation-text__layer, .animation-text__textwrapper {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out; }

.animation-text__layer {
  display: inline-block;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  overflow: hidden; }

.animation-text__textwrapper {
  display: inline-block;
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0); }

.animation-text.is-shown .animation-text__layer {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.animation-text.is-shown .animation-text__textwrapper {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.animation-text.reverse .animation-text__layer {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0); }

.animation-text.reverse .animation-text__textwrapper {
  display: inline-block;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

.animation-text.reverse.is-shown .animation-text__layer {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.animation-text.reverse.is-shown .animation-text__textwrapper {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

@-webkit-keyframes stapleMove {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scale(1.08);
            transform: rotate(-45deg) scale(1.08); }
  60% {
    opacity: 1; }
  90% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(0.95);
            transform: rotate(-45deg) scale(0.95); }
  100% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(1);
            transform: rotate(-45deg) scale(1); } }

@keyframes stapleMove {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scale(1.08);
            transform: rotate(-45deg) scale(1.08); }
  60% {
    opacity: 1; }
  90% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(0.95);
            transform: rotate(-45deg) scale(0.95); }
  100% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(1);
            transform: rotate(-45deg) scale(1); } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    z-index: 99999; }
  50% {
    opacity: 1;
    z-index: 99999; }
  99% {
    z-index: 99999; }
  100% {
    opacity: 0;
    z-index: -99999; } }

@keyframes fadeOut {
  0% {
    opacity: 1;
    z-index: 99999; }
  50% {
    opacity: 1;
    z-index: 99999; }
  99% {
    z-index: 99999; }
  100% {
    opacity: 0;
    z-index: -99999; } }

.animation-btn {
  transition: color .3s;
  position: relative; }
  .animation-btn:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    -webkit-transform-origin: left;
            transform-origin: left;
    transform-origin: left;
    background-color: #000;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out; }
  .animation-btn span {
    position: relative;
    z-index: 9; }
  @media only screen and (min-width: 751px) {
    .animation-btn:hover {
      opacity: 1;
      color: #fff; }
      .animation-btn:hover:before {
        -webkit-transform: scaleX(1);
                transform: scaleX(1); }
      .animation-btn:hover:after {
        border-color: #fff; } }

@-webkit-keyframes STROKE {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent; }
  100% {
    stroke-dashoffset: 0;
    fill: black; } }

@keyframes STROKE {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent; }
  100% {
    stroke-dashoffset: 0;
    fill: black; } }

.stroke {
  fill: none;
  stroke: #000;
  stroke-width: 0.3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  -webkit-animation: STROKE 6s ease-in-out;
          animation: STROKE 6s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }

@-webkit-keyframes turnBackIndex {
  from {
    z-index: 9999999; }
  to {
    z-index: 1; } }

@keyframes turnBackIndex {
  from {
    z-index: 9999999; }
  to {
    z-index: 1; } }

/*--------------------------------------------------------------------------
 *   default;
 *---------------------------------------------------------------------------*/
/*-----------------------
  fonts
  -----------------------*/
@font-face {
  font-family: 'Atlan';
  font-style: normal;
  font-weight: 400;
  src: url(./fonts/Atlan-Regular.ttf) format("truetype"); }

/*--------------------------------------------------------------------------
 *	 html, body;
 *---------------------------------------------------------------------------*/
::-moz-selection {
  background: #b4b4b4;
  text-shadow: none; }
::selection {
  background: #b4b4b4;
  text-shadow: none; }

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  color: #000;
  line-height: 1.4;
  letter-spacing: 1.2px;
  min-width: 1040px; }
  @media only screen and (max-width: 750px) {
    html, body {
      min-width: auto;
      font-size: 13px; } }

/*--------------------------------------------------------------------------
 *	 base link;
 *---------------------------------------------------------------------------*/
a {
  outline: none;
  opacity: 1; }
  a:link, a:visited {
    text-decoration: none; }
  a:hover {
    text-decoration: none;
    outline: none;
    opacity: 0.7; }

/* clear fix */
.cf {
  zoom: 1; }
  .cf:before {
    display: table;
    content: ''; }
  .cf:after {
    display: table;
    content: '';
    clear: both; }

/*set img max-width*/
img {
  max-width: 100%;
  height: auto; }

/*----------------------------
PCとSPで表示切替
-----------------------------*/
@media only screen and (min-width: 751px) {
  .pcinline {
    display: inline; }
  .pc {
    display: block; }
  .sp {
    display: none !important; }
  .spinline {
    display: none !important; } }

@media only screen and (max-width: 750px) {
  .pcinline {
    display: none !important; }
  .pc {
    display: none !important; }
  .sp {
    display: block; }
  .spinline {
    display: inline; }
  img {
    max-width: 100%;
    height: auto; } }

#Page .l-content {
  padding-top: 90px;
  position: relative; }
  #Page .l-content:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 474px;
    background-color: #fafafa;
    z-index: -1; }

#Thanks .l-content {
  padding-top: 200px;
  padding-bottom: 200px; }

.l-inner, .l-inner-lower-page, .l-inner-pc, .l-article-inner, .l-inner-lower-page-pc {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0 40px;
  padding: 0 3%; }

.l-inner-lower-page, .l-inner-lower-page-pc {
  padding: 0 80px;
  padding: 0 6%; }

.l-article-inner {
  padding: 0 6%; }

.l-side {
  max-width: 200px;
  width: 18.666%;
  box-sizing: border-box; }

.l-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  box-sizing: border-box;
  padding-left: 50px;
  padding-left: 4.497%; }

.post-type-archive-item .l-content > .l-inner, .tax-item_cat .l-content > .l-inner, .tax-item_brand .l-content > .l-inner, .single-item .l-content > .l-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.single-magazine .l-content > .l-inner {
  padding: 0; }

/*-------------------------------------------------
layout SP
---------------------------------------------------*/
@media only screen and (max-width: 750px) {
  #Page .l-content {
    padding-top: 71px; }
    #Page .l-content:before {
      width: 80%;
      height: 320px;
      height: 48vh; }
  #Thanks .l-content {
    padding-top: 100px;
    padding-bottom: 100px; }
  .l-inner, .l-inner-lower-page {
    padding: 0 4%; }
  .l-inner-pc {
    padding: 0; }
  .l-inner-sp {
    width: 100%;
    box-sizing: border-box;
    padding: 0 4%; }
  .l-article-inner {
    padding: 0 4%; }
  .l-side {
    max-width: none;
    width: 100%;
    padding-bottom: 50px; }
  .l-main {
    padding-left: 0; }
  .post-type-archive-item .l-content > .l-inner, .tax-item_cat .l-content > .l-inner, .tax-item_brand .l-content > .l-inner, .single-item .l-content > .l-inner, .post-type-archive-magazine .l-content > .l-inner {
    display: block;
    padding: 0; }
  .post-type-archive-item .l-main, .tax-item_cat .l-main, .tax-item_brand .l-main, .single-item .l-main, .post-type-archive-magazine .l-main {
    padding: 0 4%; } }

/*-------------------------------------------------
layout Large Screen
---------------------------------------------------*/
@media only screen and (min-width: 1281px) {
  .l-inner, .l-inner-pc {
    padding-left: 40px;
    padding-right: 40px; }
  .l-inner-lower-page, .l-inner-lower-page-pc {
    padding-left: 80px;
    padding-right: 80px; }
  .l-side {
    margin-left: 10px; } }

#Page .header-top-bar {
  opacity: 0;
  transition: opacity .4s; }
  #Page .header-top-bar.is-shown {
    opacity: 1; }

.l-header .header-top-bar {
  position: fixed;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 999;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  padding: 19px 20px 16px;
  transition: background .4s; }

.l-header .header-top-bar.active {
  background-color: #fff !important; }

.l-header .btn-text {
  text-align: center;
  font-family: 'Atlan', sans-serif;
  font-size: 14px;
  line-height: 1.37;
  letter-spacing: 0.8px; }

.l-header .brand-btn {
  position: relative; }
  .l-header .brand-btn:hover {
    cursor: pointer; }
  .l-header .brand-btn:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -2px;
    width: 4px;
    height: 36px;
    background-color: #000;
    opacity: 0;
    transition: opacity .3s; }
  .l-header .brand-btn span {
    display: block;
    width: 36px;
    height: 16px;
    box-sizing: border-box;
    border-left: 16px solid #000;
    border-right: 16px solid #000;
    transition: opacity .3s; }
    .l-header .brand-btn span:first-of-type {
      margin-bottom: 4px; }
  .l-header .brand-btn.active:before {
    opacity: 1; }
  .l-header .brand-btn.active span {
    opacity: 0; }

.l-header .header-logo {
  position: absolute;
  left: 50%;
  top: 20px;
  margin-left: -68px;
  width: 136px;
  height: 48px; }

.l-header .header-nav-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.l-header .header-small-nav {
  margin-top: -6px; }
  .l-header .header-small-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 15px; }
  .l-header .header-small-nav li {
    padding: 0 15px; }
  .l-header .header-small-nav a {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    color: #000;
    font-size: 13px;
    line-height: 1.58;
    letter-spacing: 0.8px;
    position: relative;
    display: inline-block; }
    .l-header .header-small-nav a:after {
      content: "";
      opacity: 0;
      display: block;
      width: 0;
      transition-duration: 0.5s;
      border-bottom: 3px solid #000; }
    @media only screen and (min-width: 751px) {
      .l-header .header-small-nav a:hover {
        opacity: 1; }
        .l-header .header-small-nav a:hover:after {
          opacity: 1;
          width: 100%; } }

.l-header .menu-btn {
  position: relative;
  width: 36px;
  height: 47px; }
  .l-header .menu-btn:hover {
    cursor: pointer; }
  .l-header .menu-btn span {
    position: absolute;
    left: 0;
    display: block;
    width: 36px;
    height: 4px;
    background-color: #000;
    transition: opacity .3s; }
    .l-header .menu-btn span:first-of-type {
      top: 0; }
    .l-header .menu-btn span:nth-of-type(2) {
      top: 11px; }
    .l-header .menu-btn span:nth-of-type(3) {
      top: 22px; }
  .l-header .menu-btn .btn-text {
    position: absolute;
    bottom: 0;
    left: 0; }
  .l-header .menu-btn.active span:first-of-type {
    opacity: 0; }
  .l-header .menu-btn.active span:nth-of-type(2) {
    top: 11px; }
  .l-header .menu-btn.active span:nth-of-type(3) {
    opacity: 0; }

#OpenMenu {
  overflow: hidden;
  position: fixed;
  z-index: 999;
  right: 0;
  top: 90px;
  background-color: #fff;
  width: 100%;
  box-sizing: border-box;
  height: calc(100vh - 90px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  transition: -webkit-transform .6s;
  transition: transform .6s;
  transition: transform .6s, -webkit-transform .6s; }
  #OpenMenu #MainGnav {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    #OpenMenu #MainGnav a {
      color: #000; }
    #OpenMenu #MainGnav:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 240px;
      height: 100%;
      background-color: #eeeeee;
      z-index: -1; }
    #OpenMenu #MainGnav .main-menu {
      padding-top: 20px;
      width: 425px;
      margin-right: 0;
      margin-left: auto; }
      #OpenMenu #MainGnav .main-menu li {
        padding: 2px 0; }
        @media only screen and (min-width: 1441px) {
          #OpenMenu #MainGnav .main-menu li {
            padding: 10px 0; } }
        #OpenMenu #MainGnav .main-menu li a {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media only screen and (min-width: 751px) {
            #OpenMenu #MainGnav .main-menu li a:hover {
              opacity: 1; }
              #OpenMenu #MainGnav .main-menu li a:hover .en span:after {
                width: 100%;
                opacity: 1; } }
    #OpenMenu #MainGnav .en {
      width: 185px;
      box-sizing: border-box;
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-weight: bold;
      letter-spacing: 2.9px;
      line-height: 2.25;
      font-size: 16px;
      padding-right: 20px;
      text-align: right; }
      #OpenMenu #MainGnav .en span {
        display: inline-block;
        position: relative; }
        #OpenMenu #MainGnav .en span:after {
          content: "";
          display: block;
          width: 0;
          transition: .4s;
          border-bottom: 3px solid #000; }
    #OpenMenu #MainGnav .ja {
      width: 240px;
      box-sizing: border-box;
      padding-left: 20px;
      font-size: 14px;
      line-height: 2.57;
      letter-spacing: 1.1px; }
    #OpenMenu #MainGnav .sub-menu {
      width: 240px;
      box-sizing: border-box;
      padding-top: 20px;
      padding-left: 20px;
      margin-right: 0;
      margin-left: auto;
      text-align: left; }
      #OpenMenu #MainGnav .sub-menu li {
        font-size: 14px;
        letter-spacing: 2px;
        line-height: 2;
        padding-top: 6px; }
      #OpenMenu #MainGnav .sub-menu a {
        padding-bottom: 3px;
        border-bottom: 1px solid #979797; }
  #OpenMenu .vertical-menu {
    width: 70px;
    height: 100%;
    box-sizing: border-box;
    padding: 0 10px;
    background-color: #e4e4e4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-writing-mode: tb-rl;
        writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: bold;
    letter-spacing: 1.5px;
    line-height: 1.8;
    font-size: 15px; }
    #OpenMenu .vertical-menu .menu-sns-area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 30px; }
      #OpenMenu .vertical-menu .menu-sns-area a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        color: #000; }
      #OpenMenu .vertical-menu .menu-sns-area .icon {
        background-color: #fff;
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        border-radius: 7px; }
        #OpenMenu .vertical-menu .menu-sns-area .icon.line {
          background-image: url(images/_common/icon-line.svg);
          background-repeat: no-repeat;
          background-size: 40px;
          background-position: center; }
        #OpenMenu .vertical-menu .menu-sns-area .icon.fb i {
          margin-bottom: -5px; }
        #OpenMenu .vertical-menu .menu-sns-area .icon i {
          font-size: 34px; }
  #OpenMenu.open {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

#BrandMenu {
  position: fixed;
  z-index: 999;
  left: 0;
  top: 90px;
  background-color: #fff;
  width: 100%;
  box-sizing: border-box;
  height: calc(100vh - 90px);
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  transition: -webkit-transform .6s;
  transition: transform .6s;
  transition: transform .6s, -webkit-transform .6s; }
  #BrandMenu:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    width: 235px;
    height: 100%;
    background-color: #eeeeee; }
  #BrandMenu .brand-nav {
    position: absolute;
    left: 120px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    #BrandMenu .brand-nav li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 30px 0; }
      #BrandMenu .brand-nav li:first-of-type {
        padding-top: 0; }
    #BrandMenu .brand-nav .guide {
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-weight: 600;
      width: 426px;
      box-sizing: border-box;
      font-size: 22px;
      letter-spacing: 4px;
      line-height: 2.4;
      padding-left: 86px;
      position: relative; }
      #BrandMenu .brand-nav .guide:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        border-top: 1px solid #000; }
      #BrandMenu .brand-nav .guide:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        background-repeat: no-repeat; }
    #BrandMenu .brand-nav .link {
      padding-left: 40px; }
    #BrandMenu .brand-nav .shop .guide:after {
      width: 80px; }
    #BrandMenu .brand-nav .shop .guide:before {
      width: 54px;
      height: 28px;
      background-image: url(images/_common/icon-sofa.svg); }
    #BrandMenu .brand-nav .shop .logo {
      width: 125px;
      height: 45px; }
    #BrandMenu .brand-nav .house .guide:after {
      width: 210px; }
    #BrandMenu .brand-nav .house .guide:before {
      width: 46px;
      height: 34px;
      left: 5px;
      background-image: url(images/_common/icon-house.svg); }
    #BrandMenu .brand-nav .house .logo {
      width: 192px;
      height: 28px; }
    #BrandMenu .brand-nav .renovation .guide:after {
      width: 119px; }
    #BrandMenu .brand-nav .renovation .guide:before {
      width: 30px;
      height: 46px;
      left: 14px;
      background-image: url(images/_common/icon-building.svg); }
    #BrandMenu .brand-nav .renovation .logo {
      width: 176px;
      height: 42px; }
    #BrandMenu .brand-nav .cafe .guide:after {
      width: 106px; }
    #BrandMenu .brand-nav .cafe .guide:before {
      width: 48px;
      height: 38px;
      background-image: url(images/_common/icon-dining.svg); }
    #BrandMenu .brand-nav .cafe .logo {
      width: 200px;
      height: 73px; }
  #BrandMenu.open {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

.fixed-side {
  position: fixed;
  width: 28px;
  z-index: 99;
  text-align: center; }
  .fixed-side a {
    color: #000; }
  .fixed-side__container {
    position: relative;
    padding-top: 16px;
    padding-bottom: 16px;
    line-height: 10px; }
    .fixed-side__container:before, .fixed-side__container:after {
      content: "";
      display: block;
      z-index: -1;
      width: 3px;
      height: 16px;
      border-left: 1px solid #000;
      border-right: 1px solid #000;
      position: absolute;
      left: 50%;
      margin-left: -2px; }
    .fixed-side__container:before {
      top: 0; }
    .fixed-side__container:after {
      bottom: 0; }
  .fixed-side__inner {
    padding: 6px 0; }
  .fixed-side__icon {
    background-color: #fff;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 28px;
    height: 28px;
    box-sizing: border-box;
    margin-top: 14px; }
    .fixed-side__icon.line {
      background-image: url(images/_common/icon-atmark.svg);
      background-size: 20px;
      background-position: center;
      background-repeat: no-repeat; }
    .fixed-side__icon.fb i {
      margin-left: -2px; }
    .fixed-side__icon .fa {
      font-size: 20px; }
  .fixed-side.fixed-left {
    left: 10px;
    top: 35%; }
  .fixed-side.fixed-right {
    right: 10px;
    top: 33%; }

/*---------------------------------------------------
.l-header SP
---------------------------------------------------*/
@media only screen and (max-width: 750px) {
  .l-header .header-top-bar {
    padding: 10px 2.6% 9px; }
  .l-header .btn-text {
    font-size: 13px; }
  .l-header .brand-btn span {
    width: 35px;
    height: 15px;
    border-left: 15px solid #000;
    border-right: 15px solid #000; }
    .l-header .brand-btn span:first-of-type {
      margin-bottom: 5px; }
  .l-header .header-logo {
    top: 14px;
    margin-left: -60px;
    width: 120px;
    height: 43px; }
  .l-header .header-nav-wrapper {
    display: block; }
  .l-header .header-small-nav {
    display: none; }
  .l-header .menu-btn {
    width: 34px;
    height: 43px;
    margin-top: 5px; }
    .l-header .menu-btn span {
      width: 34px; }
      .l-header .menu-btn span:nth-of-type(2) {
        top: 10px; }
      .l-header .menu-btn span:nth-of-type(3) {
        top: 20px; }
  #OpenMenu {
    top: 71px;
    height: calc(100vh - 71px);
    display: block;
    overflow-y: scroll; }
    #OpenMenu #MainGnav {
      width: 100%; }
      #OpenMenu #MainGnav:after {
        width: 50%; }
      #OpenMenu #MainGnav .main-menu {
        padding-top: 20px;
        padding-bottom: 10px;
        width: 100%;
        margin-right: 0;
        margin-left: auto; }
        #OpenMenu #MainGnav .main-menu li {
          padding: 8px 0; }
      #OpenMenu #MainGnav .en {
        width: 50%;
        letter-spacing: 1.4px;
        line-height: 1.29;
        font-size: 14px; }
      #OpenMenu #MainGnav .ja {
        width: 50%;
        font-size: 12px;
        line-height: 1.29;
        letter-spacing: 0.9px; }
      #OpenMenu #MainGnav .sub-menu {
        width: 100%;
        padding-top: 26px;
        padding-bottom: 26px;
        padding-left: 0px;
        background-color: #eee;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        #OpenMenu #MainGnav .sub-menu li {
          font-size: 13px;
          font-size: 3.4vw;
          letter-spacing: 1px;
          padding-top: 0px; }
          #OpenMenu #MainGnav .sub-menu li:not(:first-of-type):before {
            content: "/";
            margin: 0 3px; }
    #OpenMenu .vertical-menu {
      width: 100%;
      padding: 12px 4%;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb; }
      #OpenMenu .vertical-menu .menu-sns-area {
        margin-top: 0px; }
        #OpenMenu .vertical-menu .menu-sns-area .icon {
          width: 40px;
          height: 40px;
          margin-bottom: 0px;
          margin-left: 10px; }
          #OpenMenu .vertical-menu .menu-sns-area .icon.line {
            background-size: 34px; }
          #OpenMenu .vertical-menu .menu-sns-area .icon.fb i {
            margin-bottom: -2px; }
          #OpenMenu .vertical-menu .menu-sns-area .icon i {
            font-size: 30px; }
  #BrandMenu {
    top: 71px;
    width: 100%;
    height: calc(100vh - 71px);
    overflow-y: scroll; }
    #BrandMenu:before {
      width: 31%; }
    #BrandMenu .brand-nav {
      position: static;
      padding-left: 8%;
      padding-right: 4%;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
      #BrandMenu .brand-nav li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 70px 0 10px; }
        #BrandMenu .brand-nav li:first-of-type {
          padding-top: 70px; }
      #BrandMenu .brand-nav .guide {
        width: auto;
        font-size: 15px;
        font-weight: bold;
        letter-spacing: 1.5px;
        line-height: 1.2;
        padding-left: 0; }
        #BrandMenu .brand-nav .guide img {
          position: absolute;
          top: -50px;
          left: 0; }
        #BrandMenu .brand-nav .guide:after {
          content: none; }
        #BrandMenu .brand-nav .guide:before {
          content: none; }
      #BrandMenu .brand-nav .link {
        margin-left: 20px;
        padding-left: 20px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        text-align: right;
        display: block;
        position: relative; }
        #BrandMenu .brand-nav .link .img-wrapper {
          display: inline-block;
          background-color: #fff;
          padding: 0 20px; }
        #BrandMenu .brand-nav .link:before {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background-color: #000;
          position: absolute;
          left: 0;
          top: 50%;
          z-index: -1; }
      #BrandMenu .brand-nav .shop .guide:after {
        width: 12%; }
      #BrandMenu .brand-nav .shop .logo {
        width: 100px;
        height: 36px; }
      #BrandMenu .brand-nav .house .guide:after {
        width: 36%; }
      #BrandMenu .brand-nav .house .logo {
        width: 115px;
        height: 17px; }
      #BrandMenu .brand-nav .renovation .guide:after {
        width: 50%; }
      #BrandMenu .brand-nav .renovation .logo {
        width: 113px;
        height: 27px; }
      #BrandMenu .brand-nav .cafe .guide:after {
        width: 40%; }
      #BrandMenu .brand-nav .cafe .logo {
        width: 130px;
        height: 56px; }
  .fixed-side {
    display: none; } }

.l-footer {
  padding-top: 40px;
  padding-bottom: 60px; }
  .l-footer a {
    color: #000; }
  .l-footer .footer-top-bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
    background-color: #e6e6e6; }
  .l-footer .mail-magazine {
    width: 62.5%;
    box-sizing: border-box;
    padding: 0 4%;
    border-right: 1px solid #dcd9d9;
    position: relative; }
    .l-footer .mail-magazine:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 99;
      right: 4%;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      width: 7px;
      height: 7px;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      border-top: 1px solid #000;
      border-right: 1px solid #000; }
    .l-footer .mail-magazine a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 80px;
      width: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .l-footer .mail-magazine__text {
      padding-left: 18px;
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-size: 30px;
      letter-spacing: 3px;
      font-weight: bold; }
      .l-footer .mail-magazine__text .ja {
        vertical-align: middle;
        font-size: 15px;
        letter-spacing: 2.4px;
        font-weight: normal;
        font-weight: 400;
        padding-left: 6px; }
  .l-footer .footer-sns {
    width: 37.5%;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 15px 5%; }
    .l-footer .footer-sns .text {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      text-align: right;
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-weight: bold;
      letter-spacing: 1.5px;
      padding-right: 15%; }
    .l-footer .footer-sns .icons {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .l-footer .footer-sns .icons .icon {
        margin-left: 15px;
        display: block;
        width: 50px;
        height: 50px;
        background-color: #fff;
        border-radius: 6px; }
        .l-footer .footer-sns .icons .icon:first-of-type {
          margin-left: 0; }
        .l-footer .footer-sns .icons .icon.line {
          background-size: 40px;
          background-position: center;
          background-repeat: no-repeat;
          background-image: url(images/_common/icon-line.svg); }
        .l-footer .footer-sns .icons .icon.fb, .l-footer .footer-sns .icons .icon.insta {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
        .l-footer .footer-sns .icons .icon i {
          font-size: 30px; }
  .l-footer .footer-nav-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-top: 50px; }
  .l-footer .footer-logo-area {
    width: 228px;
    width: 20.35%; }
  .l-footer .copyright {
    font-size: 14px;
    letter-spacing: 1.4px;
    font-weight: 500;
    color: #b4b4b4;
    text-align: right;
    padding-top: 100px; }
  .l-footer .footer-nav {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .l-footer .side-menu li {
    display: inline-block;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    letter-spacing: 1.5px;
    font-weight: 600;
    padding-right: 30px; }
    .l-footer .side-menu li a {
      padding: 2px 0;
      position: relative;
      display: inline-block; }
      .l-footer .side-menu li a:before, .l-footer .side-menu li a:after {
        content: "";
        display: block;
        position: absolute;
        height: 1px;
        left: 0;
        background-color: #000; }
      .l-footer .side-menu li a:before {
        width: 100%;
        bottom: 0; }
      .l-footer .side-menu li a:after {
        top: 0;
        width: 0%;
        opacity: 0;
        transition-duration: 0.5s; }
      @media only screen and (min-width: 751px) {
        .l-footer .side-menu li a:hover {
          opacity: 1; }
          .l-footer .side-menu li a:hover:after {
            opacity: 1;
            width: 100%; } }
  .l-footer .main-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 20px; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .l-footer .main-menu {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (33%)[3];
            grid-template-columns: repeat(3, 33%);
        -ms-grid-rows: (auto)[4];
            grid-template-rows: repeat(4, auto);
        grid-auto-flow: column; } }
    .l-footer .main-menu li {
      width: 33%;
      margin-top: 30px; }
      .l-footer .main-menu li.dummy {
        display: none; }
        .l-footer .main-menu li.dummy:before {
          content: none; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .l-footer .main-menu li {
          width: 100%; }
          .l-footer .main-menu li.dummy {
            display: block; } }
      .l-footer .main-menu li:before {
        content: "・";
        font-weight: 400; }
      .l-footer .main-menu li .en {
        display: inline-block;
        position: relative;
        font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        letter-spacing: 1.8px;
        font-weight: 600; }
        .l-footer .main-menu li .en:before {
          content: "";
          display: block;
          position: absolute;
          z-index: -1;
          transition: width .4s;
          bottom: 4px;
          left: 0;
          width: 0;
          height: 3px;
          background-color: #e6e6e6; }
      .l-footer .main-menu li .ja {
        display: block;
        text-indent: 1.2em;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 1.4px;
        color: #b4b4b4;
        padding-top: 3px; }
      .l-footer .main-menu li .head-ja {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 1.6px; }
      @media only screen and (min-width: 751px) {
        .l-footer .main-menu li a:hover {
          opacity: 1; }
          .l-footer .main-menu li a:hover .en:before {
            width: 100%; } }
  @media only screen and (max-width: 750px) {
    .l-footer {
      border-top: 1px solid #fafafa;
      padding-top: 50px;
      padding-bottom: 40px; }
      .l-footer .footer-top-bar {
        display: block;
        background-color: #e6e6e6; }
      .l-footer .mail-magazine {
        width: 100%;
        padding: 7px 4%;
        border-right: none;
        border-bottom: 1px solid #fff; }
        .l-footer .mail-magazine a {
          height: auto; }
        .l-footer .mail-magazine__text {
          padding-left: 14px;
          font-size: 20px;
          letter-spacing: 2px; }
          .l-footer .mail-magazine__text .ja {
            display: block;
            font-size: 12px;
            letter-spacing: 1.9px;
            padding-left: 0px; }
      .l-footer .footer-sns {
        width: 100%;
        display: block;
        text-align: center;
        padding: 17px 4%; }
        .l-footer .footer-sns .text {
          font-size: 14px;
          letter-spacing: 1.4px;
          padding-right: 0;
          text-align: center; }
        .l-footer .footer-sns .icons {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-top: 12px; }
          .l-footer .footer-sns .icons .icon i {
            font-size: 34px; }
      .l-footer .footer-nav-area {
        display: block;
        padding-top: 34px; }
      .l-footer .footer-logo-area {
        width: 100%;
        text-align: center; }
        .l-footer .footer-logo-area img {
          width: 171px; }
      .l-footer .copyright {
        font-size: 12px;
        letter-spacing: 1.2px;
        text-align: center;
        padding-top: 50px; }
      .l-footer .side-menu li {
        font-size: 14px;
        letter-spacing: 1.4px;
        padding-right: 22px; }
      .l-footer .main-menu {
        padding-top: 16px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .l-footer .main-menu {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: (50%)[2];
                grid-template-columns: repeat(2, 50%);
            -ms-grid-rows: (auto)[5];
                grid-template-rows: repeat(5, auto);
            grid-auto-flow: column; } }
        .l-footer .main-menu li {
          width: 50%;
          margin-top: 22px; }
          .l-footer .main-menu li.dummy {
            display: none; }
          @supports ((display: -ms-grid) or (display: grid)) {
            .l-footer .main-menu li {
              width: 100%; }
              .l-footer .main-menu li.dummy {
                display: none; } }
          .l-footer .main-menu li .en {
            font-size: 14px;
            letter-spacing: 1.4px; }
          .l-footer .main-menu li .ja {
            font-size: 12px;
            letter-spacing: 1.2px; }
          .l-footer .main-menu li .head-ja {
            font-size: 14px;
            letter-spacing: 1.4px; } }

.m-pagehead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
  padding-bottom: 100px; }
  .m-pagehead__imgarea {
    width: 75%; }
    .m-pagehead__imgarea img {
      width: 100%;
      height: auto; }
  .m-pagehead__textarea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
  .m-pagehead__title {
    padding-left: 13.6%;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 40px;
    letter-spacing: 4px; }
    .m-pagehead__title .ja {
      display: block;
      font-weight: normal;
      font-weight: 400;
      font-size: 15px;
      letter-spacing: 2.4px;
      padding-top: 6px; }
  .m-pagehead__nav {
    padding-top: 57px; }
    .m-pagehead__nav li {
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: bold;
      letter-spacing: 2.2px;
      line-height: 2.11;
      padding-left: 13%;
      position: relative; }
      .m-pagehead__nav li a {
        color: #000; }
      .m-pagehead__nav li:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        width: 12%;
        border-top: 1px solid #e6e6e6; }
  @media only screen and (max-width: 750px) {
    .m-pagehead {
      display: block;
      padding-bottom: 60px; }
      .m-pagehead__imgarea {
        width: 100%; }
      .m-pagehead__textarea {
        position: static; }
      .m-pagehead__title {
        margin-top: -14px;
        padding-left: 4%;
        font-size: 30px;
        font-size: 7.246376vw;
        letter-spacing: 3px;
        line-height: 1; }
        .m-pagehead__title .ja {
          font-size: 16px;
          font-size: 3.864734vw;
          letter-spacing: 2.5px;
          padding-top: 20px; }
      .m-pagehead__nav {
        padding-top: 0px;
        margin-top: 30px;
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .m-pagehead__nav li {
          width: 50%;
          text-align: center;
          display: inline-block;
          box-sizing: border-box;
          font-size: 12px;
          letter-spacing: 1.2px;
          padding: 6px 15px;
          border-right: 1px solid #e6e6e6;
          border-bottom: 1px solid #e6e6e6;
          position: relative; }
          .m-pagehead__nav li:after {
            content: "";
            display: block;
            position: absolute;
            z-index: 99;
            right: 10px;
            top: 50%;
            -webkit-transform: translateY(-50%) rotate(45deg);
                    transform: translateY(-50%) rotate(45deg);
            width: 7px;
            height: 7px;
            transition: -webkit-transform .4s;
            transition: transform .4s;
            transition: transform .4s, -webkit-transform .4s;
            border-top: 1px solid #000;
            border-right: 1px solid #000; }
          .m-pagehead__nav li:nth-of-type(2n) {
            border-right: none; }
          .m-pagehead__nav li:nth-of-type(3), .m-pagehead__nav li:nth-of-type(4) {
            border-bottom: none; }
          .m-pagehead__nav li:before {
            content: none; } }

.m-title-underline {
  text-align: center;
  font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2.9px;
  line-height: 2;
  padding-bottom: 10px;
  border-bottom: 1px solid #000; }
  @media only screen and (max-width: 750px) {
    .m-title-underline {
      padding-bottom: 6px; } }

.m-title-group {
  margin-bottom: 30px; }
  .m-title-group__subtitle {
    color: #b4b4b4;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: bold;
    font-weight: 600;
    letter-spacing: 2.9px;
    line-height: 1.25;
    padding-bottom: 24px; }
  .m-title-group__title {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 30px;
    letter-spacing: 3px;
    line-height: 1.2; }
    .m-title-group__title .ja {
      display: block;
      font-size: 16px;
      font-weight: normal;
      line-height: 1.28;
      padding-top: 14px;
      position: relative;
      padding-bottom: 12px; }
      .m-title-group__title .ja:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 32px;
        border-bottom: 1px solid #000; }
  @media only screen and (max-width: 750px) {
    .m-title-group__subtitle {
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 2.5px;
      padding-bottom: 26px; }
    .m-title-group__title {
      font-size: 20px;
      letter-spacing: 2px; }
      .m-title-group__title .ja {
        font-size: 12px;
        letter-spacing: 1.9px;
        line-height: 1.71;
        padding-top: 14px; } }

.m-page-section-title {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 3.2px;
  line-height: 1.8; }
  @media only screen and (max-width: 750px) {
    .m-page-section-title {
      font-size: 16px;
      letter-spacing: 2.5px;
      line-height: 1.56; } }

.m-breadcrumb {
  padding-top: 30px;
  padding-bottom: 32px; }
  .m-breadcrumb__wrapper {
    padding: 0; }
  .m-breadcrumb span, .m-breadcrumb a {
    font-size: 14px;
    color: #505050;
    letter-spacing: 1.1px;
    line-height: 2.57; }
  .m-breadcrumb a:hover {
    text-decoration: underline; }
  .m-breadcrumb.footer {
    text-align: right;
    padding-bottom: 12px;
    color: #b4b4b4; }
    .m-breadcrumb.footer span, .m-breadcrumb.footer a {
      color: #b4b4b4; }
    .m-breadcrumb.footer .breadcrumb-item {
      padding: 0 2px; }
  @media only screen and (max-width: 750px) {
    .m-breadcrumb {
      padding-top: 6px;
      padding-bottom: 18px; }
      .m-breadcrumb span, .m-breadcrumb a {
        font-size: 12px; } }

.m-btn {
  margin-top: 24px;
  display: inline-block;
  width: 100%;
  border: 1px solid #000;
  font-size: 15px;
  letter-spacing: 2.7px;
  padding: 8px 0;
  position: relative;
  color: #000; }
  .m-btn:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 99;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s;
    border-top: 1px solid #000;
    border-right: 1px solid #000; }
  @media only screen and (max-width: 750px) {
    .m-btn {
      margin-top: 20px;
      font-size: 12px;
      text-align: center;
      display: block;
      margin-left: auto;
      margin-right: auto;
      width: 80%; } }

.m-page-text {
  padding-top: 26px;
  font-size: 15px;
  letter-spacing: 1.2px;
  line-height: 1.87; }
  @media only screen and (max-width: 750px) {
    .m-page-text {
      font-size: 13px;
      letter-spacing: 1.77;
      line-height: 1.77;
      padding-top: 18px; } }

.m-text-note {
  font-size: 13px;
  letter-spacing: 0.5px; }
  @media only screen and (max-width: 750px) {
    .m-text-note {
      font-size: 11px; } }

.m-footer-bnr {
  padding-top: 40px;
  background: linear-gradient(#c8c8c8 75%, #fff 75%);
  margin-bottom: 40px; }
  .m-footer-bnr__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1120px;
    margin: 0 auto; }
  .m-footer-bnr__item {
    display: block;
    width: 48%;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 9;
    overflow: hidden;
    position: relative; }
    .m-footer-bnr__item:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 99;
      right: 20px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      width: 7px;
      height: 7px;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff; }
    .m-footer-bnr__item:hover {
      opacity: 1; }
      .m-footer-bnr__item:hover img {
        -webkit-transform: scale(1.1);
                transform: scale(1.1); }
    .m-footer-bnr__item img {
      transition: all 1s ease-out;
      width: 100%;
      height: auto;
      -webkit-transform: scale(1);
              transform: scale(1); }
    .m-footer-bnr__item:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: rgba(80, 80, 80, 0.75);
      position: absolute;
      z-index: 99; }
  .m-footer-bnr__text {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 999;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  @media only screen and (max-width: 750px) {
    .m-footer-bnr {
      background: linear-gradient(#c8c8c8 20%, #fff 20%);
      margin-bottom: 40px; }
      .m-footer-bnr__inner {
        display: block;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        padding: 0 4%; }
      .m-footer-bnr__item {
        width: 100%;
        margin-bottom: 10px; }
      .m-footer-bnr__text {
        font-size: 15px;
        letter-spacing: 2.7px;
        font-weight: 600;
        color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 999;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }

.m-lead .l-inner-lower-page {
  position: relative; }

.m-lead__img {
  padding-bottom: 5px;
  position: relative;
  z-index: 2;
  width: 540px;
  width: 51.92%; }
  .m-lead__img img {
    width: 100%; }

.m-lead__textarea {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 600px;
  width: 50%;
  box-sizing: border-box; }

.m-lead__title {
  font-size: 20px;
  padding: 26px 80px 40px;
  padding: 4% 13.5% 6%; }

.m-lead__text {
  background-color: #fafafa;
  z-index: 1;
  line-height: 1.97;
  letter-spacing: 1.2px;
  padding: 81px 80px;
  padding: 8.5% 13.7%; }

@media only screen and (min-width: 751px) and (max-width: 959px) {
  .m-lead .l-inner-lower-page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .m-lead__textarea {
    position: static; } }

@media only screen and (max-width: 750px) {
  .m-lead__img {
    width: 100%;
    padding-bottom: 0; }
  .m-lead__textarea {
    position: static;
    width: 100%; }
  .m-lead__title {
    font-size: 15px;
    padding: 20px 0; }
  .m-lead__text {
    padding: 20px 4%;
    text-align: justify; } }

.m-form {
  border: 1px solid #d2d2d2;
  margin-top: 27px;
  padding: 40px 60px; }
  .m-form .wpcf7-recaptcha div {
    margin: 20px auto; }
  .m-form table {
    width: 100%;
    text-align: left; }
  .m-form tr {
    border-bottom: 1px solid #d2d2d2; }
    .m-form tr.noborder {
      border-bottom: none; }
  .m-form th, .m-form td {
    padding: 10px 0;
    font-size: 16px; }
  .m-form th {
    width: 24%;
    font-weight: 500;
    letter-spacing: 1.6px;
    vertical-align: top; }
    .m-form th.sub {
      padding-left: 16px;
      font-weight: 300;
      letter-spacing: 1.3px;
      line-height: 1; }
    .m-form th .required {
      color: #bf0000; }
    .m-form th .small {
      display: block;
      font-size: 11px; }
  .m-form td {
    width: 76%;
    letter-spacing: 2.9px; }
    .m-form td input, .m-form td textarea {
      width: 100%;
      border: none;
      -webkit-appearance: none;
      background-color: #eee; }
  .m-form__text {
    font-size: 16px;
    letter-spacing: 1.6px;
    font-weight: 500;
    padding-top: 26px; }
    .m-form__text.confirm {
      text-align: center;
      padding-bottom: 18px; }
  .m-form__subtext {
    text-align: center;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 1.3px;
    line-height: 1.54; }
  .m-form__questionnaire {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 32px;
    padding-bottom: 30px; }
    .m-form__questionnaire p {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .m-form__questionnaire ul {
      width: 56%;
      padding-left: 50px; }
      .m-form__questionnaire ul li {
        display: inline-block;
        margin-right: 40px; }
  .m-form__btn {
    display: block;
    width: 260px;
    width: 23%;
    text-align: center;
    margin: 20px auto 0;
    -webkit-appearance: none;
    background-color: transparent;
    transition: background .4s; }
    .m-form__btn:hover {
      cursor: pointer;
      background-color: #d2d2d2; }
  .m-form .mktoForm {
    width: 100% !important; }
    .m-form .mktoForm .mktoFieldWrap, .m-form .mktoForm .mktoFormCol, .m-form .mktoForm .mktoHtmlText {
      width: 100% !important; }
    .m-form .mktoForm .mktoLabel {
      width: 30% !important; }
      .m-form .mktoForm .mktoLabel span {
        font-size: 15px;
        font-weight: 500;
        letter-spacing: 1.6px; }
    .m-form .mktoForm .mktoField {
      width: 70% !important;
      border: none;
      background-color: #eee; }
    .m-form .mktoForm .mktoFormRow {
      border-bottom: 1px solid #d2d2d2; }
    .m-form .mktoForm .mktoFormCol {
      padding: 10px 0;
      margin-bottom: 0 !important; }
    .m-form .mktoForm table {
      text-align: center;
      background-color: transparent !important;
      height: auto !important; }
      .m-form .mktoForm table tr {
        border-bottom: none; }
      .m-form .mktoForm table td {
        width: 100%; }
        .m-form .mktoForm table td span {
          font-size: 13px !important; }
    .m-form .mktoForm .mktoButtonRow {
      display: block; }
    .m-form .mktoForm .mktoButtonWrap.mktoCupidGreen {
      width: 100% !important; }
      .m-form .mktoForm .mktoButtonWrap.mktoCupidGreen .mktoButton {
        display: block;
        background-image: none;
        text-shadow: none;
        color: #000;
        background-color: transparent !important;
        box-shadow: none;
        border-radius: 0;
        border: 1px solid #000;
        margin: 20px auto 0;
        width: 260px;
        font-size: 15px;
        font-weight: normal;
        transition: background .4s; }
        .m-form .mktoForm .mktoButtonWrap.mktoCupidGreen .mktoButton:hover {
          background-color: #d2d2d2 !important;
          background-image: none;
          box-shadow: none; }
  .m-form #mktoForm_2262 .mktoFormRow:nth-of-type(2), .m-form #mktoForm_2262 .mktoFormRow:nth-last-of-type(-n+7) {
    display: none; }
  .m-form #mktoForm_2264 .mktoFormRow:nth-of-type(1), .m-form #mktoForm_2264 .mktoFormRow:nth-last-of-type(-n+10) {
    display: none; }
  @media only screen and (max-width: 750px) {
    .m-form {
      border: none;
      margin-top: 0px;
      width: 100%;
      box-sizing: border-box;
      padding: 40px 5% 25px; }
      .m-form table, .m-form tbody, .m-form tr, .m-form th, .m-form td {
        display: block; }
      .m-form th, .m-form td {
        width: 100%;
        padding: 10px 0;
        font-size: 14px; }
      .m-form__text {
        font-size: 12px;
        letter-spacing: 1.2px;
        font-weight: 400;
        padding-top: 30px;
        text-align: center; }
        .m-form__text.confirm {
          font-size: 15px;
          font-weight: 500;
          line-height: 1.8;
          letter-spacing: 1.5; }
      .m-form__subtext {
        text-align: left;
        padding-top: 6px;
        font-size: 12px;
        letter-spacing: 1.9px;
        padding-left: 1em;
        text-indent: -1.4em; }
      .m-form__questionnaire {
        display: block;
        padding-bottom: 0px; }
        .m-form__questionnaire ul {
          width: 100%;
          padding-left: 0px;
          padding-top: 24px; }
          .m-form__questionnaire ul li {
            display: inline-block;
            margin-right: 0px;
            width: 49%; }
      .m-form__btn {
        width: 70%;
        margin-top: 40px; }
      .m-form .mktoForm .mktoLabel {
        width: 100% !important; }
        .m-form .mktoForm .mktoLabel span {
          font-size: 13px !important; }
      .m-form .mktoForm .mktoField {
        width: 100% !important;
        font-size: 13px;
        margin-top: 4px; }
      .m-form .mktoForm .mktoButtonWrap.mktoCupidGreen .mktoButton {
        width: 80%; } }

.m-thanks__title {
  padding-top: 50px;
  font-size: 20px; }

.m-thanks__textarea {
  background-color: #fafafa;
  padding: 20px;
  margin-top: 20px; }

.m-thanks__text {
  font-size: 16px;
  line-height: 1.8; }

.m-thanks__subtext {
  font-size: 14px;
  padding-top: 12px; }

.m-thanks__toplink {
  display: inline-block;
  margin-top: 20px; }

.m-thanks a {
  color: #000;
  text-decoration: underline; }

.m-sns-area {
  background-image: url(images/_common/bg-stripe.jpg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 80px 60px; }
  .m-sns-area__title {
    font-size: 36px;
    letter-spacing: 2.9px;
    font-weight: bold;
    padding-bottom: 4px;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif; }
    .m-sns-area__title .fa {
      width: 34px;
      height: 34px;
      text-align: center;
      box-sizing: border-box;
      margin-right: 12px; }
  .m-sns-area__insta, .m-sns-area__fb {
    width: 490px;
    width: 49%;
    background-color: #fff;
    box-sizing: border-box;
    padding: 10px; }
  .m-sns-area__insta .fa {
    font-size: 35px; }
  .m-sns-area__insta .insta-canvas {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .m-sns-area__insta .insta-canvas__img {
      width: 117px;
      width: 24.4%;
      margin-right: 0.8%; }
      .m-sns-area__insta .insta-canvas__img:nth-of-type(-n+4) {
        margin-bottom: 19px; }
      .m-sns-area__insta .insta-canvas__img:nth-of-type(4n) {
        margin-right: 0; }
  .m-sns-area__fb iframe {
    width: 100%; }
  .m-sns-area__fb .fa {
    font-size: 20px;
    border-radius: 9px;
    padding-top: 4px;
    border: 3px solid #000;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); }
    .m-sns-area__fb .fa:before {
      display: inline-block;
      -webkit-transform: translateX(1px);
              transform: translateX(1px); }
  @media only screen and (max-width: 750px) {
    .m-sns-area {
      display: block;
      padding: 30px 4%; }
      .m-sns-area__title {
        font-size: 30px;
        letter-spacing: 3.6px;
        padding: 16px 12px; }
      .m-sns-area__insta, .m-sns-area__fb {
        width: 100%;
        padding: 0px; }
      .m-sns-area__fb {
        margin-top: 20px; }
        .m-sns-area__fb iframe {
          width: 100%; } }

.m-pagetop {
  width: 70%;
  height: 38px;
  margin: 0px auto 50px;
  border: 1px solid #c8c8c8;
  position: relative; }
  .m-pagetop:before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    border-top: 1px solid #c8c8c8;
    border-right: 1px solid #c8c8c8;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -25%) rotate(-45deg);
            transform: translate(-50%, -25%) rotate(-45deg); }

.m-list {
  margin-top: 80px; }
  @media only screen and (max-width: 750px) {
    .m-list {
      margin-top: 40px; } }
  @media only screen and (min-width: 751px) {
    .m-list__wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media only screen and (min-width: 751px) {
    .m-list__unit {
      width: 490px;
      box-sizing: border-box; } }
  @media only screen and (max-width: 750px) {
    .m-list__unit {
      margin-top: 40px; } }
  .m-list__parent {
    padding-bottom: 12px;
    position: relative; }
    @media only screen and (min-width: 751px) {
      .m-list__parent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
    .m-list__parent .main {
      font-size: 18px;
      font-weight: bold; }
      @media only screen and (max-width: 750px) {
        .m-list__parent .main {
          font-size: 16px; } }
    .m-list__parent .sub {
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-weight: 600;
      color: #b4b4b4;
      margin-left: 15px;
      font-size: 13px;
      display: block; }
      @media only screen and (max-width: 750px) {
        .m-list__parent .sub {
          margin-left: 0;
          margin-top: 8px; } }
    .m-list__parent .note {
      font-size: 11px;
      display: block; }
      @media only screen and (min-width: 751px) {
        .m-list__parent .note {
          position: absolute;
          right: 0; } }
  .m-list__children {
    border-top: 1px solid #000;
    margin-bottom: 20px; }
  .m-list__child {
    padding: 22px 0;
    border-bottom: 1px dotted #000;
    position: relative; }
    @media only screen and (max-width: 750px) {
      .m-list__child {
        padding: 16px 0; } }
    .m-list__child__name {
      font-weight: 500; }
      .m-list__child__name:before {
        content: "・"; }
      .m-list__child__name .small {
        font-size: 13px; }
        @media only screen and (max-width: 750px) {
          .m-list__child__name .small {
            font-size: 12px; } }
      .m-list__child__name .note {
        font-size: 12px;
        display: block; }
        @media only screen and (min-width: 751px) {
          .m-list__child__name .note {
            position: absolute;
            left: 1em;
            bottom: 20px; } }
        @media only screen and (max-width: 750px) {
          .m-list__child__name .note {
            margin-top: 4px;
            padding-left: 1em;
            font-size: 11px; } }
    .m-list__child__price {
      margin-top: 8px;
      text-align: right; }
  .m-list__imgarea--row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .m-list__imgarea--row img {
      width: 48.97%; }
  .m-list .m-page-text {
    margin-bottom: 10px; }

.section-heading {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 50%;
  top: -60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }
  @media only screen and (max-width: 750px) {
    .section-heading {
      top: -45px; } }
  .section-heading__icon {
    margin: 0 auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .section-heading__title {
    display: inline-block;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 28px;
    padding-top: 6px;
    letter-spacing: 2.8px; }
    .section-heading__title-ja {
      display: block;
      font-size: 16px;
      letter-spacing: 1.3px;
      padding-top: 12px;
      font-weight: normal;
      font-weight: 400; }
  @media only screen and (max-width: 750px) {
    .section-heading__title {
      font-size: 18px;
      padding-top: 6px;
      letter-spacing: 2px; }
      .section-heading__title-ja {
        font-size: 13px;
        letter-spacing: 1px;
        padding-top: 6px; } }

.step__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #000;
  position: relative;
  margin-bottom: 54px; }
  .step__item:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: -30px;
    width: 16px;
    height: 16px;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg); }
  .step__item:last-of-type {
    margin-bottom: 36px; }
    .step__item:last-of-type:after {
      content: none; }

.step__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 310px;
  width: 29.8%;
  box-sizing: border-box;
  padding: 10px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1.4px;
  position: relative;
  background-color: #e6e6e6;
  border-right: 1px solid #000; }
  .step__title:before {
    content: attr(data-step);
    position: absolute;
    left: -1px;
    top: -21px;
    z-index: 3;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 18px;
    letter-spacing: 1.4px;
    text-align: center;
    font-weight: bold;
    background-color: #fafafa;
    display: block;
    border: 1px solid #000;
    padding: 8px 20px; }

.step__textarea {
  width: 730px;
  width: 70.2%;
  box-sizing: border-box;
  padding: 22px 19px; }

@media only screen and (max-width: 750px) {
  .step__item {
    display: block; }
    .step__item:after {
      bottom: -20px;
      width: 12px;
      height: 12px; }
  .step__title {
    display: block;
    width: 100%;
    padding: 20px 10px 8px;
    font-size: 15px;
    border-right: none; }
    .step__title:before {
      top: -15px;
      font-size: 15px;
      padding: 4px 10px; }
  .step__textarea {
    width: 100%;
    padding: 15px 10px; } }

/*----------------------------------

/about/index.html

-----------------------------------*/
.page-about #Concept {
  position: relative; }

.page-about .concept-bnr__container {
  width: 52%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.page-about .concept-bnr {
  width: 49%; }
  .page-about .concept-bnr__title {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 2.9px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 20px; }
    .page-about .concept-bnr__title .icon {
      background-repeat: no-repeat;
      background-position: center;
      background-color: #e6e6e6;
      width: 70px;
      height: 70px;
      display: inline-block;
      margin-right: 14px; }
  .page-about .concept-bnr__img img {
    width: 100%; }
  .page-about .concept-bnr.interior .concept-bnr__title .icon {
    background-image: url(images/_common/icon-sofa.svg);
    background-size: 38px 20px; }
  .page-about .concept-bnr.house .concept-bnr__title .icon {
    background-image: url(images/_common/icon-house.svg);
    background-size: 35px 26px; }
  .page-about .concept-bnr.renovation .concept-bnr__title .icon {
    background-image: url(images/_common/icon-building.svg);
    background-size: 24px 40px; }
  .page-about .concept-bnr.cafe .concept-bnr__title .icon {
    background-image: url(images/_common/icon-dining.svg);
    background-size: 38px 30px; }

.page-about .concept-text {
  width: 600px;
  width: 50%;
  box-sizing: border-box;
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  background-color: #eee;
  padding: 78px 5.7%; }

.page-about #Brand {
  overflow: hidden;
  margin-top: 80px;
  margin-bottom: 100px; }

.page-about .brand-section {
  position: relative;
  padding-top: 60px;
  padding-top: 5%; }
  .page-about .brand-section .a-hover-border__item {
    position: static; }
  .page-about .brand-section .a-hover-border__vertical:before, .page-about .brand-section .a-hover-border__vertical:after, .page-about .brand-section .a-hover-border__horizontal:before, .page-about .brand-section .a-hover-border__horizontal:after {
    transition-delay: 0s; }
  .page-about .brand-section .a-hover-border__vertical:before {
    top: 10px;
    left: 10px;
    transition-duration: .4s; }
  .page-about .brand-section .a-hover-border__vertical:after {
    bottom: 10px;
    right: 10px;
    transition-duration: .6s; }
  .page-about .brand-section .a-hover-border__horizontal:before {
    top: 10px;
    left: 10px; }
  .page-about .brand-section .a-hover-border__horizontal:after {
    bottom: 10px;
    right: 10px; }
  .page-about .brand-section .a-hover-border:hover .a-hover-border__vertical:before, .page-about .brand-section .a-hover-border:hover .a-hover-border__vertical:after, .page-about .brand-section .a-hover-border:hover .a-hover-border__horizontal:before, .page-about .brand-section .a-hover-border:hover .a-hover-border__horizontal:after {
    transition-delay: .3s;
    background-color: #fff; }
  .page-about .brand-section .a-hover-border:hover .a-hover-border__vertical:before, .page-about .brand-section .a-hover-border:hover .a-hover-border__vertical:after {
    height: 96%;
    height: calc(100% - 20px); }
  .page-about .brand-section .a-hover-border:hover .a-hover-border__horizontal:before, .page-about .brand-section .a-hover-border:hover .a-hover-border__horizontal:after {
    width: 98%;
    width: calc(100% - 20px); }
  .page-about .brand-section__bgblock {
    width: 240px;
    width: 20%;
    height: 358px;
    height: 80%;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #dcdcdc; }
    .page-about .brand-section__bgblock:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      opacity: 0.5;
      mix-blend-mode: multiply;
      position: relative;
      z-index: 1;
      background-color: #dcdcdc; }
  .page-about .brand-section__name {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: bold;
    position: absolute;
    z-index: 99;
    top: 30%;
    left: 40px; }
    .page-about .brand-section__name .animation-text__layer, .page-about .brand-section__name .animation-text__textwrapper {
      transition-delay: .8s; }
    .page-about .brand-section__name .animation-text__textwrapper {
      padding-top: 20px; }
    .page-about .brand-section__name .number {
      font-size: 40px;
      letter-spacing: 3.2px;
      line-height: 40px; }
    .page-about .brand-section__name .text {
      line-height: 40px;
      padding-bottom: 2px;
      display: inline-block;
      text-align: right;
      font-size: 30px;
      letter-spacing: 2.4px;
      width: 280px;
      margin-left: 30px;
      margin-left: 2vw;
      border-bottom: 2px solid #000;
      -webkit-transform: translateY(-52%);
              transform: translateY(-52%); }
  .page-about .brand-section__item {
    width: 780px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 9; }
    .page-about .brand-section__item:hover .brand-section__textarea {
      opacity: 1; }
    .page-about .brand-section__item:hover .brand-section__img img {
      -webkit-transform: scale(1.06);
              transform: scale(1.06); }
  .page-about .brand-section__textarea {
    text-align: right;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    padding: 50px;
    padding: 5%;
    padding-bottom: 0;
    background: rgba(80, 80, 80, 0.8);
    color: #fff;
    transition: opacity .4s; }
  .page-about .brand-section__img img {
    position: relative;
    z-index: -1;
    transition: -webkit-transform ease-out .8s;
    transition: transform ease-out .8s;
    transition: transform ease-out .8s, -webkit-transform ease-out .8s;
    width: 100%; }
  .page-about .brand-section__title {
    font-size: 30px;
    letter-spacing: 2.4px;
    line-height: 1.2;
    color: #fff;
    fill: #fff; }
  .page-about .brand-section__subtitle {
    font-size: 18px;
    letter-spacing: 2.2px;
    line-height: 1.6;
    padding-top: 34px; }
  .page-about .brand-section__text {
    letter-spacing: 1.2px;
    line-height: 1.87;
    padding-top: 30px; }
  .page-about .brand-section__btn {
    z-index: 9;
    transition: background .3s;
    display: block;
    margin-top: 4px;
    margin-right: auto;
    margin-left: 0;
    padding: 8px 0;
    border: 1px solid #fff;
    color: #fff;
    font-weight: 500;
    letter-spacing: 2.7px;
    text-align: center;
    width: 260px;
    width: 37%;
    position: relative; }
    .page-about .brand-section__btn:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 99;
      right: 20px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      width: 7px;
      height: 7px;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff; }
    .page-about .brand-section__btn:hover {
      background-color: rgba(255, 255, 255, 0.3);
      opacity: 1; }
    .page-about .brand-section__btn:before {
      content: "\f2d2";
      font-family: FontAwesome;
      position: absolute;
      left: 10px;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .page-about .brand-section.reverse .brand-section__bgblock {
    left: auto;
    right: 0; }
  .page-about .brand-section.reverse .brand-section__name {
    left: auto;
    right: 40px; }
    .page-about .brand-section.reverse .brand-section__name .animation-text__textwrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
    .page-about .brand-section.reverse .brand-section__name .text {
      text-align: left;
      margin-left: 0;
      margin-right: 30px;
      margin-right: 2vw; }
  .page-about .brand-section.reverse .brand-section__textarea {
    text-align: left; }
  .page-about .brand-section.reverse .brand-section__btn {
    margin-right: 0;
    margin-left: auto; }

.page-about .section-company {
  margin-bottom: 150px;
  position: relative; }
  .page-about .section-company .m-btn {
    position: absolute;
    width: 260px;
    right: 0;
    top: 50%;
    margin-top: -19px;
    text-align: center; }

@media only screen and (max-width: 750px) {
  .page-about .concept-content {
    padding-left: 0; }
  .page-about .concept-bnr__container {
    width: 100%;
    box-sizing: border-box;
    padding-left: 4%;
    padding-bottom: 10px; }
  .page-about .concept-bnr {
    padding-bottom: 10px; }
    .page-about .concept-bnr__title {
      font-size: 12px;
      letter-spacing: 2.1px;
      background-position: left 5px center; }
      .page-about .concept-bnr__title .icon {
        width: 35px;
        height: 35px;
        margin-right: 7px; }
    .page-about .concept-bnr.interior .concept-bnr__title .icon {
      background-size: 25px 13px; }
    .page-about .concept-bnr.house .concept-bnr__title .icon {
      background-size: 21px 16px; }
    .page-about .concept-bnr.renovation .concept-bnr__title .icon {
      background-size: 15px 25px; }
    .page-about .concept-bnr.cafe .concept-bnr__title .icon {
      background-size: 25px 20px; }
  .page-about .concept-text {
    padding: 28px 5%;
    position: static;
    width: 100%; }
  .page-about #Brand {
    margin-top: 60px;
    overflow: hidden; }
  .page-about .brand-section {
    position: relative;
    padding-top: 60px;
    padding-top: 5%; }
    .page-about .brand-section.inzone .brand-section__title img {
      width: 90px;
      height: 32px; }
    .page-about .brand-section.inzonenoie .brand-section__title img {
      width: 140px;
      height: 33px; }
    .page-about .brand-section.mplus .brand-section__title img {
      width: 100px;
      height: 24px; }
    .page-about .brand-section.inzonetable .brand-section__title img {
      width: 80px;
      height: 54px; }
    .page-about .brand-section__bgblock {
      width: 70%;
      height: 358px;
      height: 80%;
      padding: 5px; }
      .page-about .brand-section__bgblock:after {
        position: absolute;
        width: 100%;
        width: calc(100% - 10px);
        height: 100%;
        height: calc(100% - 10px);
        top: 5px;
        left: 5px; }
    .page-about .brand-section__name {
      position: static;
      display: inline-block;
      border-bottom: 2px solid #000;
      padding-top: 30px;
      margin-left: 4%;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
      .page-about .brand-section__name .animation-text__layer, .page-about .brand-section__name .animation-text__textwrapper {
        transition-delay: .2s; }
      .page-about .brand-section__name .number {
        font-size: 30px;
        letter-spacing: 2.4px;
        line-height: 1; }
      .page-about .brand-section__name .text {
        line-height: 1;
        font-size: 20px;
        letter-spacing: 1.6px;
        width: auto;
        margin-left: 30px;
        border-bottom: none;
        -webkit-transform: translateY(0);
                transform: translateY(0); }
    .page-about .brand-section__item {
      width: 92%; }
    .page-about .brand-section__textarea {
      opacity: 1;
      display: block;
      position: static;
      text-align: left;
      height: auto;
      padding: 5px;
      background-color: #6e6e6e; }
      .page-about .brand-section__textarea__inner {
        border: 1px solid #fff;
        padding: 20px 16px; }
    .page-about .brand-section__subtitle {
      font-size: 13px;
      letter-spacing: 1.6px;
      line-height: 1.38;
      padding-top: 16px; }
    .page-about .brand-section__text {
      font-size: 12px;
      letter-spacing: 1px;
      line-height: 1.96;
      padding-top: 16px; }
    .page-about .brand-section__btn {
      margin-top: 20px;
      margin-right: auto;
      margin-left: auto;
      padding: 8px 0;
      letter-spacing: 2.3px;
      width: 90%; }
    .page-about .brand-section.reverse .brand-section__heading {
      text-align: right; }
    .page-about .brand-section.reverse .brand-section__bgblock {
      left: auto;
      right: 0; }
    .page-about .brand-section.reverse .brand-section__name {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin-left: 0;
      margin-right: 4%; }
      .page-about .brand-section.reverse .brand-section__name .text {
        margin-left: 0;
        margin-right: 30px; }
    .page-about .brand-section.reverse .brand-section__btn {
      margin-right: auto;
      margin-left: auto; }
  .page-about .section-company {
    margin-bottom: 100px; }
    .page-about .section-company .m-btn {
      position: relative;
      width: 80%;
      margin-top: 30px; } }

/*-------------------------------------------

/about/company.html

--------------------------------------------*/
.page-company .company-info {
  padding-bottom: 100px;
  position: relative; }
  .page-company .company-info:nth-of-type(2) {
    padding-bottom: 250px; }
  .page-company .company-info__title {
    font-size: 20px;
    letter-spacing: 2px;
    padding-bottom: 36px;
    padding-top: 30px; }
  .page-company .company-info__img {
    width: 49%;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    z-index: 2; }
    .page-company .company-info__img .jhlogo {
      padding-top: 80px;
      padding-bottom: 130px; }
    .page-company .company-info__img .yamachi-logo {
      padding-top: 55px; }
  .page-company .company-info__detail {
    padding: 60px 40px;
    width: 600px;
    width: 51.3%;
    box-sizing: border-box;
    position: absolute;
    top: 36px;
    right: 0;
    z-index: 0;
    background-color: #fafafa; }
    .page-company .company-info__detail a {
      color: #000;
      text-decoration: underline; }
    .page-company .company-info__detail dl {
      width: 100%; }
    .page-company .company-info__detail dt, .page-company .company-info__detail dd {
      padding: 8px 0; }
    .page-company .company-info__detail dt {
      font-weight: 400;
      letter-spacing: 1.2px;
      display: block;
      width: 20%;
      clear: left;
      float: left; }
    .page-company .company-info__detail dd {
      display: block;
      font-weight: 300;
      width: 80%;
      line-height: 1.6;
      float: left;
      position: relative;
      z-index: 9; }

.page-company #History {
  margin-bottom: 150px; }

.page-company .history-timeline {
  width: 100%; }
  .page-company .history-timeline tr:last-of-type .history-timeline__content-list {
    border-bottom: none; }
  .page-company .history-timeline__year {
    width: 10%;
    padding-top: 20px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 1.6px;
    line-height: 1.65;
    color: #b4b4b4;
    vertical-align: top; }
  .page-company .history-timeline__content {
    width: 90%;
    line-height: 1.95;
    vertical-align: top; }
  .page-company .history-timeline__content-list {
    border-bottom: 1px solid #e6e6e6; }
    .page-company .history-timeline__content-list li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .page-company .history-timeline__month {
    width: 50px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1.3px;
    line-height: 1.95;
    padding-top: 20px;
    padding-bottom: 30px;
    border-left: 1px solid #b4b4b4;
    position: relative;
    padding-left: 18px; }
    .page-company .history-timeline__month:before {
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      background-color: #000;
      position: absolute;
      left: -3px;
      top: 34px; }
  .page-company .history-timeline__detail {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 28px;
    padding-top: 20px;
    padding-bottom: 30px;
    font-size: 15px;
    line-height: 1.67;
    letter-spacing: 1.2px; }
  .page-company .history-timeline tr:last-of-type .history-timeline__content-list li:last-of-type .history-timeline__detail {
    padding-bottom: 0; }

@media only screen and (max-width: 750px) {
  .page-company .company-info {
    padding-bottom: 60px; }
    .page-company .company-info:nth-of-type(2) {
      padding-bottom: 60px; }
    .page-company .company-info__title {
      font-size: 16px;
      letter-spacing: 1.6px;
      padding-bottom: 30px;
      padding-top: 0px; }
    .page-company .company-info__detail-wrapper {
      display: block; }
    .page-company .company-info__img, .page-company .company-info__detail {
      width: 100%; }
    .page-company .company-info__img {
      padding-bottom: 16px; }
      .page-company .company-info__img .jhlogo {
        padding-top: 10px;
        padding-bottom: 10px; }
    .page-company .company-info__detail {
      padding: 60px 20px;
      position: static;
      width: 100%; }
      .page-company .company-info__detail dt, .page-company .company-info__detail dd {
        padding: 6px 0;
        font-size: 13px; }
      .page-company .company-info__detail dt {
        width: 30%;
        box-sizing: border-box;
        padding-right: 2%; }
      .page-company .company-info__detail dd {
        width: 70%; }
  .page-company #History {
    margin-bottom: 120px; }
  .page-company .history-timeline__year {
    width: 16%;
    text-align: left;
    font-size: 15px;
    letter-spacing: 1.2px;
    line-height: 1.3; }
  .page-company .history-timeline__content {
    width: 84%;
    line-height: 1.3;
    vertical-align: top; }
  .page-company .history-timeline__month {
    width: 40px;
    font-size: 13px;
    letter-spacing: 1.05px;
    line-height: 1.5;
    padding-left: 9px; }
    .page-company .history-timeline__month:before {
      top: 26px; }
  .page-company .history-timeline__detail {
    padding-left: 10px;
    padding-bottom: 20px;
    font-size: 14px;
    line-height: 1.93;
    letter-spacing: 1.1px;
    margin-top: -4px; }
  .page-company .history-timeline tr:last-of-type .history-timeline__content-list li:last-of-type .history-timeline__detail {
    padding-bottom: 0; } }

.page-shop a {
  color: #000; }

.page-shop .shop-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .page-shop .shop-list li {
    width: 300px;
    width: 28%;
    padding-bottom: 10px;
    border-bottom: 2px solid #000;
    font-weight: 500;
    letter-spacing: 3px;
    position: relative;
    margin-left: 40px; }
    .page-shop .shop-list li:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 99;
      right: 5px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      width: 7px;
      height: 7px;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      border-top: 1px solid #000;
      border-right: 1px solid #000; }
    .page-shop .shop-list li:first-of-type {
      margin-left: 0; }
    .page-shop .shop-list li:after {
      -webkit-transform: translateY(-150%) rotate(135deg);
              transform: translateY(-150%) rotate(135deg); }

.page-shop .shop-info {
  padding-top: 100px;
  padding-bottom: 120px; }
  .page-shop .shop-info__general {
    position: relative;
    padding-left: 0;
    margin-left: 0;
    max-width: none; }
    .page-shop .shop-info__general .shop-info__textarea {
      width: 590px;
      width: 56.73%;
      margin-right: 0;
      position: relative;
      z-index: 3;
      margin-left: auto; }
    .page-shop .shop-info__general .shop-info__img {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2; }
      .page-shop .shop-info__general .shop-info__img__inner {
        height: 400px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center; }
    .page-shop .shop-info__general .shop-info__title, .page-shop .shop-info__general .shop-info__detail {
      padding-left: 112px;
      padding-left: 21%; }
  .page-shop .shop-info__img {
    width: 600px;
    width: 50%; }
  .page-shop .shop-info__title {
    font-size: 20px;
    letter-spacing: 3.2px;
    line-height: 1.03;
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 14px; }
  .page-shop .shop-info__detail {
    padding-top: 38px;
    padding-right: 30px; }
    @media only screen and (min-width: 751px) {
      .page-shop .shop-info__detail {
        min-height: 330px; } }
    .page-shop .shop-info__detail dl {
      width: 100%; }
    .page-shop .shop-info__detail dt, .page-shop .shop-info__detail dd {
      font-weight: bold;
      padding: 4px 0;
      letter-spacing: 2.4px; }
    .page-shop .shop-info__detail dt {
      display: block;
      width: 22%;
      clear: left;
      float: left; }
    .page-shop .shop-info__detail dd {
      display: block;
      width: 78%;
      float: left; }
      .page-shop .shop-info__detail dd a {
        pointer-events: none; }
  .page-shop .shop-info__text {
    font-weight: 500;
    line-height: 1.87;
    padding-top: 3px; }
  .page-shop .shop-info__subtext {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 500;
    font-size: 13px;
    color: #505050;
    padding-top: 21px; }
  .page-shop .shop-info__address {
    font-weight: 500;
    letter-spacing: 2.4px;
    line-height: 1.47;
    padding-bottom: 21px; }
  .page-shop .shop-info__tag-list {
    padding-top: 19px; }
  .page-shop .shop-info__tag {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
    background-color: #e6e6e6;
    font-weight: 500;
    letter-spacing: 2.4px;
    padding: 4px 10px; }
  .page-shop .shop-info__access {
    max-width: none;
    margin-right: 0;
    padding-right: 0;
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .page-shop .shop-info__access .shop-info__textarea {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .page-shop .shop-info__access__list li {
      padding-top: 30px; }
      .page-shop .shop-info__access__list li:first-of-type {
        padding-top: 0; }
    .page-shop .shop-info__access__head {
      letter-spacing: 2.4px;
      line-height: 1.87;
      position: relative; }
      .page-shop .shop-info__access__head:after {
        content: "";
        display: block;
        width: 40px;
        height: 1px;
        background-color: #000;
        position: absolute;
        bottom: 0;
        left: 0; }
  .page-shop .shop-info__map {
    width: 750px;
    width: 67%; }
    .page-shop .shop-info__map__canvas {
      width: 100%;
      height: 460px;
      background: #ccc; }
      .page-shop .shop-info__map__canvas iframe {
        width: 100%; }
        @media only screen and (max-width: 750px) {
          .page-shop .shop-info__map__canvas iframe {
            height: 230px; } }
    .page-shop .shop-info__map__link {
      background-color: #505050;
      display: block;
      color: #fff;
      text-align: center;
      letter-spacing: 2.7px;
      padding: 8px 0;
      position: relative; }
      .page-shop .shop-info__map__link:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 99;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
                transform: translateY(-50%) rotate(45deg);
        width: 7px;
        height: 7px;
        transition: -webkit-transform .4s;
        transition: transform .4s;
        transition: transform .4s, -webkit-transform .4s;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; }
  .page-shop .shop-info__bus {
    font-weight: bold;
    color: #505050;
    margin-top: 24px;
    padding-bottom: 6px;
    border-bottom: 2px solid #505050;
    position: relative; }
    .page-shop .shop-info__bus:after {
      content: "";
      display: block;
      position: absolute;
      z-index: 99;
      right: 5px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      width: 7px;
      height: 7px;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      border-top: 1px solid #505050;
      border-right: 1px solid #505050; }
    .page-shop .shop-info__bus.active:after {
      -webkit-transform: translateY(-50%) rotate(135deg);
              transform: translateY(-50%) rotate(135deg); }
    .page-shop .shop-info__bus__list {
      display: none;
      color: #505050;
      line-height: 1.87;
      padding-top: 10px; }

.page-shop #Ekimae.shop-info .shop-info__img__inner {
  background-image: url(shop/images/eki.jpg); }

.page-shop #Miyanomori.shop-info .shop-info__img__inner {
  background-image: url(shop/images/miyanomori.jpg); }

@media only screen and (max-width: 750px) {
  .page-shop .shop-list {
    display: block; }
    .page-shop .shop-list li {
      text-align: center;
      width: 100%;
      padding-bottom: 10px;
      margin-bottom: 12px;
      font-size: 12px;
      letter-spacing: 2.1px;
      margin-left: 0; }
      .page-shop .shop-list li:after {
        width: 4px;
        height: 4px;
        right: 4%; }
  .page-shop .shop-info {
    padding-top: 50px;
    padding-bottom: 80px; }
    .page-shop .shop-info__general {
      padding: 0; }
      .page-shop .shop-info__general .shop-info__textarea {
        width: 100%;
        box-sizing: border-box;
        padding: 0 4%; }
      .page-shop .shop-info__general .shop-info__img {
        position: static; }
        .page-shop .shop-info__general .shop-info__img__inner {
          height: 250px; }
      .page-shop .shop-info__general .shop-info__title, .page-shop .shop-info__general .shop-info__detail {
        padding-left: 0; }
      .page-shop .shop-info__general .shop-info__title {
        text-align: center; }
    .page-shop .shop-info__img {
      width: 100%; }
    .page-shop .shop-info__title {
      font-size: 16px;
      letter-spacing: 1.6px;
      padding-bottom: 14px;
      padding-top: 14px; }
    .page-shop .shop-info__detail {
      padding-top: 13px;
      padding-right: 0px; }
      .page-shop .shop-info__detail dt, .page-shop .shop-info__detail dd {
        font-size: 12px;
        padding-top: 6px;
        padding-bottom: 6px;
        letter-spacing: 1.2px; }
      .page-shop .shop-info__detail dd a {
        pointer-events: auto; }
    .page-shop .shop-info__text {
      font-size: 12px; }
    .page-shop .shop-info__subtext {
      font-size: 12px;
      padding-top: 10px; }
    .page-shop .shop-info__address {
      text-align: center;
      font-size: 12px;
      letter-spacing: 1.2px;
      line-height: 1.67;
      padding-bottom: 21px; }
    .page-shop .shop-info__tag {
      letter-spacing: 2.1px;
      padding: 6px 10px; }
    .page-shop .shop-info__access {
      padding-right: 4%;
      margin-top: 50px;
      display: block; }
      .page-shop .shop-info__access__list li {
        padding-top: 16px; }
        .page-shop .shop-info__access__list li:first-of-type {
          padding-top: 0; }
      .page-shop .shop-info__access__head {
        font-size: 12px;
        letter-spacing: 1px;
        padding-bottom: 4px; }
    .page-shop .shop-info__map {
      width: 100%;
      padding-top: 30px; }
      .page-shop .shop-info__map__canvas {
        height: 230px; }
      .page-shop .shop-info__map__link {
        letter-spacing: 2.3px;
        padding: 10px 0; }
    .page-shop .shop-info__bus {
      margin-top: 20px; } }

.page-privacy-policy .l-content {
  padding-bottom: 60px; }
  .page-privacy-policy .l-content section {
    padding-top: 40px; }
  .page-privacy-policy .l-content h3 {
    padding-top: 16px; }
  .page-privacy-policy .l-content p {
    padding-top: 8px; }
  .page-privacy-policy .l-content a {
    display: block;
    color: #000;
    text-decoration: underline; }
  .page-privacy-policy .l-content ul {
    list-style: decimal;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 1em; }
  .page-privacy-policy .l-content li {
    list-style-type: decimal;
    padding-top: 16px; }

.page-sitemap a {
  color: #000; }

.page-sitemap .l-inner-lower-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.page-sitemap .main-contents {
  width: 48.5%; }
  .page-sitemap .main-contents__item {
    padding-bottom: 70px; }
  .page-sitemap .main-contents__name {
    border-bottom: 2px solid #000;
    padding-bottom: 10px; }
    .page-sitemap .main-contents__name .en {
      display: inline-block;
      position: relative;
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      font-size: 22px;
      letter-spacing: 2.2px;
      font-weight: bold; }
      .page-sitemap .main-contents__name .en:after {
        content: "";
        transition: all .3s;
        display: block;
        position: absolute;
        bottom: 4px;
        z-index: -1;
        left: 0;
        width: 0;
        height: 3px;
        background-color: #e6e6e6; }
    .page-sitemap .main-contents__name .ja {
      display: inline-block;
      padding-left: 12px;
      vertical-align: text-top;
      font-weight: 500;
      letter-spacing: 2.5px;
      font-size: 14px;
      color: #b4b4b4; }
    .page-sitemap .main-contents__name > a:hover {
      opacity: 1; }
      .page-sitemap .main-contents__name > a:hover .en:after {
        width: 100%; }

.page-sitemap .child-contents__item {
  padding-top: 23px; }

.page-sitemap .child-contents__name {
  position: relative;
  padding-left: 40px; }
  .page-sitemap .child-contents__name > a {
    display: block;
    width: 100%;
    height: 100%; }
    .page-sitemap .child-contents__name > a:before {
      content: "";
      transition: all .2s;
      display: block;
      position: absolute;
      width: 0;
      height: 1px;
      background-color: #000;
      left: 0;
      top: 50%; }
    .page-sitemap .child-contents__name > a:hover {
      opacity: 1; }
      .page-sitemap .child-contents__name > a:hover:before {
        width: 30px; }

.page-sitemap .sub-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 40px; }
  .page-sitemap .sub-contents__heading {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 2.9px; }
  .page-sitemap .sub-contents__list {
    padding-left: 30px; }
  .page-sitemap .sub-contents__item {
    font-weight: bold;
    letter-spacing: 2.4px;
    padding: 6px 0; }
    .page-sitemap .sub-contents__item:before {
      content: "・";
      font-weight: 400; }
    .page-sitemap .sub-contents__item > a {
      position: relative;
      display: inline-block; }
      .page-sitemap .sub-contents__item > a:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 1px;
        background-color: #000;
        transition: all .3s; }
      .page-sitemap .sub-contents__item > a:hover {
        opacity: 1; }
        .page-sitemap .sub-contents__item > a:hover:after {
          width: 100%; }

@media only screen and (max-width: 750px) {
  .page-sitemap .l-inner-lower-page {
    display: block; }
  .page-sitemap .main-contents {
    width: 100%; }
    .page-sitemap .main-contents__item {
      padding-bottom: 40px; }
    .page-sitemap .main-contents__name .en {
      font-size: 14px;
      letter-spacing: 1.4px; }
    .page-sitemap .main-contents__name .ja {
      vertical-align: middle;
      letter-spacing: 1.2px;
      font-size: 12px; }
  .page-sitemap .child-contents__item {
    padding-top: 13px; }
  .page-sitemap .child-contents__name > a:before {
    width: 30px; }
  .page-sitemap .sub-contents {
    padding-top: 20px; }
    .page-sitemap .sub-contents__heading {
      font-size: 13px;
      letter-spacing: 1.9px; }
    .page-sitemap .sub-contents__list {
      padding-left: 20px; } }

.page-staff .staff__section {
  padding-bottom: 100px; }

.page-staff .staff__division {
  font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
  font-size: 30px;
  letter-spacing: 3px;
  padding-bottom: 5px;
  position: relative; }
  .page-staff .staff__division:after {
    content: "";
    display: block;
    position: absolute;
    width: 32px;
    height: 1px;
    background-color: #000;
    left: 0;
    bottom: 0; }

.page-staff .staff__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  box-sizing: border-box;
}

.page-staff .staff__item {
  /* width: 245px; */
  width: 23.5%;
  /* margin-right: 20px; */
  margin-right: 2%;
  margin-top: 60px;
  box-sizing: border-box;
}
  .page-staff .staff__item:nth-of-type(4n) {
    margin-right: 0; }

    .page-staff .staff__item .staff__img img{
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
}

.page-staff .staff__title {
  font-size: 14px;
  letter-spacing: 1.7px;
  font-weight: bold;
  padding: 10px 0;
  position: relative; }
  .page-staff .staff__title:after {
    content: "";
    display: block;
    width: 94px;
    height: 1px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: 0; }

.page-staff .staff__name {
  padding-top: 8px; }

.page-staff .staff__desc {
  padding-top: 18px;
  line-height: 1.5; }
  .page-staff .staff__desc__tag {
    display: inline-block;
    border: 1px solid #000;
    font-size: 12px;
    padding: 4px 8px;
    margin-bottom: 6px; }
  .page-staff .staff__desc__text {
    font-size: 14px;
    letter-spacing: 1.1px; }

@media only screen and (max-width: 750px) {
  .page-staff .staff__section {
    padding-bottom: 40px; }
  .page-staff .staff__division {
    font-size: 20px; }
    .page-staff .staff__division:after {
      width: 22px; }
  .page-staff .staff__item {
    width: 48%;
    margin-right: 4%;
    margin-top: 50px; }
    .page-staff .staff__item:nth-of-type(2n) {
      margin-right: 0; }
  .page-staff .staff__name {
    padding-top: 8px; }
  .page-staff .staff__desc {
    padding-top: 16px; }
    .page-staff .staff__desc__text {
      line-height: 1.8;
      font-size: 13px; } }

.page-faq .faq-nav {
  border-bottom: 1px solid #000;
  padding-bottom: 20px; }
  .page-faq .faq-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;}
  .page-faq .faq-nav__item {
    border: 1px solid #dedede;
    font-weight: 500;
    /* margin-right: 10px;  */
    width: calc((1/4) * 95%);
    margin-bottom: 10px;}
    .page-faq .faq-nav__item a {
      /* display: block; */
      display: flex;
      /* justify-content: center; */
      flex-wrap : wrap;
      align-items: center;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      color: #000;
      padding: 4px 33px 4px 13px;
      position: relative; }
      .page-faq .faq-nav__item a:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 99;
        right: 13px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
                transform: translateY(-50%) rotate(45deg);
        width: 7px;
        height: 7px;
        transition: -webkit-transform .4s;
        transition: transform .4s;
        transition: transform .4s, -webkit-transform .4s;
        border-top: 1px solid #000;
        border-right: 1px solid #000; }

.page-faq .faq-content__list {
  padding-top: 60px; }

.page-faq .faq-nav__list::after {
  content: "";
  display: block;
  width: calc((1/4) * 95%);
  height: 0;
  }

.page-faq .faq-content__item {
  background-color: #fafafa;
  padding: 0 40px;
  margin-bottom: 20px; }

.page-faq .faq-content__question {
  border-bottom: 1px solid #e6e6e6;
  position: relative;
  font-size: 16px;
  letter-spacing: 2.9px;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 11px 0; }
  .page-faq .faq-content__question__q {
    font-size: 40px;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: 600;
    color: #505050;
    padding-right: 27px; }
  .page-faq .faq-content__question:hover {
    cursor: pointer; }
  .page-faq .faq-content__question:before, .page-faq .faq-content__question:after {
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1px; }
  .page-faq .faq-content__question:before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .page-faq .faq-content__question.active:before {
    -webkit-transform: rotate(0);
            transform: rotate(0); }

.page-faq .faq-content__answer {
  display: none;
  padding-left: 57px;
  position: relative;
  line-height: 1.87;
  padding-top: 12px;
  padding-bottom: 14px; }
  .page-faq .faq-content__answer:before {
    content: "A";
    font-size: 32px;
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-weight: 600;
    color: #505050;
    position: absolute;
    left: 2px;
    top: 0; }

@media only screen and (max-width: 750px) {
  .page-faq .faq-nav__list {
    display: block; }
  .page-faq .faq-nav__item {
    width: 100%;
    margin-bottom: 10px; }
    .page-faq .faq-nav__item a {
      padding-top: 8px;
      padding-bottom: 8px; }
  .page-faq .faq-content__list {
    padding-top: 40px; }
  .page-faq .faq-content__item {
    padding: 0 10px; }
  .page-faq .faq-content__question {
    font-size: 15px;
    letter-spacing: 2px;
    padding: 10px 0;
    padding-right: 30px; }
    .page-faq .faq-content__question__q {
      font-size: 30px;
      padding-right: 7px; }
    .page-faq .faq-content__question:before, .page-faq .faq-content__question:after {
      width: 18px; }
  .page-faq .faq-content__answer {
    padding-left: 32px;
    position: relative;
    line-height: 1.87;
    padding-top: 8px;
    text-align: justify;
    padding-bottom: 14px; }
    .page-faq .faq-content__answer:before {
      font-size: 26px; } }

.page-corporation .corporation-text {
  line-height: 1.87;
  letter-spacing: 2px; }

.page-corporation #Customer {
  padding-bottom: 100px; }

.page-corporation .customer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.page-corporation .customer-img, .page-corporation .customer-textarea {
  width: 50%;
  box-sizing: border-box; }

.page-corporation .customer-img img {
  width: 100%; }

.page-corporation .customer-textarea {
  background-color: #eee;
  padding: 135px 80px;
  padding: 10% 5%;
  line-height: 1.87; }

.page-corporation #Coordinate {
  margin-bottom: 85px; }

.page-corporation .coordinate-section {
  padding-top: 85px;
  padding-bottom: 15px;
  text-align: center;
  position: relative; }
  .page-corporation .coordinate-section:before {
    content: "";
    display: block;
    position: absolute;
    top: 103px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 524px;
    height: 63%;
    background-color: #fafafa; }
  .page-corporation .coordinate-section__title {
    font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
    font-size: 28px;
    letter-spacing: 2.8px;
    padding-bottom: 64px; }
    .page-corporation .coordinate-section__title .ja {
      font-weight: normal;
      font-weight: 400;
      display: block;
      font-size: 16px;
      letter-spacing: 1.3px;
      padding-top: 18px; }
  .page-corporation .coordinate-section__textarea {
    padding-bottom: 30px; }
    .page-corporation .coordinate-section__textarea .corporation-text {
      padding-bottom: 33px; }

.page-corporation #Suggestion {
  padding-bottom: 100px; }

.page-corporation #Contact {
  margin-bottom: 100px; }
  .page-corporation #Contact .m-form {
    margin-top: 50px; }

@media only screen and (max-width: 750px) {
  .page-corporation .corporation-text {
    font-size: 12px;
    letter-spacing: 1px; }
  .page-corporation #Customer {
    padding-bottom: 50px; }
  .page-corporation .customer-content {
    display: block; }
  .page-corporation .customer-img, .page-corporation .customer-textarea {
    width: 100%; }
  .page-corporation .customer-textarea {
    padding: 35px 8%; }
  .page-corporation #Coordinate {
    margin-bottom: 30px; }
  .page-corporation .coordinate-section {
    padding-top: 42px;
    padding-bottom: 0; }
    .page-corporation .coordinate-section:before {
      top: 53px;
      height: 74%; }
    .page-corporation .coordinate-section__title {
      font-size: 20px;
      letter-spacing: 1.6px;
      padding-bottom: 32px; }
      .page-corporation .coordinate-section__title .ja {
        font-size: 12px;
        letter-spacing: 1px;
        padding-top: 6px; }
    .page-corporation .coordinate-section__textarea {
      padding-bottom: 0; }
      .page-corporation .coordinate-section__textarea .corporation-text {
        padding-bottom: 33px;
        text-align: left; }
  .page-corporation #Suggestion {
    padding-bottom: 40px; }
  .page-corporation #Contact {
    margin-bottom: 0px; }
    .page-corporation #Contact .m-form {
      margin-top: 50px; } }

.page-cafe .cafe-lead {
  background-image: url(cafe/images/cafe-img.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 100px 0; }
  .page-cafe .cafe-lead__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .page-cafe .cafe-lead__textarea, .page-cafe .cafe-lead__img {
    width: 50%; }
  .page-cafe .cafe-lead__img {
    text-align: center; }
  .page-cafe .cafe-lead__title {
    font-size: 20px;
    padding: 1px 10px;
    letter-spacing: 3.2px;
    line-height: 1.8;
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.8); }
  .page-cafe .cafe-lead__text {
    background-color: rgba(255, 255, 255, 0.8);
    line-height: 1.87;
    margin-top: 26px;
    padding: 4px 6px; }
  .page-cafe .cafe-lead__subtext {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    letter-spacing: 1px;
    margin-top: 23px;
    font-weight: bold;
    line-height: 2.15;
    padding: 1px 6px; }

.page-cafe .cafe-access {
  padding-right: 0;
  margin-right: 0;
  padding-left: 8vw;
  max-width: 1600px;
  padding-top: 100px;
  padding-bottom: 100px; }
  .page-cafe .cafe-access__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .page-cafe .cafe-access__textarea {
    width: 37.5%; }
  .page-cafe .cafe-access__detail {
    padding-top: 40px; }
    .page-cafe .cafe-access__detail dl {
      width: 100%; }
    .page-cafe .cafe-access__detail dt, .page-cafe .cafe-access__detail dd {
      padding: 3px 0; }
    .page-cafe .cafe-access__detail dt {
      font-weight: 400;
      letter-spacing: 1.2px;
      display: block;
      width: 16%;
      clear: left;
      float: left; }
    .page-cafe .cafe-access__detail dd {
      font-weight: 300;
      display: block;
      width: 84%;
      line-height: 1.6;
      float: left; }
  .page-cafe .cafe-access__address {
    line-height: 1.73;
    letter-spacing: 1.5px;
    font-weight: 500; }
  .page-cafe .cafe-access__head {
    font-weight: bold;
    letter-spacing: 2.4px;
    line-height: 1.87;
    margin-top: 20px; }
  .page-cafe .cafe-access__map {
    width: 750px;
    width: 62.5%; }
    .page-cafe .cafe-access__map__canvas {
      width: 100%;
      height: 460px;
      background: #ccc; }
    .page-cafe .cafe-access__map__link {
      background-color: #505050;
      display: block;
      color: #fff;
      text-align: center;
      letter-spacing: 2.7px;
      padding: 8px 0;
      position: relative; }
      .page-cafe .cafe-access__map__link:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 99;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
                transform: translateY(-50%) rotate(45deg);
        width: 7px;
        height: 7px;
        transition: -webkit-transform .4s;
        transition: transform .4s;
        transition: transform .4s, -webkit-transform .4s;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; }

.page-cafe .m-sns-area {
  background-image: url(cafe/images/bg.jpg);
  margin-bottom: 150px; }

@media only screen and (max-width: 750px) {
  .page-cafe .cafe-lead {
    background-image: url(cafe/images/cafe-img-sp.jpg);
    padding: 50px 0 32px; }
    .page-cafe .cafe-lead__container {
      display: block;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .page-cafe .cafe-lead__textarea, .page-cafe .cafe-lead__img {
      width: 100%; }
    .page-cafe .cafe-lead__img {
      text-align: center;
      padding-bottom: 50px; }
      .page-cafe .cafe-lead__img img {
        width: 50%; }
    .page-cafe .cafe-lead__title {
      font-size: 13px;
      letter-spacing: 2.1px; }
    .page-cafe .cafe-lead__text {
      font-size: 12px;
      line-height: 1.75;
      margin-top: 10px;
      letter-spacing: 1.9px;
      text-align: justify;
      padding: 7px 12px; }
    .page-cafe .cafe-lead__subtext {
      font-size: 12px;
      margin-top: 9px;
      line-height: 1.57;
      padding: 4px 6px; }
  .page-cafe .cafe-access {
    padding-top: 90px;
    padding-bottom: 50px;
    padding-right: 4%;
    padding-left: 4%; }
    .page-cafe .cafe-access__container {
      display: block; }
    .page-cafe .cafe-access__textarea {
      width: 100%; }
    .page-cafe .cafe-access__detail {
      padding-top: 20px; }
      .page-cafe .cafe-access__detail dl {
        width: 100%; }
      .page-cafe .cafe-access__detail dt {
        width: 26%; }
      .page-cafe .cafe-access__detail dd {
        width: 74%; }
    .page-cafe .cafe-access__address {
      font-size: 12px;
      letter-spacing: 1.2px; }
    .page-cafe .cafe-access__head {
      font-size: 12px;
      letter-spacing: 1.9px;
      line-height: 1.75; }
    .page-cafe .cafe-access__map {
      width: 100%; }
      .page-cafe .cafe-access__map__canvas {
        width: 100%;
        height: 230px; } }

/*# sourceMappingURL=maps/static.css.map */
