@charset "utf-8";
/*
	Description: initial setting
	Version: 1.0
	Author: idealgrow
*/
.baseTit01 {
    font-weight: bold;
    font-size: 24px;
    padding: 10px;
    margin-bottom: 20px;
    position: relative;
}
.baseTit01:before {
    content: "";
    background: #e7e7e7;
    height: 2px;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
}
.baseTit01:after {
    content: "";
    background: #c99b00;
    height: 2px;
    width: 60%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.subTit01 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}
.subTit01 span {
    font-size: 16px;
}
.introTxt {
    margin-bottom: 20px;
}
#sortList {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-top: solid 1px #eee;
    padding: 20px 0;
}
#sortList li span {
    background: #f2f2f4;
    color: #a9a9a9;
    display: block;
    padding: 3px 10px;
    border-radius: 3px;
    transition: all 0.2s;
    cursor: pointer;
}
#sortList li span.active, #sortList li span:hover {
    background: #937f29;
    color: #fff;
}
#spotList li a, .searchResult ul li a {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    border: solid 1px #c5c4c4;
    border-radius: 5px;
    align-content: flex-start;
    align-items: center;
}
#spotList li figure, .searchResult ul li figure {
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    height: 160px;
    width: 100%;
    color: #000 !important;
}
#spotList li figure img, .searchResult ul li figure img {
    object-fit: cover;
    width: 100%;
    height: 160px;
}
#spotList li:not(:first-of-type), .searchResult ul li:not(:first-of-type) {
    margin-top: 40px;
}
.spotCategory {
    background: #d6d6d8;
    font-size: 14px;
    padding: 0 10px;
    border-radius: 50px;
}
#spotList li .spotCategory {
    margin: 15px 15px 10px 15px;
}
.spotDate {
    display: block;
    font-size: 14px;
}
#spotList li .spotDate {
    margin: 15px 10px 15px auto;
}
#spotList li h2, .searchResult ul li h2, .searchResult ul li .tit {
    padding: 0 15px 10px 15px;
    width: 100%;
    font-size: 22px;
    font-weight: bold;
}
#spotList li .spotInfo {
    padding: 0 15px 15px 15px;
}
.swiper {
    border-radius: 10px;
    margin-bottom: 20px;
}
.swiper-slide img{
    object-fit: cover;
}
.swiper img {
    width: 100%;
}
.swiper-prev img, .swiper-next img {
    width: 30px;
}
.swiper-prev {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
}
.swiper-next {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(180deg);
    z-index: 10;
    cursor: pointer;
}
.spotBox {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: center;
    padding: 0 10px;
    margin-bottom: 40px;
}
.spotBox .spotDate {
    margin-left: auto;
}
.spotBox .spotDate:before {
    content: "更新日 ";
}
.spotBox h2 {
    width: 100%;
    padding: 10px 0;
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 10px;
}
.spotBox h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
.baseTable01.spotTable {
    padding: 0 10px;
    margin-bottom: 40px;
}
.baseTable01 table {
    border-collapse: collapse;
    width: 100%;
}
.baseTable01 table tr, .baseTable01 table th, .baseTable01 table td {
    display: block;
}
.baseTable01 table tr {
    border: solid 1px #e7e7e7;
}
.baseTable01 table tr:not(:first-of-type) {
    border-top: none;
}
.baseTable01 table th {
    background: #f5f3f2;
    padding: 5px;
    text-align: left;
}
.baseTable01 table td {
    padding: 10px;
}
.searchBlock {
    border-radius: 5px;
    padding: 10px;
}
.searchBlock > div {
    background: #fff;
    border-radius: 5px;
    padding: 10px;
}
.searchBlock li:not(:last-of-type) {
    margin-bottom: 10px;
}
.searchBlock .submitBtn {
    padding: 15px;
}
.searchBlock.airport {
    background: url("../img/airport/search_bg.webp")center center no-repeat;
    background-size: cover;
}
.searchBlock.kanko {
    background: url("../img/tokyo-kanko/search_bg.webp")center center no-repeat;
    background-size: cover;
}
.setIco {
    padding-left: 25px;
    background: #eae6e6;
    border-radius: 5px;
    position: relative;
}
.setIco.keyword {
    padding-left: 0;
}
.setIco select, .setIco input {
    font-weight: normal;
}
.setIco input {
    background: #eae6e6;
    padding-left: 38px;
    font-size: 18px;
}
.setIco input::placeholder {
    color: #000 !important;
}
.setIco.icoSpot:before {
    content: "";
    background: url("../img/shared/ico_spot.webp")center center no-repeat;
    background-size: 100%;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 8px;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
}
.setIco.icoTime:before {
    content: "";
    background: url("../img/shared/ico_time.webp")center center no-repeat;
    background-size: 100%;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 8px;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.setIco.select:after {
    content: "";
    background: url("../img/shared/ico_dropdown.webp")center center no-repeat;
    background-size: 100%;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.courseNo {
    margin-bottom: 10px;
}
.courseNo span {
    background: #f2f2f3;
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 5px;
}
.route {
    background: #f2f2f3;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    margin-bottom: 20px;
}
.route li {
    width: 46%;
}
.route li:first-of-type {
    margin-right: 8%;
    position: relative;
}
.route li:first-of-type:after {
    content: "";
    background: url("../img/shared/ico_download.webp")center center no-repeat;
    background-size: 100%;
    width: 14px;
    height: 14px;
    position: absolute;
    right: -10%;
    transform: translateY(-50%) rotate(-90deg);
    top: 55%;
}
.route li span {
    font-size: 14px;
}
.route li p {
    line-height: 1.2;
    font-weight: bold;
}
.carSelect {
    border: solid 1px #b0adb0;
    border-radius: 5px;
    margin-bottom: 30px;
}
.carSelect li:not(:last-of-type) label {
    border-bottom: solid 1px #b0adb0;
}
.carSelect label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    cursor: pointer;
}
.carSelect label:before {
    content: "";
    width: 30px;
    height: 30px;
    background: url("../img/shared/ico_check.webp")center center no-repeat;
    background-size: 100%;
    margin-left: 20px;
}
.carSelect input[type="radio"]:checked + label {
    background: #f2f2f3;
}
.carSelect input[type="radio"]:checked + label:before {
    background: url("../img/shared/ico_checked.webp")center center no-repeat;
    background-size: 100%;
}
.carSelect input[type="radio"]:checked + label dl {
    background: #fff;
}
.carSelect label figure {
    width: 80%;
    margin-left: auto;
}
.carSelect label img {
    width: 100%;
    height: auto;
}
.carSelect label div {
    padding: 0 15px 15px 60px;
}
.carSelect label div .carName {
    font-size: 22px;
    font-weight: bold;
}
.carSelect label div dl {
    display: flex;
    flex-wrap: wrap;
    background: #efefef;
    padding: 5px;
    border-radius: 5px;
    margin: 5px 0;
}
.carSelect label div dl dt {
    width: 110px;
    font-size: 14px;
}
.carSelect label div dl dd {
    width: calc(100% - 110px);
    font-size: 14px;
}
.carSelect label div .price {
    font-weight: bold;
    letter-spacing: 1.2px;
    text-align: right;
}
.carSelect label div .price span {
    font-size: 26px;
}
.borderBox01 {
    border: solid 1px #b0adb0;
    padding: 15px;
    border-radius: 5px;
}
.borderBox01 h3 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 18px;
}
.borderBox01 ul li {
    padding-left: 10px;
    position: relative;
}
.borderBox01 ul li:before {
    content: "";
    width: 3px;
    height: 3px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 12px;
}
.borderBox01 ul li:not(:last-of-type) {
    margin-bottom: 10px;
}
.submitBtn.reserveBtn {
    display: block;
    padding: 20px;
    max-width: 400px;
    margin: 30px auto 0 auto;
}
.meetgreet {
    margin-top: 60px;
}
.meetgreet > div {
    background: #f2f2f3;
    border-radius: 5px;
    padding: 15px;
}
.meetgreet h3 {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 5px;
}
.meetgreet h3:not(:first-of-type) {
    margin-top: 30px;
}
.meetgreet ul li {
    background: #fff;
    border-radius: 5px;
    padding: 10px;
}
.meetgreet ul li:not(:last-of-type) {
    margin-bottom: 10px;
}
.meetgreet ul li a {
    background: #d6d6d8;
    padding: 0 20px;
    border-radius: 50px;
}
.meetgreet ul li a:after {
    content: "";
    background: url("../img/shared/ico_download.webp")center center no-repeat;
    background-size: 100%;
    height: 10px;
    width: 10px;
    display: inline-block;
}
.searchResult {
    margin-top: 30px;
}
.searchResult > p {
    margin-bottom: 30px;
}
.searchResult ul li p:first-of-type {
    margin: 15px 0 5px 15px;
    font-size: 14px;
    font-weight: bold;
}
.searchResult ul li h2, .searchResult ul li .tit {
    line-height: 1.4;
}
.searchResult ul li p.listPrice {
    margin: 0 15px 15px 15px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
}
.searchResult ul li p.listPrice span {
    font-size: 30px;
    color: #a30202;
}
.searchResult ul li p.listRoute {
    margin: 0 15px 15px 15px;
}
.searchResult ul li p.listBtn {
    background: #927e2a;
    color: #fff;
    width: 100%;
    margin: 0 15px 15px 15px;
    text-align: center;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
}
.courseTit {
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 10px;
}
.courseTime {
    padding-left: 30px;
    margin-bottom: 10px;
    position: relative;
}
.courseTime:before {
    content: "";
    background: url("../img/shared/ico_time.webp")center center no-repeat;
    background-size: 100%;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.minInner.modelCourse {
    margin-bottom: 40px;
}
.fleetTxt + ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    margin: 20px 0 30px 0;
}
.fleetTxt + ul li {
    margin-bottom: 10px;
}
.fleetTxt + ul li a {
    display: block;
    border: solid 2px #000;
    border-radius: 50px;
    font-weight: bold;
    padding: 0 20px;
}
.fleetInfo:not(:last-of-type) {
    margin-bottom: 40px;
}
.fleetInfo .fleetSpec dl {
    display: flex;
    flex-wrap: wrap;
    border-bottom: solid 1px #e7e7e7;
    padding-bottom: 8px;
    margin-bottom: 16px;
}
.fleetInfo .fleetSpec dl dt {
    font-weight: bold;
    width: 35%;
    padding: 8px 5px;
}
.fleetInfo .fleetSpec dl dd {
    width: 65%;
    padding: 8px 5px;
}
.fleetInfo .fleetSpec dl dt:nth-of-type(2), .fleetInfo .fleetSpec dl dd:nth-of-type(2) {
    border-bottom: solid 1px #e7e7e7;
    padding-bottom: 16px;
    margin-bottom: 8px;
}
.fleetPh {
    position: relative;
    padding: 0 20px;
    margin-bottom: 30px;
}
.fleetPh .swiper-prev img, .fleetPh .swiper-next img {
    width: 15px;
}
.fleetPh .swiper-prev {
    left: -5px;
    top: 44%;
}
.fleetPh .swiper-next {
    right: -5px;
    top: 44%;
}
.fleetPh .swiper {
    border-radius: 0;
    margin-bottom: 10px;
}
.slider-thumbnail .swiper-slide {
    opacity: .5;
    transition: opacity .5s;
    width: calc(100% / 6);
    background: #000;
    border: solid 2px #fff;
    box-sizing: border-box;
}
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
}
#recruitment p:first-of-type {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.recruitList, .meritList {
    margin-bottom: 40px;
    margin-top: 20px;
}
.recruitList li, .meritList li {
    font-weight: bold;
    color: #b72323;
    padding-left: 20px;
    position: relative;
}
.recruitList li:before, .meritList li:before {
    content: "";
    width: 3px;
    height: 3px;
    border-radius: 50%;
    position: absolute;
    background: #b72323;
    left: 5px;
    top: 12px;
}
.meritList li {
    color: #000;
    font-weight: normal;
}
.meritList li:before {
    background: #000;
}
.recruitList li:not(:last-of-type), .meritList li:not(:last-of-type) {
    margin-bottom: 10px;
}
#recruitment figure {
    margin-bottom: 20px;
}
#recruitment figure img {
    width: 100%;
    height: auto;
}
#recruitment .subTit02 {
    font-weight: bold;
    font-size: 22px;
}
#recruitment .subTit03 {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 20px;
}
#recruitment p + .subTit02 {
    margin-top: 40px;
}
#recruitment .subTit02 + p {
    margin-bottom: 40px;
    margin-top: 20px;
}
.flowList {
    margin-bottom: 40px;
    margin-top: 20px;
}
.flowList li:not(:last-of-type) {
    margin-bottom: 40px;
    position: relative;
}
.flowList li:not(:last-of-type):after {
    content: "";
    width: 6px;
    height: 20px;
    background: url("../img/recruitment/arrow_bottom.webp")center center no-repeat;
    background-size: 100%;
    position: absolute;
    left: 28px;
    bottom: -30px;
}
#recruitment .entryBtn {
    padding: 0 20px;
    margin-top: 40px;
}
#company p:first-of-type {
    margin-bottom: 20px;
}
#company figure {
    margin-bottom: 20px;
}
#company figure img {
    width: 100%;
    height: auto;
}
#company .messageSubTit {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 20px;
}
#company .sign {
    margin-top: 30px;
    margin-bottom: 60px;
    text-align: right;
}
#company .sign span {
    display: block;
    font-weight: bold;
}
#company .otherTit {
    font-weight: bold;
    padding-left: 20px;
    position: relative;
    margin-bottom: 10px;
}
#company .otherTit + p {
    margin-bottom: 40px;
}
#company .otherTit:before {
    content: "";
    width: 12px;
    height: 12px;
    background: #000;
    position: absolute;
    left: 0;
    top: 10px;
}
#purposeTop {
    background: #f2f2f3;
    padding: 20px 20px 40px 20px;
}
#purposeTop figure {
    margin-bottom: 20px;
}
#purposeTop figure img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
#purposeTop h2 {
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    margin-bottom: 20px;
}
#purposeTop p {
    text-align: center;
}
#purposeBody {
    padding: 40px 20px;
    counter-reset: countNum;
}
#purposeBody h2 {
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 20px;
}
#purposeBody h2 span {
    border-bottom: solid 3px #000;
}
#purposeBody figure {
    margin-bottom: 40px;
}
#purposeBody figure img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
#purposeBody h3 {
    padding-left: 20px;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}
