@charset "utf-8";

/*------------------------------
  common
------------------------------*/

/* page-heading */
.page-heading .heading-en::after,
.page-heading .heading-ja::after {
  background-color: #21a8c0;
}
@media screen and (min-width:1024px) {
  .page-heading .heading-ja {
    border-bottom-color: #21a8c0;
  }
  .page-heading .heading-en {
    border-bottom-color: #21a8c0;
  }
  .page-heading .nav-item a::after {
    background-color: #21a8c0;
  }
}

/* page-body */
.section-hero {
  margin: 0 -20px 30px;
  text-align: center;
}
.content-wrapper {
	padding: 0 20px;
}
.category-section .content-wrapper {
  padding: 0;
}
.heading-center {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}
#entrybody .entrylead {
  font-size: 1.6rem;
}
@media screen and (min-width:1024px) {
  .section-hero {
    max-width: 1280px;
    margin: 0 auto 60px;
  }
  #entrybody .section-hero {
    margin-top: 60px;
  }
  #entrybody a:not([class]):hover {
    color: #21a8c0;
  }
}

/* list */
#rp_flow .doc-list li > a,
#ra_flow .doc-list li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 56px;
}
.link-list li a::after,
.dl-item .item-label a::after,
.content-nav .nav-item a::after {
  background-color: #21a8c0;
}
@media screen and (min-width:1024px) {
  #rp_flow .doc-list li:nth-last-child(-n+2),
  #ra_flow .doc-list li:nth-last-child(-n+2) {
    margin-bottom: 10px;
  }
  #rp_flow .doc-list li > a,
  #ra_flow .doc-list li > a {
    min-height: 32px;
  }
}

/*------------------------------
  rental
------------------------------*/

/* top-notice */
.top-notice {
  border-color: #21a8c0;
}

/* guide */
.guide-section {
  margin-bottom: 20px;
}
.guide-section h3.heading {
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: .05em;
}
.guide-section h3.heading span {
  display: inline-block;
  margin-right: 5px;
  padding: 4px;
  line-height: 1;
}
.guide-section h3.heading span.col {
  background-color: #21A8D0;
  color: #FFF;
}
.guide-section h3.heading span.gry {
  background-color: #EFEFEF;
}
.guide-section h3.heading + .sub {
	margin-bottom: 1.5rem;
	font-size: 1.3rem;
}
.guide-section .section-heading {
	margin-top: 0;
}
@media screen and (min-width:768px) {
  .guide-section {
    margin-bottom: 40px;
  }
	.guide-section .content-wrapper {
		display: block;
		padding: 0 30px;
	}
  #guide .content-wrapper {
    display: block;
  }
  #guide .content {
    width: 100%;
  }
}
@media screen and (min-width:1024px) {
	.guide-section h3.heading {
		font-size:  2.4rem;
	}
  .guide-section h3.heading span {
    margin-right: 8px;
    padding: 6px;
  }
	.guide-section h3.heading + .sub {
		font-size: 1.4rem;
    letter-spacing: .04em;
	}
  #guide .content {
    width: 100%;
  }
}

