@charset "UTF-8";

.guide a {
	transition: all 0.25s;
}
.guide h4 {
	font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.4rem);
	margin-top: 40px;
	letter-spacing: 0.08em
}
.guide ol {
	list-style-type: decimal;
	padding-left: 20px;
}
.guide_header {
	border: none;
	text-align: center;
	font-size: clamp(1.375rem, 0.784rem + 2.95vw, 3rem);
	color: #585858;
	letter-spacing: 0.08em
}
.guide_header::after {
	content: none;
}

.flow_wrapper {
	background: #d2e7e1;
	padding: 24px;
	margin-bottom: 50px;
}
.flow_wrapper h3, .trouble_wrapper h3 {
	text-align: center;
	color: #2B9977;
	font-size: clamp(1.125rem, 0.88rem + 1.23vw, 1.8rem);
	letter-spacing: 0.06em
}
.flow_flex, .trouble_flex, .support_dial_wrapper, .support_dial_num, .reserve_flex, .reserve_tel_flex, .list_flex, .traffic_accident, .welcab_flex, .welcab_contents_flex, .welcab_lineup, .price_head, .welcab_img_wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.flow_flex a, .trouble_flex a {
	display: block;
	border-radius: 16px;
	text-align: center;
	padding: 18px;
	font-size: clamp(1.063rem, 0.959rem + 0.52vw, 1.35rem);
	font-weight: bold;
}
.flow_flex a:hover, .trouble_flex a:hover {
	text-decoration: none;
	opacity: 0.85;
}
.flow_flex a {
	width: 31%;
	background: #fff;
	border: 4px solid #2B9977;
	color: #2B9977;
	position: relative;
}
.flow_flex a:not(:last-child)::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid #2B9977;
	border-right: 0;
	position: absolute;
	right: -33px;
	top: calc(50% - 20px);
}
.flow_flex a img {
	display: block;
	height: 130px;
	margin: 0 auto 6px;
}
.trouble_flex a {
	width: 48%;
	background: #2B9977;
	color: #fff;
}
.trouble_flex a img {
	display: block;
	height: 150px;
	margin: 0 auto 8px;
}

.support_dial_wrapper {
	margin: 30px 0;
	border: 4px solid #999;
	border-radius: 10px;
	overflow: hidden;
	align-items: stretch;
}
.support_dial_head {
	background: #999;
	color: #fff;
	padding: 20px;
	width: 24%;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.support_dial_head h3 {
	margin: 0;
	font-size: clamp(1.125rem, 0.952rem + 0.86vw, 1.6rem)
}
.support_dial_num {
	width: 73%;
}
.support_dial_num p {
	margin: 0;
	line-height: 1.3;
}
.support_dial_num .num_365 {
	text-align: right;
	width: 10%;
}
.support_dial_num .free_img {
	width: 10%;
}
.support_dial_num .num_bold {
	width: 50%;
	font-size: clamp(1.5rem, 0.518rem + 4.91vw, 4.2rem);
	font-weight: bold;
	font-family: 'Yantramanav', sans-serif;
	color: #f9a021;
}
.support_dial_num .num_ext {
	width: 24%;
	font-size: 0.85em;
}
.trouble_dial_wrapper img {
	width: 36%;
	height: 140px;
	object-fit: cover
}
.trouble_dial_wrapper p {
	display: flex;
	align-items: center;
	width: 38%;
	margin: 0
}

.flow_head_img, .trouble_head, .insurance_head {
	height: 370px;
	background-size: cover;
	background-position: center center;
}
#reserve_head {
	background-image: url(/assets/images/guide/reserve_head.jpg);
}
#departure_head {
	background-image: url(/assets/images/guide/departure_head.jpg);
}
#arrival_head {
	background-image: url(/assets/images/guide/arrival_head.jpg);
}
.trouble_head {
	background-image: url(/assets/images/guide/trouble_head.jpg)
}
.insurance_head {
	background-image: url(/assets/images/guide/insurance_head.jpg)
}
.flow_h2 {
	text-align: center;
	color: #2B9977;
	font-size: clamp(1.125rem, 0.807rem + 1.59vw, 2rem);
	line-height: 2;
	border-bottom: 2px solid;
	margin: 0;
	letter-spacing: 0.08em
}
.flow_contents {
	border-left: 2px solid #2B9977;
	padding: 20px 0 80px 20px;
	margin-left: 20px;
}
.flow_regist_wrapper {
	background: #d2e7e1;
	padding: 16px;
	margin-bottom: 20px;
}
.flow_regist_wrapper p {
	margin: 0;
}
.flow_regist_wrapper ul, .insurance_list, .welcab_user ul, .welcab_inner_list {
	list-style-type: disc;
	padding-left: 20px;
}
.flow_regist_button {
	display: inline-block;
	background: #fff;
	color: #2B9977;
	font-weight: bold;
	line-height: 1;
	padding: 12px;
	margin: 10px 0;
	border: 2px solid;
	border-radius: 10px;
}
.flow_regist_button:hover {
	text-decoration: none !important;
	color: #f9a021;
}