#purposeBody h3:after {
    content: "";
    background: #000;
    width: 5px;
    height: 70%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#purposeBody h3.numTit {
    counter-increment: countNum;
}
#purposeBody h3.numTit:before {
    content: counter(countNum);
    border: solid 2px #000;
    border-radius: 50%;
    display: inline-block;
    width: 22px;
    height: 22px;
    text-align: center;
    line-height: 22px;
    margin-right: 10px;
    font-size: 16px;
}
#purposeBody h2 + p, #purposeBody h3 + p {
    margin-bottom: 40px;
}
#purposeBody .priceTable {
    margin-bottom: 40px;
}
#purposeBody .priceTable table {
    width: 100%;
    border-collapse: collapse;
}
#purposeBody .priceTable thead {
    display: none;
}
#purposeBody .priceTable tbody tr {
    margin-bottom: 20px;
    border: solid 1px #9c9c9c;
    border-radius: 5px;
}
#purposeBody .priceTable tbody td span {
    font-weight: bold;
    font-size: 24px;
}
#purposeBody .priceTable tbody tr, #purposeBody .priceTable tbody td {
    display: block;
    width: 100%;
    text-align: right;
}
#purposeBody .priceTable tbody td:before {
    content: attr(data-label);
    float: left;
}
#purposeBody .priceTable tbody td {
    padding: 10px;
}
#purposeBody .priceTable tbody td:first-of-type {
    background: #f2f2f3;
    padding: 10px;
    border-radius: 5px 5px 0 0;
}
#purposeBody .priceTable tbody td:nth-of-type(2):before {
    padding-top: 10px;
}
#indexfv {
    position: relative;
}
#indexfv #fvCatch {
    position: absolute;
    z-index: 20;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}
