@charset "utf-8";

/*---------------
mv
---------------*/
.top-bg{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-image: url('https://porte-stylo-cafe-studio.jp/wp-content/themes/jinr-child/images/common/bg.png');
	background-repeat: repeat;
	background-position: left top;
	pointer-events: none; 
}
#mv{
	margin-top: 150px;
}
.mv-wrap{
	position: relative;
	height: 750px;
	width: 100%;
}
.mv{
	position: relative;
	height: 750px;
	width: 100%;
	overflow: hidden;
}
.mv img{
	position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 750px;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s;
  transform: scale(1);
  transition-property: opacity, transform;
  transition-duration: 1s, 3s;
  z-index: 1;
}
.mv-img.active {
  opacity: 1;
  z-index: 2;
  animation: zoomInMv 10s forwards;
}
@keyframes zoomInMv {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
.mv-dt{
	position: absolute;
	top: 0;
	left: 12.2%;
	z-index: 5;
	background-color: rgba(7, 23, 21, 0.36);
	height: 750px;
	width: 460px;
	padding-top: calc(750px * 0.232);
	padding-left: calc(460px * 0.154);
	color: #fff;
}
.mv-dt p{
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.15em;
	display: flex;
	align-items: baseline;
	margin-bottom: 20px;
}
.mv-dt p span{
	font-size:67px;
	font-weight: bold;
	margin: 0 10px;
	display: block;
}
.mv-dt h2{
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.15em;
	margin-bottom: 10.5%;
}
.mv-dt h1{
	font-size: 57px;
	line-height: 68px;
	font-weight: bold;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
	.top-bg{
	}
	#mv{
		margin-top: 80px;
	}
	.mv-wrap{
		height: 550px;
	}
	.mv{
		height: 550px;
	}
	.mv img{
		height: 550px;
	}
	.mv-dt{
		position: absolute;
		top: 0;
		left: 0;
		height: 550px;
		width: 100%;
		padding-top: 146px;
		padding-left: 20px;
	}
	.mv-dt p{
		height: 46px;
		font-size: 21px;
		margin-bottom: 19px;
	}
	.mv-dt p span{
		font-size:46px;
		margin: 0 5px;
	}
	.mv-dt h2{
		font-size: 18px;
		line-height: 32px;
		letter-spacing: 0.25em;
		margin-bottom: 34px;
	}
	.mv-dt h1{
		font-size: 48px;
		line-height: 60px;
	}

}
/*---------------
concept
---------------*/
#concept{
	width: 100%;
	position: relative;
	margin-bottom: 250px;
}
.concept-shadow{
	height: 660px;
	width: 100%;
	background: linear-gradient(to bottom, #CACACA, #020706);
	opacity: 0.06;
}
.concept-wrap{
	position: absolute;
	top: 330px;
	left: 0;
	right: 0;
	margin: 0 auto;
	height: 210px;
	width: 1200px;
	display: flex;
	justify-content: space-between;
	z-index: 3;
}
.concept-block1{
	position: relative;
	width: 45%;
}
.concept-block1 img.brackets1{
	position: absolute;
	top: 0;
	left: 0;
	width: 42px;
}
.concept-block1 h3{
	position: absolute;
	font-size: 48px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 68px;
	top: 50%;
	left: 50%;
	width: 80%;
  transform: translate(-50%, -50%);
}
.concept-block1 img.brackets2{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 42px;
}
.concept-block2{
	width: 50%;
	padding-top: 18px;
}
.concept-block2 h4{
	font-size:25px;
	font-weight: bold;
	line-height: 30px;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.concept-block2 p{
	font-size:21px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.1em;
}
.concept-title{
	position: absolute;
	top: 409px;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: 12.5vw;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.72);
	z-index: 2;
	width: 73.5vw;
	text-align: center;
}
.concept-img{
	height: 560px;
	width: 100%;
}
.concept-img img{
	height: 560px;
	width: 100%;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	#concept{
		height: calc(152.8vw + 220px);
		margin-bottom: 100px;
	}
	.concept-shadow{
		height: 152.8vw;
		opacity: 0.11;
	}
	.concept-wrap{
		position: absolute;
		top: 41.3vw;
		height: auto;
		width: 100%;
		display: block;
		z-index: 3;
	}
	.concept-block1{
		height: 34vw;
		width: 77%;
		margin-left: 20px;
	}
	.concept-block1 img.brackets1{
		width: 28px;
	}
	.concept-block1 h3{
		font-size: clamp(18px, 6.6vw, 36px);
		line-height: 42px;
		top: 50%;
		left: 50%;
		width: 80%;
	  transform: translate(-50%, -50%);
	}
	.concept-block1 img.brackets2{
		width: 28px;
	}
	.concept-block2{
		width: calc(100% - 40px);
		padding-top: 22px;
		margin-left: 20px;
	}
	.concept-block2 h4{
		font-size: 20px;
		line-height: 30px;
		margin-bottom: 27px;
	}
	.concept-block2 p{
		font-size: 14px;
		line-height: 24px;
	}
	.concept-title{
		position: absolute;
		top: 135.8vw;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-size: 17.2vw;
		letter-spacing: 0.1em;
		color: rgba(255, 255, 255, 0.72);
		z-index: 2;
		width: 95%;
	}
	.concept-img{
		height: 220px;
	}
	.concept-img img{
		height: 220px;
	}

}
/*---------------
floor
---------------*/
#floor{
}
.floor .sec-set_wrap{
	margin: 0 auto;
}
.set_cnts {
  margin: 100px auto 100px;
  padding: 35px 0 40px;
}
.set_cnts_item {
  display: flex;
  width: 1200px;
  margin: 200px auto 90px;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
  will-change: opacity, transform;
}
.set_cnts_item.item1 {
  margin-top: 0;
}
.set_cnts_item2 {
  display: flex;
  width: 1200px;
  margin: 200px auto 90px;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
  will-change: opacity, transform;
}
.set_cnts_item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.set_cnts_item2.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.set_cnts:nth-child(even) .set_cnts_item {
  flex-direction: row-reverse;
  padding: 0 40px 0 0;
}

