@charset "utf-8";
/* CSS Document */
.mainTitle{
  background: url("../img/service_mv_img.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.anchorLink{
	margin-top: -0.94rem;
	margin-bottom: 3.44rem;
}

section#taxi,
section#bus{
	border-bottom: 1px solid var(--bgray);
	padding-bottom: 120px;
}

.serviceLead{
	margin: 3.06rem 2.63rem 5.32rem 1.94rem;
}
.serviceLead .sectionHead{
	margin-bottom: 0;
	width: 45.65vw;
	max-width: 639px;
}
.serviceLead .sectionHead p{
	line-height: 2;
}
.serviceLead ul{
	width: 30.15vw;
	max-width: 422px;
}
.serviceLead ul li{
	background: var(--wh);
	border-radius: 10px;
	display: grid;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	padding: 0.9rem;
	text-align: center;
	min-height: 57px;
	width: 100%;
}
.serviceLead ul li + li{
	margin-top: 0.44rem;
}

.serviceContent{
	border-radius: 10px;
  background: var(--wh);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
	width: 85.85vw;
	max-width: 1160px;
	margin: 0 auto 4.19rem;
}
.serviceContent .imgMain{
	border-top-left-radius: 10px;
	overflow: hidden;
	width: 51.2%;
	max-width: 593px;
  flex-shrink: 0;
}
.serviceContent .imgMain img{
	height: 100%;
	object-fit: cover;
}
.serviceContent .txts{
	padding: 3.38rem 3.19rem 1.625rem 2.81rem;
	width: 48.8%;
}
#taxi .serviceContent:nth-of-type(6) .txts{
	padding-right: 1.94rem;
}
.serviceContent .txts p:not(.capacity){
	font-size: var(--font-14);
	line-height: 2;
}
.serviceContent .txts .btnWrap{
	margin-top: 2.94rem;
}
.serviceContent .capacity{
	background: var(--yellow);
	border-radius: 5px;
	color: var(--red);
	display: flex;
	align-items: baseline;
	justify-content: center;
	font-size: var(--font-24);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1.75rem;
	text-align: center;
	min-height: 47px;
	width: 16vw;
	max-width: 224px;
}
.serviceContent .capacity span{
	font-size: var(--font-36);
	font-weight: 900;
	margin-right: 0.05em;
}
.serviceContent .txts ul{
	width: 100%;
	max-width: 218px;
}
.serviceContent .txts ul li + li{
	margin-top: 0.375rem;
}
.serviceContent .txts ul li:nth-child(3){
	margin-top: 1.32rem;
}
.serviceContent .txts ul li:nth-child(4){
	margin-top: 0.625rem;
}
.serviceContent .txts ul li span{
	background: var(--LLgray);
	border-radius: 5px;
	display: block;
	font-weight: 500;
	margin: 0 auto;
	text-align: center;
	min-height: 1.875rem;
	max-width: 158px;
}
.serviceContent .txts ul li .fontS{
	font-size: var(--font-14);
	line-height: 1.375;
	padding: 0.48rem 1.25rem;
	text-align: left;
}
.serviceContent .txts ul li .btn{
	width: 100%;
}
.serviceContent .txts > div{
	margin-bottom: 2rem;
}
.serviceContent .h3Tit span{
	display: block;
	font-size: var(--font-18);
}
#other .serviceContent .h3Tit{
	margin-bottom: 1.57rem;
}
.serviceContent .contentDetail{
   display: none;
}
.serviceContent .contentDetail .pcFlex{
	gap: 4.56rem;
	padding: 2.75rem 3.19rem 4.69rem;
	position: relative;
 
}
.serviceContent .imgs{
	width: 100%;
	max-width: 374px;
}
.serviceContent .imgs figure{
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 1.32rem;
}
.serviceContent .imgs ul{
	margin: 3.94rem 0 0 12.3rem;
	width: 9.625rem;
}
.serviceContent .imgs ul li{
	font-size: var(--font-14);
}
.serviceContent .detail{
	margin: 0 auto;
	max-width: 595px;
}
.serviceContent h4{
	border-bottom: 1px solid var(--base);
	color: var(--red);
	font-size: var(--font-20);
	font-weight: 500;
	padding-left: 1.69rem;
	padding-bottom: 0.375rem;
	position: relative;
}
.serviceContent h4::before{
	content: "";
	background: var(--red);
	border-radius: calc(infinity * 1px);
	display: inline-block;
	width: 19px;
	height: 19px;
	position: absolute;
	left: 0;
	top: 0.32rem;
}
.serviceContent h4:not(:first-of-type){
	margin-top: 3.125rem;
}
.serviceContent h4 .note{
	color: var(--base);
	font-size: var(--font-14);
	font-weight: 400;
}

