@charset "UTF-8";
/* 共通 pc */
html {
	-webkit-overflow-scrolling: touch;
}
body {
	margin: 0 auto;
	max-width: 1600px;
	overflow: hidden;
	background-color: black;
}
#steam_box {
    z-index: 10000;
    transition: all 4s 0s ease;
}
#steam_box.none {
    opacity: 0;
}
ul {
    margin: 0 auto;
	padding: 0;
}

.kai {
	font-family: 'Kaisei Decol', serif;
}
.noto {
	font-family: 'Noto Serif JP', serif;
}

.show {
    opacity: 0;
}
.show.show1 {
    transform: translateY(10%) skewX(-2deg) skewY(3deg) rotate(-4deg);
}
.show.show2 {
    transform: translateY(10%) skewX(2deg) skewY(-3deg) rotate(4deg);
}
.show3 {
    opacity: 1;
}
.show.is-show {
    animation:is-show 1s ease-in-out forwards;
}
.show.show2.is-show,.show.show2-2.is-show {
    animation: is-show 0.5s ease-in-out forwards;
}
.show3.is-show {
    animation: none;
}
.pc {
	display: block;
}
.sp {
	display: none;
}

/* アニメーション */
@keyframes is-show {
	0% { }
    100% { 
		 transform: translateY(0%) skewX(0deg) skewY(0deg) rotate(0deg);
		 opacity: 1;
	}
 }
@keyframes animationZoom {
      50% { 
		  transform:scale(1.4); 
		  filter: grayscale(0%);
	} 
    }
@keyframes color {
	0% { 
		  filter: grayscale(100%);
	}
    80% { 
		  filter: grayscale(0%);
	}
    }
@keyframes animationFlash {
	0% { 
		  opacity: 0;/*0*/ 
	}
      50% { 
		  opacity: 1;/*0*/  
	}
    }
@keyframes logo-blur {
	0% { 
		  -ms-filter: blur(20px);
		  -webkit-filter: blur(20px);
  			filter: blur(20px);
			
	}
     80% { 
		 -ms-filter: blur(0px);
		 -webkit-filter: blur(0px);
  			filter: blur(0px); 
	}
    }
@keyframes cc-move {
	0% { 
		opacity: 0;
		transform: translateX(0%);
	}
	2% { 
		opacity: 1;
		transform: translateX(0%);
	}
	99% { 
		opacity: 1;
		transform: translateX(-50%);
	} 
	100% { 
		opacity: 0;
		transform: translateX(-50%);
	} 
}
@keyframes fv-sp_move {
	0% { 
	    transform:scale(1.1);
	    background-position: 32% 0;
	}
	100% {
		transform:scale(1.1);
		background-position: 68% 0;
	} 
}

/* header pc */
header {
    max-width: 1600px;
    width: 100%;
    overflow: hidden;
    font-size: 0.8125em;
    line-height: 1em;
    letter-spacing: 0.16em;
    padding: 1.5em 1em;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    z-index: 9999;
    background-color: rgba(23,18,15,0.5);
    visibility: hidden;
    transition: 0.3s all;
    opacity: 0;
}
header.bisible {
    visibility: visible;
    opacity: 1;
}
header a {
    color: #fff;
    text-decoration: none;
    padding: 0 0.5em;
}
header a:hover, footer a.btn:hover {
    background-color: rgba(255,255,255,0.4);
}

header .left .nav {
    display: flex;
}
header .left .nav li {
    padding: 0 1em;
}
header .left .nav li:nth-child(2) {
    border-left: 1px;
    border-right: 1px;
    border-style: solid;
    border-color: #fff;
}
header .right {
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
}
header .right p {
    color: #fff;
    display: inline-block;
    margin-right: 1em;
}
header .right .btn a {
    border: 1px solid #fff;
    padding: 0.5em 3em;
}
.Toggle {
    display: none;
}

/* FV pc */
section.con.fv {
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.fv .slider {
    background-color: #fff;
}
.fv .slider .inner {
    display: block;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: #000;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.fv .slider .inner:after {
	content: '';
	display: inline-block;
	height: 100vh;
	width: 100vw;
	position: relative;
    z-index: 1;
	}
.fv .slider .inner:after {
	transform-origin: center center;
	vertical-align: middle;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
	left: -5px;
	transform:scale(1.1);
	}

.fv .slider .slick-active .inner:after {
		animation: color 2.5s ease-in-out forwards;
	}
.fv .slider .inner.i1:after {
		background: url("../img/fv01.jpg") no-repeat center;
		background-size: cover;
		animation: animationFlash 1s ease-in-out forwards,animationZoom 15s ease-in-out infinite;
}
.fv .slider .inner.logo:after {
	background: url("../img/fv09.jpg") no-repeat 50%;
	background-size: cover;
	}
.fv .slider .inner.logo:before {
	border: none;
}
.fv .slider .logo .name {
    max-width: 270px;
    width: 16.875em;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 50%;
    transform-origin: center center;
    transform: translateY(-50%);
    z-index: 2;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
     -webkit-filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
    will-change: filter; /* or transform */
}
.fv .slider .logo .name img {
    width: 100%;
}
.fv .slider .slick-active .inner.logo .name {
	animation: logo-blur 3s ease-in-out forwards,animationFlash 2s ease-in-out forwards;
	}
.fv .slider .inner:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
   	border: 2px solid;
    box-sizing: border-box;
}
.fv .slider .inner.i1:before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,0.1);
    background-image: radial-gradient(#111 30%, transparent 30%), radial-gradient(#111 30%, transparent 30%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
    z-index: 1;
}

/* FV 葉 */
.fv .bg-leaf {
    position: absolute;
    width: 100%;
    height: 100vh;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    z-index: 1;
	pointer-events: none;
	opacity: 0;
	-webkit-transition:1s all;
    transition: 1s all;
	will-change: transform,animation,position;
	-webkit-backface-visibility:hidden;
backface-visibility:hidden;
overflow:hidden
}
.fv .bg-leaf.is-show {
    opacity: 1;
}
.fv .bg-leaf .back {
    z-index: -1;
}
.fv .bg-leaf .front {
    z-index: 1;
}
.fv .bg-leaf span img {
    width: 100%;
    vertical-align: bottom;
}
.fv .bg-leaf span {
    display: block;
    position: absolute;
    transition: 5s ease;
	-webkit-transition:5s ease;
	will-change: transform,animation,position;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}
.fv .bg-leaf span img{
    display: block;
	will-change: transform,animation,position;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}