.reserve_flex {
	align-items: stretch;
}
.reserve_inner {
	width: 32%;
	background: #eee;
	text-align: center;
	padding: 14px;
}
.reserve_inner img {
	height: 70px;
}
.reserve_inner h5 {
	font-weight: normal;
	margin: 8px 0 0 0;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem)
}
.reserve_tel_flex {
	justify-content: center;
}
.reserve_tel_flex img {
	margin-right: 18px;
}
.reserve_tel_txt {
	text-align: left;
}
.reserve_tel_txt p {
	margin: 0;
	font-size: 0.8em;
	line-height: 1.2;
	color: #777;
}
.reserve_tel_txt .reserve_tel_num {
	font-size: 1.2em;
	font-family: 'Yantramanav', sans-serif;
	color: #f9a021;
	background-image: url(/assets/images/navidial.jpg);
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 35px;
	line-height: 1;
	margin: 3px 0;
}

.list_flex {
	align-items: flex-start;
	justify-content: flex-start;
}
.list_flex ul {
	margin-left: 20px;
	list-style-type: disc;
	padding-left: 20px;
	font-size: 0.85em;
	margin-bottom: 12px;
}
.list_flex ul .num_ext {
	font-size: 0.8em;
	margin: 0 4px;
}

.traffic_accident {
	align-items: stretch;
}
.traffic_accident p {
	display: flex;
	background: #2B9977;
	color: #fff;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
	padding: 20px;
	border-radius: 12px;
	width: 18%;
	text-align: center;
	justify-content: center;
	align-items: center;
	position: relative;
}
.traffic_accident p:not(:last-child)::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #2B9977;
	position: absolute;
	right: -20px;
	top: calc(50% - 12px);
}
.traffic_accident_ext {
	color: #e24e5c;
	margin: 12px 0;
}
.traffic_accident_ext::before {
	content: '※';
	margin-right: 4px;
}
ol li .support_dial_wrapper {
	margin: 0 0 20px 0;
}
ol li .support_dial_head {
	width: 22%;
}
ol li .support_dial_num {
	width: 76%;
}
.noc_table {
	margin-top: 6px
}
.noc_table, .insurance_table {
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
}
.noc_table td, .insurance_table th, .insurance_table td {
	border-right: 1px solid #ddd;
}
.insurance_table th a, .noc_table .noc_class a {
	margin-right: 4px;
	font-size: inherit
}
.td_center {
	text-align: center;
}
.noc_table .td_center {
	width: 20%;
}
.noc_table th {
	border-right: 1px solid #ddd;
	text-align: center;
	background: #ececec;
}
.noc_table_total td {
	color: #e24e5c;
	font-weight: bold;
	background: #fdf3f3
}
.insurance_table th {
	text-align: center;
	background: #ececec;
}
.insurance_table td {
	text-align: center;
}
.insurance_table_head {
	background: #fef3e4;
}
.insurance_box {
	background: #d2e7e1;
	padding: 20px;
	border-radius: 20px;
}
.insurance_box h3 {
	text-align: center;
	color: #2b9977;
}
.insurance_table .insurance_innertable_head {
	background: #fafafa;
	font-size: 85%;
	padding: 8px;
	border-right-color: #f0f0f0;
	line-height: 1.3;
}
.insurance_table .insurance_innertable_head a {
	margin-right: 3px;
}
.border_botted {
	border-bottom-style: dotted
}
.included {
	font-size: clamp(0.625rem, 0.561rem + 0.32vw, 0.8rem);
	margin: 0;
	line-height: 1;
	text-align: right;
	color: #777;
}
.insurance_box .insurance_table {
	margin: 5px 0;
}
.insurance_box .insurance_table th {
	width: 70%;
}
.insurance_box .insurance_table td {
	background: #fff;
}
.insurance_list li {
	font-size: 0.9em;
}
.insurance_list li a {
	font-size: inherit;
}
.ng_list {
	background: #fef3e4;
	list-style-type: disc;
	padding: 30px 30px 30px 50px;
	margin: 0.75em 0;
	border-radius: 14px;
}
.ng_list_title {
	list-style: none;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	margin-left: -1rem;
	margin-bottom: 0.5rem;
	&::before {
		content: '■'
	}
}
.trouble_flex {
	margin-bottom: 80px;
}