/* area */
.guide-section .tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
  padding: 0 5px;
  border-bottom: 2px solid #120015;
}
.tab-list .btn-tab {
  display: block;
	width: calc(100% / 3);
  margin: 0 1px -2px;
  padding: 2px 15px;
  border: 2px solid #120015;
  border-bottom: 0;
  background-color: #120015;
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
	text-align: center;
}
.btn-tab.is-active {
  background-color: #fff;
  color: #120015;
}
.content-list {
	margin-bottom: 2rem;
	padding: 10px;
	border: 2px solid #120015;
	border-top: 0;
}
.content-list .content {
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: all .3s;
}
.content-list .content.is-active {
  visibility: visible;
  opacity: 1;
  height: auto;
	border-top: 0;
}
.content-list .content .text {
  margin-top: 2rem;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (min-width:768px) {
	.guide-section .tab-list {
		padding: 0 10px;
	}
	.tab-list .btn-tab {
		margin: 0 2px -2px;
		padding: 10px 15px;
	}
	.content-list {
		margin-bottom: 4rem;
		padding: 20px;
	}
	.guide-section .content {
		width: 100%;
	}
  .content-list .content .text {
    font-size: 1.4rem;
  }
}
@media screen and (min-width:1024px) {
	.guide-section .tab-list {
		padding: 0 20px;
	}
	.tab-list .btn-tab {
		font-size: 1.5rem;
		letter-spacing: .1em;
	}
	.content-list {
		padding: 40px 100px;
	}
	.content-list .content .image,
	.content-list .content .swiper-slide {
		text-align: center;
	}
}

/* list */
.guide-section .content-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	margin-bottom: 4px;
}
.guide-section .content-nav .nav-item {
	width: calc(50% - 8px);
	margin-bottom: 16px;
}
@media screen and (min-width:768px) {
	.guide-section .content-nav {
		-ms-flex-pack: distribute;
		justify-content: space-around;
		margin-bottom: 20px;
	}
	.guide-section .content-nav .nav-item {
		width: 45%;
	}
}
@media screen and (min-width:1024px) {
	.guide-section .content-nav {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin-bottom: 40px;
	}
	.guide-section .content-nav .nav-item {
		width: 22.5%;
	}
	.guide-section .content-nav .nav-item::after {
		width: 100%;
		background: url(../img/bg-dots.svg);
	}
	.guide-section .content-nav .nav-item a:hover::after {
		width: 115%;
	}
}

/* button */
.guide-section .section-button {
  margin-top: 80px;
}
.guide-section .section-button::before,
.guide-section .section-button::after {
  display: none;
}
.guide-section .section-button .button {
  position: relative;
  margin-bottom: 40px;
}
.guide-section .section-button .button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  content: "";
}
.guide-section .section-button .button::after {
  position: absolute;
  bottom: -25px;
  left: 30px;
  z-index: -1;
  width: 300px;
  height: 54px;
  background: url(../img/bg-dots.svg);
  content: "";
}
.guide-section .section-button .button.faq a::before {
  display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	margin-bottom: 2px;
	background: url(../../../assets/img/icon-faq-blk.svg) center center / contain no-repeat;
	vertical-align: middle;
	content: "";
}
.guide-section .section-button .button.inquiry a {
  background-color: #120015;
  color: #FFF;
}
@media screen and (min-width:1024px) {
  .guide-section .section-button .button.faq a:hover::before {
    background-image: url(../../../assets/img/icon-faq-wht.svg);
  }
}

/* dl */
.detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	font-weight: 500;
	font-size: 1.3rem;
}
.detail dt {
	width: 9em;
}
.detail dd {
	width: calc(100% - 9em);
}
@media screen and (min-width:768px) {
	.detail + .note {
		margin-bottom: 20px;
	}
}
@media screen and (min-width:1024px) {
	.detail {
		max-width: 600px;
		margin: 0 auto;
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.detail + .note {
		max-width: 600px;
		margin: 0 auto 40px;
		font-size: 1.5rem;
	}
}

/* calendar */
#status .bg-container {
	margin-top: -20px;
	padding: 20px;
	background-color: #f7f7f7;
}
#status .section-button::before,
#status .section-button::after {
	display: none;
}
#status .section-button .button {
	position: relative;
}
#status .section-button .button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #fff;
  content: "";
}
#status .section-button .button::after {
  position: absolute;
  bottom: -25px;
  left: 30px;
  z-index: 0;
  width: 300px;
  height: 54px;
  background: url(../img/bg-dots.svg);
  content: "";
}
#status .section-button .button.faq a::before {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	margin-bottom: 2px;
	background: url(../../../assets/img/icon-faq-blk.svg) center center / contain no-repeat;
	vertical-align: middle;
	content: "";
}
@media screen and (min-width:768px) {
	#status .bg-container {
		margin-top: -25px
	}
	#status .section-button .button::after {
		width: 364px;
		height: 60px;
	}
}
@media screen and (min-width:1024px) {
	#status .bg-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
		margin-top: -60px;
		padding: 0;
		background-color: transparent;
	}
	#status #calendar {
		margin-top: 0;
		padding-top: 0;
	}
	#status .wrapper {
		width: 780px;
		padding: 37px 30px 0;
	}
	#status .section-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
	#status .section-button .button {
		width: 100%;
	}
	#status .section-button .button.faq a:hover::before {
		background-image: url(../../../assets/img/icon-faq-wht.svg);
	}
}