#indexfv #fvCatch h1 {
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}
#indexfv #fvCatch p {
    color: #fff;
    text-align: center;
}
#indexfv .swiper {
    border-radius: 0;
    margin-bottom: 0;
}
#indexfv .swiper img {
    height: 260px;
    object-fit: cover;
}
#indexFleet {
    padding: 40px 0;
}
#indexFleet h2 {
    font-weight: bold;
    text-align: center;
}
#indexFleet .swiper-slide img {
    opacity: 0.4;
    transform: scale(0.8);
    transition: all 0.2s;
}
#indexFleet .swiper-slide.swiper-slide-active img {
    opacity: 1;
    transform: scale(1);
}
#indexFleet .swiper-slide div {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    flex-wrap: wrap;
    opacity: 0;
    transition: all 0.2s;
}
#indexFleet .swiper-slide div ul {
    display: flex;
    width: 80%;
    justify-content: center;
    margin: 0 auto;
    padding-top: 10px;
}
#indexFleet .swiper-slide.swiper-slide-active div {
    opacity: 1;
}
#indexFleet .swiper-slide div ul li {
    font-weight: bold;
    text-align: center;
    position: relative;
    line-height: 1.4;
    padding: 0 15px;
}
#indexFleet .swiper-slide div ul li:first-of-type:after {
    content: "";
    background: #000;
    width: 1px;
    height: 10px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
