@charset "utf-8";
/*--------------------------------------------

	 BASE

--------------------------------------------*/
@-ms-viewport {
	width: auto;
	initial-scale: 1;
}
:root {
	--color-black: #0D0D0D;
	--color-white: #fff;
	--color-light_gray:#FAFAFA;
	--color-brown: #533329;
}
html {
	font-size: 62.5%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
}
body {
	width:100%;
	font-family: 'Noto Sans JP', "游ゴシック","YuGothic", "游ゴシック体","メイリオ", Meiryo, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:var(--color-black);
	font-size: 1.6rem;
	line-height:1.6;
	font-weight: 400;
	letter-spacing: 0.08em;
}
a {
	color:inherit;
	display:block;
	text-decoration: none;
}
table {
	width: 100%;
}
input,
button,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
img {
	vertical-align: middle;
	max-width: 100%;
	width: 100%;
	height: auto;
}
/*--------------------------------------------

	 FONT

--------------------------------------------*/
@font-face {
  font-family: 'Futura-Med';
  src: url('../Fonts/Futura-Med.woff') format('woff');
}
@font-face {
  font-family: 'Ryumin-Regular';
  src: url('../Fonts/Ryumin-Regular.woff') format('woff');
}
.font__cg{
	 font-family: 'Cormorant Garamond','Ryumin-Regular',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", Georgia, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	 font-weight: normal;
	 text-transform:uppercase;
	 line-height: 1;
}
.font__cg .font__number{
	font-size: 1.625em;
}
.font__futura{
	font-family:'Futura-Med','Noto Sans JP', "游ゴシック","YuGothic", "游ゴシック体","メイリオ", Meiryo, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	text-transform:uppercase;
}
.font__ryumin{
	font-family: 'Ryumin-Regular',"游明朝体", "YuMincho", "游明朝", "Yu Mincho", Georgia, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: normal;
}
.font__capitalize{
	text-transform:capitalize;
}
.font__uppercase{
	text-transform:uppercase;
}
.font__lowercase{
	text-transform:lowercase;
}
.font__super{
	vertical-align:super;
	font-size:0.5em;
	margin-right: 0.3em;
}
.font__vertical{
	writing-mode:vertical-rl;
}
.font__bold{
	font-weight:bold;
}
.font__tracking-1{
	margin-right: -0.1em;
}
.font__tracking-2{
	margin-right: -0.2em;
}
.font__tracking-4{
	margin-right: -0.4em;
}
.font__tracking-6{
	margin-right: -0.6em;
}
.font__tracking-8{
	margin-right: -0.8em;
}
/*--------------------------------------------

	 COMMON

--------------------------------------------*/
.c__inner{
	margin:0 auto;
	max-width: 1200px;
	padding:0 5%;
}
.c__head{
	text-align: center;
	font-size: 30px;
}
.c__head-en{
	font-size: 0.8em;
	letter-spacing: 0.06em;
}
.c__head-ja{
	margin-top: 0.7em;
	letter-spacing: 0.12em;
}
.c__head-ja > span{
	display: inline-block;
}
.c__plane{
	line-height: 2;
}
.c__btn{
	width: 100%;
	max-width: 28.75em;
}
.c__btn + .c__btn{
	margin-left: 1.875em;
}
.c__btn-store{
}
.c__btn-shipping{
}
.c__btn-link{
	color: var(--color-black);
	letter-spacing: 0.04em;
	font-weight: 700;
	box-sizing: border-box;
	padding:1.7em 1em;
	border-radius: 4.375em;
	text-align: center;
	background:url(../Image/icon__arrow-right_black.svg) right 2.25em center no-repeat var(--color-white);
	background-size: 0.42em;
	transition: opacity .5s, background-position .5s;
}
.c__btn-link:hover{
	opacity: 0.8;
	background-position: right 2em center;
}
.c__btn-text{
	background-position: left center;
	background-repeat:no-repeat;
	display: inline-block;
}
.c__btn-store .c__btn-text,
.c__btn-contact .c__btn-text{
	padding-left:1.44em;
	background-image: url(../Image/icon__instagram-black_02.svg);
	background-size: 1.0375em;
}
.c__btn-shipping .c__btn-text{
	padding-left:1.875em;
	background-image: url(../Image/icon__deliver-black.svg);
	background-size: 1.328em;
}
.c__map{
}
.c__map{
	position: relative;
	padding-top: 56.25%;
	height: 0;
	overflow: hidden;
}
.c__map iframe,
.c__map object,
.c__map embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.c__of{
	position:relative;
}
.c__of img,
.c__of video{
	width:100%;
	height:100%;
	object-fit: cover;
	position:absolute;
	left:0;
	top:0;
}
.c__of-content img{
	object-fit:contain;
}
.c__loop{
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
	z-index: 1;
	left: 0;
	bottom: 0;
	color: #fff;
	font-size: 188px;
	letter-spacing: 0.06em;
}
.c__loop-item{
	margin-right: 0.4em;
	display: inline-block;
	animation: loop-slide 48s infinite linear 1s both;
}
.c__typography{
	position: absolute;
}

