@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: 110px;
}
.mv-wrap{
	position: relative;
	height: 540px;
	width: 100%;
}
.mv{
	position: relative;
	height: 540px;
	width: 100%;
	overflow: hidden;
}
.mv_sp{
	display: none;
	position: relative;
	height: 540px;
	width: 100%;
	overflow: hidden;
}
.mv img, .mv_sp img{
	position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  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);
	width: 24vw;
	max-width: 400px;
	height: 540px;
	padding-bottom: calc(100vh * 0.05);
	padding-left: 30px;
	color: #fff;
	justify-content: flex-end;
	display: flex;
	flex-direction: column;
}
.mv-dt p{
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: flex;
	align-items: baseline;
	margin-bottom: 15px;
}
.mv-dt p span{
	font-size: 24px;
	font-weight: bold;
	display: block;
}
.mv-dt h2{
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.15em;
	margin-bottom: 20px;
}
.mv-dt h1{
	font-size: 28px;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 15px;
}
.mv-btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 280px;
}

.mv-btn {
  display: flex;
  align-items: center;
  width: 190px;
  height: 48px;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 4px;
  transition: all 0.3s ease;
  padding: 0 20px;
}

.btn-private {
  background-color: #ffffff;
  color: #111111;
  border: 1px solid #ffffff;
}

.btn-private:hover {
  background-color: transparent;
  color: #ffffff;
}

.btn-business {
  background-color: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  border: 1px solid #ffffff;
  backdrop-filter: blur(4px);
}

.btn-business:hover {
  background-color: #ffffff;
  color: #111111;
}
@media screen and (max-width: 768px) {
	.top-bg{
	}
	#mv{
		margin-top: 80px;
	}
	.mv-wrap{
		height: 540px;
	}
	.mv{
		display: none;
	}
	.mv_sp{
		display: block;
	}
	.mv img{
		height: 100%;
	}
	.mv-dt{
		position: absolute;
		top: 0;
		left: 0;
		height: 540px;
		width: 100%;
		padding-top: 146px;
		padding-left: 20px;
	}
	.mv-dt p{
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	.mv-dt p span{
		font-size: 2.4rem;
		margin: 0 5px;
	}
	.mv-dt h2{
		font-size: 1.6rem;
		line-height: 1.5;
		letter-spacing: 0.25em;
		margin-bottom: 20px;
	}
	.mv-dt h1{
		font-size: 2.8rem;
		line-height: 1.5;
	}
	.mv-btn-wrap {
    max-width: 100%;
  }

  .mv-btn {
    height: 50px;
    font-size: 1.2rem;
  }

}
/*---------------
features
---------------*/
.features-section {
  width: 100%;
  padding: 80px 0;
  background-image: url('marble-bg.jpg');
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}

.features-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.features-title-wrap {
  margin-bottom: 60px;
}

.features-title-main-box {
  display: inline-flex;
  align-items: center;
  position: relative;
}

h2.features-title-main{
  font-size: 100px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}