.fv .bg-leaf .back span:first-child {
    top: -4%;
	-webkit-transition:9s 0.75s ease;
    transition: 9s 0.75s ease;
}
.fv .bg-leaf .back span:nth-child(2) {
    right: -4%;
}
.fv .bg-leaf .back span:nth-child(odd) {
    width: 100%;
    max-width: 2000px;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transform: scale(0.8) rotate(0.001deg);
    transform: scale(0.8) rotate(0.001deg);
}
.fv .bg-leaf .back span:nth-child(even) {
    max-width: 625px;
    width: 32.5vw;
    top: 50%;
	-webkit-transform: translate3d(0, -50%, 0) scale(0.8) rotate(0.001deg);
    transform: translate3d(0, -50%, 0) scale(0.8) rotate(0.001deg);
}
.fv .bg-leaf .back span:nth-child(4) {
    left: -3%;
}
.fv .bg-leaf .back span:nth-child(3) {
    bottom: -5%;
}
.fv .bg-leaf.is-show .back span:first-child {
    /*top: -50%;*/
	transform: translate3d(0, -100%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(2) {
    /* right: -24vw; */
    transform: translate3d(20vw, -50%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(3) {
    /*bottom: -9vw;*/
    max-width: 2000px;
    transform: translate3d(0, 10%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(4) {
    /*left: -22vw;*/
	transform: translate3d(-21vw, -50%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(even) {
	/* -webkit-transform: translate3d(0, -50%, 0) scale(1) rotate(0.001deg); */
	/* transform: translate3d(0, -50%, 0) scale(1) rotate(0.001deg); */
}
.fv .bg-leaf.is-show .back span:nth-child(odd) {
	/* -webkit-transform: scale(1) rotate(0.001deg); */
	/* transform: scale(1) rotate(0.001deg); */
	width: 100%;
}
.fv .bg-leaf .front span {
    width: 500px;
}
.fv .bg-leaf .front span:first-child,
.fv .bg-leaf .front span:nth-child(4) {
    left: 0;
}
.fv .bg-leaf .front span:nth-child(2),
.fv .bg-leaf .front span:nth-child(3) {
    right: 0;
}
.fv .bg-leaf .front span:nth-child(3),
.fv .bg-leaf .front span:nth-child(4) {
    bottom: 0;
}
.fv .bg-leaf .front span:first-child,
.fv .bg-leaf .front span:nth-child(2) {
    top: 0;
}

.fv .bg-leaf.is-show .front span {
	-webkit-transform: scale(1.2) rotate(0.001deg);
	transform: scale(1.2) rotate(0.001deg);
	max-width: 500px;
	width: 31.25em;
}
.fv .bg-leaf.is-show .front span:first-child {
    /*top: -20em;*/
	transform: translate3d(-20em, -20em, 0) scale(1.2) rotate(0.001deg);
}
.fv .bg-leaf.is-show .front span:nth-child(2) {
	transform: translate3d(20em, -20em, 0) scale(1.2) rotate(0.001deg);
}
.fv .bg-leaf.is-show .front span:nth-child(3) {
    transform: translate3d(20em, 20em, 0) scale(1.2) rotate(0.001deg);
}
.fv .bg-leaf.is-show .front span:nth-child(4) {
    transform: translate3d(-20em, 20em, 0) scale(1.2) rotate(0.001deg);
}


/* 木 */
.wood_wrap {
    position: relative;
    z-index: 2;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.wood {
    position: relative;
    margin: -12.5vw auto -12.5vw;/*-10.83vw-13em auto -21.2em*/
    z-index: 2;
    transform: translateY(10em);
    opacity: 0;
    transition: 3s ease;
    /* background: url("../img/bg_wall_w2.jpg"); */
    background-size: 60%;
    background-repeat: repeat-x;
    background-color: transparent;
    background-position: bottom center;
}
.wood_wrap.item01 .wood {
    margin: -12.5vw auto -25vw;
}
.wood.is-show {
	transform: translateY(0);
	opacity: 1;
}
.wood img {
    width: 100%;
    filter: drop-shadow(0px 47px 20px rgba(0,0,0,0.6));
    -webkit-filter: drop-shadow(0px 47px 20px rgba(0,0,0,0.6));
    will-change: filter; /* or transform */
}
.wood_wrap.item01 .wood img, .wood_wrap.item02 .wood img {
    filter: none!important;
    -webkit-filter: none!important;
}
.wood_wrap.item02 .wood {
    margin: -15.625vw auto -17.5vw;
    /* background: url(../img/bg_wall_b2.jpg); */
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: 50% -250%;
    /* background: transparent; */
    /* padding-bottom: 3em; */
}


/* タイトル */
.ttl-2 h2 {
    font-size: 1.5em;
    letter-spacing: 0.2em;
}
.ttl-2 {
    position: relative;
    max-width: 15em;
    margin: 0 auto 5em;
    text-align: center;
}
.ttl-2:after,.ttl-2:before {
    content: '';
    display: block;
    max-width: 15em;
    height: auto;
    margin: 0 auto;
}
.ttl-2:before,section.menu .room_res .ttl-2:before {
    height: 5.875em;
    margin-bottom: 0.5em;
    background: url(../img/ttl_t_w.svg) no-repeat center/contain;
}
.ttl-2:after,section.menu .room_res .ttl-2:after {
    height: 3em;
    margin-top: 0.5em;
    background: url(../img/ttl_b_w.svg) no-repeat center/contain;
}
.ttl-2 h2 .sub {
    display: block;
    max-width: 240px;
    margin: 0 auto;
    width: 15em;
}
.concept .ttl-2 h2 .sub {
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.7))drop-shadow(5px 5px 5px rgba(0,0,0,0.7))drop-shadow(0px 5px 5px rgba(0,0,0,0.7));
    -webkit-filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.7))drop-shadow(5px 5px 5px rgba(0,0,0,0.7))drop-shadow(0px 5px 5px rgba(0,0,0,0.7));
    will-change: filter;
}
.ttl-2 h2 .sub img {
    width: 100%;
}

.con02 {
	opacity: 1;
	position: relative;
	background: url("../img/bg_wall_w_rep.jpg") repeat top center/20%;
	/*margin-top: -24.48vw;
    padding-top: 15em;*/
	padding: 100px 0 200px;
}
.con02.is-show {
	opacity: 1;
}
.con02 .inner {
    width: 80%;
    margin: 0 auto;
    max-width: 790px;
    padding: 19.7vw 0;
    position: relative;
}
.con02 .txt {
    font-size: 0.875em;
    text-align: center;
    line-height: 2.9em;
    letter-spacing: 0em;
}
.con02 .txt.is-show p{
    animation: logo-blur 0.6s Linear forwards;
}
.con02 .txt.is-show,.con02 .txt.is-show p {
    animation-delay: 0s;
}
.con02 .img {
    width: 100%;
    /* mix-blend-mode: multiply; */
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%);
}
.con02 .img img {
    width: 100%;
}
.con05,main {
		background-color: #fff;
	overflow: hidden;
}
section.concept,section.gallery {
    text-align: center;
    padding: 0 0 5em;
}

.concept .img_wrap {
    /*max-width: 980px;*/
    /* margin: 4.6em auto 15em; */
    /*overflow: hidden;*/
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    z-index: 1;
    position: relative;
}
.concept .img_wrap > div {
    /* width: calc(100%/2); */
}
.concept .img_wrap .txt {
    /* width: calc(100%/2 - 55px); */
    text-align: left;
    padding: 2em;
    box-sizing: border-box;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.06em;
    line-height: 1.9em;
    letter-spacing: 0.1em;
    text-shadow: #000 1px 0 10px, #000 1px 0 10px, #000 1px 0 10px, #000 1px 0 10px;
    z-index: 2;
}
.concept .img_wrap .txt.left {
    padding-right: 1em;
}
.concept .img_wrap .txt.right {
    padding-left: 1em;
}
.concept .img_wrap .img {
    height: fit-content; /*375px*/
    /* margin-left: 55px; */
    z-index: 1;
}
.concept .img_wrap .img img {
    width: 100%;
}
.concept .img_wrap .img {
    width: 62.4%;
    /* max-width: 530px; */
    max-width: 100%;
}
.concept .img_wrap .img.center {
    width: 100%;
    /* max-width: 980px; */
    max-width: 100%;
    position: relative;
    overflow: hidden;
    height: 117vw;
    margin: -29vw auto -7vw;
}
.concept .img_wrap .img.center img {
    position: absolute;
    left: 56%;
    transform: translateX(-50%);
    width: 133vw;
}
#imori {
  overflow: visible;
  /*height: 100%;
  max-width: 100%;*/
}
#imori path {
  stroke-width: 2;
  stroke: gray;
}
svg#imori {
    position: absolute;
    /*max-width: 2000px;*/
	width: 100%;
    margin: 0 auto;
    left: 0;
    right: 0;
}
#imori .astronaut {
  visibility: hidden;
}	
img.astronaut {
		position: absolute;
		width: 30.6vw;
		max-width: 300px;
		right: -12.24%;
		top: 5.1vw;
		transform: rotate(156deg) translate(-33%);
		-webkit-backface-visibility: hidden;
		backface-visibility:hidden;
	}
.imori-wrap .path {
    /*max-width: 282px;
    width: 14.68%;*/
	max-width: 390px;
    width: 39.79%;
    margin-right: 0;
    margin-left: auto;
}
.bg img {
		width: 100%;
	}
	.wrap {
		position: relative;
	}
.concept .fish-wrap .img_wrap .img {
    width: 62.4%;
    margin-right: -10.425em;
    /* max-width: 580px; */
}
.concept .img_wrap .txt h3 {
    margin-bottom: 1em;
    overflow: visible;
    width: 24em;
    max-width: 384px;
}
.concept .img_wrap .txt h3 img {
    filter: drop-shadow(5px -5px 5px rgba(0,0,0,0.6)) drop-shadow(5px -7px 5px rgba(0,0,0,0.6)) drop-shadow(-5px 8px 5px rgba(0,0,0,0.6))drop-shadow(-5px 10px 5px rgba(0,0,0,0.6));
    -webkit-filter: drop-shadow(5px -5px 5px rgba(0,0,0,0.6)) drop-shadow(5px -7px 5px rgba(0,0,0,0.6)) drop-shadow(-5px 8px 5px rgba(0,0,0,0.6))drop-shadow(-5px 10px 5px rgba(0,0,0,0.6));
    display: block;
    width: 100%;
    will-change: filter; /* or transform */
}