.seatingChart{
	margin-top: 1.25rem;
}
.seatingChart p{
	font-size: var(--font-14);
}
.seatingChart figure{
	margin: 0 auto;
	padding: 0.375rem 0 0.5rem;
	width: 100%;
}
.contentDetail.pcFlex .seatingChart figure{
	padding-left: 2.41vw;
	padding-right: 2.41vw;
}
.seatingChart .btnWrap{
	margin-top: 1rem;
}

.equipment{
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 1.875rem;
	margin-top: 2.03rem;
}
.equipment li{
	font-size: var(--font-11);
	line-height: 1.27;
	text-align: center;
	max-width: 92px;
}
.equipment li img{
	margin-bottom: 0.5rem;
}

.btnMore{
	display: inline-block;
	font-size: 1rem;
	padding-right: 3.75rem;
	position: relative;
}
.btnMore::before{
	content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 22.5px);
  width: 45px;
  height: 45px;
	background: var(--yellow);
  border-radius: 999px;
}
.btnMore::after{
	content: "＋";
	color: var(--red);
  display: block;
	font-size: var(--font-28);
	font-weight: 900;
	line-height: 1;
  position: absolute;
  right: 8px;
  top: calc(50% - 15px);
  width: 28px;
  height: 28px;
}
.btnClose{
	position: absolute;
	bottom: -1.4rem;
	left: calc(50% - 22.5px);
}
.btnClose a{
	background: var(--yellow);
  border-radius: 999px;
	display: block;
	width: 45px;
  height: 45px;
	position: relative;
}
.btnClose a::after{
	content: "×";
	color: var(--red);
  display: block;
	font-size: var(--font-36);
	font-weight: 900;
	line-height: 1;
  position: absolute;
  right: 9px;
  top: calc(50% - 20px);
  width: 28px;
  height: 28px;
	text-align: center;
}

.aboutDownload{
	text-align: center;
}
.aboutDownload h4{
	font-size: var(--font-26);
	font-weight: 500;
	margin-bottom: 0.5rem;
}
.aboutDownload .btnWrap > a,
.aboutDownload .btnWrap li{
	margin-top: 2.32rem;
}
.aboutDownload .btn{
	font-size: var(--font-18);
	margin: 0 auto;
	max-width: 471px;
	min-height: 89px;
}

.serviceContent.priceBox{
  padding: 4.375rem;
}

.serviceContent.priceBox h4{
  font-size: var(--font-26);
  color: var(--base);
  border-bottom: none;
  margin-bottom: 1.1em;
  padding-left: 0;
}

.serviceContent.priceBox h4::before{
  display:none;
}
.serviceContent.priceBox h4 span{
  margin-left: 5em
}
.serviceContent.priceBox dl{
  margin-bottom: 2rem;
}
.priceList dt{
  font-size: var(--font-20);
  margin-bottom: 1.1em;
  font-weight: 500;
  letter-spacing: .05em
}
.serviceContent.priceBox dd ul{
  gap:3.75rem
}
.serviceContent.priceBox dd li,
.serviceContent.priceBox ul.priceType li{
  padding: 1em .6em;
  border-bottom: 1px solid var(--bgray);
display: flex;
  gap:3.75rem
}


.serviceContent.priceBox span,
.serviceContent.priceBox td{
  font-size: var(--font-14);
}

.serviceContent.priceBox span.title{
  font-size: var(--font-20);
}

.serviceContent.priceBox ul.priceType{
  
}

.serviceContent.priceBox ul.priceType .title{
  font-weight: 500
}

.serviceContent.priceBox table.priceList{
  width: 100%
}
.serviceContent.priceBox table.priceList tr td,
.serviceContent.priceBox table.priceList tr th{
  padding: 1em .6em;
  border-bottom: 1px solid var(--bgray);
}
.serviceContent.priceBox table.priceList tr th{
  font-size: var(--font-14);
}
.serviceContent.priceBox table.priceList thead{
  border-bottom: 2px solid var(--base);
}

.serviceContent.priceBox .note{
  font-size: var(--font-14);
  margin-top: 1em;
}




