@charset "utf-8";

/*----------------------------------------------------
	共通 
-----------------------------------------------------*/
/*css変数定義*/
:root {
  --bk: #3A3A3A;/*黒*/
  --gray: #f5f5f5;/*グレー*/
  --darkgray: #CCCCCC;/*グレー*/
  --red: #B80E0B;/*赤*/
/*  --pink: #EC7190;ピンク*/
  --pink: #D579AB;/*ピンク*/
  --blue: #addef8;/*青*/
  --lblue: #EFF8FE;/*水色*/
  --green: #E3EEC4;/*緑*/
  --lgreen: #F7FAF0;/*黄緑色*/
}

.red{
	color: var(--red);
}
.pink{
	color: var(--pink);
}
.blue{
	color: var(--blue);
}
.green{
	color: var(--green);
}

.fs-18 {
    font-size: 18px;    
}
.fs-20 {
    font-size: 20px;    
}
.fs-24 {
    font-size: 24px;    
}
.fs-26 {
    font-size: 26px;    
}

/*-------------------------*
	mv
--------------------------*/
/*ロゴ*/
.wrap-logo{
	display: block;
	margin: 0px 30px 20px;
}
.wrap-logo img{
	width: 100%;
	max-width: 500px;
}

/*説明文*/
.row-concept{
	width: 100%;
	max-width: 960px;
	display: flex;
	padding: 0 20px;
	align-items: center;
}
.col-conceptimg{
	width: 100%;
	max-width: 100px;
}
.col-concepttxt{
	width: calc(100% - 100px) ;
	padding-left: 30px;
}

@media(max-width:768px) {
	/*説明文*/
    .row-concept{
        margin:0 auto 50px;
    }
    .col-conceptimg{
        width: 100%;
        max-width: 80px;
        margin: 0 auto;
        text-align: center;
    }
    .col-conceptimg img{
        width: 100%;
        max-width: 100px;
    }
    .col-concepttxt{
        width: 100%;
        padding-left: 20px;
        text-align: center;
    }
    .col-concepttxt p{
        font-size: 14px;
        text-align: left;
    }
}

/*-------------------------*
	アカウント登録の詳細
--------------------------*/
.how-to-guide a{
	position: relative;
	display:block;
	border-radius: 100px;
	font-weight: bold;
	background: #8fc31f;
	color: #fff;
	max-width: 400px;
	margin:auto;
	padding: 20px 2em 20px 2em;
}
.how-to-guide a:hover{
    background: #6f9818;
    text-decoration: none;
}
.how-to-guide a i{
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translate(0px, -50%);
}
.wrap-btn {
    width: 100% !important;
    padding: 0!important;
}
@media(max-width:768px) {
.how-to-guide a{
	max-width: 100%;
	margin:auto;
	padding: 15px 2em 15px 2em;
    font-size: 3.8vw
}
}

/*-------------------------*
	アプリ予約
--------------------------*/
#app-use{
	background-color: transparent;
}
.dl-reservestep dt span {
    color: #212529;
}
.dl-reservestep dt {
    border: solid 2px #212529;
}
.ol-appstep li:before {
    background: #212529;
	top: 3px;
}
.ol-appstep li + li{
    margin-top: 0;
}

/*-------------------------*
	電話予約
--------------------------*/
.section-body + .section-body{
	margin-top: 80px;
}