h3.features-title-sub{
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 0 0;
  color: #333333;
  letter-spacing: 0.05em;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.features-card {
  background-color: rgba(255, 255, 255, 0.85);
  border: 1px solid #eaeaea;
  padding: 40px 30px;
  text-align: center;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.features-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.features-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 25px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.features-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.features-card-title.jp {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 20px 0;
  color: #333;
  letter-spacing: 0.03em;
}

.features-card-text.jp {
  font-size: 1.5rem;
  line-height: 1.7;
  color: #4a4a4a;
  margin: 0;
  text-align: left;
}

@media (max-width: 992px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .features-section {
    padding: 60px 15px;
  }
  .features-title-wrap {
		width: initial;
		margin-bottom: 30px;
	}
	h2.features-title-main{
		font-size: 4rem;
	}

	h3.features-title-sub{
		font-size: 1.6rem;
	}
  .features-avatar {
    width: 44px;
    height: 44px;
    right: -24px;
    top: -20px;
  }
  .features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .features-card {
    padding: 30px 20px;
  }
}

/*---------------
plan
---------------*/
.plan .sec-set_wrap {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.plan-title-wrap {
  margin-bottom: 60px;
}

.plan-title-main-box {
  display: inline-flex;
  align-items: center;
  position: relative;
}

h2.plan-title-main {
  font-size: 100px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}

h3.plan-title-sub {
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 0 0;
  color: #333333;
  letter-spacing: 0.05em;
}

.top_set_cnts {
  margin: 0 auto 100px;
  padding: 35px 0 40px;
}
.top_set_cnts:first-child{
  margin-top:60px;
}

.top_set_cnts_item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  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;
}

.top_set_cnts_item.item1 {
  margin-top: 0;
}

.top_set_cnts_item2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  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;
}

.top_set_cnts_item.is-visible,
.top_set_cnts_item2.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.top_set_cnts_item .swiper_container.js-swiper {
  width: 50%;
  order: 1;
}

.top_set_cnts_item .top_set_cnts_itemDetails {
  width: 50%;
  order: 2;
}

.top_set_cnts_item2 .top_set_cnts_itemDetails {
  width: 50%;
  order: 1;
}

.top_set_cnts_item2 .swiper_container.js-swiper {
  width: 50%;
  order: 2;
}

.top_set_cnts_wrap {
  padding-left: 56px;
}

.top_set_cnts_wrap2 {
  padding-right: 56px;
}

.top_set_cnts_head_wrap {
  position: relative;
  height: 160px;
  margin-bottom: 20px;
}

.top_set_cnts_head_wrap p.top_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;
}

.top_set_cnts_head_wrap p.top_set_cnts_head span {
  font-size: 87px;
}

.top_set_cnts_head_wrap span.top_set_cnts_border1 {
  position: absolute;
  top: 132px;
  left: 0;
  width: 100%;
  border: 1px solid #000;
}

.top_set_cnts_head_wrap span.top_set_cnts_border2 {
  position: absolute;
  top: 132px;
  left: 0;
  height: 50px;
  border: 1px solid #000;
}

.top-plan-title-wrap{
	display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.top-plan-title {
  font-size: 35px;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 20px;
}

.plan-badge.jp {
  display: inline-block;
  background-color: #dbae47;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: 4px;
  white-space: nowrap;
  margin-bottom: 20px;
}

.plan-badge.red-badge.jp {
  background-color: red;
}

.top_set_cnts_wide {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 25px;
}

.top_set_cnts_price {
  font-size: 30px;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  text-align: left;
}

.top_set_cnts_price span {
  font-size: 20px;
  letter-spacing: 0.05em;
}

.top_set_cnts_dt {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.05em;
  margin-bottom: 45px;
}

.top_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;
}

.top_set_cnts_link:hover {
  background: #eee;
}

.top_set_cnts_link_text {
  flex: 1;
}

.top_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);
}

.top_set_cnts_link:hover .arrow-line {
  stroke-dashoffset: 0;
}

.arrow-circle {
  transition: fill 0.3s;
  fill: #fff;
}

.top_set_cnts_link:hover .arrow-circle {
  fill: #fff;
}

.arrow-head {
  transition: transform 0.4s cubic-bezier(.4,0,.2,1);
  transform: translateX(-5px);
}

.top_set_cnts_link:hover .arrow-head {
  transform: translateX(0);
}

.top_set_cnts_line {
  height: 85px;
  max-width: 81.25%;
  display: flex;
  align-items: flex-start;
  position: relative;
}

.top_set_cnts_line-horizontal1 {
  position: absolute;
  width: 55%;
  height: 2px;
  background: #000;
  top: 0;
  left: 0;
}

.top_set_cnts_line-vertical {
  position: absolute;
  width: 2px;
  height: 85px;
  background: #000;
  top: 0;
  left: 55%;
}

.top_set_cnts_line-horizontal2 {
  position: absolute;
  width: calc(100% - 55%);
  height: 2px;
  background: #000;
  top: 85px;
  left: 55%;
}