@media screen and (min-width: 769px) {
	.serviceContent .pcFlex:not(.contentLead) .imgMain{
		border-bottom-left-radius: 10px;
	}
	.serviceContent .txts .pcFlex div{
		margin-right: 1.7rem;
		width: 235px;
	}
  .serviceContent.priceBox dd li span,
.serviceContent.priceBox ul.priceType li span{
  display: inline-block
}
  
  .serviceContent.priceBox dd li span:first-child,
.serviceContent.priceBox ul.priceType li span:first-child,
.serviceContent.priceBox table.priceList tr td:first-child,
.serviceContent.priceBox table.priceList tr th:first-child{
  width: 28.5%
}
.serviceContent.priceBox dd li span:nth-child(2),
.serviceContent.priceBox ul.priceType li span:nth-child(2),
.serviceContent.priceBox table.priceList tr td:nth-child(2),
.serviceContent.priceBox table.priceList tr th:nth-child(2){
  width: 33.5%
}
}
@media screen and (max-width: 768px) {
	section#taxi,
	section#bus{
		padding-bottom: 60px;
	}
	.serviceLead{
		margin: 1.5rem 1rem 2.6rem;
	}
	.serviceLead .sectionHead{
		margin-bottom: 0;
		width: 100%;
	}
	.serviceLead ul{
		margin-top: 1.5rem;
		width: 100%;
	}
	.serviceContent .imgMain{
		width: 100%;
		max-width: 593px;
		flex-shrink: 0;
	}
	.serviceContent > .pcFlex > .imgMain{
		border-top-right-radius: 10px;
	}
	.serviceContent .txts{
		padding: 1.5rem 1rem;
		width: 100%;
	}
	.serviceContent .capacity{
		font-size: var(--font-18);
		margin-bottom: 0.875rem;
		width: 8em;
		min-height: 32px;
	}
	.serviceContent .capacity span{
		font-size: var(--font-28);
	}
	.serviceContent .imgs ul{
		margin: 1rem 0 2rem;
	}
	.serviceContent .contentDetail{
		padding: 1.5rem 1rem 4.69rem;
	}
	.serviceContent .txts ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem 1rem;
		margin-top: 1.2rem;
		max-width: 100%;
	}
	.serviceContent .txts ul li{
		margin-top: 0;
		width: calc((100% - 1rem) / 2);
	}
	.serviceContent .txts ul li + li{
		margin-top: 0;
	}
	.serviceContent .txts ul li .btn{
		padding-right: 2rem;
		padding-left: 1rem;
	}
	.serviceContent .txts ul li:nth-child(3),
	.serviceContent .txts ul li:nth-child(4){
		margin-top: 2rem;
	}
	.serviceContent .txts ul li:nth-child(3) a::before,
	.serviceContent .txts ul li:nth-child(4) a::before{
		right: 10px;
	}
	.serviceContent .txts ul li:nth-child(3) a::after,
	.serviceContent .txts ul li:nth-child(4) a::after{
		right: 15px;
	}
	#taxi .serviceContent:nth-of-type(6) .txts{
		padding-right: 1rem;
	}
	.serviceContent .txts ul li .fontS{
		padding-left: 0.6rem;
		padding-right: 0.6rem;
	}
	
	.equipment{
		gap: 0.8rem;
	}
	.equipment li{
		width: calc((100% - 2.4rem) / 4);
		max-width: 68px;
	}
	
	.btnMore::before{
		top: calc(50% - 18px);
		width: 36px;
		height: 36px;
	}
	.btnMore::after{
		font-size: var(--font-22);
		right: 0.4rem;
		top: calc(50% - 12px);
		width: 22px;
		height: 22px;
	}
	.btnClose{
		bottom: -1.4rem;
		left: calc(50% - 22.5px);
	}
	.btnClose a{
		width: 36px;
		height: 36px;
	}
	.btnClose a::after{
		font-size: var(--font-28);
		right: 0.45rem;
		top: calc(50% - 16px);
		width: 22px;
		height: 22px;
	}
  .serviceContent.priceBox {
  padding: 1rem;
}
  .serviceContent.priceBox span{
    display: block;
   
  }

  .serviceContent.priceBox dd li,
  .serviceContent.priceBox ul.priceType li{
    gap:1em
  }
  .serviceContent.priceBox ul.priceType li{
    flex-wrap: wrap;
  }
  .serviceContent.priceBox ul.priceType li .title{
    width: 100%
  }
  .serviceContent.priceBox h4 span{
    margin-left: 1em
  }
}