#indexFleet .swiper-slide div ul li span:first-of-type {
    font-size: 12px;
    font-weight: normal;
    display: block;
}
#indexFleet .swiper-slide div ul li span {
    font-size: 18px;
}
#indexFleet .swiper-slide div h3 {
    font-weight: bold;
    width: 100%;
    text-align: center;
}
#fleetSlide {
    position: relative;
}
#indexAirport {
    position: relative;
}
#indexAirport figure {
    position: absolute;
    z-index: -1;
    height: 700px;
    width: 100%;
}
#indexAirport figure img {
    height: 700px;
    width: 100%;
    object-fit: cover;
    opacity: 0.4;
}
#indexAirport h2 {
    font-weight: bold;
    text-align: center;
    margin: 20px 0;
}
#indexAirport h2 + p {
    margin-bottom: 60px;
}
#indexAirport .searchBlock {
    background: #000;
    border-radius: 5px;
    padding: 15px;
}
#indexAirport .searchBlock h3 {
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 22px;
    padding: 10px 0;
}
#indexAirport .searchBlock h3 + p {
    color: #fff;
    margin-bottom: 20px;
}
#indexCourse {
    background: #f2f2f3;
}
#indexCourse .inner {
    padding: 40px 20px;
}
#indexCourse h2 {
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
#indexCourse .infoBtn, #news .infoBtn, #indexCompany .infoBtn {
    margin-top: 40px;
}
#indexCourse .infoBtn .baseBtn, #news .infoBtn .baseBtn, #indexCompany .infoBtn .baseBtn {
    font-size: 18px;
}
#news .inner {
    padding: 40px 20px;
}
#news h2 {
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px
}
.newsList dt {
    font-weight: bold;
}
.newsList dd:not(:last-of-type) {
    border-bottom: solid 1px #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
#indexCompany {
    background: url("../img/top/company_bg.webp")center center no-repeat;
    background-size: cover;
}
#indexCompany .inner {
    padding: 40px 20px;
}
#indexCompany h2 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
    color: #fff;
}
#indexCompany li:not(:last-of-type) {
    margin-bottom: 40px;
}
#indexCompany li h3 {
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
#indexCompany li figure {
    background: #fff;
    border-radius: 50%;
    overflow: hidden;
    width: 140px;
    height: 140px;
    margin: 0 auto 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