/*全体*/
.howto{
	padding: 0 0 60px;
	background-color: transparent;
}
.howto .container{
	padding-left: 0;
	padding-right: 0;
}
/*見出しタイトル*/
.title-howto{
	border: 1px solid #212529;
	background: #fff;
	border-radius: 2px;
	padding: 15px 15px;
	text-align: center;
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*お問い合わせ*/
.contact-intro{
	text-align: center;
}
.contact-intro p + p{
	margin-top: 40px;
}
.tel-text b{
	display: block;
	font-size: 40px;
	font-weight: 900;
}
.tel-text span {
    color:
}
@media(max-width:768px) {
.contact-intro p {
    text-align: left;
}
}

/*01以下*/
.howto .section-body{
	counter-reset: renban;
}
.howto .section-body .box-flow .title-howto:before {
    counter-increment: renban;
    content: "0"counter(renban) ;
    font-size: 30px;
    margin-right: 15px;
}
.box-flow{
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.box-flow p{
	font-size: 16px;
	padding: 0 10px;
	margin: 0;
}
.box-appdownload{
	text-align: center;
	margin-top: 30px;
}
.box-appdownload a,
.box-appdownload button{
	display: block;
	background: #333;
	color: #fff;
	text-align: center;
	padding: 15px;
	width: 100%;
	max-width: 360px;
	margin:0 auto;
	border-radius: 10px;
	font-weight: 700;
	position: relative;
	cursor: pointer;
}
.box-appdownload a:after,
.box-appdownload button:after{
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0, -50%);
    content: "\f0da";
    font-size: 16px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    z-index: 2;
}
.box-appdownload a:hover,
.box-appdownload button:hover{
	text-decoration: none;
	opacity: 0.5;
}
.box-flow + .box-flow{
	margin-top: 40px;
}
.title-flow{
	display: flex;
	align-items: center;
	justify-content: left;
	background: var(--white);
	border-radius: 5px;
	padding: 11px 35px;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}
.title-flow__sub{
	font-size: 16px;
	margin-left: 10px;
}

/*連番*/
.tel-flow__section-body{
	counter-reset: renban;
}
.title-flow:before {
    counter-increment: renban;
    content: "0" counter(renban) ".";
    font-size: 24px;
    margin-right: 25px;
	font-weight: 900;
}
/*各テキスト全体*/
.tel-flow__text{
	padding: 0 50px;
}

/*情報*/
.reservation-info {
    font-weight: bold;
    font-size: 18px;
}

/*テキスト*/
.tel-flow__item p{
	font-size: 18px;
}

@media(max-width:768px) {
	.title-flow{
		padding: 11px 15px;
	}
	.title-flow:before {
		margin-right: 15px;
	}
	.title-flow__sub{
		font-size: 14px;
		margin-left: 0;
	}
	/*各テキスト全体*/
	.tel-flow__text{
		padding: 0 15px;
	}
}
.box-flow{
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.box-flow p{
	font-size: 16px;
	padding: 0 10px;
	margin: 0;
}
.box-flow + .box-flow{
	margin-top: 40px;
}
.title-mid{
	font-size: 16px;
	font-weight: 900;
	text-align: left;
	position: relative;
	padding-left: 30px;
}
.row-flow,
.row-howto{
	counter-reset: renban;
}
.row-flow .col-flow .title-mid:before,
.row-howto .col-howto .wrap-howto .title-mid:before {
    counter-increment: renban;
    content: counter(renban) "";
    background: var(--bk);
    color: #fff;
    display: flex;
    width: 20px;
    height: 20px;
    font-size: 14px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 100px;
}
.row-flow{
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
}
.col-flow{
	width: 33%;
	padding: 20px 20px;
	text-align: center;
}

.text-line{
	border-bottom: 1px solid #212529;
	display: inline;
}


/*20241015追記 アプリで予約*/
.wrap-app-reservation .col-flow{
	padding: 20px 20px 30px;
}

.wrap-app-reservation .text-flow{
	padding-top: 10px;
}

.text-flow p{
	font-size: 14px;
	text-align: center;
}
.text-flow p + p{
	margin-top: 10px;
}
.text-flow p b{
	display: block;
}
.text-flow p small{
	display: block;
}
.label-guidance-num{
	display: inline-flex;
	border:1px solid #212529;
	width: 20px;
	height: 20px;
	justify-content: center;
	align-items: center;
	background: #fff;
}
.text-tel-support{
	margin-top: 10px;
	padding: 20px 10px 0;
}
.text-tel-support p{
	font-size: 14px;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .col-flow {
        width: 48%;
    }
}

@media(max-width:768px) {
	.title-mid{
		font-size: 16px;
	}
	.row-flow{
		display: block;
	}
	.col-flow{
		width: 100%;/*sp時、1列*/
		padding: 20px 20px;
	}
}



/*----------------------------------------------------
	WEBアプリ予約方法
-----------------------------------------------------*/

.web-flow__section-body{
	counter-reset: renban;
	max-width: 760px;
    margin: auto;
}

@media(max-width:768px) {
	.title-mid{
		font-size: 16px;
	}
	.row-flow{
		display: block;
	}
	.col-flow{
		width: 100%;/*sp時、1列*/
		padding: 20px 20px;
	}
}



.row-howto{
	counter-reset: renban;
}
.row-howto .col-howto .title-flow:before {
    counter-increment: renban;
    content: counter(renban) "";
    background: #212529;
    color: #fff;
    display: flex;
    width: 20px;
    height: 20px;
    font-size: 10px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 100px;
}
.row-howto{
	display: flex;
	flex-wrap: wrap;
}
.col-howto{
	width: 50%;
	padding: 20px 20px;
	text-align: center;
}

.text-flow p{
	font-size: 14px;
	text-align: left;
}
.text-flow p + p{
	margin-top: 10px;
}
.text-flow p b{
	display: block;
}
.text-flow p small{
	display: block;
}
.label-guidance-num{
	display: inline-flex;
	border:1px solid #333;
	width: 20px;
	height: 20px;
	justify-content: center;
	align-items: center;
	background: #fff;
}
.text-tel-support{
	margin-top: 10px;
	padding: 20px 10px 0;
}
.text-tel-support p{
	font-size: 14px;
}

@media(max-width:786px) {
	.title-howto{
		font-size: 16px;
	}
	.row-howto{
		display: block;
	}
	.col-howto{
		width: 100%;/*sp時、1列*/
		padding: 20px 20px;
	}
}



/*料金　独自スタイル*/
.wrap-plan-price{
	max-width: 1200px;
}
.wrap-plan-price .row{
	justify-content: center;
}
.wrap-plan-price-inner{
	margin: 0 10px 30px;
}

/*見出し*/
.wrap-plan-price .title-list {
    background: #dddddd;
    padding: 10px 20px;
    border-radius: 15px;
	display: flex;
	align-items: center;
}
.wrap-plan-price .title-list dt {
    font-size: 30px;
    padding-right: 20px;
}
.wrap-plan-price .title-list dd {
    font-weight: bold;
}

/*料金*/
.wrap-plan-price .wrap-content{
	margin: 15px auto;
}
.wrap-plan-price .price-list {
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrap-plan-price .price-list dt {
    font-size: 30px;
    color: #fff;
    background: #EC7190;
    border-radius: 500px;
	padding: 10px;
	margin-right: 15px;
}
.wrap-plan-price .price-list dd {
    font-size: 50px;
	font-weight: bold;
}

.wrap-plan-price .pink{
	color: #EC7190;
}


.wrap-plan-price .wrap-content-attention {
	text-align: center;
}
.wrap-plan-price .wrap-content-attention .companion {
	font-size: 18px;
	margin-bottom: 5px;
}

.wrap-plan-price .wrap-content-attention.-special {
	text-align: left;
    display: flex;
}

.wrap-plan-price .wrap-content-attention.-special .wrap-left {
    min-width: fit-content;
}
.wrap-plan-price .wrap-content-attention.-special .wrap-right {
    margin-left: 0.5em;
    padding-left: 0.5em;
    border-left: solid 1px #000;
}

@media(max-width:1100px) {
	.wrap-plan-price{
		flex-wrap: wrap;
	}
	.wrap-plan-price-inner{
		max-width: 450px;
	}
	.wrap-plan-price .title-list dt{
		font-size: 24px;
	}
	.wrap-plan-price .title-list dd{
		font-size: 14px;
	}
	
/*	料金*/
	.wrap-plan-price .price-list dt{
		font-size: 20px;
	}
	.wrap-plan-price .price-list dd{
		font-size: 24px;
	}
}

@media(max-width:767px) {
	.wrap-plan-price .wrap-content-attention {
		flex-wrap: wrap;
	}
	.wrap-plan-price .wrap-content-attention .attention-text{
		text-align: left;
	}
	.wrap-plan-price .wrap-content-attention .companion {
		font-size: 16px;
	}

	.wrap-plan-price .wrap-content-attention .wrap-left {
		text-align: left;
	}
	.wrap-plan-price .wrap-content-attention.-special .wrap-right {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
	}
}


/*20260203 乗降地のFAQ(共通FAQのcss+調整)
------------------------------------------*/
#request-faq .card{
	border: none;
	max-width: 900px;
    margin: 0 auto;
}
#request-faq .num-label{
	background: none;
	font-size: 36px;
	width: auto;
	padding: 0;
	color: #000000;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-right: 20px;
}
#request-faq .card-header{
	border: none;
	background: none;
	border-radius: 0;
    padding: 0;
}
#request-faq .card-header button{
	position: relative;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: #fff;
	border: none;
	padding: 15px 40px 15px 15px;
	border-radius: 0;
	border-bottom: solid 1px #000;
	box-shadow: none;
}
#request-faq .card-header .faq-ttl{
	display: block;
	margin-left: 0;
	padding-left: 60px;
	font-weight: 400;
	padding-right: 0;
    font-size: 16px;
	color: #000;
}
#request-faq .card-header button:before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
	background: #000;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	width: 20px;
	height: 20px;
}
#request-faq .card-header button.collapsed:before{
	content: "\f078";
	background: #000;
	color: #fff;
}
#request-faq .card-header button:before{
	background: #D8DBDF;
	color: #000;
}