.top_set_cnts_line2 {
  height: 85px;
  max-width: 81.25%;
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-left: 18.25%;
}

.top_set_cnts_line-horizontal3 {
  position: absolute;
  width: 55%;
  height: 2px;
  background: #000;
  top: 0;
  right: 0;
}

.top_set_cnts_line-vertical2 {
  position: absolute;
  width: 2px;
  height: 85px;
  background: #000;
  top: 0;
  right: 55%;
}

.top_set_cnts_line-horizontal4 {
  position: absolute;
  width: calc(100% - 55%);
  height: 2px;
  background: #000;
  top: 85px;
  right: 55%;
}

@media screen and (max-width: 768px) {
	.plan{
    padding: 60px 15px;
  }
  .plan .sec-set_wrap {
    width: 100%;
  }
  .plan-title-wrap {
		width: initial;
		margin-bottom: 30px;
	}
	h2.plan-title-main{
		font-size: 4rem;
	}

	h3.plan-title-sub{
		font-size: 1.6rem;
	}
  .top_set_cnts {
    margin: 0 auto 100px!important;
    padding: 35px 0 0;
  }

  /* SPではitem1、item2ともに共通の縦並びフレックスボックスにする */
  .top_set_cnts_item,
  .top_set_cnts_item2 {
    display: flex !important;
    flex-direction: column !important;
    width: 100%!important;
    margin: 80px auto 40px !important;
    position: static !important;
    min-height: auto !important;
  }
  .top_set_cnts_item:first-child{
    margin: 0px auto 40px !important;
  }

  /* 画像（js-swiper）を1番目（上）に配置 */
  .top_set_cnts_item .swiper_container.js-swiper,
  .top_set_cnts_item2 .swiper_container.js-swiper {
    order: 1 !important;
    width: 100%;
    margin-bottom: 20px;
  }

  /* テキスト詳細エリアを2番目（下）に配置 */
  .top_set_cnts_item .top_set_cnts_itemDetails,
  .top_set_cnts_item2 .top_set_cnts_itemDetails {
    order: 2 !important;
    position: static !important;
    width: 100%;
  }

  .top_set_cnts_wrap,
  .top_set_cnts_wrap2 {
    padding-left: 0;
    padding-right: 0;
  }

  .top_set_cnts_head_wrap {
    display: none;
  }

  .top_set_cnts_title {
    font-size: 24px;
    margin-bottom: 10px;
  }

  .top_set_cnts_wide {
    font-size: 18px;
  }

  .top_set_cnts_price {
    font-size: 23px;
    margin-bottom: 10px;
  }

  .top_set_cnts_price span {
    font-size: 18px;
  }

  .top_set_cnts_dt {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 30px;
  }

  .top_set_cnts_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    width: 85%;
    margin: 0 auto;
    box-sizing: border-box;
    font-size: 14px;
    padding-left: 30px;
    text-decoration: none;
  }

  .top_set_cnts_link_icon {
    width: 60px;
    height: 60px;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .arrow-svg {
    width: 38px;
    height: 38px;
  }

  .top_set_cnts_line {
    height: 45px;
    max-width: calc(100% - 20px);
  }

  .top_set_cnts_line-horizontal1 {
    position: absolute;
    width: 70%;
    top: 0;
    left: 0;
  }

  .top_set_cnts_line-vertical {
    position: absolute;
    width: 2px;
    height: 45px;
    top: 0;
    left: 70%;
  }

  .top_set_cnts_line-horizontal2 {
    position: absolute;
    width: calc(100% - 70%);
    top: 45px;
    left: 70%;
  }

  .top_set_cnts_line2 {
    height: 45px;
    max-width: calc(100% - 20px);
    margin-left: 20px;
  }

  .top_set_cnts_line-horizontal3 {
    position: absolute;
    width: 70%;
    top: 0;
    right: 0;
  }

  .top_set_cnts_line-vertical2 {
    position: absolute;
    width: 2px;
    height: 45px;
    background: #000;
    top: 0;
    right: 70%;
  }

  .top_set_cnts_line-horizontal4 {
    position: absolute;
    width: calc(100% - 70%);
    height: 2px;
    background: #000;
    top: 45px;
    right: 70%;
  }
}

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

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

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

	.top_set_cnts .swiper_container {
	  width: 100%;
	}
	.top_set_cnts .swiper_container {
	  width: 100%;
	}
	.top_set_cnts_item2 .top_set_cnts .swiper_container {
	  position: absolute;
	  top: 0;
	}
	.top_set_cnts .slide-bg{
		position: absolute;
		top: -17.5px;
		left: auto;
		right: -17.5px;
		height: 57vw;
		width: 57vw;
	}
	.top_set_cnts .slide-bg2{
		position: absolute;
		top: -17.5px;
		left: -17.5px;
		right: auto;
		height: 57vw;
		width: 57vw;
	}
	.top_set_cnts p.top_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;
	}
	.top_set_cnts p.top_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;
	}
	.top_set_cnts .js-swiper-thumbs {
	  width: 100%;
	  margin: 15px auto 0;
	}
	.top_set_cnts .js-swiper-thumbs ul{
	  width: calc(100% - 54px);
	  margin: 0 auto;
	}
	.top_set_cnts .js-swiper-thumbs img{
	 height: 15vw;
	 width: 15vw;
	 object-fit: cover;
	 display: block;
	}
	.top_set_cnts .swiper-button-prev ,
	.top_set_cnts .swiper-button-next {
	  top: auto;
	}
	.top_set_cnts .swiper-button-prev {
	  left: -5px;
	}
	.top_set_cnts .swiper-button-next {
	  right: -5px;
	}
	.top_set_cnts .swiper-button-next:after,
	.top_set_cnts .swiper-button-prev:after {
	  font-size: 25px;
	}
}