.set_cnts_itemDetails {
  flex: 1;
}
.set_cnts_wrap{
  padding-left: 56px;
}
.set_cnts_wrap2{
  padding-right: 56px;
}
.set_cnts_head_wrap{
	position: relative;
	height: 180px;
}
.set_cnts_head_wrap p.set_cnts_head{
	position: absolute;
	top: 0;
	left: 0;
	font-size: 130px;
	letter-spacing: -0.05em;
	color: #fff; 
	-webkit-text-stroke: 2px #071715;
	text-stroke: 2px #071715;
}
.set_cnts_head_wrap p.set_cnts_head span{
	font-size: 87px;
}
.set_cnts_head_wrap span.set_cnts_border1{
	position: absolute;
	top: 132px;
	left: 0;
	width: 100%;
	border: 1px solid #000 ;
}
.set_cnts_head_wrap span.set_cnts_border2{
	position: absolute;
	top: 132px;
	left: 0;
	height: 50px;
	border: 1px solid #000 ;
}
.set_cnts_title {
  font-size: 35px;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 15px;
}
.set_cnts_wide {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 25px;
}
.set_cnts_price {
  font-size: 30px;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  text-align: right;
}
.set_cnts_price span{
  font-size: 20px;
  letter-spacing: 0.05em;
}
.set_cnts_dt {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.05em;
  margin-bottom: 45px;
}

/*----- buttonここから -----*/
.set_cnts_link {
  background: #FFF;
  height: 80px;
  width: 500px;
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  align-items: center;
  border-radius: 45px;
  border: 1px solid #000;
  padding-left: 55px;
  position: relative;
  justify-content: space-between;
  text-decoration: none;
  transition: background 0.3s;
}
.set_cnts_link:hover {
  background: #eee;
}
.set_cnts_link_text {
  flex: 1;
}
.set_cnts_link_icon {
  width: 80px;
  height: 80px;
  margin-right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.arrow-svg {
  width: 60px;
  height: 60px;
  display: block;
}
.arrow-line {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  transition: stroke-dashoffset 0.4s cubic-bezier(.4,0,.2,1);
}
.set_cnts_link:hover .arrow-line {
  stroke-dashoffset: 0;
}
.arrow-circle {
  transition: fill 0.3s;
  fill: #fff;
}
.set_cnts_link:hover .arrow-circle {
  fill: #fff;
}
.arrow-head {
  transition: transform 0.4s cubic-bezier(.4,0,.2,1);
  transform: translateX(-5px);
}
.set_cnts_link:hover .arrow-head {
  transform: translateX(0);
}
/*----- buttonここまで -----*/

.set_cnts_line{
	height: 85px;
	max-width: 81.25%;
	display: flex;
	align-items: flex-start;
	position: relative;
}
.set_cnts_line-horizontal1 {
	position: absolute;
	width: 55%;
	height: 2px;
	background: #000;
	top: 0;
	left: 0;
}
.set_cnts_line-vertical {
	position: absolute;
	width: 2px;
	height: 85px;
	background: #000;
	top: 0;
	left: 55%;
}
.set_cnts_line-horizontal2 {
	position: absolute;
	width: calc(100% - 55%);
	height: 2px;
	background: #000;
	top: 85px;
	left: 55%;
}
.set_cnts_line2{
	height: 85px;
	max-width: 81.25%;
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-left: 18.25%;
}
.set_cnts_line-horizontal3 {
	position: absolute;
	width: 55%;
	height: 2px;
	background: #000;
	top: 0;
	right: 0;
}
.set_cnts_line-vertical2 {
	position: absolute;
	width: 2px;
	height: 85px;
	background: #000;
	top: 0;
	right: 55%;
}
.set_cnts_line-horizontal4 {
	position: absolute;
	width: calc(100% - 55%);
	height: 2px;
	background: #000;
	top: 85px;
	right: 55%;
}

@media screen and (max-width: 768px) {
	.floor .sec-set_wrap{
		width: 100%;
	}
	.set_cnts {
	  width: 100%;
	  margin: 140px 0 100px;
	  padding-top: 1px;
	}
	.set_cnts {
	  margin: 100px auto 100px;
	  padding: 35px 0 40px;
	}
	.set_cnts_item {
	  display: block;
	  width: calc(100% - 40px);
	  margin: 150px auto 60px;
	  margin-bottom: 40px;
	}
	.set_cnts_item2 {
		position: relative;
	  display: block;
	  width: calc(100% - 40px);
	  margin: 150px auto 60px;
	  min-height: 820px;
	}
	.set_cnts:nth-child(even) .set_cnts_item {
	  flex-direction: row-reverse;
	  padding: 0 40px 0 0;
	}

	.set_cnts_itemDetails {
	  flex: 1;
	}
	.set_cnts_item2 .set_cnts_itemDetails {
	  position: absolute;
	  bottom: 0;
	}
	.set_cnts_wrap{
	  padding-left: 0;
	}
	.set_cnts_wrap2{
	  padding-right: 0;
	}
	.set_cnts_head_wrap{
		display: none;
	}
	.set_cnts_head_wrap p.set_cnts_head{
	}
	.set_cnts_head_wrap p.set_cnts_head span{
	}
	.set_cnts_head_wrap span.set_cnts_border1{
	}
	.set_cnts_head_wrap span.set_cnts_border2{
	}
	.set_cnts_title {
	  font-size: 24px;
	  margin-bottom: 10px;
	}
	.set_cnts_wide {
	  font-size: 18px;
	}
	.set_cnts_price {
	  font-size: 23px;
	  margin-bottom: 10px;
	}
	.set_cnts_price span{
	  font-size: 18px;
	}
	.set_cnts_dt {
	  font-size: 14px;
	  line-height: 22px;
	  margin-bottom: 30px;
	}
	.set_cnts_link {
	  height: 60px;
	  width: 82vw;
	  font-size: 14px;
	  padding-left: 30px;
	  margin: 0 auto;
	}
	.set_cnts_link:hover {
	}
	.set_cnts_link_text {
	}
	.set_cnts_link_icon {
	  width: 60px;
	  height: 60px;
	  margin-right: 15px;
	}
	.arrow-svg {
	  width: 38px;
	  height: 38px;
	}
	.arrow-line {
	}
	.set_cnts_link:hover .arrow-line {
	}
	.arrow-circle {
	}
	.set_cnts_link:hover .arrow-circle {
	}
	.arrow-head {
	}
	.set_cnts_link:hover .arrow-head {
	}
	.set_cnts_line{
		height: 45px;
		max-width: calc(100% - 20px);
	}
	.set_cnts_line-horizontal1 {
		position: absolute;
		width: 70%;
		top: 0;
		left: 0;
	}
	.set_cnts_line-vertical {
		position: absolute;
		width: 2px;
		height: 45px;
		top: 0;
		left: 70%;
	}
	.set_cnts_line-horizontal2 {
		position: absolute;
		width: calc(100% - 70%);
		top: 45px;
		left: 70%;
	}
	.set_cnts_line2{
		height: 45px;
		max-width: calc(100% - 20px);
		margin-left: 20px;
	}
	.set_cnts_line-horizontal3 {
		position: absolute;
		width: 70%;
		top: 0;
		right: 0;
	}
	.set_cnts_line-vertical2 {
		position: absolute;
		width: 2px;
		height: 45px;
		background: #000;
		top: 0;
		right: 70%;
	}
	.set_cnts_line-horizontal4 {
		position: absolute;
		width: calc(100% - 70%);
		height: 2px;
		background: #000;
		top: 45px;
		right: 70%;
	}
}

/*-----------------------------------------
  set_cnts swiper
-----------------------------------------*/
.set_cnts .swiper_container {
  position: relative;
  /*overflow: hidden;*/
}
.set_cnts .js-swiper-main .swiper-slide{
	height: 560px;
}
.set_cnts .js-swiper-main .swiper-slide img{
	height: 560px;
	width: 600px;
	object-fit: cover;
}
.set_cnts .js-swiper-thumbs {
  overflow: hidden;
}
.set_cnts .js-swiper-thumbs .swiper-slide {
  opacity: 0.6;
}
.set_cnts .js-swiper-thumbs .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
  border: 1px solid #740A1E;
}
.set_cnts .swiper-button-prev ,
.set_cnts .swiper-button-next {
  color: #000;
  top: auto;
  margin-top: 15px;
}