/* equipment */
.main-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.main-list li {
	width: calc(50% - 2px);
}
.sub-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sub-list li {
	width: calc((100% - 8px) / 3);
}
.sub-list li:not(:nth-child(3n)) {
	margin-right: 2px;
}
#equipment .img {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 62%;
	overflow: hidden;
}
#equipment .img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%,-50%);
}
#equipment .txt {
	margin-top: .5rem;
	font-weight: 500;
	font-size: 1.2rem;
}
#equipment .section-button::after {
	background-image: url(../img/bg-dots.svg);
}
@media screen and (min-width:768px) {
	.main-list li {
		width: calc(50% - 5px);
	}
	.sub-list li {
		width: calc((100% - 20px) / 3);
	}
	.sub-list li:not(:nth-child(3n)) {
		margin-right: 10px;
	}
}
@media screen and (min-width:1024px) {
  .main-list {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .main-list li {
    width: calc((100% - 40px) / 3);
  }
  .main-list li:not(:nth-child(3n)) {
    margin-right: 20px;
  }
	.sub-list {
		margin-top: 2rem;
	}
	.sub-list li {
		width: calc((100% - 40px) / 3);
		margin-bottom: 1rem;
	}
	.sub-list li:not(:nth-child(3n)) {
		margin-right: 20px;
	}
	#equipment .txt {
		font-size: 1.5rem;
	}
}

/* form */
.doc-list.rows {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
@media screen and (min-width:768px) {
	#form .content {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
  #form .content > h3:first-child {
    margin-top: 20px;
  }
}
@media screen and (min-width:1024px) {
	#form .content {
		max-width: 1080px;
	}
  #form .content h3 {
    margin-top: 30px;
  }
	.doc-list.rows li,
	.doc-list.rows li.full {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
    flex-basis: 33.3333%;
		position: relative;
		width: calc(100% / 3);
		min-height: 58px;
	}
  .doc-list li:nth-last-child(-n+2) {
    margin-bottom: 20px;
  }
	.doc-list li > a {
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.doc-list li span.note {
		position: absolute;
		left: 0;
		bottom: -1.1em;
		font-size: 1.1rem;
		white-space: nowrap;
	}
}

/* table */
.table-wrapper {
  width: calc(100% + 20px);
  margin: 20px -20px 20px 0;
  overflow: scroll;
}
.table-wrapper table {
  width: 680px;
}
table.auto {
  width: auto;
}
.table-wrapper tbody tr:nth-child(even) th,
.table-wrapper tbody tr:nth-child(even) td {
  background-color: #f4f4f4;
}
.table-wrapper th,
.table-wrapper td,
table.auto th,
table.auto td {
  min-width: 28px;
  padding: 5px;
  border: 1px solid #707070;
  font-size: 1.1rem;
  text-align: center;
  vertical-align: middle;
}
table.auto th,
table.auto td {
  padding: 5px 10px;
  font-weight: 500;
}
.table-wrapper th {
  font-weight: 700;
}
.table-wrapper td.heading {
  border-right: 0;
}
.table-wrapper td.no-bor {
  border-left: 0;
}
@media screen and (min-width:1024px) {
  .table-wrapper {
    width: 1080px;
    height: auto;
    margin: 30px auto;
    overflow: hidden;
  }
  .table-wrapper table {
    width: 100%;
  }
  .table-wrapper th,
  .table-wrapper td {
    padding: 6px;
    border-color: #000;
    font-size: 1.5rem;
  }
  table.auto th,
  table.auto td {
    padding: 6px 20px;
    border-color: #000;
    font-size: 1.5rem;
  }
  .table-wrapper th {
    padding: 5px 10px;
  }
}