/*---------------
point-check
---------------*/
.check-section {
  width: 100%;
  padding: 80px 0;
  margin-bottom: 100px;
}

.check-container {
  max-width: 1200px;
  margin: 0 auto;
}

.check-title-wrap {
  margin-bottom: 60px;
}

.check-title-main-box {
  display: inline-flex;
  align-items: center;
  position: relative;
}

h2.check-title-main{
  font-size: 100px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}

h3.check-title-sub{
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 0 0;
  color: #333333;
  letter-spacing: 0.05em;
}

.check-table-responsive {
  width: 100%;
  overflow-x: auto;
  padding-top: 30px;
  margin-top: -30px;
}

.check-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
  table-layout: fixed;
  min-width: 900px;
}

.check-table th,
.check-table td {
  padding: 12px 15px;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.6;
  border: 1px solid #e2e2e2;
  box-sizing: border-box;
}

.check-table thead th {
  background-color: #1a2225;
  color: #ffffff;
  font-weight: 500;
  font-size: 1.4rem;
  border: 1px solid #1a2225;
}

.check-table thead th:first-child {
  background-color: transparent;
  border-color: transparent;
  border-bottom: 1px solid #e2e2e2;
}

.check-table tbody td.row-label {
  font-weight: 500;
  width: 15%;
  text-align: left;
  padding-left: 20px;
  color: #111111;
}
.check-table tbody tr:nth-child(2n+1) td.row-label {
  background-color: #f5f5f5;
}
.check-table tbody tr:nth-child(2n) td.row-label {
  background-color: #ffffff;
}

.check-table tbody tr:nth-child(2n+1){
  background-color: #f5f5f5;
}

.check-table tbody tr:nth-child(2n) {
  background-color: #ffffff;
}
.check-table .col-highlight {
  position: relative;
  border-left: 2px solid #E6B422 !important;
  border-right: 2px solid #E6B422 !important;
}

.check-table thead th.col-highlight {
  background-color: #E6B422;
  color: #ffffff;
  border-top: 2px solid #E6B422 !important;
  border-bottom: 2px solid #E6B422 !important;
  padding-top: 20px;
}