.set_cnts .swiper_container {
  width: 600px;
}
.set_cnts .slide-bg{
	position: absolute;
	top: -32px;
	left: -32px;
	height: 500px;
	width: 500px;
	background-color: #707070;
	border: 1px solid #707070;
	opacity: 0.12;
}
.set_cnts .slide-bg2{
	position: absolute;
	top: -32px;
	right: -32px;
	height: 500px;
	width: 500px;
	background-color: #707070;
	border: 1px solid #707070;
	opacity: 0.12;
}
.set_cnts p.set_cnts_head_sp{
	display: none;
}
.set_cnts p.set_cnts_head_sp2{
	display: none;
}
.set_cnts .js-swiper-thumbs {
  width: 445px;
  margin: 15px auto 0;
}
.set_cnts .js-swiper-thumbs img{
 height: 100px;
 width: 100px;
 object-fit: cover;
}
.set_cnts .swiper-button-prev ,
.set_cnts .swiper-button-next {
  top: 585px;
}
.set_cnts .swiper-button-prev {
  left: 27px;
}
.set_cnts .swiper-button-next {
  right: 27px;
}
.set_cnts .swiper-button-next:after,
.set_cnts .swiper-button-prev:after {
  font-size: 25px;
}

@media screen and (max-width: 768px) {
	.set_cnts .swiper_container {
	  margin: 0 auto 30px;
	}
	.set_cnts .js-swiper-thumbs {
	  width: 70vw;
	  margin: 15px auto 0;
	}
	.set_cnts .swiper-button-prev ,
	.set_cnts .swiper-button-next {
	  bottom: 10px;
	}
	.set_cnts .swiper-button-next:after,
	.set_cnts .swiper-button-prev:after {
	  font-size: 25px;
	}
	.set_cnts .swiper_container {
	  position: relative;
	  /*overflow: hidden;*/
	}
	.set_cnts .js-swiper-main .swiper-slide{
		height: 80vw;
	}
	.set_cnts .js-swiper-main .swiper-slide img{
		height: 80vw;
		width: 80vw;
		object-fit: cover;
	}
	.set_cnts .js-swiper-thumbs {
	  overflow: hidden;
	}
	.set_cnts .js-swiper-thumbs .swiper-slide {
	  opacity: 0.6;
	  width: auto !important;
  	display: inline-block;
	}
	.set_cnts .js-swiper-thumbs .swiper-slide.swiper-slide-thumb-active {
	  opacity: 1;
	  border: 1px solid #740A1E;
	}
	.set_cnts .swiper-button-prev ,
	.set_cnts .swiper-button-next {
	  top: auto;
	  margin-top: auto;
	}

	.set_cnts .swiper_container {
	  width: 80vw;
	}
	.set_cnts_item2 .set_cnts .swiper_container {
	  position: absolute;
	  top: 0;
	}
	.set_cnts .slide-bg{
		position: absolute;
		top: -17.5px;
		left: auto;
		right: -17.5px;
		height: 57vw;
		width: 57vw;
	}
	.set_cnts .slide-bg2{
		position: absolute;
		top: -17.5px;
		left: -17.5px;
		right: auto;
		height: 57vw;
		width: 57vw;
	}
	.set_cnts p.set_cnts_head_sp{
		position: absolute;
		top: -69px;
		left: 0;
		font-size: 95px;
		color: #fff; 
		-webkit-text-stroke: 2px #071715;
		text-stroke: 2px #071715;
		height: auto;
	  min-height: 0;
	  padding-top: 0;
	  padding-bottom: 0;
	  line-height: 0.75;
	  display: block;
	}
	.set_cnts p.set_cnts_head_sp2{
		position: absolute;
		top: -69px;
		right: 0;
		font-size: 95px;
		color: #fff; 
		-webkit-text-stroke: 2px #071715;
		text-stroke: 2px #071715;
		height: auto;
	  min-height: 0;
	  padding-top: 0;
	  padding-bottom: 0;
	  line-height: 0.75;
	  display: block;
	}
	.set_cnts .js-swiper-thumbs {
	  width: 100%;
	  margin: 15px auto 0;
	}
	.set_cnts .js-swiper-thumbs ul{
	  width: calc(100% - 54px);
	  margin: 0 auto;
	}
	.set_cnts .js-swiper-thumbs img{
	 height: 15vw;
	 width: 15vw;
	 object-fit: cover;
	 display: block;
	}
	.set_cnts .swiper-button-prev ,
	.set_cnts .swiper-button-next {
	  top: auto;
	}
	.set_cnts .swiper-button-prev {
	  left: -5px;
	}
	.set_cnts .swiper-button-next {
	  right: -5px;
	}
	.set_cnts .swiper-button-next:after,
	.set_cnts .swiper-button-prev:after {
	  font-size: 25px;
	}
}
/*---------------
plan
---------------*/
#price{
	margin: 0 auto 100px;
	width: calc(100% - 37.5%);
}
.price-wrap{
	margin-bottom: 100px;
}
.price-title{
	height: 140px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 65px;
}
.price-title h2 {
	font-size: 100px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 140px;
	z-index: 1;
}
.price-line-wrap {
	display: flex;
	align-items: flex-start;
	position: absolute;
	height: 140px;
	width: 100%;
	color: #333;
	}