#request-faq .card-body p{
	font-size: 16px;
}
#request-faq .card-body{
	padding: 25px;
	padding: 15px;
}

/*ドットリスト*/
#request-faq.request-faq .dot-list li{
	position: relative;
	padding-left: 15px;
}

/*リストの「・」*/
#request-faq.request-faq .dot-list li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

@media(max-width:768px) {
	#request-faq .num-label{
		margin-right: 30px;
		left: 12px;
	}
	#request-faq .card-header button:before{
		width: 20px;
		height: 20px;
		right: 10px;
		font-size: 10px;
	}
}

/*ボタン*/
.btn-box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 40px auto;
}
.btn-wrap{
	width: 100%;
	max-width: 375px;
}
.register__btn-wrap{
	margin: 30px auto 20px;
}
.register__btn-wrap .btn-design{
	padding: 27px 40px 27px 30px;
	font-size: 20px;
}
.btn-design {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	border-radius: 5px;
	background-color: var(--red);
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding: 18px 40px 18px 30px;
	transition: opacity 0.3s ease;
	text-decoration: none;
	margin: 0 auto;
}
.btn-off {
    background-color: var(--darkgray) !important;
    border-color: var(--darkgray) !important;
    pointer-events: none;
}
.btn-design:hover {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
}
.btn-design::before{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 16px;
}
.btn-design.-new-tab::before {
  content: "\f24d";
  right: 1em;
}
@media (max-width: 767px) {
	.btn-design {
		font-size: 16px;
	}
	.register__btn-wrap .btn-design{
		padding: 17px 30px;
		font-size: 18px;
	}
}

#News {
    margin-top: 25px;
}

/*車のサイズ調整（オリジナルはsibuya/style.css）*/
.on-car{
	position: absolute;
	transform: translate(-50%, 0);
	bottom: 5%;
	left: 50%;
	width: 100%;
	display: block;
	text-align: center;
	z-index: 2;
	max-width: 300px!important;
}