section.concept .ttl-2 {
    color: #fff;
}
section.concept {
    background: url("../img/bg_wall_b_rep.jpg") repeat top center;
    background-size: 40%;
    padding: 20vw 0 1vw;
    position: relative;
}
	.move {
    max-width: 1600px;
    margin: 0 auto;
    width: 100%;
    /* height: 100vh; */
    /* max-height: 580px; */
    position: absolute;
    left: 0;
    right: 0;
    /* overflow-x: clip; */
}
article.imori-wrap .move {
    max-width: 1200px;
    top: -3%;
    width: 80%;
    z-index: 1;
}
path#imori {
    position: absolute;
    right: 0;
}
.concept article {
    position: relative;
}
.concept article:after {
    content: '';
    display: block;
    margin: 4.125em auto;
    width: 25.5em;
    height: 1.125em;
    background: url(../img/cs_line_b.png) no-repeat center/contain;
}

.concept .fish-wrap .img_wrap {
    margin: 0em auto 7em;
}
.concept .fish-wrap .img_wrap .txt h3, .concept .flower-wrap .img_wrap .txt h3 {
    max-width: 280px;
    width: 17.5em;
    height: 100%;
}

section.sc {
    position: relative;
}
div#animation_container, canvas#canvas,div#dom_overlay_container {
    width: 100vw!important;
    height: 100vw!important;
    max-width: 1200px;
    max-height: 1200px;
}
.bg_pos.rip {
    position: absolute;
    left: 0;
    right: 0;
    width: 77.55%;
    margin: 0 auto;
    transform: translateX(35%);
    max-width: 760px;
}
.bg_pos.rip img {
    width: 100%;
}
 .deer-wrap .move {
    bottom: -18%;
    max-width: 377px;
    width: 38.46%;
    left: auto;
    margin: 0 -10em 0 auto;
}
.deer-wrap .move img {
    display: block;
    animation: deer 3s ease-in-out infinite;
    transform-origin: right bottom;
    width: 100%;
}
@keyframes deer {
	20%{
		-webkit-transform:rotate(15deg);
		transform:rotate(15deg);
	}
	30%{
		-webkit-transform:rotate(-10deg);
		transform:rotate(-10deg);
	}
	40%{
		-webkit-transform:rotate(5deg);
		transform:rotate(5deg);
	}
	50%{
		-webkit-transform:rotate(-5deg);
		transform:rotate(-5deg);
	}
	65%{
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg);
	}
    }
.concept .imori-wrap .img_wrap .img.left {
    /* margin-left: -2.5em; */
    margin-left: -3%;
    margin-right: -7%;
}
.concept .deer-wrap .img_wrap .img {
    /* width: 48.57%; */
    /* max-width: 476px; */
    /* margin-left: -2.5em; */
    /* margin-right: 2.5em; */
    width: 54.6%;
    margin-left: -3%;
    margin-right: -4%;
}
.concept .flower-wrap .img_wrap .img {
    width: 65.1%;
    /* max-width: 582px; */
    margin-right: -12.625em;
    margin-left: -1em;
}
.concept .flower-wrap .img_wrap {
    margin: 7em auto 12em;
}
.concept .flower-wrap:after,.concept .interior-wrap:after {
    opacity: 0;
    display: none;
}


.flower-wrap .move {
    bottom: -35%;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}