.price-link {
	position: absolute;
	font-size: 25px;
	font-weight: bold;
	margin-left: 30px;
	letter-spacing: 0.1em;
	bottom: 15px;
	left: 400px;
}
.price-line-horizontal1 {
	position: absolute;
	width: 400px;
	height: 2px;
	background: #000;
	bottom: 0;
	left: 0;
}
.price-line-vertical {
	position: absolute;
	width: 2px;
	height: 75px;
	background: #000;
	top: 65px;
	left: 400px;
}
.price-line-horizontal2 {
	position: absolute;
	width: calc(100% - 300px);
	height: 2px;
	background: #000;
	top: 65px;
	left: 400px;
}
.price_block{
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: top;
	margin: 0 auto;
}
.price_block:after {
    content: "";
    display: block;
    width: 32.5%;
    height: 0;
}
.price_list{
	padding: 30px 23px 39px;
	border: 1px solid #000;
	width: 32.5%;
	margin-bottom: 15px;
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box
}
.price_list p.price-floor{
	font-size: 43px;
	font-weight: 400;
	margin-bottom: 5px;
	letter-spacing: -0.05em;
}
.price_list h4{
	font-size: 20px;
	font-weight: bold;
	line-height: 32px;
	margin-bottom: 5px;
	letter-spacing: 0.05em;
}
.price_list p.lowest-price{
	font-size: 16px;
	margin-bottom: 23px;
	letter-spacing: 0.1em;
}
.price_list p.hour-price{
	font-size: 20px;
	letter-spacing: 0.05em;
}
.price_list p.hour-price span{
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
	#price{
		margin: 0 0 100px 0;
		width: 100%;
	}
	.price-wrap{
		margin-bottom: 65px;
	}
	.price-title{
		height: 60px;
		margin-bottom: 40px;
	}
	.price-title h2 {
		font-size: 40px;
		letter-spacing: 0.1em;
		line-height: 40px;
		margin-left: 20px;
	}
	.price-line-wrap {
		height: 60px;
	}
	.price-link {
		position: absolute;
		font-size: 16px;
		font-weight: bold;
		margin-left: 20px;
		letter-spacing: 0.1em;
		bottom: 20px;
		left: 45%;
	}
	.price-line-horizontal1 {
		position: absolute;
		width: 45%;
	}
	.price-line-vertical {
		position: absolute;
		height: 60px;
		top: 0;
		left: 45%;
	}
	.price-line-horizontal2 {
		width: calc(100% - 45%);
		top: 0;
		left: 45%;
	}
	.price_block{
		max-width: 100%;
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	.price_list{
		padding: 22px 10px 25px;
		width: calc((100% - 8px) / 2);
		margin-bottom: 20px;
	}
	.price_list p.price-floor{
		font-size: 8vw;
		margin-bottom: 3px;
	}
	.price_list h4{
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 7px;
	}
	.price_list p.lowest-price{
		font-size: 13px;
		margin-bottom: 30px;
	}
	.price_list p.hour-price{
		font-size: 4vw;
		text-align: right;
	}
	.price_list p.hour-price span{
		font-size: 3.7vw;
	}
}
.option-wrap{
	max-width: 1200px;
	margin: 0 auto 100px;
}
.option-title{
	height: 78px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 50px;
}
.option-line-wrap {
	display: flex;
	align-items: flex-start;
	position: absolute;
	height: 78px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	}