@media all and (min-width : 684px ){
	.for_sp{
		display: none;
	}
}
/*--------------------------------------------

	 ANIMATION

--------------------------------------------*/
.c__animation-fadeUp{
	transition:1s;
  opacity:0;
  transform:translateY(40px);
}
.c__animation-fadeUp.view{
	opacity:1;
	transform:translateY(0);
}
/*--------------------------------------------

	 HEADER

--------------------------------------------*/
.header{
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
	background-color: var(--color-white);
	padding:25px 0 21px;
	transition:all 0.5s;
}
.header__inner{
	max-width: 100%;
	padding-left: 40px;
	padding-right: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header__logo{
	width: 87px;
	transition: width .3s;
}
.global__navi-list{
	transition: font-size .3s;
}
.global__navi-item{
}
.global__navi-item + .global__navi-item{
	margin-left: 2.8em;
}
.global__navi-link{
	position: relative;
	padding:0.1375em 0;
}
.global__navi-link:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color:var(--color-black);
  transition: transform .3s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.global__navi-link:hover::after {
  transform: scale(1, 1);
}
.header__sns-list{
	margin-left: 2em;
	display: flex;
	align-items: center;
}
.header__sns-item{
	width: 2.68em;
	transition: width .3s, margin .3s;
}
.header__sns-item + .header__sns-item{
	margin-left: 1em;
}
.header__sns-img{
}
.header__btn-list{
	margin-left: 1.25em;
	display: flex;
	align-items: center;
}
.header__btn-item{
	font-size: 13px;
	letter-spacing: 0.02em;
	font-weight: 500;
	transition: font-size .3s;
}
.header__btn-item + .header__btn-item{
	margin-left: 1em;
	margin-left: 0.77em;
}
.header__btn-link{
	padding: 0.65em 1.4em;
	border-radius: 3.8em;
	border:1px solid var(--color-black);
	position: relative;
	transition: color .2s ease;
	overflow: hidden;
}
.header__btn-link:hover{
	color: var(--color-white);
}
.header__btn-link span{
	position: relative;
	z-index: 3;
}
.header__btn-link:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: var(--color-black);
  width: 100%;
  height: 110%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.header__btn-link:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
@media all and (min-width : 1025px ){
 .header.scrolled{
		padding:12px 0;
	  box-shadow: 0 0 15px rgba(81,33,7,0.3);
	}
	.header.scrolled .header__logo{
		width: 68px;
	}
	.header.scrolled .global__navi-list{
		font-size: 13px;
	}
	.header.scrolled .header__sns-item{
		width: 2.2em;
	}
	.header.scrolled .header__btn-item{
		font-size: 12px;
	}
	.drawer-hamburger{
		display:none;
	}
	.drawer-nav{
		position: static;
		width: auto;
		height:auto;
		background: none;
		overflow: visible;
	}
	.drawer-menu{
		padding:0;
	}
	.drawer__inner{
		display:flex;
		align-items:center;
		justify-content: space-between;
	}
	.global__navi-list{
		display: flex;
		align-items: center;
	}
	.drawer__logo,
	.drawer__typography{
		display: none;
	}
}
.drawer-open .drawer-overlay{
	display: none;
}
#wrapper{
	padding-top: 89px;
	overflow: hidden;
}
/*--------------------------------------------

	 MV

--------------------------------------------*/
.top__mv{
	padding-top: 2.6%;
	padding-bottom:7.45%;
	background:url(../Image/top__mv-bg_pc.png) center bottom no-repeat;
	background-size: cover;
	position: relative;
}
.top__mv-inner{
	max-width: 100%;
	padding:0;
	display: flex;
	align-items: center;
}
.top__mv-copy{
	width: 39%;
	box-sizing: border-box;
	padding-left: 7%;
	padding-right: 2em;
}
.top__mv-copy_main{
	font-size: 3.28vw;
	letter-spacing: 0.36em;
	line-height: 1.68;
}
.top__mv-copy_line{
	display: inline-block;
}
.top__mv-copy_border{
	text-decoration: underline;
	text-decoration-thickness:2px;
	text-underline-offset: 0.08em;
}
.top__mv-copy_dot{
	position: relative;
}
.top__mv-copy_dot:before{
	content: "";
	display: block;
	width: 0.135em;
	height: 0.135em;
	border-radius: 50%;
	background-color: var(--color-black);
	position: absolute;
	left: 35%;
	top: -30%;
}
.top__mv-copy_sub{
	font-size: clamp(16px,1.25vw,24px);
	letter-spacing: 0.26em;
	line-height: 2.22;
	margin-top: 2.11em;
	text-transform: initial;
}
.top__mv-figure{
	width: 61%;
	box-sizing: border-box;
	padding-right: 16%;
	position: relative;
	z-index: 2;
}
.top__mv-figure_list{
}
.top__mv-figure_item{
}
.top__mv-figure_img{
}
.top__mv-scroll{
	position: absolute;
	left: 3.8%;
	bottom: 17.8vw;
	height: 50px;
}
.top__mv-scroll span{
	letter-spacing: 0.08em;
	writing-mode: vertical-lr;
	font-size: clamp(12px,0.73vw,14px);
  position: absolute;
  left:50%;
  top: 0;
	transform: translate(-50%,-3.57em);
}
.top__mv-scroll::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: var(--color-black);
  animation: path 1.4s ease-in-out infinite;
  opacity:0;
}
@keyframes path{
  0%{
    height:0;
		top:0;
    opacity: 0;
  }
  30%{
		height: 30px;
    opacity: 1;
  }
  100%{
    height:0;
		top: 50px;
    opacity: 0;
  }
}
.top__mv-round{
	position: absolute;
	width: 13.5%;
	right: 6.3%;
	top: 9.73%;
	animation: rotation 20s linear infinite;
	z-index: 3
}
@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
.top__mv-round_img{
}
.top__mv-typography{
	position: absolute;
	font-size: 7vw;
	line-height:	0.94;
	writing-mode:vertical-rl;
	right: 4.8%;
	bottom: 16.1%;
	z-index: 3;
}
.top__mv-loop{
	color: #fff;
}
/*--------------------------------------------

	 BANNER

--------------------------------------------*/
.top__banner{
	padding-top: 57px;
}
.top__banner-inner{
}
.top__banner-list{
	display: flex;
	flex-wrap: wrap;
}
.top__banner-item{
	width: 22.9%;
}
.top__banner-item + .top__banner-item{
	margin-left: 2.8%;
}
.top__banner-link{
}
.top__banner-img{
}
/*--------------------------------------------

	 ABOUT

--------------------------------------------*/
.top__about{
	padding-top: 192px;
	padding-bottom: 195px;
	overflow: hidden;
}
.top__about-inner{
	position: relative;
}
.top__about-typography{
	font-size:215px;
	letter-spacing: 0.04em;
	color: #f7f7f7;
	opacity: 0.8;
	right: 0;
	bottom: 0.4em;
	writing-mode:vertical-rl;
	transform: translateX(80%);
}
.top__about-figure{
	position: relative;
}
.top__about-img{
}
.top__about-figure_label{
	font-size: 76px;
	letter-spacing: 0.07em;
	line-height: 1.14;
	position: absolute;
	left: -0.67em;
	top: -0.92em;
}
.top__about-text{
	margin-top: 110px;
}
.top__abou-head{
}
.top__about-plane{
	text-align: center;
	margin-top: 2.8em;
}
.top__about-plane .c__plane{
	line-height: 3.375;
}
/*--------------------------------------------

	 SERVICE

--------------------------------------------*/
.top__service{
	padding-top: 172px;
	padding-bottom: 167px;
	background-color: #eee;
	position: relative;
}
.top__service:before,
.top__service:after{
	content: "";
	display: block;
	width: 1920px;
	background-repeat: no-repeat;
	background-size: 1920px;
	position: absolute;
	left: 50%;
}
.top__service:before{
	top: 0;
	transform:translate(-50%,-99%);
	background-image: url(../Image/top__service-bg_top-pc.svg);
	background-position: center bottom;
	padding-top: 58px;
}
.top__service:after{
	bottom: 0;
	transform:translate(-50%,99%);
	background-image: url(../Image/top__service-bg_bottom-pc.svg);
	background-position: center top;
	padding-top: 55px;
}
.top__service-inner{
	padding-left: 0;
	padding-right: 0;
	max-width: 100%;
}
.top__service-head{
}
.top__service-body{
	margin-top: 48px;
}
.top__service-feature{
	max-width: 908px;
	margin:0 auto;
	margin-bottom: 120px;
	background-color: var(--color-white);
	display: flex;
	padding: 70px;
	box-sizing: border-box;
}
.top__service-feature_figure{
	width: 40%;
	position: relative;
}
.top__service-feature_img{
}
.top__service-feature_label{
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--color-black);
	color: var(--color-white);
	font-size: 13px;
	letter-spacing: 0.04em;
	line-height: 1.61;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 9.1em;
	height: 9.1em;
	border-radius: 50%;
	transform: translate(-34%,-27%);
}
.top__service-feature_text{
	margin-left: 5.5%;
	flex: 1;
	position: relative;
}
.top__service-feature_lead{
	font-size: 24px;
	letter-spacing: 0.08em;
	line-height: 1.54;
	padding-bottom: 0.56em;
	border-bottom: 1px solid var(--color-black);
}
.top__service-feature_plane{
}
.top__service-feature_plane .c__plane{
	font-size: 14px;
	line-height: 2.28;
	letter-spacing: 0.08em;
	margin-top: 2.67em;
}
.top__service-feature_cursive{
	position: absolute;
	width: 56%;
	right: 0;
	bottom: 0;
	transform: translateX(10%);
}
.top__service-item{
}
.top__service-item + .top__service-item{
	margin-top:90px;
}
.top__service-item_inner{
	display: flex;
	align-items:flex-start;
}
.top__service-item:nth-of-type(2n) .top__service-item_inner{
	flex-direction: row-reverse;
}
.top__service-item_text{
	flex:1;
	padding:0 6.25%;
	display: flex;
	justify-content: flex-end;
}
.top__service-item:nth-of-type(2n) .top__service-item_text{
	justify-content: flex-start;
}
.top__service-item_text-inner{
}
.top__service-item_head{
	font-size: 32px;
	text-align: left;
}
.top__service-item_head .c__head-en{
	font-size: 0.5em;
}
.top__service-item_head .c__head-ja{
	letter-spacing: 0.14em;
	margin-top: 0.46em;
}
.top__service-item_num{
	font-size: 360px;
	letter-spacing: 0.02em;
	color: var(--color-white);
	line-height: 0.8;
}
.top__service-item_plane{
	letter-spacing: 0.13em;
	margin-top: 1.625em;
}
.top__service-item_figure{
	width: 46.8%;
}
.top__service-item_img{
}
/*--------------------------------------------

	 MENU

--------------------------------------------*/
.top__menu{
	padding-top: 180px;
}
.top__menu-inner{
}
.top__menu-head{
}
.top__menu-box{
	margin-top: 32px;
	background-color: var(--color-light_gray);
	display: flex;
	justify-content: center;
	padding: 3.187em 0 4.93em;
}
.top__menu-list{
	padding:0 3.3%;
	width: 25.75em;
	flex:1;
}
.top__menu-list:nth-child(1){
	padding-left: 6.6%;
}
.top__menu-list:nth-child(2){
	padding-right:6.6%;
}
.top__menu-item{
	display: flex;
	justify-content: space-between;
	padding-top: 1.75em;
	padding-bottom: 0.75em;
	border-bottom: 1px solid #E5E3D9;
	color: #3E3E3E;
}
.top__menu-label{
	letter-spacing: 0.04em;
	line-height: 1.25;
}
.top__menu-value{
	font-size: 1.1875em;
	padding-right: 0.31em;
	padding-left: 1.2em;
}
.top__menu-note{
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 1.72;
	color: #3E3E3E;
	margin-top: 1em;
}
.top__menu-note_item{
}
/*--------------------------------------------

	 PHOTO

--------------------------------------------*/
.top__photo{
	padding-top: 135px;
	padding-bottom: 145px;
	overflow: hidden;
	white-space: nowrap;
}
.top__photo-list{
	width: 1935px;
	padding-top:680px;
	position: relative;
	display: inline-block;
	margin-right: 100px;
	animation: loop-slide 48s infinite linear 1s both;
}
.top__photo-item{
	position: absolute;
}
.top__photo-item:nth-child(1){
	width: 10.44%;
	left: 0%;
	top: 0%;
}
.top__photo-item:nth-child(2){
	width: 27.2%;
	left: 6.56%;
	bottom: 12%;
}
.top__photo-item:nth-child(3){
	width: 16.4%;
	left: 29.5%;
	top: 11%;
	z-index: 2;
}
.top__photo-item:nth-child(4){
	width: 10.9%;
	left: 43%;
	bottom: 0%;
}
.top__photo-item:nth-child(5){
	width: 16.3%;
	right: 32.3%;
	top: 0%;
}
.top__photo-item:nth-child(6){
	width: 25.3%;
	right: 11%;
	bottom: 5.8%;
	z-index: 2;
}
.top__photo-item:nth-child(7){
	width: 16.4%;
	right: 0%;
	top: 10.6%;
}
.top__photo-img{
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/*--------------------------------------------

	 RESERVATION

--------------------------------------------*/
.top__reservation{
	padding: 120px 0;
	position: relative;
	background:url(../Image/top__reservation-bg_pc.jpg) center no-repeat;
	background-size: cover;
	color: var(--color-white);
}
.top__reservation:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(16,16,16,0.8);
}
.top__reservation-inner{
	position: relative;
	z-index: 2;
}
.top__reservation-head{
}
.top__reservation-plane{
	text-align: center;
	margin-top: 2.12em;
	letter-spacing: 0.1em;
}
.top__reservation-btns{
	display: flex;
	justify-content: center;
	margin-top: 3.56em;
}
/*--------------------------------------------

	 GALLERY

--------------------------------------------*/
.top__gallery{
	padding-top: 150px;
	padding-bottom: 170px;
	background:url(../Image/top__gallery-bg_pc.png) center bottom no-repeat;
	background-size: 1920px;
}
.top__gallery-inner{
}
.top__gallery-head{
}
.top__gallery-list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 46px;
}
.top__gallery-item{
	width: 14.58%;
}
.top__gallery-item:not(:nth-child(6n+1)){
	margin-left: 2.504%;
}
.top__gallery-item:nth-child(n+7){
	margin-top: 3.3%;
}
.top__gallery-figure{
}
.top__gallery-img{
}
.top__gallery-btn{
	margin:0 auto;
	margin-top: 5em;
}
.top__gallery-btn .c__btn-link{
	border: 1.5px solid var(--color-black);
}
/*--------------------------------------------

	 INFORMATION

--------------------------------------------*/
.top__information{
	padding-top: 132px;
	padding-bottom: 313px;
	position: relative;
}
.top__information-loop{
	color: #f7f7f7;
	padding-bottom: 0.35em;
}
.top__information-inner{
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.top__information-head{
}
.top__information-flex{
	display: flex;
	margin-top: 60px;
}
.top__information-text{
	padding-left: 106px;
	padding-right: 106px;
	display: flex;
	flex:1;
	justify-content: flex-end;
}
.top__information-list{
	max-width: 863px;
	width: 100%;
}
.top__information-item{
	display: flex;
	line-height: 1.5;
	padding:1.75em 0;
	border-bottom: 1px solid #707070;
}
.top__information-label{
	font-weight: 700;
	width: 12.1em;
	box-sizing: border-box;
	padding-right: 1.5em;
}
.top__information-value{
}
.top__information-map{
	width: 44.8vw;
}
.top__information-map .c__map{
	padding-top: 490px;
}
.top__information-note{
	max-width: 1200px;
	margin: 0 auto;
	margin-top: 82px;
	background-color:#F8F8F8;
	padding: 60px;
	box-sizing: border-box;
}
.top__information-note_head{
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.08em;
	margin-bottom: 1.5em;
}
.top__information-note_flex{
	display: flex;
	justify-content: center;
}
.top__information-note_list{
	font-size: 14px;
	letter-spacing: 0.08em;
	max-width: calc(50% - 1.6em);
}
.top__information-note_list + .top__information-note_list{
	margin-left:3.2em;
}
.top__information-note_item{
	padding-left: 1.14em;
	position: relative;
}
.top__information-note_item:before{
	content:"●";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
.top__information-note_item + .top__information-note_item{
	margin-top: 0.9em;
}
/*--------------------------------------------

	 CV

--------------------------------------------*/
.top__cv{
	background-image: url(../Image/top__cv-bg_pc.jpg);
}
.top__cv .c__btn + .c__btn{
	margin-left: 1.428em;
}
.top__cv .c__btn-shipping .c__btn-link{
	line-height: 1.42;
	padding-top:0.9em;
	padding-bottom: 0.9em;
}
.top__cv .c__btn-shipping .c__btn-text{
	text-align: left;
}
/*--------------------------------------------

	 TOTOP

--------------------------------------------*/
.totop{
	position: fixed;
	right: 1.82%;
	bottom: 16%;
	z-index: 2;
}
.totop__link{
	color: #fff;
	background-color: #111;
	font-size: 14px;
	padding:1em 0.57em 1em 0.5em;
}
.totop__text{
	writing-mode:vertical-rl;
	letter-spacing: 0.16em;
	display: block;
	line-height: 1;
	padding-top: 4.2em;
	position: relative;
}
.totop__text:before{
	content: "";
	display: block;
	width: 1px;
	height: 3.42em;
	background-color: #fff;
	position: absolute;
	left: 50%;
	top:0;
	transform: translateX(-50%);
}
/*--------------------------------------------

	 FOOTER

--------------------------------------------*/
.footer{
}
.footer__top{
	background-color: #111;
	color: var(--color-white);
	padding-top:80px;
	padding-bottom: 108px;
}
.footer__inner{
	max-width:1400px;
}
.footer__flex{
	display: flex;
	justify-content: space-between;
}
.footer__info{
}
.footer__info-logo{
	width: 87px;
}
.footer__logo-img{
}
.footer__info-address{
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.13em;
	margin-top: 3.6em;
}
.footer__nav{
	padding-left: 1.5em;
}
.footer__nav-list{
	display: flex;
	font-size: 14px;
	letter-spacing: 0.08em;
}
.footer__nav-item{
}
.footer__nav-item +.footer__nav-item{
	margin-left: 2.14em;
}
.footer__nav-link{
	line-height: 2.1;
	position: relative;
}
.footer__nav-link:before{
	content: "-";
	display: inline-block;
	margin-right: 0.4em;
}
.footer__nav-link:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color:var(--color-white);
	transition: transform .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}
.footer__nav-link:hover::after {
transform: scale(1, 1);
}
.footer__bottom{
	color: #000;
	text-align: right;
	font-size: 12px;
	padding: 2em 0;
}
.footer__copyright{
	text-transform: initial;
}