.badge-pop.jp {
  position: absolute;
  top: -20px;
  left: -2px;
  right: -2px;
  background-color: #E6B422;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 4px 0;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  box-sizing: border-box;
  border: 2px solid #E6B422;
  border-bottom: none;
}

.check-table .row-action td.col-highlight {
  border-bottom: 2px solid #E6B422 !important;
}

.btn-check.jp {
  display: block;
  width: 100%;
  max-width: 140px;
  margin: 0 auto;
  padding: 10px 0;
  border: 1px solid #333333;
  color: #333333;
  background-color: #ffffff;
  text-decoration: none;
  font-size: 1.4rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.btn-check.jp:hover {
  background-color: #333333;
  color: #ffffff;
}

@media (max-width: 768px) {
	.check-title-wrap {
		width: initial;
		margin-bottom: 30px;
	}
	h2.check-title-main{
		font-size: 4rem;
	}

	h3.check-title-sub{
		font-size: 1.6rem;
	}
  .check-section {
    padding: 60px 15px;
  }
}

/*---------------
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: 36px;
	font-weight: 400;
	margin-bottom: 5px;
	letter-spacing: 0.02em;
}
.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: 6vw;
		margin-bottom: 10px;
	}
	.price_list h4{
		font-size: 12px;
		line-height: 18px;
		margin-bottom: 7px;
	}
	.price_list p.lowest-price{
		font-size: 10px;
		margin-bottom: 20px;
	}
	.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 0;
  width: 100%;
}

.blog-wrap {
  width: 100%;
}

.blog-title-wrap {
  max-width: 1200px;
  margin: 0 auto 60px;
  box-sizing: border-box;
}

.blog-title-main-box {
  display: inline-flex;
  align-items: center;
  position: relative;
}

h2.blog-title-main {
  font-size: 100px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}

h3.blog-title-sub {
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 0 0;
  color: #333333;
  letter-spacing: 0.05em;
}

.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;
  padding-left: calc((100vw - 1200px) / 2);
  box-sizing: border-box;
}

ul.blog_list {
  height: 520px;
  width: 100%;
  display: flex;
  overflow-x: scroll;
  scrollbar-width: auto;
  margin: 0;
  padding: 0 40px 0 0;
  list-style: none;
}

ul.blog_list::-webkit-scrollbar {
  height: 12px;
  background-color: #f0f0f0;
}

ul.blog_list::-webkit-scrollbar-thumb {
  background-color: #888888;
  border-radius: 6px;
}

ul.blog_list::-webkit-scrollbar-track {
  background-color: #e0e0e0;
  border-radius: 6px;
}

.slick-track {
  height: 379px;
  display: flex;
  min-width: 0;
}

ul.blog_list > a {
  text-decoration: none;
  color: inherit;
  display: block;
}

ul.blog_list li {
  flex-shrink: 0;
  height: calc(500px - 2px);
  width: 500px;
  margin-right: 30px;
  object-fit: cover;
  border: 1px solid #000;
  box-sizing: border-box;
}

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 (max-width: 1240px) {
  .blog-title-wrap {
    padding-left: 20px;
  }
  .blog_list_wrap {
    padding-left: 20px;
  }
}

@media screen and (max-width: 768px) {
  #blog {
    margin: 0 0 100px 0;
    width: 100%;
  }

  .blog-title-wrap {
    width: initial;
    margin-left: 15px;
    margin-bottom: 30px;
    padding-left: 0;
  }

  h2.blog-title-main {
    font-size: 4rem;
  }

  h3.blog-title-sub {
    font-size: 1.6rem;
  }

  .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% - 15px);
    margin: 0 0 100px 15px;
    padding-left: 0;
  }

  ul.blog_list {
    height: auto;
    width: 100%;
    padding-bottom: 20px;
  }

  .slick-track {
    height: auto;
    display: flex;
  }

  ul.blog_list li {
    width: 285px;
    margin-right: 20px;
    display: flex;
    flex-direction: column;
    height: 100%; 
  }

  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%;
	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 .top_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-title-wrap {
  max-width: 1200px;
  margin: 0 auto 60px;
  width: 100%;
}

.gallery-title-main-box {
  display: inline-flex;
  align-items: center;
  position: relative;
}

h2.gallery-title-main{
  font-size: 100px;
  font-weight: bold;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}

h3.gallery-title-sub{
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 0 0;
  color: #333333;
  letter-spacing: 0.05em;
}
.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;
	}
	.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-title-wrap {
		width: initial;
		margin-left: 20px;
		margin-bottom: 30px;
	}
	h2.gallery-title-main{
		font-size: 4rem;
	}

	h3.gallery-title-sub{
		font-size: 1.6rem;
	}
	.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%;
  position: relative;
  overflow: hidden;
}

.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));
  box-sizing: border-box;
}

.reserve_wrap .reserve_title {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.reserve_wrap .reserve_title h2 {
  font-size: 100px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.15em;
  color: #FFF;
  margin: 0 0 21px 0;
}

.reserve_wrap .reserve_title h3 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #FFF;
  margin: 0;
}

.center-v-line {
  position: relative;
  width: 100%;
  max-width: 1200px;
  height: 28px;
  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;
  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 {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
}

.business-reserve-wrap {
  position: relative;
  width: 500px;
}

.business-label {
  position: absolute;
  top: -35px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #071715;
  margin: 0;
}

.reserve-block .spacemarket-reserve,
.reserve-block .official-reserve {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 114px;
  width: 500px;
  padding-left: 50px;
  text-decoration: none;
  z-index: 0;
  border: 1px solid #071715;
  box-sizing: border-box;
  position: relative;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left top;
  transition: background-size 0.5s cubic-bezier(.4,0,.2,1);
}

.reserve-block .spacemarket-reserve {
  background-color: #071715;
  background-image: linear-gradient(to right, #fff, #fff);
  color: #fff;
}

.reserve-block .official-reserve {
  background-color: #ffffff;
  background-image: linear-gradient(to right, #071715, #071715);
  color: #071715;
}

.reserve-block .spacemarket-reserve:hover {
  background-size: 100% 100%;
  color: #071715;
}

.reserve-block .official-reserve:hover {
  background-size: 100% 100%;
  color: #ffffff;
}

.reserve-block .spacemarket-reserve .set_cnts_link_text,
.reserve-block .official-reserve .set_cnts_link_text {
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.2;
  position: absolute;
  top: 32px;
  left: 50px;
  margin: 0;
  transition: color 0.3s;
}

.reserve-block .official-reserve .set_cnts_link_text {
  font-size: 20px;
}

.reserve-block .spacemarket-reserve p.reserve-alert,
.reserve-block .official-reserve p.reserve-alert {
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 0.05em;
  position: absolute;
  top: 66px;
  left: 50px;
  margin: 0;
  transition: color 0.3s;
  width: auto;
  text-align: left;
}

.reserve-block .spacemarket-reserve p.reserve-alert {
  color: #ffffff;
}

.reserve-block .official-reserve p.reserve-alert {
  color: #071715;
}

.reserve-block .spacemarket-reserve:hover .set_cnts_link_text,
.reserve-block .spacemarket-reserve:hover p.reserve-alert {
  color: #071715;
}

.reserve-block .official-reserve:hover .set_cnts_link_text,
.reserve-block .official-reserve:hover p.reserve-alert {
  color: #ffffff;
}

.spacemarket-reserve .set_cnts_link_icon {
  width: 60px;
  height: 52px;
  margin-left: auto;
  margin-right: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.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.3s;
}

.spacemarket-reserve:hover .rect-svg line,
.spacemarket-reserve:hover .rect-svg rect {
  stroke: #071715;
}

.rect-svg .move-rect {
  transition: stroke 0.3s, transform 0.3s cubic-bezier(.4,0,.2,1);
}

.spacemarket-reserve:hover .rect-svg .move-rect {
  transform: translate(2px, -2px);
}

.official-reserve .set_cnts_link_icon {
  width: 60px;
  height: 60px;
  margin-left: auto;
  margin-right: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.official-reserve .arrow-svg {
  width: 60px;
  height: 60px;
  display: block;
}

.official-reserve .arrow-line,
.official-reserve .arrow-head {
  stroke: #071715;
  transition: stroke 0.3s, transform 0.3s cubic-bezier(.4,0,.2,1);
}

.official-reserve .arrow-line {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  transition: stroke-dashoffset 0.4s cubic-bezier(.4,0,.2,1), stroke 0.3s;
}

.official-reserve:hover .arrow-line {
  stroke-dashoffset: 0;
  stroke: #ffffff;
}

.official-reserve:hover .arrow-head {
  stroke: #ffffff;
  transform: translateX(3px);
}

.official-reserve .arrow-circle {
  transition: fill 0.3s, stroke 0.3s;
  fill: none;
  stroke: #071715;
}

.official-reserve:hover .arrow-circle {
  fill: transparent;
  stroke: #ffffff;
}

.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.08);
  pointer-events: none;
}

@media screen and (max-width: 992px) {
  .reserve-block {
    flex-direction: column;
    align-items: center;
    gap: 50px;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .business-reserve-wrap,
  .reserve-block .spacemarket-reserve,
  .reserve-block .official-reserve {
    width: 100%;
    max-width: 500px;
  }
}

@media screen and (max-width: 768px) {
  #reserve {
    height: auto;
  }

  .reserve_wrap {
    position: relative;
    height: auto;
    padding-top: 60px;
    padding-bottom: 40px;
  }

  .reserve_wrap .reserve_title {
    margin-bottom: 20px;
  }

  .reserve_wrap .reserve_title h2 {
    font-size: 45px;
    margin-bottom: 10px;
  }

  .reserve_wrap .reserve_title h3 {
    font-size: 18px;
  }

  .center-v-line {
    width: calc(100% - 40px);
    margin: 0 auto 60px;
  }

  .reserve-block {
    gap: 60px;
    padding-bottom: 60px;
  }

  .business-label {
    font-size: 12px;
    top: -30px;
  }

  .reserve-block .spacemarket-reserve,
  .reserve-block .official-reserve {
    height: 84px;
    padding-left: 25px;
  }

  .reserve-block .spacemarket-reserve .set_cnts_link_text,
  .reserve-block .official-reserve .set_cnts_link_text {
    font-size: 15px;
    top: 22px;
    left: 25px;
  }

  .reserve-block .spacemarket-reserve p.reserve-alert,
  .reserve-block .official-reserve p.reserve-alert {
    font-size: 11px;
    top: 48px;
    left: 25px;
  }

  .spacemarket-reserve .set_cnts_link_icon {
    width: 40px;
    height: 35px;
    margin-right: 20px;
  }

  .rect-svg {
    width: 40px;
    height: 35px;
  }

  .official-reserve .set_cnts_link_icon {
    width: 44px;
    height: 44px;
    margin-right: 15px;
  }

  .official-reserve .arrow-svg {
    width: 44px;
    height: 44px;
  }

  .reserve-bg-title {
    display: none;
  }
}

```

/*---------------
access
---------------*/
#access{
	height: 600px;
	width: 100%;
	margin: 150px 0;
}
.access_wrap{
	height: 600px;
	width: calc(100% - 24.4%);
	margin:0 12.2%;
	display: flex;
	justify-content: space-between;
}
.access-box{
	padding-top: 60px;
	width: 450px;
}
.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: 600px;
	width: 50vw;
}
@media screen and (max-width: 768px) {
	#access{
		height: auto;
		width: 100%;
		margin-top: 80px;
		margin-bottom: 100px;
	}
	.access_wrap{
		height: auto;
		width: calc(100% - 30px);
		margin:0 15px;
		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 {
	}
}