/* dl.note */
dl.note {
  margin: 20px 0;
  font-size: 1.3rem;
  line-height: 1.6;
}
dl.note dt {
  margin-bottom: 5px;
  font-weight: 700;
}
@media screen and (min-width:1024px) {
  dl.note {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

/* ul.caution */
ul.caution li {
  margin: 5px 0;
  font-size: 1.3rem;
}
ul.caution li span {
  display: block;
  padding-left: 1.3rem;
  color: #7A7A7A;
  font-size: 1.1rem;
}
@media screen and (min-width:1024px) {
  ul.caution li {
    font-size: 1.5rem;
  }
  ul.caution li span {
    font-size: 1.4rem;
  }
}

/* flow */
.box-flow {
  position: relative;
  margin-bottom: 10px;
  padding: 10px 10px 20px;
}
.box-flow::after {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 13px;
  background: url(../img/icon-arrow.svg) center / contain no-repeat;
  content: "";
}
.box-flow .heading-h3 {
  margin-bottom: 0;
  padding-left: 10px;
  border-left: 3px solid #21A8D0;
  color: #21A8D0;
  font-weight: 700;
  font-size: 1.6rem;
}
.box-flow .heading-h3::before {
  display: none;
}
.box-flow .box {
  padding: 10px 0 0 10px;
  border-left: 3px solid #EDEDED;
}
.goal {
  margin: 30px 10px 20px;
  padding: 10px;
  border-radius: 20px;
  background-color: #21A8D0;
  color: #FFF;
  font-weight: 700;
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (min-width:1024px) {
  .box-flow {
    max-width: 800px;
    margin: 0 auto 30px;
    padding: 0;
  }
  .box-flow::after {
    bottom: -20px;
  }
  .box-flow .heading-h3 {
    padding-left: 30px;
    font-size: 1.8rem;
    line-height: 2;
  }
  .box-flow .box {
    padding: 15px 0 0 30px;
  }
  .goal {
    max-width: 400px;
    margin: 40px auto;
    border-radius: 40px;
    font-size: 1.8rem;
  }
}

/* gallery */
.content-gallery {
  position: relative;
  width: 100%;
  margin: 20px auto 40px;
  padding: 0 20px;
}
.content-gallery h3 {
  margin-bottom: 10px;
  padding: 0;
  background-color: transparent;
  color: #000;
  text-align: center;
}
.content-gallery h3::after {
  display: none;
}
.content-gallery .swiper-slide {
  padding: 0;
}
.content-gallery .swiper-pagination-bullet {
  margin-right: 8px;
  opacity: 1;
  background: #DCDDDD;
}
.content-gallery .swiper-pagination-bullet-active {
  background: #120015;
}
@media screen and (min-width:1024px) {
  .content-gallery {
    max-width: 600px;
    margin: 0 auto 80px;
  }
  .content-gallery h3 {
    font-size: 1.6rem;
  }
}


/*------------------------------
  asobou
------------------------------*/

.entrylead + .today {
  margin-bottom: 60px;
}
.today .section-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 0;
}
.today .section-heading .heading-en::before {
  display: none;
}
.today .section-heading .heading-ja {
  order: 1;
  margin-top: -20px;
  padding: 0;
  border-bottom: 0;
  background: none;
  font-weight: 500;
  font-size: 1.3rem;
}
#entrybody .today .section-heading .heading-bottom {
  order: 2;
  color: #21A8D0;
  font-weight: 700;
  font-size: 2.0rem;
  letter-spacing: .08em;
}
.asobou {
  text-align: center;
}
.today .section-button::after,
.category-section .section-button::after {
  background-image: url(../img/bg-dots.svg);
}
#entrybody .section-button a {
  display: block;
  margin-top: 0;
  padding: 12px 0;
  background: #120015;
  color: #FFF;
  text-decoration: none;
}
@media screen and (min-width:1024px) {
  .today .section-heading {
    border-bottom: 0;
  }
  .today .section-heading::before {
    display: none;
  }
  #entrybody .section-button a:hover {
    color: #FFF;
  }
}

