@charset "utf-8";
/* CSS Document */

@media only screen and (max-width: 599px) {
	p, li {
		line-height: 1.4;
	}
	.site-heder__inner, .site-header__sub-menu, .site-header__sub-inner {
		display: none;
	}
	.site-header__sub {
		align-items: center;
		width: 100%;
	}
	.site-header__logo img {
		height: 36px;
		width: auto;
		padding-left: 6px;
	}
	.site-header {
		padding-top: 0;
	}
	.site-header__menu--sp {
		display: block;
		background-color: #2B9977;
		padding: 12px 14px;
	}
	.site-header__menu a.site-header__sp-list::after {
		left: 0;
	}
	.site-header__sp-list a {
		padding: 16px;
		color: #fff;
		display: block;
	}
	.site-header__sp-list a::before {
		font-family: FontAwesome;
		content: "\f138";
		margin-right: 8px;
	}
	.site-header__sp--logged-in {
		padding: 16px;
		background-color: rgba(255, 255, 255, 0.85);
		margin: 16px;
	}
	.site-header__sp-user-name {
		font-weight: bold;
	}
	.site-header__sp-user-wrap {
		display: flex;
		justify-content: space-between;
	}
	.site-header__sp-logout {
		font-size: 12px;
	}
	.site-header__sp-second-level {
		display: flex;
		justify-content: space-between;
		margin-top: 8px;
	}
	.site-header__sp-second-level li {
		width: 49.6%;
		text-align: center;
	}
	.site-header__sp-second-level li a {
		display: block;
		background-color: #fff;
		padding: 8px;
	}
	.site-header__sp-wrap {
		display: none;
		position: absolute;
		top: 50px;
		width: 100%;
		background: #2B9977;
		left: 0;
	}
	.site-header__sp-wrap li {
		border-bottom: 1px solid #55ad92;
	}
	header .site-header__sp-nav {
		display: block;
		position: absolute;
		top: 30%;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
		text-align: left;
	}
	header .site-header__sp-nav li {
		margin: 0 auto;
		border-bottom: solid 1px #36c196;
	}
	header .site-header__sp-nav li:last-child {
		border: none;
	}
	header .site-header__sp-nav li a {
		display: block;
		color: #fff;
	}
	#nav_toggle {
		display: block;
		width: 26px;
		height: 26px;
		position: relative;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span {
		display: block;
		height: 3px;
		background: #fff;
		position: absolute;
		width: 100%;
		left: 0;
		transition: 0.5s ease-in-out;
	}
	#nav_toggle span:nth-child(1) {
		top: 0px;
	}
	#nav_toggle span:nth-child(2) {
		top: 10px;
	}
	#nav_toggle span:nth-child(3) {
		top: 20px;
	}
	.open #nav_toggle span:nth-child(1) {
		top: 10px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 10px;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	/*
	.steps__item.active:before {
		font-weight: bold;
		background-color: #FFDC53;
		color: #333;
		border: 1px solid #FFDC53;
	}
	.steps__item.finished:before {
		font-weight: bold;
		background-color: #2B9977;
		color: #fff;
		border: 1px solid #2B9977;
	}
	.steps__item:before {
		width: 15px;
		height: 15px;
		content: counter(step);
		counter-increment: step;
		line-height: 14px;
		border: 1px solid #7d7d7d;
		display: block;
		text-align: center;
		margin: 0 auto;
		border-radius: 50%;
		background-color: white;
		font-size: 6px;
		z-index: 2;
		position: relative;
	}
	.steps__item:after {
		width: 100%;
		height: 2px;
		content: '';
		position: absolute;
		background-color: #7d7d7d;
		top: 7px;
		left: -50%;
		z-index: 1;
	}
	.steps__item:first-child:after {
		content: none;
	}
	.steps__item.active::after {
		background-color: #FFDC53;
	}
	.steps__item.finished::after {
		background-color: #2B9977;
	}
	*/
	.fukushi_box {
		padding-bottom: 8px;
	}
	.fukushi_catch {
		font-size: 20px;
		margin-bottom: 16px;
	}
	.point_wrapper {
		display: block;
	}
	.point_box {
		width: 100%;
		padding: 12px;
	}
	.point_box img {
		height: 70px;
	}
	.point_box h3 {
		font-size: 16px;
		margin-bottom: 8px;
	}
	.content-area {
		padding: 24px 0;
	}
	#front_hero_wrapper {
		background-image: url(../../assets/images/hero_bg_sp.jpg);
		background-size: contain;
		background-position: top center;
		background-repeat: no-repeat;
	}
	#front_catch {
		margin: 45px 0;
	}
	#reserve_form .search-box h2 {
		font-size: 14px;
	}
	.search-box h3 {
		font-size: 0.95em;
		line-height: 1;
	}
	.type_tooltip_flex {
		margin-bottom: 8px;
	}
	label {
		font-size: 14px;
	}
	.search-box .car-class .search-box__list li, .car-list .search-box .car-class .search-box__list li {
		width: 48%;
	}
	.search-box .car-class .search-box__list li label, .car-list .search-box .car-class .search-box__list li label {
		margin-bottom: 10px;
	}
	.expander .expander-trigger {
		font-size: 13px;
	}
	.image-label input[type="checkbox"] + span {
		font-size: 12px;
	}
	.expander .expander-content {
		height: auto;
	}
	.site-footer ul {
		width: 92%;
		margin: 0 auto 12px;
	}
	.site-footer ul li {
		line-height: 1;
		margin-bottom: 6px;
	}
	.site-footer ul li:not(:last-child) {
		margin-right: 12px;
		padding-right: 12px;
	}
	.site-footer {
		padding: 16px 0;
		margin-top: 50px;
	}
	.steps__wrap {
		height: auto;
		flex-wrap: wrap;
		margin-bottom: 18px;
	}
	.steps__item {
		width: 33%;
		margin-bottom: 6px;
		line-height: 40px;
	}
	.steps__item:not(:last-child)::before, .steps__item:not(:last-child)::after {
		border-width: 20px 0 20px 1em;
		top: 0;
	}
	.steps__item:not(:last-child)::after {
		right: -1em;
	}
	.steps__item:not(:last-child)::before {
		right: -1.1em;
	}
	.search-box__list.item--detail .search-box__sub {
		display: block;
	}
	.search-box__list.item--detail li {
		width: 90%;
		margin-bottom: 4px;
	}
	.car-table {
		overflow-y: scroll;
		& colgroup {
			& .col__shop {
				width: 60px
			}
			& .col__car-class {
				width: 90px
			}
			& .col__car-type {
				width: 130px
			}
			& .col__car-info {
				width: 90px
			}
			& .col__price {
				width: 90px
			}
			& .col__option {
				width: 180px
			}
			& .col__btn {
				width: 40px
			}
		}
	}
	.car-table th {
		font-size: 10px;
		line-height: 1.2;
		padding: 4px 2px;
		font-weight: normal;
		border-left: 1px solid #e9e9e9;
	}
	.car-table .no-border-left {
		border-left: none;
	}
	.car-info_flex {
		font-size: 10px;
	}
	.car-info_flex .type_tooltip_window {
		width: 280px;
		padding: 8px;
	}
	.car-info .car-info_flex .type_tooltip_window {
		left: -80px;
	}
	.wheelchair-info .car-info_flex .type_tooltip_window {
		left: -200px;
		width: 360px;
	}
	.option .car-info_flex .type_tooltip_window {
		left: -320px;
		width: 360px;
	}
	.car-list .type_tooltip_window {
		bottom: 28px;
	}
	.car-table td {
		font-size: 10px;
		padding: 4px
	}
	.car-more .car-table .left_align_tab {
		text-align: left;
	}
	.car-table li {
		font-size: 10px;
	}
	.car-table__option li {
		padding: 3px;
		line-height: 1;
	}
	.page__header {
		padding-bottom: 6px;
		margin-bottom: 22px;
	}
	.welcab_flex a {
		width: 48%;
		margin-bottom: 12px;
		padding: 120px 8px 8px 8px;
	}
	.welcab_user h5 {
		margin-bottom: 4px;
	}
	.welcab_inner {
		width: auto;
		margin: 0 0 42px 0;
	}
	.welcab_inner img {
		height: auto;
		width: 60%;
	}
	.welcab_inner h4 {
		font-size: 14px;
	}
	.welcab_contents:not(:last-child) {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.price_head h3 img {
		width: 24%;
	}
	.price_head a {
		padding: 10px;
	}
	.table_tab {
		margin-top: 10px;
		padding: 12px;
	}
	#table01:checked ~ #table01_contents, #table02:checked ~ #table02_contents, #table03:checked ~ #table03_contents, #table04:checked ~ #table04_contents, #price02 .price_table, #price03 .price_table, .option_table {
		display: block;
		overflow-x: scroll;
		padding-bottom: 12px;
		white-space: nowrap;
	}
	.price_wrapper:not(:last-child) {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.option_table td a {
		font-size: 12px;
	}
	.option_table tr td:last-child {
		text-align: left;
	}
	.shop-list .search-box__list, .shop_list_head, .shop_list_flex, .shop_flex {
		display: block;
	}
	.shop-list .search-box__select, .shop_list_detail, .shop_detail_wrapper {
		width: auto;
	}
	.reservation-registration__inner {
		padding: 14px;
	}
	.reservation-registration__inner dd {
		font-size: 14px;
	}
	.reservation-registration__inner h2 .fa {
		font-size: 14px;
	}
	.shop_list_head h3 {
		margin: 0 0 8px 0;
	}
	.shop_list_head a {
		display: none;
	}
	.shop_list_img {
		width: 100%;
		height: 250px;
		margin-bottom: 6px;
	}
	.shop_list_flex .btn--search {
		display: block;
		width: auto;
		font-size: 12px;
		padding: 10px;
	}
	.shop_detail_head {
		font-size: 20px;
	}
	.shop_flex img {
		width: 100%;
		height: 270px;
	}
	.shop_detail_row h4 {
		font-size: 13px;
		white-space: nowrap;
		padding: 7px 10px 7px 0;
	}
	.shop_detail_row p {
		font-size: 13px;
		padding: 7px 0 7px 10px;
	}
	.shop_flex {
		margin-bottom: 20px;
	}
	.shop_map iframe {
		height: 240px;
	}
	.shop_news_wrapper {
		padding: 20px 0;
		margin: 20px 0;
	}
	.car-date__wrap, .car-date__box {
		display: block;
	}
	.car-date__box {
		margin: 0 0 12px 0;
	}
	.car-date__box h2 {
		font-size: 16px;
	}
	.date_enter-area {
		width: 44%;
	}
	.car-more .search-box__sub {
		justify-content: flex-start;
	}
	.btn-wrap--single {
		width: 60%;
		margin: 0 auto;
	}
	.car-date .btn--primary {
		width: 65%;
		line-height: 1.4;
	}
	.flow_wrapper {
		padding: 14px;
	}
	.flow_flex {
		display: block;
		& a:not(:last-child)::after {
			border-top: 16px solid #2B9977;
			border-bottom: 0;
			border-left: 14px solid transparent;
			border-right: 14px solid transparent;
			right: calc(50% - 14px);
			top: auto;
			bottom: -16px;
		}
	}
	.guide a {
		border-radius: 8px;
	}
	.flow_flex a, .trouble_flex a {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		padding: 12px;
		margin-bottom: 20px;
		text-align: center;
		&:last-child {
			margin-bottom: 0
		}
	}
	.flow_flex a img, .trouble_flex a img {
		width: 24%;
		height: auto;
		margin: 0 12px 0 0;
	}
	.trouble_flex {
		display: block;
		margin-bottom: 30px;
	}
	.guide_faq {
		padding: 14px;
		margin: 30px 0;
	}
	.support_dial_wrapper {
		display: block;
		margin-bottom: 0;
	}
	.support_dial_head, ol li .support_dial_head {
		width: 100%;
		padding: 10px;
		font-size: 10px;
	}
	.support_dial_head h3 br, ol li .support_dial_head h3 br {
		display: none;
	}
	.support_dial_num, ol li .support_dial_num {
		width: 100%;
		padding: 4px;
	}
	.support_dial_num .num_365, .support_dial_num .num_ext {
		font-size: 8px;
		text-align: left;
	}
	.trouble_dial_wrapper p {
		width: 100%;
		padding: 6px;
	}
	.trouble_dial_wrapper img {
		width: 100%
	}
	.flow_head_img, .trouble_head, .insurance_head {
		height: 130px;
	}
	.flow_contents {
		padding: 12px 0 50px 12px;
		margin-left: 12px;
	}
	.flow_regist_wrapper {
		padding: 12px;
	}
	.guide h4 {
		margin-top: 24px;
	}
	.reserve_flex {
		display: block;
	}
	.reserve_inner {
		width: 100%;
		margin-bottom: 6px;
	}
	.reserve_inner img {
		height: 50px;
	}
	.page__table th, .page__table td {
		padding: 12px;
	}
	.page__table th {
		width: 30%;
		line-height: 1.3
	}
	.noc_table th {
		line-height: 1.3
	}
	.page__block-title {
		padding: 14px;
		margin-bottom: 18px;
	}
	.privacy td {
		line-height: 1.4;
	}
	.agreement h3, .privacy h4, .privacy h3 {
		font-size: 16px;
	}
	.faq_box label {
		padding: 10px 40px 10px 10px;
	}
	.faq_box input:checked ~ div {
		padding: 12px 12px 10px 12px;
		margin-bottom: 24px;
	}
	.type_tooltip_window {
		top: 28px;
		left: -155px;
		width: 360px;
	}
	.type_tooltip_window p {
		white-space: normal;
	}
	.news_wrapper {
		padding: 20px;
	}
	.news_box {
		display: block;
		margin-bottom: 12px;
	}
	.news_box .news_date {
		width: auto;
	}
	.flow_inner_flex img {
		display: none;
	}
	.flow_inner_right {
		width: 100%;
	}
	.mypage .page__container {
		display: block;
	}
	.mypage .page__content, .mypage .page__sidebar {
		width: auto;
	}
	.check-registration h2 {
		font-size: 18px;
	}
	.option-total {
		font-size: 22px;
	}
	.car-table .ca-image,
	.car-table .ca-image-td,
	colgroup .col__image {
		display: none;
	}
	.btn--more a {
		font-size: 10px;
		padding: 4px;
		border-radius: 4px;
	}
	.car-about {
		padding: 30px 0;
	}
	.car-about h2 {
		font-size: 18px;
	}
	.car-about__inner, .car-about__seat, .car-about__option, .total-btn--separate ul, .option-list__inner {
		display: block;
	}
	.car-about__image, .car-about__text, .car-about__option-inner, .option-list__tax {
		width: auto;
	}
	.slick-slider .slick-track, .car-more__calendar-wrap {
		width: 100%;
	}
	.slick-next {
		right: 0;
	}
	.car-about__text dd {
		font-size: 14px;
	}
	.car-about__seat h3, .car-about__option h3 {
		width: auto;
		font-size: 18px;
		padding: 10px;
	}
	.car-about__seat-inner {
		width: auto;
		padding: 10px;
		justify-content: space-between;
	}
	.car-about__seat-size {
		width: 60%;
		padding: 0 10px;
		font-size: 14px;
	}
	.car-about__option-inner .tooltip-item {
		font-size: 12px;
		min-width: auto;
	}
	.car-about__add {
		display: block;
		padding: 10px;
	}
	.car-about__item {
		width: auto;
		margin-bottom: 12px;
		padding: 10px;
	}
	.car-about__item h3 {
		font-size: 15px;
	}
	.car-more__calendar-container {
		padding: 10px;
	}
	.car-more__calendar-arrow--left, .car-more__calendar-arrow--right {
		font-size: 14px;
	}
	.car-more .calendar-title {
		font-size: 14px;
	}
	.car-more__calendar-table th {
		font-size: 10px;
		padding: 4px;
	}
	.car-more__calendar-table td {
		padding: 4px;
		font-size: 13px;
	}
	.btn--back {
		min-width: 200px;
	}
	.car-more__calendar {
		padding-bottom: 30px;
	}
	.option-list__wrap {
		padding: 12px;
		margin-bottom: 20px;
	}
	.option-list__tax-exemption {
		border: none;
	}
	.option-list__tax {
		padding: 0;
	}
	.inner__title {
		font-size: 18px;
		padding: 10px;
		margin-bottom: 14px;
	}
	.option-list__inner li {
		height: auto;
	}
	.option-select select {
		line-height: 1;
	}
	.option-total, .option-total span, .total .total-price, .total .total-price span {
		font-size: 20px;
	}
	.content-block.comment, .content-block.total {
		padding: 14px;
	}
	.comment h2 {
		font-size: 18px;
	}
	.total h2 {
		font-size: 18px;
		padding: 12px;
	}
	.total__inner {
		padding: 10px;
	}
	.total__inner .total-cont__heading {
		margin: 0 10px 0 0;
		padding: 0;
		font-size: 14px;
		line-height: 1.4;
		width: 40%;
	}
	.total__inner dl dd {
		width: 60%;
	}
	.price--before {
		font-size: 14px;
	}
	.price--before p {
		font-size: 16px;
	}
	.total__inner .total-cont__body.option-add {
		display: block;
	}
	.total__inner .total-cont__inner {
		margin: 0;
		padding: 10px;
		font-size: 80%;
	}
	.total__inner .coupon {
		display: block;
		padding: 10px;
	}
	.total__inner .coupon dt, .total__inner .coupon .submit-holizontal, .btn-wrap--line li {
		width: auto;
	}
	.total-btn ul {
		margin-top: 30px;
		display: block;
	}
	.total-btn ul a {
		width: 200px;
	}
	.detail dt, .detail dd {
		padding: 6px 10px;
	}
	.detail dd {
		font-size: 14px;
	}
	.finish__wrap {
		width: 92%;
	}
	.finish__wrap .btn-wrap--line {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.finish__wrap .btn-wrap--line li {
		width: 49%;
	}
	.finish__wrap .btn-wrap--line li a {
		width: 100%;
		margin: 0;
	}
	.finish .fa {
		font-size: 18px;
	}
	.finish__inner h2 {
		font-size: 16px;
	}
	.btn-wrap--line {
		display: block;
	}
	.btn-wrap--line li a {
		width: 200px;
		margin-bottom: 6px;
	}
	.traffic_accident p {
		width: 30%;
		padding: 12px;
		margin-bottom: 8px;
		font-size: 12px;
	}
	.traffic_accident::after {
		content: '';
		display: block;
		width: 30%;
	}
	.traffic_accident p:not(:last-child)::after {
		border-width: 8px 0 8px 10px;
		right: -10px;
	}
	.noc_table th, .noc_table td, .insurance_table th, .insurance_table td, .insurance_table .insurance_innertable_head {
		padding: 6px;
		font-size: 12px;
	}
	.insurance_table th, .noc_table td {
		line-height: 1.3
	}
	.noc_table .td_center a {
		font-size: inherit
	}
	.insurance_box {
		padding: 12px;
	}
	.insurance_box h3 {
		font-size: 16px;
	}
	.insurance_list li {
		font-size: 12px;
	}
	.ng_list {
		padding: 14px 14px 14px 30px;
	}
	.ng_list_title {
		font-size: 15px
	}
	.contact .section__wrap, .profile .user-registration__wrap {
		padding: 10px;
	}
	.section__wrap dl, .profile .user-registration__wrap dl, .page__form dl {
		display: block;
		margin-bottom: 10px;
		padding-bottom: 4px;
	}
	.section__wrap dl dt, .section__wrap dl dd, .profile .user-registration__wrap dl dt, .profile .user-registration__wrap dl dd, .page__form dl dt, .page__form dl dd {
		width: auto;
		padding: 6px 10px;
		line-height: 1.4;
		font-size: 14px;
	}
	.section__wrap textarea {
		height: 180px;
	}
	.accept_center a {
		padding: 10px 22px;;
	}
	.reservation-registration textarea {
		height: 80px;
	}
	.total__inner .total-cont__inner dt {
		width: 66%;
	}
	.total__inner .total-cont__inner dd {
		width: 32%;
		white-space: nowrap;
	}
	.radio-wrap {
		flex-wrap: wrap;
	}
	.radio-wrap label {
		white-space: nowrap;
	}
	.reservation-registration .total-btn ul a {
		margin: 0 auto;
	}
	.reservation-registration .total-btn ul li {
		margin-right: 0;
	}
	.user-login__wrap {
		padding: 10px;
		display: block;
	}
	.user-login__item {
		width: auto;
		margin-bottom: 48px;
	}
	.user-registration__submit .btn--submit {
		width: 200px;
		margin: 10px 0;
	}
	.car-more .slick-next {
		right: 0;
	}
	.check-registration .total-btn ul a {
		margin: 0 auto;
	}
	.page__list-heading, .page__list-body {
		margin: 0;
	}
	.page__list-heading a {
		font-size: 16px;
	}
	.page__block .page__list-block li {
		margin-bottom: 12px;
		padding: 12px;
	}
	.page__form {
		margin-top: 0;
		margin-top: 0;
	}
	.pagination a {
		padding: 8px 10px;
	}
	.news_box p {
		line-height: 1.2;
	}
	.btn--default {
		padding: 6px;
		font-size: 13px;
		white-space: nowrap;
	}
	#wheelchair_max {
		padding: 12px;
	}
	#wheelchair_max h4 {
		font-size: 15px;
	}
	.car-more .btn-wrap--more {
		padding-top: 0;
	}
	.car-more .btn-wrap--more .btn--next, .car-more .btn-wrap--more .btn--default {
		font-size: 13px;
		padding: 12px 24px;
	}
	.welcab_user {
		padding: 8px;
	}
	.shop_car-table {
		margin: 0 calc(50% - 50vw);
	}
	.search-box .car-type {
		justify-content: space-between;
		gap: 0
	}
	.search-box .car-type li {
		width: 31%;
		margin-right: 0;
		& img {
			width: auto;
			height: 90px
		}
		& p {
			font-size: 12px;
			margin: 0;
			line-height: 1
		}
	}
	.search-box__block {
		flex-wrap: wrap;
		gap: 12px;
		& label {
			margin: 0;
			&:first-of-type {
				width: 100%
			}
		}
	}
	.search-box.search-box--front .car-type {
		gap: 6px;
		& li {
			width: calc(33% - 3px);
			& label {
				padding: 0;
				& span {
					line-height: 1.2
				}
			}
		}
	}
	.price_table .td_class {
		white-space: nowrap;
	}
	.content-area > .container {
		width: 92%;
	}
	.option_flex-list .option-total {
		padding-right: 0;
	}
	.insurance_table .insurance_innertable_head a {
		font-size: 10px
	}
}