h3.option-link {
	font-size: 35px;
	line-height: 78px;
	font-weight: bold;
	letter-spacing: 0.1em;
	top: 0;
	left: 0;
	text-align: center;
	width: 400px;
}
h3.option-link2 {
	position: absolute;
	bottom: -11px;
	font-size: 60px;
	font-weight: bold;
	letter-spacing: 0.1em;
	right: 20px;
	opacity: 0.23;
}
.option-line-horizontal1 {
	position: absolute;
	width: 400px;
	height: 2px;
	background: #000;
	top: 0;
	left: 0;
}
.option-line-vertical {
	position: absolute;
	width: 2px;
	height: 78px;
	background: #000;
	top: 0px;
	left: 400px;
}
.option-line-horizontal2 {
	position: absolute;
	width: calc(100% - 400px);
	height: 2px;
	background: #000;
	bottom: 0;
	left: 400px;
}
.option_block{
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.option_list{
	padding: 20px 23px 43px;
	border: 1px solid #000;
	width: 32.5%;
	margin-bottom: 15px;
}
.option_list h4{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 9px;
	letter-spacing: 0.05em;
}
.option_list p.option-alert{
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 9px;
	letter-spacing: 0.05em;
}
.option_list p.option-price{
	margin-top: 30px;
	font-size: 20px;
	letter-spacing: 0.05em;
	text-align: right;
}
.option_list p.option-price span{
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
	.option-wrap{
		margin-bottom: 65px;
		max-width: initial;
	}
	.option-title{
		height: 54px;
		margin-bottom: 40px;
	}
	.option-line-wrap {
		position: absolute;
		height: 54px;
		max-width: initial;
		}
	h3.option-link {
		font-size: 5.6vw;
		line-height: 54px;
		margin-left: 20px;
		width: auto;
	}
	h3.option-link2 {
		position: absolute;
		bottom: -5px;
		font-size: 8vw;
		right: 20px;
	}
	.option-line-horizontal1 {
		width: 45%;
	}
	.option-line-vertical {
		position: absolute;
		height: 54px;
		top: 0px;
		left: 45%;
	}
	.option-line-horizontal2 {
		position: absolute;
		width: calc(100% - 45%);
		left: 45%;
	}
	.option_block{
		max-width: 100%;
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	.option_list{
		padding: 25px 14px 30px;
		width: 100%;
		margin-bottom: 20px;
	}
	.option_list h4{
		font-size: 15px;
		margin-bottom: 9px;
	}
	.option_list p.option-alert{
		font-size: 13px;
		margin-bottom: 24px;
	}
	.option_list p.option-price{
		font-size: 18px;
	}
	.option_list p.option-price span{
		font-size: 16px;
	}
}
.rental-wrap{
  margin-bottom: 150px;
}
.rental-title{
  height: 78px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 50px;
}
.rental-line-wrap {
  display: flex;
  align-items: flex-start;
  position: absolute;
  height: 78px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  color: #333;
  }
h3.rental-link {
  font-size: 35px;
  line-height: 78px;
  font-weight: bold;
  letter-spacing: 0.1em;
  top: 0;
  left: 0;
  text-align: center;
  width: 400px;
}
h3.rental-link2 {
  position: absolute;
  bottom: -11px;
  font-size: 60px;
  font-weight: bold;
  letter-spacing: 0.1em;
  right: 20px;
  opacity: 0.23;
}
.rental-line-horizontal1 {
  position: absolute;
  width: 400px;
  height: 2px;
  background: #000;
  top: 0;
  left: 0;
}
.rental-line-vertical {
  position: absolute;
  width: 2px;
  height: 78px;
  background: #000;
  top: 0px;
  left: 400px;
}
.rental-line-horizontal2 {
  position: absolute;
  width: calc(100% - 400px);
  height: 2px;
  background: #000;
  bottom: 0;
  left: 400px;
}
.rental_block{
  max-width: 1200px;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	overflow-x: scroll;
	/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}
.rental_list{
  width: 32.5%;
  min-width: 300px;
  margin: 0 20px 15px 0;
}
.rental_list img{
  width: 350px;
  margin: 0 20px 10px 0;
}
.rental_list p.equip-name{
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
	.rental-wrap{
    margin-bottom: 0;
	}
	.rental-title{
    height: 54px;
		margin-bottom: 40px;
	}
	.rental-line-wrap {
    position: absolute;
		height: 54px;
		max-width: initial;
	}
	h3.rental-link {
    font-size: 5.6vw;
		line-height: 54px;
		margin-left: 20px;
		width: auto;
	}
	h3.rental-link2 {
    position: absolute;
		bottom: -5px;
		font-size: 8vw;
		right: 20px;
	}
	.rental-line-horizontal1 {
    width: 45%
	}
	.rental-line-vertical {
    position: absolute;
		height: 54px;
		top: 0px;
		left: 45%;
	}
	.rental-line-horizontal2 {
    position: absolute;
		width: calc(100% - 45%);
		left: 45%;
	}
	.rental_block{
    max-width: 100%;
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	.rental_list{
    padding: 0;
		margin-bottom: 20px;
		width: 220px;
		min-width: 220px;
	}
	.rental_list img{
    width: 220px;
	}
	.rental_list p.equip-name{
	  font-size: 15px;
	}

}
/*---------------
blog
---------------*/
#blog{
	margin: 0 0 220px 18.75%;
	width: calc(100% - 18.75%);
}
.blog-title{
	height: 140px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 65px;
}
.blog-title h2 {
	font-size: 100px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 140px;
	z-index: 1;
}
.blog-line-wrap {
	display: flex;
	align-items: flex-start;
	position: absolute;
	height: 140px;
	width: 100%;
	}
.blog-link {
	position: absolute;
	font-size: 25px;
	font-weight: bold;
	margin-left: 30px;
	letter-spacing: 0.1em;
	bottom: 15px;
	left: 400px;
}
.blog-line-horizontal1 {
	position: absolute;
	width: 400px;
	height: 2px;
	background: #000;
	bottom: 0;
	left: 0;
}
.blog-line-vertical {
	position: absolute;
	width: 2px;
	height: 75px;
	background: #000;
	top: 65px;
	left: 400px;
}
.blog-line-horizontal2 {
	position: absolute;
	width: calc(100% - 300px);
	height: 2px;
	background: #000;
	top: 65px;
	left: 400px;
}
.blog_list_wrap{
	height: 500px;
	width: 100%;
	margin-bottom: 65px;
}
ul.blog_list{
  height: 500px;
  width: 100%;
  display: -webkit-flex;
	display: flex;
	overflow-x: scroll;
	/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}
/*Google Chrome、Safariへの対応*/
ul.blog_list::-webkit-scrollbar{
  display: none;
}
.slick-track{
	height: 379px;
	display: -webkit-flex;
	display: flex;
}
ul.blog_list li{
	height: calc(500px - 2px);
	width: 500px;
	margin-right: 30px;
	object-fit: cover;
	border: 1px solid #000;
}
ul.blog_list li img{
	height: 278px;
	width: 500px;
	object-fit: cover;
}
.attachment-full.size-full.wp-post-image{
	height: 278px;
	width: 500px;
	object-fit: cover;
}
.blog_list_day{
	margin: 30px 30px 11px;
	color: #7f7f7f;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.blog_list_title{
	margin: 0 30px 26px;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.blog_list_dt{
	margin: 0 30px;
	font-size: 16px;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
	#blog{
		margin: 0 0 100px 0;
		width: 100%;
	}
	.blog-title{
		height: 60px;
		margin-bottom: 40px;
	}
	.blog-title h2 {
		font-size: 9vw;
		letter-spacing: 0.1em;
		line-height: 40px;
		margin-left: 20px;
	}
	.blog-line-wrap {
		height: 60px;
		}
	.blog-link {
		position: absolute;
		font-size: 3.7vw;
		font-weight: bold;
		margin: 0 20px;
		letter-spacing: 0.1em;
		bottom: 2px;
		left: 45%;
	}
	.blog-line-horizontal1 {
		position: absolute;
		width: 45%;
	}
	.blog-line-vertical {
		position: absolute;
		height: 60px;
		top: 0;
		left: 45%;
	}
	.blog-line-horizontal2 {
		width: calc(100% - 45%);
		top: 0;
		left: 45%;
	}
	.blog_list_wrap{
		height: auto;
		width: calc(100% - 20px);
		margin: 0 0 100px 20px;
	}
	ul.blog_list{
	  height: auto;
	  width: 100%;
	}
	ul.blog_list::-webkit-scrollbar{
	}
	.slick-track{
		height: auto;
		display: -webkit-flex;
		display: flex;
	}
	ul.blog_list li{
		height: auto;
		width: 285px;
		margin-right: 20px;
	}
	ul.blog_list li img{
		height: 160px;
		width: 285px;
		object-fit: cover;
	}
	.attachment-full.size-full.wp-post-image{
		height: 160px;
		width: 285px;
		object-fit: cover;
	}
	.blog_list_day{
		margin: 14px 14px 5px;
		font-size: 11px;
	}
	.blog_list_title{
		margin: 0 14px 15px;
		font-size: 13px;
	}
	.blog_list_dt{
		margin: 0 14px 25px;
		font-size: 11px;
	}
}

/*---------------
gallery
---------------*/
#gallery{
	height: 800px;
	width: 100%;
	margin-bottom: 200px;
	position: relative;
}
.gallery_bg{
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url('https://porte-stylo-cafe-studio.jp/wp-content/themes/jinr-child/images/top/gallery-bg.png');
	background-repeat: repeat;
	background-position: left top;
}
.gallery_wrap{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	height: 800px;
	width: 100%;
	padding: 53px 0 87px;
	background: linear-gradient(to right, rgba(2,7,6,0.09), rgba(202,202,202,0.09));
}
.gallery_wrap .set_cnts_link{
	margin: 0 auto;
}
.gallery_wrap .gallery_title{
	width: 1200px;
	margin-left: 12.2%;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	margin-bottom: 35px;
}
.gallery_wrap .gallery_title h2{
	font-size: 100px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.15em;
}
.gallery_wrap .gallery_title h3{
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	margin-left: 55px;
}
.gallery_wrap ul.g-slider{
  height: 390px;
  width: 100%;
  margin-bottom: 40px;
  padding: 0 !important;
  box-sizing: border-box;
  list-style: none;
  overflow: hidden;
}
.gallery_wrap .slick-track{
	height: 390px;
	display: -webkit-flex;
	display: flex;
	margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.gallery_wrap ul.g-slider li,
.gallery_wrap ul.g-slider li.slick-slide {
  height: 390px;
  width: auto!important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.gallery_wrap ul.g-slider li img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  padding: 0;
  border: none;
}
.gallery_wrap .slick-slide {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.gallery_wrap .slick-arrow,
.gallery_wrap .slick-dots {
  display: none !important;
}

@media screen and (max-width: 768px) {
	#gallery{
		height: 515px;
		margin-bottom: 120px;
	}
	.gallery_bg{
	}
	.gallery_wrap{
		height: 515px;
		padding: 50px 0 60px;
	}
	.gallery_wrap .gallery_title{
		margin-left: 20px;
		margin-bottom: 45px;
		display: block;
		width: auto;
	}
	.gallery_wrap .gallery_title h2{
		font-size: 40px;
		margin-bottom: 10px;
	}
	.gallery_wrap .gallery_title h3{
		font-size: 16px;
		line-height: 23px;
		margin-left: 0;
	}
	.gallery_wrap ul.g-slider{
	  height: 190px;
	  margin-bottom: 35px;
	}
	.gallery_wrap .slick-track{
		height: 190px;
		display: flex !important; /* 子要素をフレックスに */
    height: auto !important;
	}
	.gallery_wrap ul.g-slider li,
	.gallery_wrap ul.g-slider li.slick-slide {
	  height: 190px;
	  width: 100% !important; /* スライド幅を画面幅に合わせる */
    box-sizing: border-box;
	}
	.gallery_wrap ul.g-slider li img {
		width: 100%;
    height: auto;
    display: block;
	}
	.gallery_wrap .slick-slide {
	}
	.gallery_wrap .slick-arrow,
	.gallery_wrap .slick-dots {
	}
	.gallery_link{
	  height: 60px;
	  width: 83vw;
	  font-size: 14px;
	  padding-left: 30px;
	}
}
/*---------------
reserve
---------------*/
#reserve{
	height: 750px;
	width: 100%;
	margin-bottom: 150px;
	position: relative;
}
.reserve_bg{
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url('https://porte-stylo-cafe-studio.jp/wp-content/themes/jinr-child/images/top/reserve-bg.png');
	background-repeat: repeat;
	background-position: center;
}
.reserve_wrap{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	height: 750px;
	width: 100%;
	padding-top: 112px;
	background: linear-gradient(to bottom, rgba(2,7,6,0.36), rgba(202,202,202,0.36));
}
.reserve_wrap .reserve_title{
	width: 1200px;
	margin:0 auto;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: 35px;
}
.reserve_wrap .reserve_title h2{
	font-size: 100px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.15em;
	color: #FFF;
	margin-bottom: 21px;
}
.reserve_wrap .reserve_title h3{
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: #FFF;
}
.center-v-line {
  position: relative;
  width: 1200px;
  height: 28px; /* V字の深さに応じて調整 */
  margin: 0 auto 121px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.line-left,
.line-right {
  display: block;
  height: 3px;
  background: #fff;
  flex: 1;
  position: relative;
}
.line-v {
  display: block;
  width: 54px; /* V字の幅 */
  height: 28px;
  position: relative;
}
.line-v::before,
.line-v::after {
  content: '';
  display: block;
  width: 41px;
  height: 3px;
  background: #fff;
  position: absolute;
  top: -0.5px;
}
.line-v::before {
  left: -1px;
  transform: rotate(45deg);
  transform-origin: left center;
}
.line-v::after {
  right: -1px;
  transform: rotate(-45deg);
  transform-origin: right center;
}
.reserve-block{
	height: 114px;
	width: 1035px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.reserve-block .official-reserve,
.reserve-block .spacemarket-reserve{
	position: relative;
  background-color: #071715; /* ベース色 */
  background-image: linear-gradient(to right, #fff, #fff);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left top;
  transition: background-size 0.5s cubic-bezier(.4,0,.2,1);
  color: #fff;
  height: 114px;
  width: 500px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-left: 59px;
  text-decoration: none;
  z-index: 0;
  border: 1px solid #071715;
}
.reserve-block .official-reserve:hover,.reserve-block .spacemarket-reserve:hover {
	background-size: 100% 100%;
}
.reserve-block .official-reserve .set_cnts_link_text {
  flex: 1;
}
.reserve-block .official-reserve:hover .set_cnts_link_text,
.reserve-block .spacemarket-reserve:hover .set_cnts_link_text  {
  color: #071715;
}
.reserve-block .official-reserve .set_cnts_link_icon {
  width: 80px;
  height: 80px;
  margin-right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reserve-block .official-reserve p, .reserve-block .spacemarket-reserve p{
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	text-align: center;
	color: #071715;
}
.reserve-block .official-reserve p{
	font-size: 14px;
	width: 90%;
	top: -25px;
}
.reserve-block .spacemarket-reserve p{
	font-size: 14px;
	width: 70%;
	top: -30px;
}
.reserve-block .official-reserve .arrow-svg {
  width: 60px;
  height: 60px;
  display: block;
}
.reserve-block .official-reserve .arrow-line {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  transition: stroke-dashoffset 0.4s cubic-bezier(.4,0,.2,1);
}
.reserve-block .official-reserve:hover .arrow-line {
  stroke-dashoffset: 0;
}
.reserve-block .official-reserve .arrow-line,
.reserve-block .official-reserve .arrow-head {
  transition: stroke 0.3s;
}
.reserve-block .official-reserve:hover .arrow-line,
.reserve-block .official-reserve:hover .arrow-head {
  stroke: #071715;
}
.reserve-block .official-reserve .arrow-circle {
  transition: fill 0.3s;
  fill: #071715;
}
.reserve-block .official-reserve:hover .arrow-circle {
  fill: #FFF;
  stroke: #071715;
}
.reserve-block .official-reserve .arrow-head {
  transition: transform 0.4s cubic-bezier(.4,0,.2,1);
  transform: translateX(-5px);
}
.reserve-block .official-reserve:hover .arrow-head {
  transform: translateX(0);
}
.spacemarket-reserve .set_cnts_link_icon {
  width: 60px;
  height: 52px;
  margin-left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spacemarket-reserve .set_cnts_link_icon {
  margin-right: 40px;
}
.rect-svg {
  width: 60px;
  height: 52px;
  display: block;
}
.spacemarket-reserve .rect-svg line,
.spacemarket-reserve .rect-svg rect {
  stroke: #fff;
  stroke-width: 1;
  transition: stroke 0.2s;
}
.spacemarket-reserve:hover .rect-svg line,
.spacemarket-reserve:hover .rect-svg rect {
  stroke: #071715;
}
.rect-svg .move-rect {
  transition: stroke 0.2s, transform 0.3s cubic-bezier(.4,0,.2,1);
}
.spacemarket-reserve:hover .rect-svg .move-rect {
  transform: translate(2px, -2px);
}

.reserve-bg-title{
	position: absolute;
	bottom: -37px;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: 15vw;
	letter-spacing: 0.15em;
	text-align: center;
	color: rgba(255, 255, 255, 0.34);
}

@media screen and (max-width: 768px) {
	#reserve{
		height: 550px;
		margin-bottom: 110px;
	}
	.reserve_bg{
	}
	.reserve_wrap{
		height: 550px;
		padding-top: 50px;
	}
	.reserve_wrap .reserve_title{
		margin-bottom: 20px;
		width: auto;
	}
	.reserve_wrap .reserve_title h2{
		font-size: 40px;
		margin-bottom: 10px;
	}
	.reserve_wrap .reserve_title h3{
		font-size: 18px;
	}
	.center-v-line {
	  position: relative;
	  width: calc(100% - 40px);
	  height: 28px;
	  margin: 0 auto 60px;
	}
	.line-left,
	.line-right {
	  display: block;
	  height: 3px;
	  background: #fff;
	  flex: 1;
	  position: relative;
	}
	.line-v {
	  display: block;
	  width: 54px; /* V字の幅 */
	  height: 28px;
	  position: relative;
	}
	.line-v::before,
	.line-v::after {
	  content: '';
	  display: block;
	  width: 41px;
	  height: 3px;
	  background: #fff;
	  position: absolute;
	  top: -0.5px;
	}
	.line-v::before {
	  left: -1px;
	  transform: rotate(45deg);
	  transform-origin: left center;
	}
	.line-v::after {
	  right: -1px;
	  transform: rotate(-45deg);
	  transform-origin: right center;
	}
	.reserve-block{
		height: auto;
		width: calc(100% - 40px);
		margin: 0 auto;
		display: block;
	}
	.reserve-block .official-reserve,
	.reserve-block .spacemarket-reserve{
		height: 77px;
		width: 100%;
		font-size: 14px;
		padding-left: 40px;
	}
	.reserve-block .official-reserve{
		margin-bottom: 60px;
	}
	.reserve-block .official-reserve:hover {
	}
	.reserve-block .official-reserve .set_cnts_link_text {
	}
	.reserve-block .official-reserve:hover .set_cnts_link_text {
	}
	.reserve-block .official-reserve .set_cnts_link_icon {
	  width: 40px;
	  height: 40px;
	  margin-right: 25px;
	}
	.reserve-block .official-reserve .arrow-svg {
	  width: 40px;
	  height: 40px;
	  display: block;
	}
	.reserve-block .official-reserve .arrow-line {
	}
	.reserve-block .official-reserve:hover .arrow-line {
	}
	.reserve-block .official-reserve .arrow-line,
	.reserve-block .official-reserve .arrow-head {
	}
	.reserve-block .official-reserve:hover .arrow-line,
	.reserve-block .official-reserve:hover .arrow-head {
	}
	.reserve-block .official-reserve .arrow-circle {
	}
	.reserve-block .official-reserve:hover .arrow-circle {
	}
	.reserve-block .official-reserve .arrow-head {
	}
	.reserve-block .official-reserve:hover .arrow-head {
	}
	.spacemarket-reserve .set_cnts_link_icon {
	  width: 35px;
	  height: 27px;
	  margin-left: 16px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	}
	.spacemarket-reserve .set_cnts_link_icon {
	  margin-right: 25px;
	}
	.rect-svg {
	  width: 35px;
	  height: 27px;
	  display: block;
	}
	.spacemarket-reserve .rect-svg line,
	.spacemarket-reserve .rect-svg rect {
	}
	.spacemarket-reserve:hover .rect-svg line,
	.spacemarket-reserve:hover .rect-svg rect {
	}
	.rect-svg .move-rect {
	}
	.spacemarket-reserve:hover .rect-svg .move-rect {
	}
	.reserve-bg-title{
		position: absolute;
		bottom: -18px;
		left: 0;
		right: 0;
		font-size: 18vw;
	}
}
/*---------------
access
---------------*/
#access{
	height: 500px;
	width: 100%;
	margin-bottom: 150px;
}
.access_wrap{
	height: 500px;
	width: calc(100% - 24.4%);
	margin:0 12.2%;
	display: flex;
	justify-content: space-between;
}
.access-box{
	padding-top: 60px;
	width: 400px;
}
.access-box h2{
	font-size: 3.64vw;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.15em;
	margin-bottom: 15px;
}
.access-box h3{
	font-size: 1.3vw;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	margin-bottom: 57px;
}
.access-box p{
	font-size: 1.09vw;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.map-top-wrap{
}
.map-top-wrap iframe{
	height: 500px;
	width: 50vw;
}
@media screen and (max-width: 768px) {
	#access{
		height: auto;
		width: 100%;
		margin-bottom: 100px;
	}
	.access_wrap{
		height: auto;
		width: calc(100% - 40px);
		margin:0 20px;
		display: block;
	}
	.access-box{
		padding-top: 0;
		width: 100%;
	}
	.access-box h2{
		font-size: 40px;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}
	.access-box h3{
		font-size: 16px;
		line-height: 23px;
		letter-spacing: 0.05em;
		margin-bottom: 30px;
	}
	.access-box p{
		font-size: 14px;
		line-height: calc(20 / 14);
		margin-bottom: 30px;
	}
	.map-top-wrap{
		height: 300px;
		width: 100%;
	}
	.map-top-wrap iframe {
	  width: 100%!important;
	  height: 300px!important;
	}
}


/*--------------------top--------------------*/
#top{
	width: 100%;
}
.hd_box{
	padding: 80px 64px 100px 80px;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 768px) {
	.hd_box{
		padding-top: calc(111px / 2);
		padding-right: calc(63px / 2);
		padding-bottom: calc(182px / 2);
		padding-left: calc(40px / 2);
		display: -webkit-flex;
		display: flex;
	}
}
.site_logo{
	height: 36px;
	padding: 25px 0 29px;
}
.site_logo img{
	height: 36px;
}
@media screen and (max-width: 768px) {
	.site_logo{
		height: calc(40px / 2);
		padding-bottom: calc(25px / 2);
		padding-top: calc(25px / 2);
	}
	.site_logo img{
		height: calc(40px / 2);
	}
}
.site_box{
	height: 90px;
	display: -webkit-flex;
	display: flex;
	margin-left: auto;
}
.topsearch_box{
	height: 90px;
	width: 90px;
	margin-right: 65px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-flex-direction: column;
	flex-direction: column;
	display: none;
}
.topsearch_box img{
	height: 30px;
	width: 30px;
	margin: 22px auto 6px;
}
.topsearch_box p{
	font-family: 'Golos Text', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: calc(17 / 14);
	letter-spacing: 0.08em;
	color: #3a3a3a;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.site_box{
		height: calc(90px / 2);
		display: -webkit-flex;
		display: flex;
		margin-left: auto;
	}
	.topsearch_box{
		height: calc(54px / 2);
		width: calc(54px / 2);
		margin-right: calc(65px / 2);
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		-webkit-flex-direction: column;
		flex-direction: column;
		display: none;
	}
	.topsearch_box img{
		height: calc(30px / 2);
		width: calc(30px / 2);
		margin: 0 auto;
		margin-bottom: calc(7px / 2);
	}
	.topsearch_box p{
		font-size: calc(14px / 2);
	}
}
/*--------------------top_menu--------------------*/
.topmenu_box{
	height: 90px;
	width: 52px;
	padding: 0 19px;
	margin: 0 auto;
}
.topmenu_box.active{
	background-color: #fff;
}
.top-nav-items {
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  padding: 39px 0 0 39px;
}
@media screen and (max-width: 768px) {
	.topmenu_box{
		height: calc(90px / 2);
		width: calc(90px / 2);
		margin: 0 auto;
		padding: 0;
	}
	.top_menu_items {
	  padding: 0;
	  position: absolute;
	  top: 0;
	  left: 0;
	  padding: 39px 0 0 39px;
	}
}
.top-nav-items__item{
  height: 19px;
  margin-bottom: 52px;
}
.top-nav-items__item:nth-last-child{
  margin-bottom: 0;
}
.top-nav-items__item a {
  color: black;
  width: 100%;
  display: block;
  text-align: left;
  font-size: 32px;
  margin-bottom: 85px;
  text-decoration: none;
}
.top-nav-items__item:last-child a {
  margin-bottom: 0;
}
.top-header__nav {
  position: absolute;
  right: 18px;
  top: 200px;
  width: calc(267px - 0px);
  height: calc(389px - 0px);
  transform: translateX(100%); 
  background-color: #fff;
  transition: ease .4s;
  -webkit-filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	-moz-filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	-ms-filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	border-radius: 3px;
	display: none;
}
.top-header__nav:before {
  content: "";
  border: 20px solid transparent;
  border-bottom: 15px solid #fff;
  position: absolute;
  bottom: 100%;
  right: 26%;
}
@media screen and (max-width: 768px) {
	.top-header__nav {
	  position: absolute;
	  right: 12px;
	  top: 122px;
	}
	.top-header__nav:before {
	  right: 8%;
	}
}
.top-header__hamburger {
	width: 52px;
	padding-top: 25px;
	padding-bottom: 13px;
}
.top-hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}
.top-hamburger span {
  width: 100%;
  height: 2px;
  background-color: #000;
  position: relative;
  transition: ease .4s;
  display: block;
}

.top-hamburger span:nth-child(1) {
	height: 3px;
	width: 52px;
  top: 0;
}

.top-hamburger span:nth-child(2) {
	height: 3px;
	width: 41px;
  margin: 12px 0;
}
.top-hamburger h4{
	font-family: 'Golos Text', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: calc(18 / 14);
	letter-spacing: 0.08em;
	color: #3a3a3a;
}
.top-header__nav.active {
  transform: translateX(0);
  display: block;
}
.top-hamburger.active span:nth-child(1) {
  top: 3px;
  width: 39px;
  transform: rotate(45deg);
}
.top-hamburger.active span:nth-child(2) {
  top: -13px;
  width: 39px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
	.top-hamburger {
		width: calc(64px / 2);
		padding:0;
		margin: 10px 6.5px 3px;
	}
	.top-hamburger {
	  background-color: transparent;
	  border-color: transparent;
	  z-index: 9999;
	}
	.top-hamburger span {
	  width: 100%;
	  height: 2px;
	  background-color: #000;
	  position: relative;
	  transition: ease .4s;
	  display: block;
	}

	.top-hamburger span:nth-child(1) {
		height: 1.5px;
		width: calc(52px / 2);
	  top: 0;
    left: 4px;
	}

	.top-hamburger span:nth-child(2) {
    left: 4px;
		height: 1.5px;
		width: calc(41px / 2);
	  margin-top: calc(15px / 2);
	  margin-bottom: calc(10px / 2);
	}
	.top-hamburger.active span:nth-child(1) {
	  top: 3px;
	  left: 4.5px;
	  width: calc(40px / 2);
	  transform: rotate(45deg);
	}
	.top-hamburger.active span:nth-child(2) {
	  top: -6px;
	  left: 4.5px;
	  width: calc(40px / 2);
	  transform: rotate(-45deg);
	}
	.top-hamburger h4{
		font-size: calc(14px / 2);
	}
}
.kv_box{
	height: 513px;
	width: calc(100% - 80px);
	margin-left: 80px;
	margin-bottom: 120px;
}
.key_msg{
	height: 64px;
	font-family: 'NotoSansJP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: calc(32 / 16);
	letter-spacing: 0.16em;
	color: #3a3a3a;
	margin-bottom: 39px;
}
.kv{
	height: 410px;
	width: 100%;
}
.kv img{
	height: 410px;
	width: 100%;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.kv_box{
		height: calc(450px / 2);
		width: calc(100% - 20px);
		margin-left: calc(40px / 2);
		margin-bottom: calc(160px / 2);
	}
	.key_msg{
		height: calc(80px / 2);
		font-size: calc(20px / 2);
		line-height: calc(40 / 20);
		margin-bottom: calc(51px / 2);
	}
	.kv{
		height: calc(320px / 2);
		width: 100%;
	}
	.kv img{
		height: calc(320px / 2);
		width: 100%;
	}
}

/*---------------
modal
---------------*/
.modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(7,23,21,0.65);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0; 
  pointer-events: none;
  transition: opacity 0.4s;
}
.modal-content {
  position: relative;
  /*border: 1px solid #707070;*/
  max-width: 90vw;
  max-height: 90vh;
  /*box-shadow: 0 8px 32px rgba(0,0,0,0.2);*/
  transform: scale(0.97);
  transition: transform 0.4s;
  opacity: 0;  
}
.modal-content img {
  max-height: 80vh;
  width: 52vw;
}
.modal-content p {
  font-size: 40px;
  line-height: 48px;
  letter-spacing: 0.15em;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  display: block;
  width: 30vw;
  margin: 30px auto 0;
}
.modal-close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  cursor: pointer;
}
.modal.show {
  opacity: 1;
  pointer-events: auto;
}
.modal.show .modal-content {
  transform: scale(1);
  opacity: 1;
}
@media screen and (max-width: 768px) {
	.modal {
	}
	.modal-content {
	}
	.modal-content img {
	  width: 100%;
	}
	.modal-content p {
	  font-size: 20px;
	  line-height: 24px;
	  margin: 20px auto 0;
	}
	.modal-close {
	}
	.modal.show {
	}
	.modal.show .modal-content {
	}
}