/* category-section */
.category-section {
  margin-top: 40px;
}
.category-section .content-wrapper {
  padding: 0 20px;  
}
.category-section .section-heading {
  margin-top: 0;
}
.section-figure {
  position: relative;
  padding: 30px 0;
}
.category-section .content-wrapper.flex .section-figure {
  padding: 0 0 20px;
}
.section-figure::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 238px;
  height: 54px;
  background: url(../img/bg-dots.svg);
  content: "";
}
.section-figure::after {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: 238px;
  height: 54px;
  background: url(../../../assets/img/bg-dots-08.svg);
  content: "";
}
.flex .section-figure::before,
.flex .section-figure::after{
  display: none;
}
.section-figure .figure-img {
  position: relative;
  border: 2px solid #000;
}
.flex .section-figure .figure-img {
  position: relative;
  height: 0;
  padding-top: 56.2%;
  overflow: hidden;
}
.flex .section-figure .figure-img img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%);
}
.flex .section-text {
  margin-bottom: 30px;
}
.category-section h2.heading {
  font-weight: 500;
  font-size: 1.8rem;
}
.category-section p {
  margin-bottom: 0 !important;
  font-weight: 400;
}
.category-section p.fee {
  font-weight: 700;
}
.category-section p.note {
  margin-top: 1rem;
}
@media screen and (min-width:768px) {
  .category-section .container,
  .category-section .content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .category-section .content-wrapper {
    position: relative;
    min-height: 250px;
    padding: 0 20px 0 50%;
  }
  .category-section .content-wrapper.flex {
    position: relative;
    width: 100%;
    min-height: inherit;
    padding: 0 30px;
  }
  .category-section .section-heading {
    width: 100%;
  }
  .category-section .section-figure {
    max-width: 45%;
  }
  .category-section .content-wrapper .section-figure {
    position: absolute;
    top: 0;
    left: 20px;
    width: 42.5%;
    padding: 0;
  }
  .category-section .content-wrapper.flex .section-figure {
    position: static;
  }
  .category-section .section-text {
    width: 55%;
    padding: 30px 0 30px 5%;
  }
  .category-section .content-wrapper.flex .section-text {
    padding: 0 0 35px 5%;
  }
  .category-section .content-wrapper.flex .section-text .heading-center {
    margin-bottom: 1rem;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: left;
  }
}
@media screen and (min-width:1024px) {
  .category-section .section-figure {
    max-width: 500px;
  }
  .category-section .section-text {
    width: calc(100% - 500px);
    padding: 30px 0 30px 60px;
  }
  .category-section h2.heading {
    margin-bottom: 1rem;
    font-size: 2.0rem;
  }
  .category-section .content-wrapper.flex .section-text .heading-center {
    margin-bottom: 0;
    font-size: 1.8rem;
    line-height: 2;
  }
  .category-section .content-wrapper.flex .section-text .category-section p {
    line-height: 1.8;
  }
}

/*------------------------------
  sidebar
------------------------------*/