.welcab_flex {
	margin-bottom: 80px;
}
.welcab_flex a {
	display: block;
	width: 23%;
	text-align: center;
	padding: 180px 12px 12px 12px;
	border-radius: 16px;
	box-shadow: 0 0 5px rgba(0,0,0,0.25);
	color: #2b9977;
	line-height: 1.3;
	font-size: clamp(0.875rem, 0.757rem + 0.59vw, 1.2rem);
	background-size: 75% auto;
	background-repeat: no-repeat;
	background-position: center top 30px;
	transition: all 0.3s;
}
.welcab_flex a:hover {
	text-decoration: none;
	color: #f9a021;
	opacity: 0.85;
}
#welcab_st {
	background-image: url(../../assets/images/car/st01.jpg);
}
#welcab_cr {
	background-image: url(../../assets/images/car/cr01.jpg);
}
#welcab_dr {
	background-image: url(../../assets/images/car/dr01.jpg);
}
#welcab_sp {
	background-image: url(../../assets/images/car/sp01.jpg);
}
.welcab_contents_flex, .welcab_lineup {
	align-items: flex-start;
}
.welcab_contents_img {
	width: 32%;
}
.welcab_contents_right {
	width: 62%;
}
.welcab_contents_right h3 {
	color: #2b9977;
	font-size: clamp(1.125rem, 0.807rem + 1.59vw, 2rem);
	letter-spacing: 0.08em
}
.welcab_user {
	background: #f4f4f4;
	padding: 14px;
	border-radius: 6px;
	margin-bottom: 40px;
}
.welcab_user h5 {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	letter-spacing: 0.06em
}
.welcab_lineup {
	justify-content: flex-start;
}
.welcab_user li {
	font-size: 0.85em;
}
.welcab_inner {
	width: 30%;
	margin-bottom: 30px;
	margin-right: 3%;
}
.welcab_inner h4 {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	letter-spacing: 0.06em
}
.welcab_inner h4 a {
	display: block;
	border: 2px solid;
	border-radius: 6px;
	padding: 4px;
	margin-left: 4px;
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem)
}
.welcab_inner h4 a:hover {
	text-decoration: none;
	background: #2980b9;
	border-color: #2980b9;
	color: #fff;
}
.welcab_inner img {
	height: 220px;
	width: 90%;
	display: block;
	margin: 0 auto 12px;
	object-fit: contain;
}
.welcab_inner p, .welcab_inner_list li {
	font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.9rem)
}
.welcab_contents:not(:last-child) {
	border-bottom: 1px solid #dedede;
	margin-bottom: 70px;
	padding-bottom: 70px;
}