#indexCompany li figure img {
    width: 80%;
    height: auto;
}
#indexCompany li p {
    color: #fff;
}
#footRecruit{
	background: url("../img/top/recruit_bg.webp")center center no-repeat;
	background-size: cover;
	padding: 40px 20px;
}
#footRecruit h2{
	text-align: center;
	color: #fff;
	font-weight: bold;
}
#footRecruit p{
	color: #fff;
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}
#footRecruit a{
	display: block;
	background: #fff;
	border-radius: 5px;
	text-align: center;
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
}
@media screen and (min-width: 1079px) {
    .baseTit01 {
        font-size: 32px;
        padding: 10px 15px;
        margin-bottom: 30px;
    }
    .baseTit01:after {
        width: 300px;
    }
    .subTit01 {
        font-size: 24px;
    }
    .subTit01 span {
        font-size: 18px;
    }
    .introTxt {
        text-align: center;
    }
    .introTxt.narrow {
        max-width: 860px;
        margin: 0 auto 60px auto;
    }
    #sortList {
        border-top: none;
        margin-bottom: 20px;
    }
    #sortList li span {
        padding: 5px 20px;
    }
    #spotList, .searchResult ul {
        display: flex;
        flex-wrap: wrap;
        gap: 2%;
    }
    #spotList li, .searchResult ul li {
        width: 23.5%;
        margin-bottom: 40px;
    }
    #spotList.otherSpot {
        padding: 0 20px;
    }
    #spotList.otherSpot li {
        width: 49%;
        margin-bottom: 20px;
    }
    #spotList li a:hover, .searchResult ul li a:hover {
        background: #f2f2f0;
        color: #000;
    }
    #spotList li a:hover figure img, .searchResult ul li a:hover figure img {
        opacity: 0.4;
    }
    #spotList li figure img:hover, .searchResult ul li figure img:hover {
        opacity: 1;
    }
    #spotList li figure, .searchResult ul li figure {
        height: 200px;
        background: #000;
    }
    #spotList li figure img, .searchResult ul li figure img {
        height: 200px;
    }
    #spotList li:not(:first-of-type), .searchResult ul li:not(:first-of-type) {
        margin-top: 0;
    }
    .swiper-prev img, .swiper-next img {
        width: 40px;
    }
    .swiper-prev {
        left: 20px;
    }
    .swiper-next {
        right: 20px;
    }
    .spotBox {
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
        align-items: center;
        padding: 10px 20px;
    }
    .spotBox h2 {
        padding: 20px 0;
        font-size: 34px;
    }
    .spotBox h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .spotBox .spotInfo {
        font-size: 18px;
    }
    .baseTable01.spotTable {
        padding: 0 20px;
    }
    .baseTable01 table tr {
        display: table-row;
    }
    .baseTable01 table th, .baseTable01 table td {
        display: table-cell;
        padding: 15px;
    }
    .baseTable01 table th {
        width: 20%;
    }
    .baseTable01 table td {
        width: 80%;
    }
    .searchBlock {
        padding: 40px;
    }
    .searchBlock > div {
        width: calc(50% - 40px);
        padding: 30px;
    }
    .searchBlock li:not(:last-of-type) {
        margin-bottom: 20px;
    }
    .setIco {
        padding-left: 35px;
    }
    .setIco select, .setIco input {
        font-size: 18px;
    }
    .setIco input {
        padding-left: 48px;
    }
    .setIco.icoSpot:before, .setIco.icoTime:before {
        width: 30px;
        height: 30px;
        left: 12px;
    }
    .setIco.select:after {
        width: 16px;
        height: 16px;
        right: 14px;
    }
    .searchBlock li .submitBtn {
        padding: 20px;
        font-size: 18px;
    }
    .route {
        padding: 30px;
        margin-bottom: 30px;
    }
    .route li:first-of-type:after {
        width: 20px;
        height: 20px;
        top: 70%;
    }
    .route li span {
        font-size: 16px;
    }
    .route li p {
        font-size: 24px;
    }
    .carSelect {
        overflow: hidden;
    }
    .carSelect input[type="radio"]:checked + label dl {
        background: none;
    }
    .carSelect label {
        transition: all 0.2s;
    }
    .carSelect label:hover {
        background: #f2f2f3;
    }
    .carSelect label figure {
        width: 30%;
        margin-left: 20px;
    }
    .carSelect label div {
        width: calc(70% - 70px);
        padding: 20px;
    }
    .carSelect label div .carName {
        font-size: 24px;
    }
    .carSelect label div dl {
        background: none;
        padding: 0;
        margin: 0;
    }
    .carSelect label div .price {
        text-align: left;
    }
    .carSelect label div .price span {
        font-size: 30px;
    }
    .submitBtn.reserveBtn {
        font-size: 18px;
        padding: 25px;
        margin: 50px auto 0 auto;
    }
    .meetgreet {
        margin-top: 120px;
    }
    .meetgreet > div {
        padding: 20px;
    }
    .meetgreet h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .meetgreet h3:not(:first-of-type) {
        margin-top: 30px;
    }
    .meetgreet ul li {
        font-weight: bold;
        padding: 15px;
    }
    .meetgreet ul li a {
        float: right;
        padding: 0 30px;
    }
    .meetgreet ul li a:hover {
        opacity: 0.6;
        color: #000;
    }
    .searchResult {
        margin-top: 60px;
    }
    .searchResult ul li a:hover p.listBtn {
        background: #5e4d06;
    }
    .searchResult ul li p.listBtn {
        transition: all 0.2s;
    }
    .minInner.modelCourse {
        margin-bottom: 0;
    }
    .fleetTxt {
        font-size: 18px;
    }
    .fleetTxt + ul {
        gap: 1%;
        margin: 20px 0 60px 0;
    }
    .fleetTxt + ul li {
        margin-bottom: 0;
    }
    .fleetTxt + ul li a:hover {
        background: #000;
        color: #fff;
    }
    .fleetInfo {
        display: flex;
        align-items: flex-start;
    }
    .fleetInfo .fleetPh {
        width: calc(100% - 600px);
    }
    .fleetInfo .fleetSpec {
        width: 550px;
        margin-left: 50px;
    }
    .fleetInfo .fleetSpec dl {
        display: flex;
        flex-wrap: wrap;
        border-bottom: solid 1px #e7e7e7;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }
    .fleetInfo .fleetSpec dl dt {
        font-size: 18px;
        padding: 10px 15px;
    }
    .fleetInfo .fleetSpec dl dd {
        font-size: 18px;
        padding: 10px 15px;
    }
    .fleetInfo .fleetSpec p {
        font-size: 18px;
        padding: 0 15px;
    }
    .fleetInfo .fleetSpec dl dt:nth-of-type(2), .fleetInfo .fleetSpec dl dd:nth-of-type(2) {
        border-bottom: solid 1px #e7e7e7;
        padding-bottom: 20px;
        margin-bottom: 10px;
    }
    .fleetPh .swiper-prev img, .fleetPh .swiper-next img {
        width: 20px;
    }
    .fleetPh .swiper-prev {
        left: -10px;
    }
    .fleetPh .swiper-next {
        right: -10px;
    }
    #recruitment p:first-of-type {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 40px;
    }
    .recruitList li, .meritList li {
        font-size: 18px;
    }
    .recruitList li:before, .meritList li:before {
        top: 14px;
    }
    .recruitList, .meritList {
        margin-bottom: 60px;
        margin-top: 40px;
    }
    #recruitment figure {
        margin-bottom: 40px;
    }
    #recruitment .subTit02 {
        font-size: 28px;
    }
    #recruitment .subTit03 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    #recruitment p + .subTit02 {
        margin-top: 60px;
    }
    #recruitment p {
        font-size: 18px;
    }
    #recruitment .subTit02 + p {
        margin-bottom: 60px;
    }
    .flowList {
        margin-bottom: 60px;
    }
    .flowList li {
        font-size: 18px;
    }
    #recruitment .entryBtn {
        padding: 0 100px;
        margin-top: 60px;
    }
    #company p:first-of-type {
        margin-bottom: 100px;
        font-size: 20px;
    }
    #company figure {
        margin-bottom: 40px;
    }
    #company .messageSubTit {
        font-size: 20px;
    }
    #company .messageSubTit + p {
        font-size: 18px;
    }
    #company .sign {
        font-size: 18px;
        margin-top: 60px;
        margin-bottom: 120px;
    }
    #company .baseTable01 + .baseTit01 {
        margin-top: 100px;
    }
    #company .otherTit, #company .otherTit + p {
        font-size: 18px;
    }
    #purposeTop {
        padding: 60px 20px;
    }
    #purposeTop figure {
        max-width: 726px;
        margin: 0 auto 40px auto;
    }
    #purposeTop figure img {
        width: 100%;
        height: auto;
    }
    #purposeTop h2 {
        font-size: 36px;
    }
    #purposeTop p {
        font-size: 20px;
        max-width: 620px;
        margin: 0 auto;
        font-weight: bold;
    }
    #purposeBody {
        max-width: 750px;
        margin: 0 auto;
    }
    #purposeBody h2 {
        font-size: 30px;
        margin-bottom: 40px;
        padding: 0 10px;
        border-bottom: solid 3px #000;
    }
    #purposeBody h2 span {
        border-bottom: none;
    }
    #purposeBody figure {
        margin-bottom: 60px;
    }
    #purposeBody h3 {
        padding-left: 20px;
        font-size: 24px;
        font-weight: bold;
        position: relative;
        margin: 0 10px 20px 10px;
    }
    #purposeBody h3:after {
        height: 80%;
    }
    #purposeBody h3.numTit:before {
        width: 24px;
        height: 24px;
        line-height: 24px;
        font-size: 20px;
    }
    #purposeBody p {
        padding: 0 10px;
        font-size: 18px;
    }
    #purposeBody h2 + p {
        margin-bottom: 60px;
    }
    #purposeBody .priceTable table {
        margin-bottom: 10px;
    }
    #purposeBody .priceTable thead {
        display: block;
    }
    #purposeBody .priceTable thead tr {
        display: flex;
        width: 100%;
        border: solid 2px #9c9c9c;
        border-radius: 5px 5px 0 0;
    }
    #purposeBody .priceTable thead tr th {
        width: 50%;
        padding: 10px;
        font-size: 20px;
        background: #e1e1e2;
    }
    #purposeBody .priceTable thead tr th:last-of-type {
        background: #d2d2d2;
        border-left: solid 2px #fff;
    }
    #purposeBody .priceTable tbody tr {
        margin-bottom: 0;
        border: solid 2px #9c9c9c;
        border-top: none;
        border-bottom: none;
        border-radius: 0;
        display: flex;
        width: 100%;
        align-items: center;
    }
    #purposeBody .priceTable tbody tr:nth-of-type(even) {
        background: #f2f2f3;
    }
    #purposeBody .priceTable tbody tr:last-of-type {
        border-bottom: solid 2px #9c9c9c;
        border-radius: 0 0 5px 5px;
    }
    #purposeBody .priceTable tbody td {
        text-align: center;
        width: 50%;
    }
    #purposeBody .priceTable tbody td span {
        font-weight: bold;
        font-size: 24px;
    }
    #purposeBody .priceTable tbody td:last-of-type {
        border-left: solid 2px #9c9c9c;
    }
    #purposeBody .priceTable tbody td:before {
        display: none;
    }
    #purposeBody .priceTable tbody td {
        padding: 20px;
        font-size: 18px;
        font-weight: bold;
    }
    #purposeBody .priceTable tbody td:first-of-type {
        background: none;
        padding: 20px;
        border-radius: 0;
    }
    #indexfv #fvCatch h1 {
        font-size: 50px;
    }
    #indexfv #fvCatch p {
        font-size: 24px;
    }
    #indexfv .swiper img {
        height: 630px;
        object-fit: cover;
    }
    #indexFleet {
        padding: 80px 0;
    }
    #indexFleet h2 {
        font-size: 36px;
    }
    #indexFleet .swiper-slide img {
        opacity: 0.3;
        transform: scale(0.7);
        transition: all 0.5s;
    }
    #indexFleet .swiper-slide div {
        transition: all 0.5s;
    }
    #indexFleet .swiper-slide div ul {
        width: 200px;
        padding-top: 0;
        margin: 0;
    }
    #indexFleet .swiper-slide div ul li {
        text-align: left;
        position: relative;
        line-height: 1.4;
        padding: 0;
        width: 80px;
    }
    #indexFleet .swiper-slide div ul li:first-of-type:after {
        display: none;
    }
    #indexFleet .swiper-slide div h3 {
        padding-right: 10px;
        text-align: right;
        width: auto;
    }
    #fleetSlide .swiper-prev img, #fleetSlide .swiper-next img {
        width: 50px;
    }
    #indexAirport .inner {
        padding-bottom: 0;
    }
    #indexAirport figure {
        height: 920px;
    }
    #indexAirport figure img {
        height: 920px;
        opacity: 1;
    }
    #indexAirport h2 {
        margin: 60px 0 30px 0;
        font-size: 36px;
    }
    #indexAirport h2 br {
        display: none;
    }
    #indexAirport h2 + p {
        padding: 0 140px;
        margin-bottom: 360px;
        font-size: 18px;
    }
    #indexAirport .searchBlock {
        padding: 40px;
    }
    #indexAirport .searchBlock h3 {
        margin-bottom: 20px;
        font-size: 32px;
        padding: 0;
    }
    #indexAirport .searchBlock h3 + p {
        margin-bottom: 40px;
    }
    #indexAirport .searchBlock > div {
        width: 100%;
    }
    #indexAirport .searchBlock > div ul {
        display: flex;
    }
    #indexAirport .searchBlock > div ul li {
        margin-bottom: 0;
        width: 38%;
        margin-right: 2%;
    }
    #indexAirport .searchBlock > div ul li:last-of-type {
        width: 20%;
        margin-right: 0;
    }
    #indexCourse .inner {
        padding: 80px 20px;
    }
    #indexCourse h2 {
        font-size: 36px;
        margin-bottom: 30px;
    }
    #indexCourse h2 + p {
        font-size: 18px;
        padding: 0 120px;
    }
    #indexCourse .infoBtn, #news .infoBtn, #indexCompany .infoBtn {
        margin: 0 auto;
        width: 400px;
    }
    #news .inner {
        padding: 80px 20px;
    }
    #news h2 {
        font-size: 32px;
        margin-bottom: 40px;
    }
    dl.newsList  {
        display: flex;
        max-width: 800px;
        margin: 0 auto 40px auto;
        flex-wrap: wrap;
    }
    .newsList  dt {
        width: 20%;
        font-weight: bold;
        padding-left: 20px;
    }
    .newsList  dd {
        width: 80%;
        padding-right: 20px;
    }
    .newsList  dt:not(:last-of-type), .newsList  dd:not(:last-of-type) {
        border-bottom: solid 1px #ddd;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
    #indexCompany .inner {
        padding: 80px 20px;
    }
    #indexCompany h2 {
        font-size: 36px;
    }
    #indexCompany ul {
        display: flex;
        padding: 0 80px 60px 80px;
    }
    #indexCompany li {
        width: 26%;
    }
    #indexCompany li:not(:last-of-type) {
        margin-bottom: 0;
        margin-right: 11%;
    }
	#footRecruit .inner{
		padding: 20px;
	}
#footRecruit h2{
	text-align: left;
	font-size: 36px;
}
#footRecruit p{
	font-size: 30px;
	text-align: left;
}
#footRecruit a{
	width: 400px;
}
	#footRecruit a:hover{
		color: #000;
		opacity: 0.8;
	}
}