.sidebar .button {
	text-align: center;
}
.sidebar .button > div {
  position: relative;
  width: 295px;
  margin: 10px auto 20px;
  text-align: center;
}
.sidebar .button > div::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	content: "";
}
.sidebar .button .rental::before {
	background-color: #120015;
}
.sidebar .button .download::before {
	background-color: #fff;
}
.sidebar .button > div::after {
  position: absolute;
  top: 20px;
  left: 30px;
	z-index: -1;
  width: 300px;
  height: 54px;
  background: url(../img/bg-dots.svg);
  content: "";
}
.sidebar .button > div a {
  display: block;
  position: relative;
  z-index: 1;
	width: 295px;
	margin: 0 auto;
  padding: 12px 0;
  overflow: hidden;
  border: 2px solid #120015;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 1.6rem;
	letter-spacing: .05em;
}
.sidebar .button .rental {
	margin-bottom: 40px;
}
.sidebar .button .rental a {
	border: 0;
	background-color: transparent;
	color: #fff;
}
.sidebar .button .download a {
	text-indent: 1em;
}
.sidebar .button .download a::before {
  display: block;
  position: absolute;
  top: calc(50% - 10px);
  left: 50px;
  width: 16px;
  height: 18px;
  background: url(../../../assets/img/icon-file-blk.svg) center center / contain no-repeat;
  content: "";
}
.sidebar .button > div a::after {
  display: block;
  position: absolute;
  top: 0;
  left: -15px;
  z-index: -1;
  width: 0;
  height: 100%;
  background-color: #21a8c0;
  transform: skewX(25deg);
  transition: all .2s ease-in;
  content: "";
}
.sidebar .button .rental a span {
	position: relative;
	z-index: 1;
}
.sidebar .button .text {
  margin-top: 5px;
  font-size: 1.3rem;
}
.sidebar-button a::after {
  background-color: #21a8c0;
}
@media screen and (min-width:768px) {
	.sidebar .button > div a {
		padding: 14px 0;
	}
}
@media screen and (min-width:1024px) {
	.sidebar .button > div {
		width: 100%;
	}
	.sidebar .button .rental {
		margin-bottom: 35px;
	}
	.sidebar .button > div a {
    width: 100%;
		padding: 16px 0;
		font-size: 1.6rem;
	}
	.sidebar .button > div a:hover {
		opacity: 1;
		color: #fff;
	}
	.sidebar .button > div a:hover::after {
		width: 110%;
		transition: all .2s ease-in;
	}
	.sidebar .button .download a:hover::before {
		background-image: url(../../../assets/img/icon-file-wht.svg);
	}
	.sidebar .button .text {
		font-size: 1.6rem;
	}
	.sidebar-button.calendar {
		margin-top: 60px;
	}
}


/*------------------------------
  page
------------------------------*/

.entry-information a.entry {
  color: #21a8c0;
}
.entry-information a.entry::before {
	background-image: url(../../../assets/img/icon-entry-blu.svg);
}


/*------------------------------
  facility
------------------------------*/

.page-body .entrylead {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: .05em;
}
.page-body .section-hero + .entrylead {
  padding: 0;
}
dl.about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1080px;
  margin: 30px 20px;
  padding: 10px 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
dl.about dt {
  width: 90px;
  margin: 2px 0;
  padding-top: 2px;
  font-weight: 700;
  font-size: 1.1rem;
}
dl.about dd {
  width: calc(100% - 90px);
  margin: 2px 0;
  font-size: 1.3rem;
}
dl.about dd span {
  font-size: 1.1rem;
}
.page-body#entrybody .category-section {
  margin-top: 20px;
}
.category-section .content-wrapper h4:not([class]) {
  margin: 2rem 0 .5rem;
  font-weight: 700;
  font-size: 1.3rem;
}
table.list {
  width: 100%;
}
table.list th,
table.list td {
  padding: 5px 0;
  font-size: 1.2rem;
  text-align: left;
}
table.list th {
  padding-right: 10px;
  font-weight: 500;
  white-space: nowrap;
}
table.list .table-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#entrybody p.note {
  color: #6F6F6F;
  font-size: 1.0rem;
}
@media screen and (min-width:768px) {
  dl.about {
    max-width: 600px;
    margin: 40px auto 0;
    padding: 10px;
  }
  dl.about dt {
    width: 120px;
    font-size: 1.3rem;
  }
  dl.about dd {
    width: calc(100% - 120px);
    font-size: 1.5rem;
  }
}
@media screen and (min-width:1024px) {
  .page-body .entrylead {
    padding: 0;
    font-weight: 500;
    line-height: 2;
  }
  dl.about {
    margin-top: 60px;
    padding: 15px;
  }
  dl.about dt {
    width: 160px;
    font-size: 1.4rem;
  }
  dl.about dd {
    width: calc(100% - 160px);
    font-size: 1.6rem;
  }
  dl.about dd span {
    font-size: 1.3rem;
  }
}

/*------------------------------
  sitemap
------------------------------*/

.box-sitemap > ul.sitemap > li::before {
  background-color: #21a8c0;
}