.guide_faq {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2B9977;
	border: 4px solid;
	border-radius: 20px;
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
	font-weight: bold;
	padding: 20px;
	margin-bottom: 70px;
}
.page .guide_faq:hover {
	color: #f9a021;
	text-decoration: none;
}
.guide_faq i {
	margin-right: 8px;
}

.price_head h3 {
	display: flex;
	align-items: center;
	color: #2B9977;
	font-size: clamp(1rem, 0.636rem + 1.82vw, 2rem);
	margin: 0;
}
.price_head h3 img {
	width: 170px;
	margin-right: 12px;
}
.price_head h3 span {
	font-size: 54%;
}
.price_head a {
	display: inline-block;
	color: #2B9977;
	border: 2px solid;
	border-radius: 14px;
	padding: 16px;
	font-weight: bold;
	font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.9rem);
	line-height: 1;
	transition: all 0.3s;
}
.page .price_head a:hover {
	text-decoration: none;
	background: #2B9977;
	color: #fff;
	border-color: #2B9977;
}
.price_table {
	border-top: 1px solid #eee;
	border-left: 1px solid #eee;
	margin: 12px 0;
}
.price_table tr {
	border-color: #eee;
}
.price_table th, .price_table td {
	border-right: 1px solid #eee;
	line-height: 1.3;
	font-size: clamp(0.7rem, 0.664rem + 0.18vw, 0.8rem);
	text-align: center;
	padding: clamp(0.25rem, 0.068rem + 0.91vw, 0.75rem)
}
.price_table th {
	background: #f3f3f3;
}
.price_table .td_class {
	white-space: nowrap;
}
@media only screen and (min-width: 1140px) {
	.price_table .td_price {
		font-size: 0.94em;
		white-space: nowrap;
	}	
}
.vertical_th {
	width: 4%;
}
.vertical_td {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: clamp(0.7rem, 0.664rem + 0.18vw, 0.8rem)
}
.price_wrapper:not(:last-child) {
	border-bottom: 1px solid #eee;
	padding-bottom: 70px;
	margin-bottom: 70px;
}

.table_tab {
	display: inline-block;
	background: #eee;
	padding: 14px;
	border-radius: 10px;
	line-height: 1;
	color: #888;
	margin: 20px 10px 0 0;
}
input[name="table_tab01"]:checked + label, input[name="table_tab02"]:checked + label {
	background: #2B9977;
	color: #fff;
}

.tab_contents {
	display: none;
}
#table01:checked ~ #table01_contents, #table02:checked ~ #table02_contents, #table03:checked ~ #table03_contents, #table04:checked ~ #table04_contents {
	display: table;
}
.price_table .special_td {
	font-size: 1em;
	padding: 1.3em;
}
.option_h4 {
	margin-top: 40px;
}
.option_table th, .option_table td {
	font-size: clamp(0.8rem, 0.764rem + 0.18vw, 0.9rem)
}
.option_table a {
	font-size: 0.9rem
}
.option_table td.diagonal {
	background: linear-gradient(to top left, #fff calc(50% - 1px), #eee , #fff calc(50% + 1px) );
}
.welcab_img_wrapper {
	margin-bottom: 16px;
}
.welcab_img_wrapper img {
	width: 31%;
	height: auto;
}
.width_50 {
	width: 50%;
}
.option_txt {
	margin-top: 10px;
}
.option_caution {
	font-size: 85%;
}
.flow_inner_flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.flow_inner_flex img {
	width: 24%;
	height: 160px;
	display: block;
	object-fit: cover;
	object-position: center center;
}
.flow_inner_right {
	width: 74%;
}
#wheelchair_max {
	background: #f6f6f6;
	padding: 32px;
}
#wheelchair_max h4 {
	margin-bottom: 8px;
}
#wheelchair_max p {
	margin: 0;
}
#wheelchair_max img {
	margin-top: 6px;
}