.flower-wrap .imgbox {
    max-width: 436px;
    width: 44.48%;
}
.flower-wrap .imgbox img {
    width: 100%;
}
.concept .interior-wrap {
    z-index: 3;
}
.concept .interior-wrap .img_wrap .txt p {
    width: 24em;
    max-width: 384px;
    text-align: center;
    margin: 0 auto;
}
.concept .interior-wrap .img_wrap {
    flex-wrap: wrap;
    max-width: 980px;
    margin: 0 auto;
    align-items: flex-start;
    justify-content: flex-start;
}
.concept .interior-wrap .img_wrap .txt {
    width: 100%;
    padding: 0;
    text-align: center;
    margin: 3em auto;
}
.concept .interior-wrap .img_wrap .txt.is-show p {
    animation: logo-blur 0.6s ease-in-out forwards;
}
.concept .interior-wrap .img_wrap .txt.is-show,.concept .interior-wrap .img_wrap .txt.is-show img {
    animation-delay: 0s;
}
.concept .interior-wrap .img_wrap .txt.top {
    margin: 8em auto;
}
.concept .interior-wrap .img_wrap .txt p img {
    filter: drop-shadow(5px 0px 5px rgba(0,0,0,0.5)) 
    drop-shadow(5px -15px 5px rgba(0,0,0,0.5)) 
    drop-shadow(-5px -10px 5px rgba(0,0,0,0.5))
    drop-shadow(-5px 5px 5px rgba(0,0,0,0.5));
    will-change: filter; /* or transform */
    width: 100%;
}
.concept .interior-wrap .img_wrap .img.left.top {
    max-width: 460px;
    width: 46.93%;
    margin-left: 4%;/* 4% */
    margin-right: 13%;/* or transform */
}
.concept .interior-wrap .img_wrap .img.right {
    max-width: 354px;
    width: 36.12%;
    margin-right:  -2.7%;/* -2.7% */
    margin-top: 7.375em;
}
.concept .interior-wrap .img_wrap .img.left.btm {
    max-width: 554px;
    width: 56.53%;
    margin-left: 8%;/* 8% */
}
.concept .interior-wrap .img_wrap .img img {
    display: inline-block;
    transition: 0.75s all;
    transition-delay: 0s;
    opacity: 0;
    filter: drop-shadow(3.125em 1.875em 1.875em rgba(0,0,0,1));
    -webkit-filter: drop-shadow(3.125em 1.875em 1.875em rgba(0,0,0,1));
}
.concept .interior-wrap .img_wrap .img.left.top img {
    margin-left: -260%;
}
.concept .interior-wrap .img_wrap .img.right img {
    margin-right: -250%;
    transition-delay: 0s;
}
.concept .interior-wrap .img_wrap .img.left.btm img {
   transform: translateY(50%);
}
.concept .interior-wrap .img_wrap .img.is-show img {
	opacity: 1;
}
.concept .interior-wrap .img_wrap .img.left.top.is-show img {
    margin-left: 0%;
}
.concept .interior-wrap .img_wrap .img.right.is-show img {
    margin-right: 0%;
}
.concept .interior-wrap .img_wrap .img.left.btm.is-show img {
    transform: translateY(0%);
}
.concept .wood {
    margin: 12vw auto -9vw;
    /* 
	margin: 44.25% auto -69%;
	margin: 44.25vw auto -66vw; 
	*/
    /*background: url("../img/bg_wall_b2.jpg");*/
    background-size: 100%;
    /* background-repeat: no-repeat; */
    /* background-color: transparent; */
    /* background-position: 50% 200%; */
    background: transparent;
    /* padding-top: 3em; */
    position: relative;
}
.concept .wood:after {
    /* content: ''; */
    display: block;
    width: 100%;
    height: 150px;
    background: url(../img/bg_wall_w4.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: 100% 91%;
    margin-top: -6em;
}

section.concept .bg-leaf{
    width: 23%;
    max-width: 246px;
    position: absolute;
    top: 0;
    height: 288em;
    z-index: 1;
}
section.concept .bg-leaf.left {
    left: -5.625em;
    transform: scale(-1, 1);
    /* filter: drop-shadow(-1em -1em 1em rgba(0,0,0,0.6)); */
    /* -webkit-filter: drop-shadow(-1em -1em 1em rgba(0,0,0,0.6)); */
    will-change: filter;
}
section.concept .bg-leaf.right {
    right: -5.625em;
    margin-top: 17em;
    /* filter: drop-shadow(1em -1em 1em rgba(0,0,0,0.6)); */
    /* -webkit-filter: drop-shadow(1em -1em 1em rgba(0,0,0,0.6)); */
    will-change: filter;
}
section.concept .bg-leaf > div {
	position: absolute;
    top: 0;
}
section.concept .bg-leaf .back {
    background: url(../img/cs_leaf.png) space top/contain;
    width: 100%;
    height: 100%;
    /* filter: drop-shadow(0 0 1em rgba(0,0,0,0.6)); */
    /* -webkit-filter: drop-shadow(0 0 1em rgba(0,0,0,0.6)); */
    will-change: filter;
}
section.concept .bg-leaf .flont {
    background: url(../img/cs_leaf_f.png) space top/contain;
    width: 100%;
    height: 100%;
    /* filter: drop-shadow(0 0 1em rgba(0,0,0,0.6)); */
    /* -webkit-filter: drop-shadow(0 0 1em rgba(0,0,0,0.6)); */
    will-change: filter;
}
section.concept .bg-leaf {
    position: absolute;
    top: 0;
    /* width: 100%; */
}


section.menu {
    background: url(../img/bg_wall_w3_rep.jpg) repeat top center;
    background-size: 50%;
    padding: 21vw 0 13vw;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.menu .ttl-2 {
    color: #bc771a;
}
.menu .ttl-2:before {
    background: url(../img/ttl_t_br.svg) no-repeat center/contain;
}
.menu .ttl-2:after {
    background: url(../img/ttl_b_br.svg) no-repeat center/contain;
}
.menu .gallery {
    text-align: center;
}
.menu .gallery .ttl-3 h3 {
    font-size: 1.3125em;
    font-weight: normal;
    margin: 1.9em auto;
}
.menu .gallery .ttl-3 h3 .sm {
    font-size: 0.714em;
}
.menu .gallery .img_wrap {
    margin: 0 auto;
}
.menu .gallery .img_wrap .center.item01 {
    width: 100%;
    margin: 0em auto 0;
}
.menu .gallery .img_wrap .sub {
    margin: 2.8125em auto;
    max-width: 194px;
    width: 12.125em;
}
.menu .gallery .img_wrap .item02 .sub {
    margin-right: 1em;
    margin-top: 1em;
    margin-bottom: 6em;
}
.menu .gallery .img_wrap .item, .menu .contents .img.item {
    filter: drop-shadow(3.93em 3.93em 4px rgba(0,0,0,0.4));
    -webkit-filter: drop-shadow(3.93em 3.93em 4px rgba(0,0,0,0.4));
    will-change: filter;
}
.menu .gallery .img_wrap .item.branch01, .menu .contents .item.branch01 {
    max-width: 416px;
    width: 42.44%;
    margin: -10em -10.625em 0 auto;
}
.menu .gallery .img_wrap .item02 {
   max-width: 590px;
   width: 60.2%;
   margin-top: -15em;
   filter: drop-shadow(2.73em 1.5em 1em rgba(0,0,0,0.5));
   -webkit-filter: drop-shadow(2.73em 1.5em 1em rgba(0,0,0,0.5));
   will-change: filter;
}
.menu .gallery .img_wrap img, .menu .contents .item.branch02 img,
.menu .contents .item.branch01 img {
    width: 100%;
}
.menu .gallery .img_wrap .item01 .sub {
    margin-left: 32em;
}
.menu .gallery .img_wrap .item02 > img {
    filter: drop-shadow(1.25em 1.25em 1.25em rgba(0,0,0,0.75));
     -webkit-filter: drop-shadow(1.25em 1.25em 1.25em rgba(0,0,0,0.75));
    will-change: filter;
}
.menu .gallery .img_wrap .item03,.menu .gallery .img_wrap .item06 {
    max-width: 340px;
    width: 34.69%;
}
.menu .gallery .img_wrap .item03 {
    margin: -29em 0 0 auto;
}
.menu .gallery .img_wrap .item06 {
    margin: -29em 0 0 auto;
}
.menu .gallery .img_wrap .item.branch02, .menu .contents .item.branch02,.menu .room_res .item.branch02 {
    max-width: 300px;
    width: 30.6%;
    margin: 8em auto 0 -4.375em;
}
.menu .gallery .img_wrap .item04,.menu .gallery .img_wrap .item05 {
    max-width: 600px;
    width: 61.22%;
}
.menu .gallery .img_wrap .item04 {
    margin: -25em 0 0 auto;
}
.menu .gallery .img_wrap .item05 {
     margin: 7em auto 0 0;
}
.menu .gallery .img_wrap .item.branch03 {
    max-width: 328px;
    width: 33.46%;
    margin: -16em -11.125em 0 auto;
    position: relative;
    z-index: 1;
}
.menu .gallery .img_wrap .item07 {
    max-width: 728px;
    width: 74.28%;
    margin: 4em auto 0;
}
.menu .contents {
    max-width: 880px;
    width: 89.79%;
    margin: 6.25em auto;
    background-color: rgba(255,255,255,0.5);
    box-sizing: border-box;
    padding: 5.25em 2.8125em 2.8125em;
    overflow: visible;
}
.menu .contents .wrap {
    display: flex;
    z-index: 1;
    flex-wrap: wrap;
}
.menu .contents .wrap .img {
    max-width: 400px;
    width: 50.63%;
	position: relative;
	z-index: 1;
}

.menu .contents .wrap .img img {
    width: 100%;
}
.menu .contents .wrap .txt {
    margin: 0 0 0 auto;
    width: 42%;
}
.menu .contents .ttl-4 h4 {
    font-size: 0.875em;
    position: relative;
    overflow: hidden;
    font-weight: normal;
    max-width: 326px;
}
.menu .contents .ttl-4 h4 .big {
    font-size: 1.21em;
}
.menu .contents .wrap .ttl-4 h4 .price .sm {
    font-size: 0.857em;
}
.menu .contents .wrap .ttl-4 h4:after {
    content: '';
    display: block;
    width: 100%;
    height: 0.28em;
    background: url(../img/kaiseki_line.png) no-repeat center left/contain;
    margin: 0.5em 0;
}
.menu .contents .ttl-4 h4 .price {
    text-align: right;
    margin: 0.1em 0 0 auto;
    float: right;
}
.menu .contents .ttl-4 p {
    font-size: 0.75em;
    line-height: 1.2em;
    overflow: hidden;
    margin: 1em auto;
}
.menu .contents .ttl-4 p .sub {
    display: block;
    float: left;
    padding: 0.5em 1em;
    border: 1px solid;
    margin-right: 0.5em;
    vertical-align: middle;
}
.menu .contents .wrap .txt .lineup p {
    font-size: 0.8125em;
}
.menu .contents .wrap .txt .lineup dt {
    width: 20%;
    text-align: center;
    position: relative;
}
.menu .contents .wrap .txt .lineup dl {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2em;
}
.menu .contents .wrap .txt .lineup dd {
    width: 80%;
    padding-left: 0.2em;
    box-sizing: border-box;
}
.menu .contents .wrap .txt .lineup dt:after {
    content: '';
    display: block;
    width: 90%;
    height: 0.538em;
    background: url(../img/kaiseki_line02.png) no-repeat center/contain;
    margin: -0.6em auto 0;
}
.menu .contents .item.branch02 {
    margin: -18em auto 0em -8.375em;
    width: 18.75em;
}
.menu .contents .img.item.line {
    margin: 0 auto 10em;
    max-width: 408px;
    width: 25.5em;
    filter: none;
}
.menu .contents .img.item.line img {
    width: 100%;
}
.menu .contents .wrap .txt.left {
    margin: 0 auto 0 0;
    width: 47%;
}
.menu .contents .wrap .txt .comment {
    margin: 2em auto;
    font-size: 0.8125em;
    line-height: 1.7em;
}
.menu .contents .wrap .txt .comment .sm {
    font-size: 0.923em;
}
.menu .contents .item.branch01 {
    width: 26em;
    margin: -14em -13.625em 0em auto;
}
.menu .contents .extreme {
    background-color: #fff;
    filter: drop-shadow(1em 1em 13px rgba(0,0,0,0.3));
    -webkit-filter: drop-shadow(1em 1em 13px rgba(0,0,0,0.3));
    will-change: filter;
    padding: 2em;
    box-sizing: border-box;
    overflow: hidden;
}
.menu .contents .extreme .txt {
    padding: 2em;
    text-align: center;
     position: relative;
}

.menu .contents .extreme .border:after, .menu .contents .extreme .border:before,.menu .extreme .txt .ttl-4 h4:after {
    content: '';
    display: block;
    position: absolute;
    background-color: #000;
    transition: 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.menu .contents .extreme .border.left:after,
.menu .contents .extreme .border.left:before {
    left: 0;
    top: 0;
}
.menu .contents .extreme .border.right:after,
.menu .contents .extreme .border.right:before {
    bottom: 0;
    right: 0;
}
.menu .contents .extreme .border:after,.menu .extreme .txt .ttl-4 h4:after {
    height: 1px;
    width: 100%;
}
.menu .contents .extreme .border:before {
    width: 1px;
    height: 100%;
}
.menu .contents .extreme.show3 .border.left:before {
    transform: translateY(-110%);
}
.menu .contents .extreme.show3 .border.right:before {
    transform: translateY(110%);
}
.menu .contents .extreme.show3 .border.left:after,.menu .extreme .txt .ttl-4 h4:after {
    transform: translateX(-110%);
}
.menu .contents .extreme.show3 .border.right:after {
    transform: translateX(110%);
}
.menu .contents .extreme.show3.is-show .border.left:before {
    transform: translateY(0);
}
.menu .contents .extreme.show3.is-show .border.right:before {
    transform: translateY(0);
}
.menu .contents .extreme.show3.is-show .border.left:after,.menu .extreme.show3.is-show .txt .ttl-4 h4:after {
    transform: translateX(0);
}
.menu .contents .extreme.show3.is-show .border.right:after {
    transform: translateX(0);
}

.menu .extreme .txt .ttl-4 {
    margin: 3em auto 0;
    max-width: 326px;
    text-align: left;
}
.menu .extreme .txt .ttl-4 h4 {
    /* border-bottom: 1px solid; */
    padding-bottom: 0.5em;
    position: relative;
}
.menu .extreme .txt .ttl-4 h4:after {
    left: 0;
    bottom: 0;
    transition-delay: 0.5s;
}
.menu .extreme .txt .ttl-4 p {
    margin: 1.5em auto;
    padding: 1em 0;
    text-align: right;
}
.menu .extreme .txt .ttl-4 p .sub {
    margin-top: -0.5em;
    padding: 0.5em 1.6em;
}
.menu .extreme .txt .comment p {
    font-size: 0.8125em;
    margin: 3em auto;
}
.menu .extreme .txt .comment p.name span {
    display: block;
    margin: 0.5em auto;
    max-width: 150px;
    width: 9.375em;
    opacity: 0;
    transition: 0.7s;
    transition-delay: 1s;
}
.menu .extreme.show3.is-show .txt .comment p.name span {
    opacity: 1;
}
.menu .extreme .txt .comment p.name span img {
    width: 100%;
}
section.menu .open .ttl-2:before {
    background: transparent;
}
section.menu .open .txt {
    text-align: center;
    font-size: 0.875em;
    margin-bottom: 15em;
}
section.menu .room_res {
    max-width: 780px;
    width: 79.5%;
    margin: 0 auto 4em;
    text-align: center;
    background: url(../img/bg_wall_wd_rep.jpg) repeat top center/30%;
    box-sizing: border-box;
    padding: 6.5em 0 0;
    color: #fff;
    filter: drop-shadow(1em 1em 13px rgba(0,0,0,0.3));
    -webkit-filter: drop-shadow(1em 1em 13px rgba(0,0,0,0.3));
    will-change: filter;
}
section.menu .room_res .ttl-2 {
    color: #fff;
}
section.menu .room_res .ttl-2,section.art .ttl-2 {
    max-width: 20em;
}
section.menu .room_res .ttl-2 h2 .sub,section.art .ttl-2 h2 .sub {
    display: inline-block;
    }
section.menu .room_res .ttl-2 h2, section.art .ttl-2 h2,section.access .ttl-2 h2 {
    letter-spacing: 0.1em;
}
section.menu .room_res .txt p {
    font-size: 0.875em;
    margin: 6.8em auto;
}
section.menu .room_res .txt .btn,section.menu .sp .btn, footer .btn {
    color: #fff;
    text-decoration: none;
    border: 1px solid;
    font-size: 1.125em;
    vertical-align: middle;
    transition: 0.2s all;
    text-align: center;
}
section.menu .room_res .txt .btn,section.menu .sp .btn {
    background-color: #500b10;
    padding: 1.2em 2.5em;
    display: inline-block;
}
section.menu .room_res .txt .btn .sm,section.menu .sp .btn .sm, footer .btn .sm {
    font-size: 0.722em;
    margin-top: -0.5em;
}
section.menu .room_res .txt .btn .ar,section.menu .sp .btn .ar, footer .btn .ar {
    margin: -0.3em 1em 0;
    width: 0.88em;
    display: inline-block;
    vertical-align: middle;
}
section.menu .room_res .txt .btn .ar img, footer .btn .ar img {
    width: 100%;
}
section.menu .room_res .txt .btn:hover {
    background-color: #3e090d;
}
.menu .room_res .item.branch02, .menu .sp .item.branch02 {
    margin: -1em auto 0 -4.375em;
    position: relative;
    height: 27em;
}
.menu .sp .item.branch02 {
    transform: scale(1,-1);
}
.menu .room_res .item.branch02 img,.menu .sp .item.branch02 img {
    width: 100%;
    position: absolute;
    left: 0;
}
.menu .room_res .item {
    filter: drop-shadow(3.93em 3.93em 4px rgba(0,0,0,0.3));
    -webkit-filter: drop-shadow(3.93em 3.93em 4px rgba(0,0,0,0.3));
    will-change: filter;
}
.menu .sp .item {
    filter: drop-shadow(3.93em -3.93em 4px rgba(0,0,0,0.4));
    -webkit-filter: drop-shadow(3.93em -3.93em 4px rgba(0,0,0,0.4));
    will-change: filter;
}

.art .wood {
    background: transparent;
    position: relative;
    margin: -10em auto 6em;
}
.rm_slider {
    width: 206%;
    margin: 0 -53.5%;
}
.rm_slider img {
    width: 100%;
}
.rm_slider .slick-list {
    padding: 0 30%!important;
}
.rm_slider .slick-dots {
    bottom: -35px;
}
.rm_slider .slick-dots li, .rm_slider .slick-dots li button, .rm_slider .slick-dots li button:before {
    width: 8px;
    height: 8px;
    padding: 0;
    margin: 0 auto;
}
.rm_slider .slick-dots li {
    margin: 0 0.7em;
}
.rm_slider .slick-dots li button:before {
    font-size: 10px;
    content: '';
    background-color: #fff;
    opacity: 0.5;
    border-radius: 50%;
}
.rm_slider .slick-dots li.slick-active button:before {
    color: #fff;
    opacity: 1;
}
section.art {
    background: url(../img/bg_wall_rk_rep2.jpg) repeat top center;
    background-size: 20%;
    padding: 3vw 0 1vw;
    position: relative;
    color: #fff;
}
section.art .ttl-3 {
    margin: 2em auto 5em;
}
section.art .ttl-3 h3 {
    font-size: 1.5em;
    letter-spacing: 0.2em;
    text-align: center;
}
section.art .ttl-3 h3 .sub {
    display: block;
    margin: 0.6em auto;
    max-width: 620px;
    width: 63.26%;
}
section.art .ttl-3 h3 .sub img {
    width: 100%;
}
section.art .art_img {
    overflow: hidden;
    width: 100%;
    height: 25.5em;
    /* height: 15.625em; */
    filter: drop-shadow(1em 2em 15px rgba(0,0,0,0.8));
    -webkit-filter: drop-shadow(1em 2em 15px rgba(0,0,0,0.8));
    will-change: filter;
}
section.art .art_img img {
    height: 100%;
    animation: cc-move 100s linear infinite;
    transition: 0.1s all;
}
section.art .txt p,section.access .txt {
    text-align: center;
    margin: 10em 0 10em;
    font-size: 0.8125em;
    letter-spacing: 0.1625em;
    line-height: 2.5em;
}
section.art .show.is-show h3,section.art .show.is-show .art_img,section.art .show.is-show p,section.access .show.is-show p {
    animation: logo-blur 0.5s ease-in-out forwards,animationFlash 0.5s ease-in-out forwards;
}
section.art .show.del.is-show,section.art .show.is-show .art_img {
	animation-delay: 0.5s;
}
section.access .bg{
    background: url(../img/bg_wall_fr.jpg) repeat-y top center;
    background-size: cover;
    padding: 4vw 0 1vw;
    position: relative;
    color: #fff;
}
.access .wood {
    background: transparent;
    position: relative;
    margin: -10em auto 6em;
}
section.access .txt {
    margin: 20em 0 5em;
}
/* Google Mapを囲う要素 */
section.access .map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 24.0625em;
}
/* Google Mapのiframe */
section.access .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
footer {
    padding: 5.625em 5em 1em;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
footer > div {
}
footer .logo {
    width: 10.1875em;
}
footer .add {
    width: 100%;
    margin-top: 2em;
    padding-left: 2em;
    box-sizing: border-box;
}
footer .add a {
    color: #fff;
    text-decoration: none;
}
footer .left {
    width: 60%;
}
footer .btn {
    padding: 0.5em 3em;
    width: 15.5em;
    box-sizing: border-box;
    letter-spacing: 0.16em;
}
footer .right {
    /* width: 45%; */
    margin: 0 0 1em auto;
}
footer .btn .sm {
    vertical-align: middle;
    display: inline-block;
    margin-top: -0.4em;
}
footer .copy {
    width: 100%;
    text-align: center;
    margin: 5em auto 0em;
    font-size: 0.75em;
}


@media (min-width: 1600px){
.fv .slider .inner:after {
    max-width: 1600px;
}
.wood {
    margin: -200px auto -200px;
}
.wood_wrap.item01 .wood {
    margin: -200px auto -400px;
}
.wood_wrap.item02 .wood {
    margin: -250px auto -280px;
}

.con02 {
    padding: 160px 0 293px;
}
.con02 .inner {
    padding: 193px 0;
}
section.concept {
	padding-top: 20em;
	padding-bottom: 1em;
}
.wood_wrap.item02 .wood img {
    /* filter: drop-shadow(0px 1vw 5vw rgba(0,0,0,1)); */
}
.concept .wood {
    margin: 12em auto -9em;
}
section.menu {
    padding: 21em 0 10em;
}
section.art {
    padding: 2em 0 1em;
}
section.access .bg {
    padding: 4em 0 2em;
}
}
@media (max-width: 980px){
body {
	font-size: 1.632vw!important;
}
.con02 {
   padding: 10.2vw 0 19.7vw;
}
.wood img {
	filter: drop-shadow(0px 4.8vw 2vw rgba(0,0,0,0.6));
	-webkit-filter: drop-shadow(0px 4.8vw 2vw rgba(0,0,0,0.6));
}
}
@media (max-width: 750px){
body {
	font-size: 2.133vw!important;
}
.pc {
	display: none!important;
}
.sp {
	display: block;
}
.hd_menu{
 text-align:center;
 transition: 0.75s ease;/*滑らかに表示*/
 transform: translateX(150%);
 /*  transform: translateX(-100%);/*右から出す場合は、マイナス100%としてください*/
 /* visibility: hidden; */
 /* opacity: 0; */
 height: 100vh;
 position: relative;
 z-index: 1;
}
 
/*OPEN時の動き*/
.hd_menu.open {
 -webkit-transform: translateX(0%);
 transform: translateX(0%);/*メニューを元の位置へ戻す*/
 background-color: rgba(23,18,15,0.7);
}
/*トグルボタンのスタイルを指定*/
.Toggle {
    display: block;
    position: absolute;    /* bodyに対しての絶対位置指定 */
    width: 2.09em;
    height: 2.625em;
    cursor: pointer;
    z-index: 3;
    right: 1em;
    top: 1em;
    filter: drop-shadow(0px 0px 6px rgba(0,0,0,1));
    -webkit-filter: drop-shadow(0px 0px 6px rgba(0,0,0,1));
    will-change: filter;
}
 
.Toggle span {
    display: block;
    position: absolute;
    width: 2.09em;
    border-bottom: solid 0.25em #fff;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
    border-radius: 2px;
}
 /*各ボーダー少しずつずらす*/
.Toggle span:nth-child(1) {
    top: 0.192em;
}
 .Toggle span:nth-child(2) {
    top: 0.925em;
}
 .Toggle span:nth-child(3) {
    top: 1.6em;
}
.Toggle.active span:nth-child(1) {
    top: 0.925em;
/* 1番目のspanをマイナス45度に */
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
    top: 0.925em;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

header {
    padding: 0;
    font-size: 1.625em;
    height: 4em;
    overflow: hidden;
    background-color: transparent;
}
header .left .nav {
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
header .left .nav li {
    width: 80%;
    padding: 2em;
    margin: 0 auto;
}
header .left .nav li:nth-child(2) {
    border-left: none;
    border-right: none;
}
header .left .nav li a {
    border-bottom: 1px solid;
    padding-bottom: 0.2em;
}
header a {
    /* font-size: 1.6em; */
}
header.click {
    height: 100vh;
}
header .right {
    position: fixed;
    right: 0;
    transition: 0.2s all;
}

header .right .btn {
    background-color: #BD771A;
    border-radius: 0.76em 0 0 0.76em;
    padding: 0.5em 0 0.4em;
}

header .right .btn a {
    box-sizing: border-box;
    width: 2.3em;
    display: block;
    padding: 0;
    margin: 1em 0 0.9em;
    /* text-align: center; */
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 2.35em;
    letter-spacing: 0.3em;
    /* background-color: #BD771A; */
    border: none;
    /* border-radius: 0.76em 0 0 0.76em; */
}
header .right .btn .tel {
    position: relative;
}
header .right .btn .tel:before {
    content: '';
    display: block;
    width: 53%;
    height: 1px;
    background-color: #fff;
    margin: 0 auto;
}
header .right .btn a:before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url(../img/mail_ic.svg) no-repeat center/contain;
    margin-bottom: 0.5em;
    /* margin-right: -0.1em; */
    /* margin-top: 0.2em; */
}
header .right .btn .tel a:before {
    background: url(../img/tel_ic.svg) no-repeat center/contain;
   margin-right: -0.1em;
}
header a:hover, footer a:hover {
    background-color: transparent;
}
.show.show1, .show.show2 {
    transform: translateY(5%);
}
.fv .slider .logo .name {
    width: 15em;
}
.fv .slider .slick-active .inner.logo:after {
    animation: color 2.5s ease-in-out forwards,fv-sp_move 20s linear forwards;
    background: url(../img/fv09.jpg) no-repeat 32% 50%/cover;
}
.wood_wrap.item01 .wood {
    margin: -8.5vw auto -14vw;
    /* background-image: url(../img/bg_wall_w2.jpg); */
}
.wood_wrap.item01 .wood img {
    filter: drop-shadow(0px 4.8vw 2vw rgba(0,0,0,0.6))!important;
    -webkit-filter: drop-shadow(0px 4.8vw 2vw rgba(0,0,0,0.6))!important;
}
.wood_wrap.item02 .wood {
	margin: -12.5vw auto -7.25vw;
	}
.wood_wrap.item02 .wood img {
    filter: drop-shadow(0px 1.25em 3.125em rgba(0,0,0,1))!important;
    -webkit-filter: drop-shadow(0px 1.25em 3.125em rgba(0,0,0,1))!important;
}
.art .wood,.access .wood {
    margin: -10.66vw auto 12.8vw;
}
.con02 {
	background: repeat top center/60%;
	/* z-index: 1; */
}
.con02 .inner {
    width: 95%;
}
.con02 .txt {
    font-size: 1.5em;
}
.con02 .img {
    width: 87%;
}

.ttl-2,.ttl-2:after, .ttl-2:before {
    max-width: 25.625em;
}
.ttl-2:before, section.menu .room_res .ttl-2:before {
    height: 10em;
    margin-bottom: 1.5em;
}
.ttl-2:after, section.menu .room_res .ttl-2:after {
    height: 5.125em;
    margin-top: 1em;
}
.ttl-2 h2 {
    font-size: 2.1875em;
    line-height: 1em;
}
section.concept {
    background: repeat top center/60%;
    z-index: 1;
}
.concept .img_wrap .img {
    order: 1;
}
.concept .img_wrap .txt {
    order: 0;
    text-align: center;
    padding: 0!important;
    width: 100%;
    font-size: 1.5em;
    line-height: 1.95em;
}
.concept .img_wrap {
    flex-wrap: wrap;
}
.concept .img_wrap .txt h3 {
    width: 100%;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}
.concept .img_wrap .txt h3 {
    margin-bottom: 3em;
}
.concept .img_wrap .img img {
    filter: drop-shadow(3.125em 1.875em 1.875em rgba(0,0,0,1));
    -webkit-filter: drop-shadow(3.125em 1.875em 1.875em rgba(0,0,0,1));
    will-change: filter; /* or transform */
}
.concept .imori-wrap .img_wrap .img.left {
    width: 30em;
    margin: 7em auto 1em;
    margin-left: -2.5em;
    z-index: 3;
}
article.imori-wrap .move {
    top: 50%;
    z-index: -1;
}
.concept .img_wrap .img.center img {
    left: 50%;
    width: 100%;
}
.concept .img_wrap .img.center {
    margin: 0 auto;
}
.concept .fish-wrap .img_wrap .txt h3, .concept .flower-wrap .img_wrap .txt h3 {
    max-width: 100%;
    width: 100%;
}
.concept .fish-wrap .img_wrap .img {
    max-width: 574px;
    width: 35.875em;
    margin: 7em 0 7em auto;
}
.concept article:after {
    background: url(../img/cs_line_b_sp.png) no-repeat center/contain;
    width: 20.625em;
    height: 1.25em;
}
.bg_pos.rip {
    width: 72%;
    transform: translateX(0);
    margin-right: 0;
    bottom: 0;
}
.fish-wrap .move {
    bottom: -10%;
}
.concept .deer-wrap .img_wrap .img {
    width: 30em;
    margin: 7em auto 5em;
    margin-left: 0;
}
.deer-wrap .move {
    bottom: 34%;
    width: 50.66%;
}
.concept .flower-wrap .img_wrap .img {
    width: 27.75em;
    margin: 7em auto 0;
    margin-right: 0;
}
.flower-wrap .imgbox {
    width: 44%;
}
.flower-wrap .move {
    bottom: -20%;
}
.concept .interior-wrap .img_wrap .txt p {
    width: 22.416em;
    max-width: 100%;
}
.concept .interior-wrap .img_wrap .img {
    order: 0;
}
section.concept .bg-leaf {
    height: 1000vw;
}
.concept .interior-wrap .img_wrap .img.left.top {
    width: 62.93%;
    max-width: 100%;
    margin-left: 0;
}
.concept .interior-wrap .img_wrap .img.right {
    max-width: 345px;
    width: 46%;
    margin: -6em 0 0 auto;
    z-index: -1;
}
.concept .interior-wrap .img_wrap .img.left.btm {
    width: 83.73%;
    max-width: 100%;
    margin: 0 auto;
}
section.menu {
    background: repeat top center/90%;
    z-index: 0;
}
.menu .gallery .ttl-3 h3 {
    font-size: 2.25em;
}
.menu .gallery .img_wrap .item02 {
    max-width: 520px;
    width: 69.33%;
    margin-top: -25em;
    filter: drop-shadow(17px 17px 30px rgba(0,0,0,0.75));
    -webkit-filter: drop-shadow(17px 17px 30px rgba(0,0,0,0.75));
    will-change: filter;
    position: relative;
    z-index: 1;
}
.menu .gallery .img_wrap .item01 .sub {
    margin-left: 25em;
}
.menu .gallery .img_wrap .item03 {
    width: 28.875em;
    max-width: 462px;
    margin: 0 auto;
    margin-right: 0;
}
.menu .gallery .img_wrap .item.branch01, .menu .contents .item.branch01 {
    max-width: 328px;
    width: 20.5em;
}
.menu .gallery .img_wrap .item.branch01 {
    margin-top: 15em;
}
.menu .gallery .img_wrap .item.branch02, .menu .contents .item.branch02, .menu .room_res .item.branch02, .menu .sp .item.branch02 {
    max-width: 232px;
    width: 14.5em;
}
.menu .gallery .img_wrap .item.branch02 {
    margin: -15em 0 0 0;
}
.menu .gallery .img_wrap .item04 {
    margin: 7em auto 0;
    margin-left: 0;
    max-width: 562px;
    width: 35.125em;
}
.menu .gallery .img_wrap .item05 {
    max-width: 462px;
    width: 28.875em;
    margin: 7em 0 0 auto;
}
.menu .gallery .img_wrap .item05 .sub {
    margin: -5em 0 0 -15em;
}
.menu .gallery .img_wrap .item06 {
    margin: 5em 0 0 0;
    max-width: 520px;
    width: 32.5em;
}
.menu .gallery .img_wrap .item.branch03 {
    max-width: 260px;
    width: 16.25em;
    margin: -16em -5em 0 auto;
}
.menu .gallery .img_wrap .item07 {
    max-width: 750px;
    width: 100%;
    margin-top: 1em;
}
.menu .gallery .img_wrap .item02 .sub {
    margin: -3em -9em 5em auto;
}
.menu .contents {
    width: 100%;
    padding: 4.6875em 0 2.5em;
    margin-bottom: 0;
}
.menu .contents .wrap .txt,.menu .contents .wrap .txt.left {
    width: 100%;
    margin: 0 auto;
}
.menu .contents .ttl-4 h4 {
    max-width: 94%;
    font-size: 1.5em;
    line-height: 1.5em;
    margin: 0 auto;
}
.menu .contents .ttl-4 h4 .big {
    font-size: 1.25em;
}
.menu .contents .wrap .ttl-4 h4:after {
    background: url(../img/kaiseki_line_sp.png) no-repeat center left/contain;
    height: 0.5em;
}
.menu .contents .ttl-4 p {
    font-size: 1.5em;
    text-align: center;
    line-height: 1.5em;
}
.menu .contents .ttl-4 p .sub {
    float: none;
    margin: 0 auto 1em;
    max-width: 6em;
    padding: 0.2em 0.3em;
}
.menu .contents .wrap .img {
    max-width: 100%;
    width: 100%;
    margin: 3em auto;
}
.menu .contents .wrap .txt .lineup p {
    font-size: 1.5em;
    line-height: 1.9em;
}
.menu .contents .wrap .txt .lineup dt:after {
    background: url(../img/kaiseki_line02_sp.png) no-repeat center/contain;
    height: 0.75em;
    margin: -1em auto 0;
}
.menu .contents .wrap {
    max-width: 600px;
    margin: 0 auto;
    width: 37.5em;
}
.menu .contents .wrap .txt .lineup dl {
    width: 105%;
}
.menu .contents .item.branch02 {
    margin: 3em auto -12em -1.5em;
}
.menu .contents .wrap .txt .comment {
    font-size: 1.5em;
    line-height: 1.5em;
}
.menu .contents .wrap .txt .comment .sm {
    font-size: 0.91em;
}
.menu .contents .wrap .txt.left .lineup p {
    line-height: 2.3em;
}
.menu .contents .wrap .txt.left .lineup dt:after {
    margin: -1.3em auto 0;
}
.menu .contents .item.branch01 {
    margin: -5em -9em 0em auto;
}
.menu .contents .extreme {
    max-width: 680px;
    width: 42.5em;
    margin: 0 auto;
    padding: 1.25em;
}
.menu .contents .extreme .txt {
    padding: 2.5em;
}
.menu .extreme .txt .ttl-4 {
    max-width: 100%;
    text-align: center;
    margin: 1em auto 0;
}
.menu .extreme .txt .ttl-4 h4 {
    max-width: 100%;
}
.menu .extreme .txt .ttl-4 p .sub {
    padding: 0.3em 0.4em;
}
.menu .extreme .txt .ttl-4 p {
    text-align: center;
}
.menu .extreme .txt .comment p {
    font-size: 2em;
    margin: 1em auto 2em;
}
.menu .extreme .txt .comment p.name {
    font-size: 1.5em;
    margin: 4em auto 1em;
}
.menu .extreme .txt .comment p.name span {
    max-width: 272px;
    width: 11.3em;
    margin: 1em auto;
    padding-left: 0.7em;
}
section.menu .open .txt {
    font-size: 1.5em;
    line-height: 1.8em;
    margin-bottom: 7em;
}
section.menu .room_res {
    max-width: 650px;
    width: 40.625em;
    padding-bottom: 1em;
    background: repeat center/60%;
}
section.menu .room_res .ttl-2, section.art .ttl-2 {
    max-width: 25.625em;
}
.ttl-2 h2 .sub {
    max-width: 25.625em;
    width: 100%;
    margin: 0.1em 0 0;
}
section.menu .room_res .txt p {
    font-size: 1.5em;
    line-height: 1.7em;
    margin: 5em auto;
}
section.menu .sp .btn {
    margin: 0 auto;
    text-align: center;
    display: block;
    width: 25.08em;
    box-sizing: border-box;
    padding: 1.2em 2.5em 0.9em;
}
section.menu .room_res .txt .btn, 
section.menu .sp .btn {
    font-size: 1.625em;
}
section.menu .room_res .txt .btn .sm, 
section.menu .sp .btn .sm, 
footer .btn .sm {
    font-size: 0.923em;
}
section.menu .room_res .txt .btn .ar, 
section.menu .sp .btn .ar, 
footer .btn .ar {
    width: 0.84em;
}
.menu .sp .item.branch02 {
    margin: 0em auto 4em -4.375em;
}
.rm_slider .slick-dots li button:before {
    font-size: 1vw;
}
.rm_slider .slick-dots {
    bottom: -13%;
}
.rm_slider .slick-dots li, .rm_slider .slick-dots li button, .rm_slider .slick-dots li button:before {
    width: 1.5vw;
    height: 1.5vw;
    padding: 0;
    margin: 0 auto;
}
.rm_slider .slick-dots li {
    margin: 0 1.5em;
}
section.art {
    background: repeat top center/60%;
    z-index: 1;
}
section.art .ttl-3 h3 .sub {
    max-width: 410px;
    width: 11.389em;
}
section.art .ttl-3 h3 {
    font-size: 2.1875em;
    line-height: 1.5em;
}
section.art .art_img {
    height: 14.375em;
}
section.art .txt p, section.access .txt {
    margin: 4em auto 7em;
    font-size: 1.5em;
    line-height: 1.9em;
}
section.art .txt p {
    line-height: 2.7em;
}
section.access .bg{
    background: url(../img/bg_wall_fr_sp.jpg) repeat-y top center/cover;
    z-index: 1;
    padding: 5vw 0 1vw;
}
section.access .map {
    padding-top: 50em;
}
footer {
    padding: 3.75em 1.875em 1em;
}
footer .left {
    width: 100%;
}
footer .logo {
    width: 15em;
}
footer .add {
    font-size: 1.375em;
    line-height: 1.6em;
}
footer .copy {
    font-size: 1.25em;
    margin-top: 3em;
}
}


@media (min-width: 980px){
.concept .deer-wrap .img_wrap {
    width: 100%;
}
.concept .imori-wrap .img_wrap .left.img {
    margin-left: -13%;
    margin-right: -5%;
}
.concept .fish-wrap .img_wrap .img {
    max-width: 100%;
    margin-right: -28%;
    margin-left: 0;
    margin-bottom: 9%;
}
.bg_pos.rip {
    max-width: 100%;
    margin-bottom: 5%;
}
.concept article:after {
    margin: 8vw auto 5vw;
}
.concept .imori-wrap:after {
    margin-bottom: 1vw;
}
.concept .deer-wrap:after {
    margin-top: 1vw;
}
.concept .fish-wrap 
 .img_wrap .txt.left {
    margin-top: -12vw;
}
div#animation_container {
    margin-top: 24vw;
}
.deer-wrap .move {
    max-width: 100%;
    margin: 0 -10vw 0 auto;
    bottom: -11vw;
}
img.astronaut {
    max-width: 100%;
    width: 30.6%;
    right: -7.5%;
    /*right: -120px;*/
    top: 13%;
    /*top: 50px;*/
}
.concept .flower-wrap .img_wrap {
    margin: 11vw auto 19.6vw;
}
.concept .flower-wrap .img_wrap .img {
    max-width: 100%;
    margin-right: -33vw;
    margin-left: 2vw;
}
.flower-wrap .imgbox {
    max-width: 100%;
}
.flower-wrap .move {
    max-width: 100%;
}
.concept .interior-wrap .img_wrap .img.left.top {
    max-width: 100%;
}
.concept .interior-wrap .img_wrap {
    max-width: 80%;
}
.concept .interior-wrap .img_wrap .img.right {
    max-width: 100%;
    margin-top: 13vw;
}
.concept .interior-wrap .img_wrap .img.left.btm {
    max-width: 100%;
}
.concept .interior-wrap .img_wrap .txt {
    margin: 4vw auto;
}
section.concept .bg-leaf {
    height: 78%;
}
.concept .img_wrap .img.center img {
    width: 1700px;
    left: 53%;
}
.concept .img_wrap .img.center {
    margin: -18em auto -8em;
    height: 98em;
}
.menu .gallery .img_wrap .item02 {
    max-width: 100%;
    margin-left: -10%;
}
.menu .gallery .img_wrap {
    width: 90%;
}
.menu .gallery .img_wrap .item.branch01 {
    max-width: 100%;
}
.menu .gallery .img_wrap .sub {
    /* max-width: 361px; */
    /* width: 19.79vw; */
}
.menu .gallery .img_wrap .item01 .sub {
    margin-left: 52.24%;
}
.menu .gallery .img_wrap .item03, .menu .gallery .img_wrap .item06 {
    max-width: 100%;
}
.menu .gallery .img_wrap .item.branch02 {
    max-width: 100%;
}
.menu .gallery .img_wrap .item04, .menu .gallery .img_wrap .item05 {
    max-width: 100%;
}
.menu .gallery .img_wrap .item.branch03 {
    max-width: 100%;
}
.menu .gallery .img_wrap .item07 {
    max-width: 100%;
}
}
@media screen and (min-width:750px) and ( max-width:1150px) {
	
section.access .bg,section.art {
    padding: 10vw 0 1vw;
}
}
@media screen and (min-width:980px) and ( max-width:1599px) {
.concept .deer-wrap .img_wrap .img {
    margin-left: -18.2%;
    margin-right: 0;
}
.menu .gallery .img_wrap .item02 {
    margin-top: -24.4vw;
}
.menu .gallery .img_wrap .item.branch01 {
    margin-top: -12.3vw;
}
.menu .gallery .img_wrap .item.branch02 {
    margin-top: 13vw;
}
.menu .gallery .img_wrap .item02 .sub {
    margin-bottom: 12vw;
}
.menu .gallery .img_wrap .item04 {margin-top: -40vw;}
.menu .gallery .img_wrap .item03 {margin-top: -47.3vw;}
.menu .gallery .img_wrap .item05 {
    margin-top: 11vw;
}
.menu .gallery .img_wrap .item06 {margin-top: -47.3vw;}
.menu .gallery .img_wrap .item.branch03 {
    margin-top: -26.1vw;
}
.menu .gallery .img_wrap .item07 {
    margin-top: 6.5vw;
}
}
@media (min-width: 1600px){
.concept .deer-wrap .img_wrap .img {
    margin-left: -22em;
    margin-right: 0;
}
.menu .gallery .img_wrap .item03 {
    margin: -39em 0 0 auto;
}
.menu .gallery .img_wrap .item04 {
    margin: -34em 0 0 auto;
}
}
@media (min-width: 1920px){
.fv .bg-leaf.is-show .back span:nth-child(2) {
    /* right: -22.8em; */
    transform: translate3d(24em, -50%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(4) {
    /*left: -26.4em;*/
	transform: translate3d(-25em, -50%, 0) scale(1) rotate(0.001deg);
}
.fv .bg-leaf.is-show .back span:nth-child(3) {
    /*bottom: -10.8em;*/
	transform: translate3d(0, 6em, 0) scale(1) rotate(0.001deg);
}
div#animation_container, canvas#canvas,div#dom_overlay_container {
    width: 980px!important;
    height: 980px!important;
}
}