@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

fieldset {
  border: none;
}

td{
    vertical-align: middle;
}

ul,
ol,
li {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

table {
    border-collapse: collapse;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #2C2A29;
}

select::-ms-expand {
    display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
    display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
    appearance: none;
    border-radius: 0;
    font-family: "Roboto", "Noto Sans JP", メイリオ, Meiryo, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, Osaka, “MS Pゴシック”, “MS PGothic”, sans-serif;
    color: #2C2A29;
    outline: 0;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
    display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
    font-family: "Roboto", "Noto Sans JP", メイリオ, Meiryo, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, Osaka, “MS Pゴシック”, “MS PGothic”, sans-serif;
    color: #2C2A29;
    cursor: pointer;
}

input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
    color: rgba(147, 157, 173, .68); 
} 
input:-moz-placeholder, 
textarea:-moz-placeholder { 
    color: rgba(147, 157, 173, .68); 
} 
input::-moz-placeholder, 
textarea::-moz-placeholder { 
    color: rgba(147, 157, 173, .68); 
} 
input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
    color: rgba(147, 157, 173, .68); 
}

input:disabled::-webkit-input-placeholder, 
textarea:disabled::-webkit-input-placeholder { 
    color: rgba(192, 197, 204, .8); 
} 
input:disabled:-moz-placeholder, 
textarea:disabled:-moz-placeholder { 
    color: rgba(192, 197, 204, .8); 
} 
input:disabled::-moz-placeholder, 
textarea:disabled::-moz-placeholder { 
    color: rgba(192, 197, 204, .8); 
} 
input:disabled:-ms-input-placeholder, 
textarea:disabled:-ms-input-placeholder { 
    color: rgba(192, 197, 204, .8); 
} 

*,
*:before,
*::after {
    box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

body {
    font-family: "Roboto", "Noto Sans JP", メイリオ, Meiryo, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, Osaka, “MS Pゴシック”, “MS PGothic”, sans-serif;
    font-size: 14px;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: #2C2A29;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.scroll_hidden {
    overflow: hidden;
    height: 100dvh;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #2C2A29;
    text-decoration: none;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: none;
        transition: all 0.5s;
    }

    .has-hover {
        transition: opacity 0.5s ease-out;
    }

    .has-hover:hover {
        opacity: .7;
        transition: opacity 0.5s ease-out;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }
}

/* !heading
---------------------------------------------------------- */
.heading-large {
    text-align: center;
    font-size: 32px;
    line-height: 1.5;
    margin-bottom: 32px;
    font-weight: normal;
    position: relative;
    color: #2C2A29;
}

.heading-large .heading-large__notes {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    display: block;
    margin-top: 8px;
}

.heading-border {
    margin-bottom: 60px;
}

.heading-border:before {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(100% + 16px);
    margin-left: -30px;
    z-index: 1;
    width: 60px;
    height: 4px;
    transform: skew(-20deg);
    background: #10069F;
}

.heading-medium {
    text-align: center;
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 16px;
    font-weight: normal;
}

.heading-small {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 16px;
    font-weight: 700;
    text-align: center;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .heading-large {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .heading-border {
        margin-bottom: 44px;
        font-size: 24px;
        line-height: 1.3;
    }

    .heading-medium {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .heading-small {
        font-size: 18px;
        line-height: 1.3;
    }
}

/* !links
---------------------------------------------------------- */
.icon-links {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border: 1px solid #939DAD;
    border-radius: 100px;
    padding: 8px 11px 8px 15px;
    font-size: 14px;
    line-height: 20px;
    background: #fff;
    transition: all .3s ease-out;
}

.icon-links:after {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/common/icon_links.svg) center center no-repeat;
    background-size: 100% 100%;
    transition: background-image .3s ease-out;
}

.icon-links.is-down:after {
    transform: rotate(90deg);
}


/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .icon-links:hover {
        background: #F0F7FF;
        border-color: #99C4FD;
        color: #140D77;
    }

    .icon-links:hover:after {
        background-image: url(../img/common/icon_links_hover.svg);
    }

}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

}

/* !main
---------------------------------------------------------- */
main.his-rentacar {
    position: relative;
}

.inner {
    width: 100%;
    max-width: 1136px;
    margin: 0 auto;
    padding: 0 16px;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .inner {
        padding: 0 20px;
    }
}


/* !breadcrumb
---------------------------------------------------------- */


/* !breadcrumb
---------------------------------------------------------- */
.breadcrumb {
    width: 100% !important;
    padding: 10px 0;
    border-bottom: 1px solid #E9ECF2;
}

.breadcrumb .inner {
    max-width: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.breadcrumb a,
.breadcrumb span {
    font-size: 12px;
    line-height: 1.5;
    display: block;
}

.breadcrumb a {
    color: #697180;
}

.breadcrumb .breadcrumb__panel {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;

    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: 20px;
}

.breadcrumb .breadcrumb__panel li {
    padding: 0 11px 0 21px;
    position: relative;
    word-break: keep-all;
    white-space: nowrap;
    color: #2C2A29;
}

.breadcrumb .breadcrumb__panel li:before {
    position: absolute;
    left: 0;
    top: 0;
    content: '>';
    font-size: 12px;
    line-height: 1.5;
    color: #697180;
}

.breadcrumb .breadcrumb__panel li:first-child {
    padding-left: 0;
}

.breadcrumb .breadcrumb__panel li:first-child:before {
    display: none;
}

.breadcrumb .breadcrumb__panel li:first-child a {
    display: block;
    padding-left: 17px;
    background: url(../img/common/icon_home.svg) left center no-repeat;
    background-size: 12px auto;
}

.breadcrumb .head-menu__booking a {
    font-size: 12px;
    line-height: 1.5;
    padding-left: 31px;
    background: url(../img/common/icon_out.svg) left 11px center no-repeat;
    background-size: 16px auto;
    width: 96px;
    height: 26px;
    display: flex;
    align-items: center;
    border: 1px solid #939DAD;
    border-radius: 14px;
    text-decoration: none;
}

.breadcrumb .head-menu__booking a.logout{
    background: url(../img/common/icon_logout.svg) left 8px center no-repeat;
    padding-left: 25px;
}

.breadcrumb .head-menu__login {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
}

.breadcrumb .head-menu__login a {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    font-size: 12px;
    line-height: 1.5;
    color: #2C2A29;
}

.breadcrumb .head-menu__login a:before {
    width: 16px;
    height: 16px;
    content: '';
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
}

.breadcrumb .head-menu__login a.is-list:before {
    background-image:  url(../img/common/icon_list.svg);
}

.breadcrumb .head-menu__login a.is-mypage:before {
    background-image:  url(../img/common/icon_mypage.svg);
}

.breadcrumb .head-menu__login a.is-logout:before {
    background-image: url(../img/common/icon_out.svg);
}


/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .breadcrumb a:hover {
        text-decoration: none;
    }

    .breadcrumb .head-menu__login a:hover {
        text-decoration: underline;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .breadcrumb {
        padding: 8px 0;
    }

    .is-login .breadcrumb {
        border-bottom: 0;
        padding: 0;
    }

    .breadcrumb .inner {
        padding: 0 7px 0 16px;
    }

    .is-login .breadcrumb .inner {
        display: block;
        padding: 0;
    }

    .breadcrumb a,
    .breadcrumb span {
    }

    .is-login .breadcrumb .breadcrumb__panel {
        margin-right: 0;
        border-bottom: 1px solid #E9ECF2;
        padding: 8px 16px;
    }

    .breadcrumb .breadcrumb__panel li {
        padding: 0 8px 0 16px;
    }

    .breadcrumb .breadcrumb__panel li:before {
    }

    .breadcrumb .breadcrumb__panel li:first-child a {
        padding-left: 16px;
        background: url(../img/common/icon_home.svg) left center no-repeat;
        background-size: 12px auto;
    }


    .breadcrumb .head-menu__booking a {
        font-size: 12px;
        line-height: 1.5;
        padding-left: 31px;
        background: url(../img/common/icon_out.svg) left 11px center no-repeat;
        background-size: 16px auto;
        width: 96px;
        height: 26px;
        display: flex;
        align-items: center;
        border: 1px solid #939DAD;
        border-radius: 14px;
        text-decoration: none;
    }

    .breadcrumb .head-menu__booking a.logout{
        background: url(../img/common/icon_logout.svg) left 11px center no-repeat;
    }

    .breadcrumb .head-menu__login {
        padding: 0 16px;
    }

    .breadcrumb .head-menu__login a {
        height: 26px;
    }
}


/* !TOP
---------------------------------------------------------- */


#mainVisual {
    width: 100%;
    position: relative;
    z-index: 100;
    padding: 40px 0 24px;
    min-height: 432px;
}

.free-area + #mainVisual {
    margin-top: 24px;
}

#mainVisual .mv-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 250px;
    z-index: -1;
    pointer-events: none;
}

/*#mainVisual .mv-image:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0,0,0,0.3);
}*/

#mainVisual .mv-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv-image__text {
    font-size: 40px;
    line-height: 1.3;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
    text-align: center;
    text-shadow: 0 0 15px rgba(0,0,0,.8);
}

.mv-search-tab-target {
    display: flex;
    margin: 0 8px;

    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 768px) {
    .mv-search-tab-target::-webkit-scrollbar-track {
        background: #F8F6F1;
        border-radius: 0;
    }
    .mv-search-tab-target::-webkit-scrollbar-thumb {
        background: #878787;
        border-radius: 0;
    }
    .mv-search-tab-target::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }
}

.mv-search-tab-target li {
    display: flex;
    align-items: flex-end;
    height: 54px;
}

.mv-search-tab-target li:first-of-type a {
    border-top-left-radius: 8px;
}

.mv-search-tab-target li:last-of-type a {
    border-top-right-radius: 8px;
}

.mv-search-tab-target li+li a{
    border-left: 1px solid #C0C5CC;
}

.mv-search-tab-target a {
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    height: 48px;
    background: #fff;
    box-shadow: inset 0px -3px 3px rgba(0,0,0,.08);
    font-size: 16px;
    letter-spacing: -0.02em;
    line-height: 1.3;
    font-weight: 700;
    padding: 0 24px;
    color: #697180;
}

.mv-search-tab-target a.is-active {
    color: #3064D5;
    background: #fff;
    height: 54px;
    border-radius: 8px 8px 0 0;
    box-shadow: none;
    pointer-events: none;
    position: relative;
    z-index: 2;
}

.mv-search-tab-target a.is-public {
    color: #0063B0;
    background: #EAF6FF;
}

.mv-search-tab-target a img {
    width: 24px;
    margin-right: 4px;
}

.mv-search-tab-target .is-on {
    display: none;
}

.mv-search-tab-target a.is-active .is-no{
    display: none;
}

.mv-search-tab-target a.is-active .is-on{
    display: block;
}


#mainVisual .mv-search {
    position: relative;
    z-index: 2;
    width: 100%;
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.3);
}

.mv-search-date {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 8px;
    position: relative;
}

.mv-search-date .checkbox-list {
    position: absolute;
    right: 0;
    top: 3px;
    z-index: 2;
}

.mv-search-date__button {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 116px;
}

.mv-search-date__button span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 30px;
    font-size: 12px;
    line-height: 1.5;
    color: #2C2A29;
    cursor: pointer;
    box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.15);
    background: #fff;
    border-radius: 100px;
    border: 1px solid #fff;
}

.mv-search-date__day,
.mv-search-date__time {
    width: calc((100% - 116px - 16px) / 2);
}

.mv-search-date__day label {
    display: flex;
    align-items: center;
    width: 100%;
    border: 1px solid #939DAD;
    border-radius: 8px;
    height: 50px;
    background: url(../img/common/icon_calendar.svg) 8px center no-repeat #fff;
    background-size: 16px auto;
    padding-left: 32px;
    cursor: pointer;
}

.mv-search-date__day .departure-date,
.mv-search-date__day .return-date {
    display: flex;
    flex-direction: column;
    position: relative;
}

.mv-search-date__day .departure-date:before {
    font-size: 12px;
    line-height: 1.3;
    content: '出発日';
}

.mv-search-date__day .return-date:before {
    font-size: 12px;
    line-height: 1.3;
    content: '返却日';
}

.mv-search-date__day .return-date {
    margin-left: 1em;
}

.mv-search-date__day .return-date:after {
    width: 1em;
    height: 18px;
    left: -1em;
    bottom: 0;
    position: absolute;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    content: '-';
}

.mv-search-date__day label input {
    width: 100%;
    max-width: 135px;
    height: 18px;
    border: 0;
    font-size: 14px;
    line-height: 1.3;
    outline: none;
    cursor: pointer;
}

.mv-search-date__time {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.mv-search-date__time label {
    width: 100%;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    background-size: 16px auto;
    border: 1px solid #939DAD;
    border-radius: 8px;
    height: 50px;
    padding: 5px 0 5px 32px;
    position: relative;
    display: block;
}

.mv-search-date__time label:before {
    font-size: 12px;
    line-height: 1.3;
}

.mv-search-date__time label.departure-time:before {
    content: '出発時刻';
}

.mv-search-date__time label.return-time:before {
    content: '返却時刻';
}

.mv-search-date__time label:after {
    width: 32px;
    height: 100%;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/common/icon_schedule_outline.svg) center center no-repeat;
    background-size: 16px auto;
}

.mv-search-date__time label select {
    width: 100%;
    height: 18px;
    font-size: 14px;
    line-height: 1.3;
    outline: none;
    border: 0;
    background: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    padding: 18px 0 0 32px;
    cursor: pointer;
}

.mv-search-address {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mv-search-address label {
    width: 100%;
    border: 1px solid #939DAD;
    border-radius: 8px;
    height: 50px;
    padding-left: 32px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: url(../img/common/icon_location.svg) 8px center no-repeat #fff;
    background-size: 16px auto;
    cursor: pointer;
}

.mv-search-address label.is-disabled {
    background-color: #E9ECF2;
    border-color: #C0C5CC;
    opacity: .7;
    pointer-events: none;
}

.mv-search-address label.return-address {
    display: none;
}

.mv-search-address label.return-address.is-show {
    display: flex;
}

.mv-search-address label.departure-address {
    position: relative;
    gap: 2px;
}

.mv-search-address__title {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 400;
    color: #333;
}

.mv-search-address__titleText {
    font-weight: 400;
}

.mv-search-address__required {
    font-size: 12px;
    line-height: 1.3;
    color: #D63333;
    font-weight: 700;
}

.mv-search-address label.departure-address.is-required-attention,
.mv-search-address label.departure-address.is-error {
    border-color: #D63333 !important;
    background-color: #FFF7F7 !important;
    box-shadow: 0 0 0 4px rgba(214, 51, 51, 0.12);
}

.mv-search-address label.departure-address.is-required-attention {
    animation: mvSearchRequiredShake .42s ease-in-out;
}

.mv-search-address label.departure-address.is-required-attention input {
    background-color: transparent;
}

.mv-search-address label:before {
    font-size: 12px;
    line-height: 1.3;
}

.mv-search-address label.departure-address:before {
    content: none;
}

.mv-search-address label.return-address:before {
    content: '返却場所';
}

.mv-search-address label.departure-address input::placeholder {
    color: #c0c5cc;
}

.mv-search-address label input {
    width: 100%;
    height: 18px;
    border: 0;
    font-size: 14px;
    line-height: 1.3;
    outline: none;
    cursor: pointer;
}

.mv-search-address label input:disabled {
    pointer-events: none;
    background: #E9ECF2;
}

.checkbox-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.checkbox-list .checkbox-list__item {
    cursor: pointer;
    display: block;
    position: relative;
    z-index: 2;
    margin-top: 16px;
    font-size: 14px;
    line-height: 24px;
}

.checkbox-list .checkbox-list__item input[type=checkbox] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.checkbox-list .checkbox-list__item .checkbox-text {
    display: block;
    padding-left: 32px;
    position: relative;
}

.checkbox-list .checkbox-list__item .checkbox-text:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    border: 2px solid #939DAD;
    z-index: 1;
    background: #fff;
    content: '';
}

.checkbox-list.empty .checkbox-list__item .checkbox-text:before{
    background: #FDFFE5;
}
.checkbox-list.error .checkbox-list__item .checkbox-text:before{
    background: #FFF7F7 !important;
}

 .error-input .checkbox-list .checkbox-list__item .checkbox-text:before {
    border-color: #D6333366;
    background: #FFF7F7;
}

.checkbox-list .checkbox-list__item input[type=checkbox]:checked + .checkbox-text:before {
    border-color: #3064D5;
    background: #3064D5;
}

.checkbox-list .checkbox-list__item .checkbox-text:after {
    position: absolute;
    left: 4px;
    top: 6px;
    width: 16px;
    height: 8px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    z-index: 2;
    content: '';
    transform: rotate(-45deg);
    opacity: 0;
}

.checkbox-list .checkbox-list__item input[type=checkbox]:checked + .checkbox-text:after {
    opacity: 1;
}

.checkbox-list .checkbox-list__item input[type=radio] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.checkbox-list .checkbox-list__item input[type=radio] + .checkbox-text:before  {
    border-radius: 50%;
}

.checkbox-list .checkbox-list__item input[type=radio]:checked + .checkbox-text:before {
    border-color: #3064D5;
    background: none;
}

.checkbox-list .checkbox-list__item input[type=radio] + .checkbox-text:after {
    left: 4px;
    top: 4px;
    width: 16px;
    height: 16px;
    border: 0;
    background: #3064D5;
    border-radius: 50%;
    transform: rotate(-45deg);
    opacity: 0;
}

.checkbox-list .checkbox-list__item input[type=radio]:checked + .checkbox-text:after {
    opacity: 1;
}

#mainVisual .mv-search .mv-search__button {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonSearchOverlay {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 256px;
    height: 44px;
    border: 0;
    border-radius: 22px;
    background: transparent;
    cursor: pointer;
    display: none;
    z-index: 3;
    pointer-events: auto;
}

#mainVisual .mv-search .mv-search__button.is-guide-visible {
    cursor: default;
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonSearchOverlay.is-show {
    display: block;
}

@keyframes mvSearchRequiredShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonAdd {
    font-size: 14px;
    line-height: 1.5;
    color: #3064D5;
    display: flex;
    justify-content: center;
    align-items: center;
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonSearch {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 256px;
    height: 44px;
    border-radius: 22px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
    font-weight: 700;
    background: url(../img/common/icon_search_white02.svg) left 16px center no-repeat #10069F;
    background-size: 16px auto;
    transition: all 0.5s;
    border: 1px solid #10069F;
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonSearch:disabled {
    background-color: #E9ECF2;
    background-image: url(../img/common/icon_search_gray.svg);
    border-color: #C0C5CC;
    opacity: .7;
    color: #939DAD;
    pointer-events: none;
}

.mv-search__plan {
    text-align: center;
    margin-top: 11px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
    color: #697180;
    display: none;
}

.mv-search__plan span {
    color: #2C2A29;
}

.mv-search__history {
    margin-top: 32px;
    width: 100%;
    overflow: hidden;
    border: 2px solid #E9ECF2;
    background: #fff;
    border-radius: 8px;
}

.mv-search__history .mv-search__history--title {
    background: #E9ECF2;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
    color: #2C2A29;
}

.mv-search__history .mv-search__history--list {
    background: #fff;
    width: 100%;
    padding: 8px 16px;
}

.mv-search__history .mv-search__history--list li + li {
    margin-top: 16px;
}

.mv-search__history .mv-search__history--list li a {
    font-size: 14px;
    line-height: 1.5;
    color: #3064D5;
    text-decoration: underline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

#mainVisual .mv-search .mv-search__button .mv-search__buttonSearch:before {
    content: none;
}
/*** PC HOVER ***/
@media screen and (min-width: 960px) {
  /* タブだけ：半透明をやめて、背景＆文字色で表現 */
  .mv-search-tab-target a:not(.is-active):hover {
    opacity: 1;                 /* 半透明にしない */
    background: #F2F7FE;        /* 添付の白っぽい背景 */
    color: #140d77;             /* 添付の青 */
    text-decoration: none;
  }

  /* アイコン色：SVGが読み込まれている時だけ青へ（thumbnail.pngには効かせない） */
  .mv-search-tab-target a:not(.is-active):hover img[src$=".svg"] {
    filter:
      brightness(0)
      saturate(100%)
      invert(11%)
      sepia(93%)
      saturate(3544%)
      hue-rotate(232deg)
      brightness(86%)
      contrast(103%);
  }

  @media screen and (min-width: 960px) {
  /* ここでスピード調整（hover前の通常状態に付ける） */
  .mv-search-tab-target a {
    transition: background-color .1s ease, color .1s ease;
  }

  /* アイコン（svg img）の変化速度も合わせたい場合 */
  .mv-search-tab-target a img[src$=".svg"] {
    transition: filter .1s ease;
  }
}

    #mainVisual .mv-search .mv-search__button .mv-search__buttonSearch:hover {
        background-color: #140D77;
    }

    .mv-search__history .mv-search__history--list li a:hover {
        text-decoration: none;
    }

    .mv-search-date__button span:hover {
        background: #F0F7FF;
        border: 1px solid #99C4FD;
        color: #140D77;
        box-shadow: none;
        transition: all .3s;
        cursor: pointer;
    }
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #mainVisual {
        padding: 16px 0 0;
    }

    .free-area + #mainVisual {
        margin-top: 12.5px;
    }

    #mainVisual .mv-image {
        width: 100%;
        height: 100px;
    }

    #mainVisual .mv-image:before {
        content: none;
    }

    .mv-image__text {
        font-size: 26px;
        margin-bottom: 10px;
        line-height: 1.3;
        min-height: 68px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mv-search-tab-target {
        display: flex;
        margin: 0;

        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mv-search-tab-target li {
        width: 100%;
        display: flex;
        align-items: flex-end;
        height: 52px;
    }

    .mv-search-tab-target li:first-of-type a {
        border-top-left-radius: 0;
    }

    .mv-search-tab-target li:last-of-type a {
        border-top-right-radius: 0;
    }

    .mv-search-tab-target li+li a{
        border-left: 1px solid #C0C5CC;
    }

    .mv-search-tab-target a {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        flex-wrap: wrap;
        white-space: nowrap;
        height: 46px;
        background: #fff;
        box-shadow: inset 0px -3px 3px rgba(0,0,0,.08);
        font-size: 12px;
        letter-spacing: -0.02em;
        line-height: 1.3;
        font-weight: 700;
        padding: 0 12px;
    }

    .mv-search-tab-target a.is-active {
        color: #3064D5;
        background: #fff;
        height: 52px;
        border-radius: 8px 8px 0 0;
        box-shadow: none;

        position: relative;
        z-index: 2;
    }

    .mv-search-tab-target a.is-public {
        color: #0063B0;
        background: #EAF6FF;
    }

    .mv-search-tab-target a img {
        width: 16px;
        height: 16px;
        margin-right: 0;
    }

    .mv-search-tab-target .is-on {
        display: none;
    }

    .mv-search-tab-target a.is-active .is-no{
        display: none;
    }

    .mv-search-tab-target a.is-active .is-on{
        display: block;
    }

     #mainVisual .inner {
        padding: 0;
    }

    #mainVisual .mv-search {
        width: 100%;
        height: auto;
        border-radius: 0;
        padding: 16px 20px 40px;
    }

    .mv-search-date {
        flex-wrap: wrap;
        gap: 8px;
        position: relative;
    }

    .mv-search-date__button {
        gap: 8px;
        width: 100%;
    }

    .mv-search-date__button span {
        height: 26px;
    }

    .mv-search-date__day,
    .mv-search-date__time {
        width: 100%;
    }

    .mv-search-date__day label {
        padding: 0 8px 0 32px;
    }

    .mv-search-date__day .departure-date,
    .mv-search-date__day .return-date {
        width: calc((100% - 1em) / 2);
        gap: 4px;
    }

    .mv-search-date__day .departure-date:before,
    .mv-search-date__day .return-date:before {
        line-height: 1.16;
    }

    .mv-search-date__day label input {
        max-width: 100%;
    }

    .mv-search-date__time label {
        gap: 4px;
    }

    .mv-search-date__time label:before {
        line-height: 1.16;
    }

    .mv-search-address {
        margin-top: 8px;
        flex-wrap: wrap;
    }

    .mv-search-address label {
        gap: 4px;
    }

    .mv-search-address label.departure-address {
        gap: 1px;
    }

    .mv-search-address__title,
    .mv-search-address__required,
    .mv-search-address label:before {
        font-size: 11px;
    }

    .mv-search-address label:before {
        font-size: 12px;
        line-height: 1.16;
    }

    .checkbox-list {
        gap: 16px;
    }

    .checkbox-list .checkbox-list__item {
        margin-top: 8px;
        font-size: 12px;
        line-height: 20px;
    }

    .checkbox-list .checkbox-list__item .checkbox-text {
        padding-left: 28px;
    }

    .checkbox-list .checkbox-list__item .checkbox-text:before {
        width: 20px;
        height: 20px;
    }

    .checkbox-list .checkbox-list__item .checkbox-text:after {
        left: 3px;
        top: 5px;
        width: 14px;
        height: 6px;
    }

    .checkbox-list .checkbox-list__item input[type=radio] + .checkbox-text:after {
        width: 12px;
        height: 12px;
    }

    #mainVisual .mv-search .mv-search__button {
        margin-top: 16px;
    }

    .mv-search__history {
        margin-top: 24px;
    }

    .mv-search__history .mv-search__history--title {
        padding: 10px 16px;
    }

    .mv-search__history .mv-search__history--list {
        padding: 16px;
    }

    .mv-search__history .mv-search__history--list li a {
        font-size: 12px;
    }

}

.top-section {
    padding: 60px 0;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-section {
        padding: 32px 0;
    }
}

.top-news-list {
    width: 100%;
    max-width: 672px;
    margin: 0 auto;
}

.top-news-list .news-list__item + .news-list__item {
    margin-top: 24px;
}

.top-news-list .news-item__head dl {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    cursor: pointer;
    position: relative;
}

.top-news-list .news-item__head.js-toggle-target dl {
    padding-right: 36px;
}

.top-news-list .news-item__head.js-toggle-target dl:after {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -8px;
    width: 16px;
    height: 16px;
    background: url(../img/common/icon_dropdown02.svg) center center no-repeat;
    background-size: 16px auto;
    content: '';
    transition: all .5s;
}

.top-news-list .is-active dl:after {
    transition: all .5s;
    transform: scaleY(-1);
}

.top-news-list .news-item__head dl dt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.top-news-list .news-item__head .news-date {
    font-size: 12px;
    line-height: 1.5;
    margin-right: 8px;
    color: #697180;
}

.top-news-list .news-item__head .news-category {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    height: 17px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    color: #697180;
    background: #F5F7FA;
    border-radius: 4px;
    margin-right: 4px;
}

.top-news-list .news-item__head .news-category.is-new {
    background: #FFEE1D;
    color: #2C2A29;
}

.top-news-list .news-item__head .news-category.cate01 {
    background: #EAF6FF;
    color: #0063B0;
}

.top-news-list .news-item__head .news-category.cate02 {
    background: #EAFFFA;
    color: #147252;
}

.top-news-list .news-item__head .news-category.cate03 {
    background: #FFFCD5;
    color: #CF3700;
}

.top-news-list .news-item__head .news-category.cate04 {
    background: #E60012;
    color: #fff;
}

.top-news-list .news-item__head .news-category.cate05 {
    background: #FFF7F7;
    color: #DF0D00;
}

.top-news-list .news-item__head dl dd {
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    margin-top: 8px;
    text-decoration: underline;
    color: #2C2A29;
}

.top-news-list .news-item__head dl dd a {
    color: #2C2A29;
}


.top-news-list .news-item__body {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 8px;
    color: #2C2A29;
    display: none;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .top-news-list .news-item__head dl dd:hover,
    .top-news-list .news-item__head dl dd:hover a {
        color: #10069F;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

    .top-news-list .news-list__item + .news-list__item {
        margin-top: 16px;
    }

    .top-news-list .news-item__head dl {
        display: block;
    }

    .top-news-list .news-item__head.js-toggle-target dl {
        padding-right: 25px;
    }

    .top-news-list .news-item__head dl:after {
        right: 0;
    }

    .top-news-list .news-item__head dl dt {
        width: 100%;
        margin-right: 0;
        justify-content: flex-start;
    }

    .top-news-list .news-item__head dl dd a {
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }
}


.top-feature .popular-dep__head {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin: 0 auto 24px;
    max-width: 600px;
}

.top-feature .popular-dep__head a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 42px;
    border-radius: 4px;
    color: #2C2A29;
    background: #E9ECF2;
    font-size: 14px;
    line-height: 1.5;
    position: relative;
}

.top-feature .popular-dep__head a.is-active {
    background-color: #697180;
    color: #fff;
    font-weight: 700;
}

.top-feature .popular-dep__head a.is-active:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    z-index: 1;
    border: 8px solid transparent;
    border-top-color: #697180;
}

.top-feature__box {
    display: flex;
    justify-content: space-between;
    min-height: 500px;
}

.top-feature__big {
    width: calc(49% - 32px);
}

.top-feature__other {
    width: 51%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* カードの高さを固定（タグ数・タイトル文字数による変動を防止） */
.top-feature__other .feature-list__item a {
    height: 205px;
}

.top-feature .feature-list__item span {
    display: block;
}

.top-feature .feature-list__item a {
    display: flex;
    align-items: flex-start;
    background: #fff;
    padding-bottom: 24px;
    border-bottom: 1px dashed #DDDDDD;
    overflow: hidden;
    position: relative;
}

.top-feature .top-feature__big .feature-list__item a {
    display: block;
    border-bottom-color: transparent;
}

.top-feature .feature-list__item .feature-image {
    width: 198px;
    padding-top: 132px;
    position: relative;
    margin-right: 16px;
}

.top-feature .top-feature__big .feature-list__item .feature-image {
    width: 100%;
    padding-top: 55.5%;
    position: relative;
    margin-right: 0;
    margin-bottom: 16px;
}

.top-feature .feature-list__item .feature-image img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-feature .feature-list__item .feature-box {
    font-size: 12px;
    line-height: 1.5;
    width: calc(100% - 198px - 16px);
}

.top-feature .top-feature__big .feature-list__item .feature-box {
    width: auto;
}

.top-feature .feature-list__item .feature-title {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.top-feature .feature-list__item .feature-text {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px;
    margin-top: 16px;
}

.top-feature .top-feature__big .feature-text {
    display: block;
}

.feature-tag {
    display: flex!important;
    flex-wrap: wrap;
    margin-top: 4px;
}

.feature-tag a,
.feature-tag span {
    font-size: 12px;
    margin: 0 4px 4px 0;
    color: #10069F;
}

.top-feature .feature-list__item .feature-date {
    color: #697180;
    margin-top: 4px;
    text-align: right;
}

.top-feature__body {
    position: relative;
}

.feature-tag__list {
    width: 100%;
    margin-top: 32px;
    padding: 0 25px 0 32px;
    border-left: 1px solid #C0C5CC;
}

.feature-tag__list .feature-tag a,
.feature-tag__list .feature-tag span {
    margin: 0 8px 8px 0;
    font-size: 14px;
}

.feature-tag__hd {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 14px;
    font-weight: 400;
}

.top-feature__more {
    margin-top: 24px;
    text-align: right;
}

#feature_tab03 {
    counter-reset: number;
}

#feature_tab03 .feature-list__item a:before {
    counter-increment: number;
    content: counter(number);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 11;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #10069F;
    font-size: 14px;
    font-weight: 400;
}

#feature_tab03 .feature-list__item:nth-of-type(1) a:before {
    background: linear-gradient(136.38deg, #B4B4B4 0%, #A1A1A1 97.7%);
}
#feature_tab03 .feature-list__item:nth-of-type(2) a:before {
    background: linear-gradient(136.38deg, #986D24 0%, #795727 97.7%);
}

#feature_tab03 .top-feature__big .feature-list__item:nth-of-type(1) a:before {
    background: linear-gradient(136.38deg, #BAA027 0%, #D69054 97.7%);
    font-size: 16px;
    width: 53px;
    height: 53px;
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
    .top-feature__big {
        width: calc(49% - 16px);
    }

    .feature-tag__list {
        width: calc(49% - 16px);
        padding: 0 0 0 16px;
    }

    .top-feature .feature-list__item .feature-text {
        margin-top: 6px;
    }
}
/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .top-feature .popular-dep__head a:hover {
        background-color: #697180;
        color: #fff;
    }

    .feature-tag__list .feature-tag a:hover {
        text-decoration: underline;
    }
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {


    .top-feature .feature-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 25px;
    }

    .top-feature .feature-list .feature-list__item a {
        border-radius: 3px;
    }

    .top-feature .feature-list .feature-list__item .feature-box {
        padding: 15px;
        font-size: 17px;
        font-weight: normal;
    }

    .top-feature__box {
        display: block;
    }

    .top-feature__big {
        width: auto;
    }

    .top-feature__other {
        width: auto;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }

    .top-feature .feature-list__item span {
        display: block;
    }

    .top-feature .feature-list__item a {
        display: flex;
        align-items: flex-start;
        background: #fff;
        padding-bottom: 24px;
        border-bottom: 1px dashed #DDDDDD;
        overflow: hidden;
        position: relative;
    }

    .top-feature .feature-list__item:last-of-type a {
        border-bottom-color: transparent;
    }


    .top-feature .top-feature__big .feature-list__item a {
        display: block;
        border-bottom-color: #DDDDDD;
        margin-bottom: 24px;
    }

    .top-feature .feature-list__item .feature-image {
        width: 140px;
        padding-top: 93px;
        position: relative;
        margin-right: 8px;
    }

    .top-feature .top-feature__big .feature-list__item .feature-image {
        width: 100%;
        padding-top: 66.4%;
        position: relative;
        margin-right: 0;
        margin-bottom: 16px;
    }

    .top-feature .feature-list__item .feature-image img {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .top-feature .feature-list__item .feature-box {
        font-size: 12px;
        line-height: 1.5;
        width: calc(100% - 140px - 8px);
    }

    .top-feature .top-feature__big .feature-list__item .feature-box {
        width: auto;
    }

    .top-feature .feature-list__item .feature-title {
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.3;
    }

    .top-feature .top-feature__big .feature-list__item .feature-title {
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
    }

    .top-feature .feature-list__item .feature-text {
        overflow : hidden;
        display: none;
    }

    .top-feature .top-feature__big .feature-text {
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        font-size: 14px;
        margin-top: 16px;
    }

    .feature-tag {
        display: flex!important;
        flex-wrap: wrap;
        margin-top: 8px;
    }

    .feature-tag a,
    .feature-tag span {
        font-size: 12px;
        margin: 0 4px 4px 0;
        color: #10069F;
    }

    .top-feature .feature-list__item .feature-date {
        margin-top: 0;
    }

    .top-feature .top-feature__big.feature-list__item .feature-date {
        color: #697180;
    }

    .top-feature__body {
        position: relative;
    }

    .feature-tag__list {
        position: static;
        left: 0;
        bottom: 170px;
        width: auto;
        padding: 0;
        border-left: 0;
    }

    .feature-tag__list .feature-tag a,
    .feature-tag__list .feature-tag span {
        margin: 0 8px 8px 0;
        font-size: 14px;
    }

    .feature-tag__hd {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 14px;
        font-weight: 400;
    }

    .top-feature__more {
        margin-top: 16px;
        text-align: center;
    }

    #feature_tab03 {
        counter-reset: number;
    }

    #feature_tab03 .feature-list__item a:before {
        counter-increment: number;
        content: counter(number);
        position: absolute;
        left: 0;
        top: 0;
        z-index: 11;
        width: 26px;
        height: 26px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        background: #10069F;
        font-size: 14px;
        font-weight: 400;
    }

    #feature_tab03 .feature-list__item:nth-of-type(1) a:before {
        background: linear-gradient(136.38deg, #B4B4B4 0%, #A1A1A1 97.7%);
    }
    #feature_tab03 .feature-list__item:nth-of-type(2) a:before {
        background: linear-gradient(136.38deg, #986D24 0%, #795727 97.7%);
    }

    #feature_tab03 .top-feature__big .feature-list__item:nth-of-type(1) a:before {
        background: linear-gradient(136.38deg, #BAA027 0%, #D69054 97.7%);
        font-size: 16px;
        width: 53px;
        height: 53px;
    }
}

.banner-company {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.banner-company + .banner-company__list {
    margin-top: 24px;
}

.banner-company a {
    display: block;
}

.banner-company .banner-company__image {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    background: #fff;
    width: 100%;
    height: 78px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 8px;
    box-sizing: border-box;
}

.banner-company .banner-company__image img {
    max-width: 70%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.banner-company .banner-company__name {
    font-size: 14px;
    line-height: 1.5;
    color: #2C2A29;
    display: block;
    text-align: center;
    margin-top: 8px;
}

.banner-company__button {
    text-align: center;
    margin-top: 24px;
}

.banner-company__button .icon-links .is-close,
.banner-company__button .icon-links.is-active .is-open {
    display: none;
}

.banner-company__button .icon-links.is-active .is-close,
.banner-company__button .icon-links .is-open {
    display: block;
}

.banner-company__button .icon-links.is-down.is-active:after {
    transform: rotate(-90deg);
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .banner-company {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .banner-company + .banner-company__list {
        margin-top: 15px;
        display: none;
    }

    .banner-company + .banner-company__list.is-active {
        display: block;
    }

    .banner-company .banner-company__image {
        height: 58px;
    }

    .banner-company .banner-company__image img {
        width: 144px;
    }
}

.top-reservation__body {
    display: none;
}

.top-reservation__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.top-reservation__list .top-reservation__listItem {
    border: 1px solid #C0C5CC;
    padding: 24px;
    font-size: 14px;
    line-height: 1.5;
    color: #2C2A29;
}

.top-reservation-head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    font-size: 20px;
    line-height: 1.3;
    color: #10069F;
    font-weight: bold;
    text-align: center;
    margin-bottom: 16px;
}

.top-reservation-head img {
    width: 40px;
}

.top-reservation__button {
    text-align: center;
}

.top-reservation__button .icon-links.is-active {
    margin-top: 35px;
}

.top-reservation__button .icon-links .is-close,
.top-reservation__button .icon-links.is-active .is-open {
    display: none;
}

.top-reservation__button .icon-links.is-active .is-close,
.top-reservation__button .icon-links .is-open {
    display: block;
}

.top-reservation__button .icon-links.is-down.is-active:after {
    transform: rotate(-90deg);
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-reservation__list {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }

    .top-reservation__list .top-reservation__listItem {
        padding: 16px;
    }

    .top-reservation-head {
        font-size: 18px;
    }

    .top-reservation__button .icon-links.is-active {
        margin-top: 32px;
    }
}

.top-search__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.top-search__list .top-search__listItem h2 {
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 15px;
}

.top-search__list .top-search__listItem h2 span {
    display: none;
}

.top-search .top-search__links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 8px;
}

.top-search .top-search__links li {
    padding-right: 9px;
    border-right: 1px solid #C0C5CC;
}

.top-search .top-search__links a {
    font-size: 14px;
    line-height: 16px;
    color: #2C2A29;
}

.top-search .top-search__button {
    margin-top: 24px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .top-search .top-search__links a:hover {
        color: #140D77;
        text-decoration: underline;
    }
}

@media screen and (min-width: 768px) {
    .top-search .top-search__box {
        display: block !important;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-search__list {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
        width: calc(100% + 40px);
        margin: 0 -20px;
    }

    .top-search__list .top-search__listItem + .top-search__listItem {
        border-top: 1px solid #C0C5CC;
    }

    .top-search__list .top-search__listItem h2 {
        font-size: 16px;
        line-height: 1.3125;
        margin-bottom: 0;
        padding: 16px 44px 16px 20px;
        position: relative;
    }

    .top-search__list .top-search__listItem h2 span {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        cursor: pointer;
    }

    .top-search__list .top-search__listItem h2 span:after {
        width: 32px;
        height: 32px;
        background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        content: '';
        z-index: 2;
        transition: transform .3s ease-out;
    }

    .top-search__list .top-search__listItem h2 span.is-active:after {
        transform: translateY(-50%) scaleY(-1);
    }

    .top-search .top-search__box {
        display: none;
        background: #E9ECF2;
    }

    .top-search .top-search__links {
        display: block;
    }

    .top-search .top-search__links li {
        padding: 8px 40px;
        border-right: 0;
    }

    .top-search .top-search__links a {
        line-height: 1.3;
    }

    .top-search .top-search__button {
        padding-top: 17px;
        position: relative;
        margin-top: 0;
    }

    .top-search .top-search__button:before {
        height: 1px;
        background: #C0C5CC;
        position: absolute;
        left: 20px;
        right: 20px;
        top: 8px;
        z-index: 2;
        content: '';
    }

    .top-search .top-search__button .icon-links {
        width: 100%;
        border: 0;
        border-radius: 0;
        font-size: 14px;
        line-height: 1.3;
        padding: 8px 40px;
        background: none;
        font-weight: bold;
    }

    .top-search .top-search__button .icon-links:after {
        display: none;
    }
}

.top-sale__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.top-sale__list .top-sale__listItem {
    display: block;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.top-sale .top-sale-image {
    display: block;
    width: 100%;
    aspect-ratio: 352 / 225;
    overflow: hidden;
}

.top-sale .top-sale-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-sale .top-sale-box {
    padding: 16px;
    background: #fff;
    display: block;
}

.top-sale .top-sale-name {
    font-size: 20px;
    line-height: 1.3;
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
    min-height: calc(1.3em * 2);
}

.top-sale .top-sale-description {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.5;
    color: #222;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    word-break: break-word;
    min-height: calc(1.5em * 6);
}

.top-sale .top-sale-price {
    margin-top: 8px;
    text-align: right;
    font-size: 14px;
    line-height: 1.3;
    color: #DF0D00;
    font-weight: bold;
    display: block;
}

.top-sale .top-sale-price .top-sale-price__price {
    font-size: 22px;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-sale__list {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }

    .top-sale__list .top-sale__listItem {
        box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.15);
        display: flex;
        align-items: center;
    }

    .top-sale .top-sale-image {
        width: 150px;
        aspect-ratio: 13 / 13;
    }

    .top-sale .top-sale-box {
        padding: 16px 12px;
        width: calc(100% - 130px);
    }

    .top-sale .top-sale-name {
        font-size: 14px;
        line-height: 1.5;
        display: block;
        -webkit-line-clamp: initial;
        min-height: auto;
    }

    .top-sale .top-sale-description {
        margin-top: 6px;
        font-size: 10px;
        line-height: 1.4;
        -webkit-line-clamp: 3;
        min-height: auto;
    }

    .top-sale .top-sale-price {
        margin-top: 10px;
    }

    .top-sale .top-sale-price .top-sale-price__price {
        font-size: 20px;
    }
}

.top-map__body {
    display: none;
}

.area-search-map {
    width: 100%;
    max-width: 488px;
    margin: 0 auto;
    position: relative;
}

.area-search-map .area-map {
    position: relative;
    z-index: 1;
}

.area-search-map .area-map img {
    width: 100%;
}

.area-search-map .area-map .area-map__all {
    position: relative;
    z-index: 2;
}

.area-search-map .area-map .area-map__single {
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    transition: .3s;
}

.area-search-map .area-map .area-map__single.is-hover {
    opacity: 1;
    z-index: 3;
}

.area-search-map .map-links {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}

.area-search-map .map-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: #2C2A29;
    padding: 6px 17px;
    background: #fff;
    border-radius: 30px;
   box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.15);
}

.area-search-map .map-links a:after {
    width: 24px;
    height: 24px;
    content: '';
    background: url(../img/common/icon_arrow_links.svg) center center no-repeat;
    background-size: 100% 100%;
}

.area-search-map .map-links a.is-plus:after {
    background-image: url(../img/common/icon_arrow_plus.svg);
}

.area-search-map .map-links a.is-hover {
    background: rgba(240, 247, 255, 1);
    text-decoration: none;
    color: #10069F;
}


.area-search-map .map-links li {
    position: absolute;
    z-index: 2;
}

.area-search-map .map-links li.area-hokkaido {
    right: 4.508196721311475%;
    top: -.869565217391304%;
}

.area-search-map .map-links li.area-tohoku {
    right: 8.227459016393443%;
    bottom: 54.565217391304348%;
}

.area-search-map .map-links li.area-northern-kanto {
    right: 10.276639344262295%;
    bottom: 40.217391304347826%;
}

.area-search-map .map-links li.area-greater-tokyo {
    right: 12.295081967213115%;
    bottom: 31.08695652173913%;
}

.area-search-map .map-links li.area-tokai {
    right: 25.40983606557377%;
    bottom: 22.173913043478261%;
}

.area-search-map .map-links li.area-koshinetsu {
    left: 31.557377049180328%;
    bottom: 53.043478260869565%;
}

.area-search-map .map-links li.area-hokuriku {
    left: 20.491803278688525%;
    bottom: 43.043478260869565%;
}

.area-search-map .map-links li.area-kinki {
    right: 29.508196721311475%;
    bottom: 13.260869565217391%;
}

.area-search-map .map-links li.area-chugoku {
    left: 3.89344262295082%;
    bottom: 33.695652173913043%;
}

.area-search-map .map-links li.area-shikoku {
    left: 26.229508196721311%;
    bottom: 10.434782608695652%;
}

.area-search-map .map-links li.area-kyushu {
    left: -11.475409836065574%;
    bottom: 8.91304347826087%;
}

.area-search-map .map-links li.area-okinawa {
    left: 14.139344262295082%;
    top: 14.565217391304348%;
}

.area-search-links {
    width: 100%;
}

.area-search-links .area-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.area-search-links .area-links a {
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #C0C5CC;
    padding: 15px 16px;
    display: block;
    text-align: center;
    line-height: 1;
    font-size: 1px;
}

.area-search-links .area-links a .img-wrap {
    width: 100%;
    max-width: 100px;
    display: inline-block;
    line-height: 1;
    font-size: 1px;
}

.area-search-links .area-links a .img-wrap img {
    width: 100%;
}

.area-search-links .area-links a .box-wrap {
    font-size: 1.4rem;
    line-height: 1.3;
    color: #2C2A29;
    display: block;
    margin-top: 4px;
}

.top-map__button {
    text-align: center;
}

.top-map__button a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 256px;
    height: 44px;
    border-radius: 100px;
    border: 1px solid #939DAD;
    font-size: 14px;
    line-height: 1.3;
    font-weight: bold;
}

.top-map__button a:before {
    width: 16px;
    height: 16px;
    background: url(../img/common/add_remove.svg) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    content: '';
}

.top-map__button a.is-active:before {
    background-image: url(../img/common/close_remove.svg);
}

.top-map__button a.is-active {
    margin-top: 32px;
}

.top-map__button a .is-open,
.top-map__button a.is-active .is-close {
    display: block;
} 

.top-map__button a.is-active .is-open,
.top-map__button a .is-close {
    display: none;
} 

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .top-map__button a:hover {
        background: #F0F7FF;
        color: #140D77;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    
}


.bustrip-modal {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10000;
    left: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}

.bustrip-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.bustrip-modal .bustrip-modal__overlay {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 998;
    width: 100%;
    height: 100dvh;
    background: rgba(0, 0, 0, .5);
    text-indent: -9999px;
}

.bustrip-modal .bustrip-modal__wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 999;
    width: 100%;
    max-width: 736px;
    max-height: calc(100% - 48px);
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.bustrip-modal .bustrip-modal-close {
    width: 32px;
    height: 32px;
    background: url(../img/common/icon_close_gray.svg) center center no-repeat;
    background-size: 16px auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 99;
    cursor: pointer;
}

.bustrip-modal .bustrip-modal-title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px;
    line-height: 1.3;
    padding: 32px 30px 16px;
    height: auto;
    position: relative;
    z-index: 98;
}

.bustrip-modal .bustrip-modal-body {
    max-height: calc(100vh - 82px);
    width: 100%;
    position: relative;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.bustrip-modal .bustrip-conditions {
    padding: 0 32px 76px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: calc(100vh - 130px);
}

.bustrip-modal .bustrip-conditions .bustrip-conditions__item {
    padding-bottom: 40px;
}

.bustrip-modal .bustrip-conditions .bustrip-conditions__item + .bustrip-conditions__item {
    border-top: 1px dashed #D9D9D9;
    padding-top: 40px;
}

.bustrip-modal .bustrip-conditions-title {
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bustrip-modal .bustrip-conditions-title a {
    display: block;
    font-size: 1px;
    line-height: 1;
}

.bustrip-modal .bustrip-conditions-button {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 16px 20px;
    text-align: center;
    background: #fff;
}

.bustrip-modal .bustrip-conditions-button button {
    width: 100%;
    max-width: 256px;
    height: 44px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: #10069F;
    border-radius: 44px;
    font-size: 16px;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
}

/* =========================================================
   ログイン（予約確認）モーダル
   - 既存の .bustrip-modal を流用
   ========================================================= */
#modal_login.bustrip-modal .bustrip-modal-title {
    font-size: 26px;
    padding: 32px 30px 32px;
    font-weight: 700;
    color: #2C2A29;
    box-shadow: none;
}

#modal_login .login-modal__body {
    padding: 0 30px 26px;
}

#modal_login .login-modal__buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
}

#modal_login .login-modal__btn {
    min-height: 64px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 32px 8px 16px;
    text-decoration: none;
    transition: all 0.5s;
    box-sizing: border-box;
    justify-content: center;
}

#modal_login .login-modal__icon img {
    display: block;
}

#modal_login .login-modal__text {
    display: flex;
    flex-direction: column;
    /* gap: 2px; */
    align-items: center;
    text-align: center;
}

#modal_login .login-modal__btnTitle {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    width: 100%;
    text-align: center;
}

#modal_login .login-modal__btnSub {
    font-size: 12px;
    line-height: 1.4;
    font-weight: 400;
    width: 100%;
    text-align: center;
}

/* 「(予約日：」は太字 */
#modal_login .login-modal__label {
    font-weight: 700;
}

/* 数字（2026/〇/〇）のみ大きく＆太字、単位（年/月/日）は小さく */
#modal_login .login-modal__dateNum {
    font-size: 18px;
    font-weight: 700;
}

#modal_login .login-modal__dateUnit {
    font-size: 14px;
    font-weight: 700;
}

/* 「以降/以前」は通常サイズ */
#modal_login .login-modal__suffix {
    font-size: 12px;
    font-weight: 700;
}

/* PC時：モーダルタイトル（ご予約の確認）は太字を外す */
@media screen and (min-width: 960px) {
    #modal_login.bustrip-modal .bustrip-modal-title {
        font-weight: 400;
    }
}

/* 新サイト（Primary） */
#modal_login .login-modal__btn.is-new {
    background: #10069F;
    border: 1px solid #10069F;
    color: #fff;
}

#modal_login .login-modal__btn.is-new .login-modal__btnSub {
    color: #fff;
}

#modal_login .login-modal__btn.is-new .login-modal__icon img {
    filter: brightness(0) invert(1);
}

/* 旧サイト（Secondary） */
#modal_login .login-modal__btn.is-old {
    background: #fff;
    border: 1px solid #939DAD;
    color: #2C2A29;
}

#modal_login .login-modal__btn.is-old .login-modal__btnSub {
    color: #2C2A29;
}

/* セカンダリ（旧サイト）は太字にしない */
#modal_login .login-modal__btn.is-old .login-modal__btnTitle,
#modal_login .login-modal__btn.is-old .login-modal__label,
#modal_login .login-modal__btn.is-old .login-modal__dateNum,
#modal_login .login-modal__btn.is-old .login-modal__dateUnit,
#modal_login .login-modal__btn.is-old .login-modal__suffix {
    font-weight: 400 !important;
}

/* PC hover */
@media screen and (min-width: 960px) {
    #modal_login .login-modal__btn.is-new:hover {
        background-color: #140D77;
        border-color: #140D77;
    }

    #modal_login .login-modal__btn.is-old:hover {
        background: #F0F7FF;
        border-color: #99C4FD;
        color: #140D77;
    }
}

#modal_login .login-modal__close {
    margin: 32px auto 0;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #697180;
    background: transparent;
    border: none;
    cursor: pointer;
}

#modal_login .login-modal__closeIcon {
    font-size: 16px;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    #modal_login.bustrip-modal .bustrip-modal-title {
        font-size: 18px;
        height: auto;
        padding: 32px 18px 32px;
        color: #2C2A29;
    }

    #modal_login .login-modal__body {
        padding: 0 18px 18px;
    }

    #modal_login .login-modal__buttons {
        flex-direction: column;
        gap: 16px;
    }

    #modal_login .login-modal__btn {
        /* SPはボタンを少しだけ細くして、左右に余白を作る */
        /* width: calc(100% - 24px); */
        margin: 0 auto;
        min-height: 62px;
        padding: 8px 20px;
    }

    #modal_login .login-modal__dateNum {
        font-size: 17px;
    }

    #modal_login .login-modal__dateUnit {
        font-size: 12px;
    }

    #modal_login .login-modal__suffix {
        font-size: 12px;
    }
}





/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .bustrip-modal:not(.is-popup) .bustrip-modal__wrap {
        left: 0;
        top: 0;
        transform: translate(0,0);
        height: 100%;
        max-height: 100%;
        border-radius: 0;
    }

    .bustrip-modal.is-popup .bustrip-modal__wrap {
        max-width: calc(100% - 40px);
    }

    .bustrip-modal .bustrip-modal-close {
        width: 46px;
        height: 46px;
        background-size: 14px auto;
    }

    .bustrip-modal .bustrip-modal-title {
        height: 46px;
        padding: 0;
        font-size: 16px;
        font-weight: 700;
        color: #697180;
        box-shadow: 0px 3px 6px 0px #00000026;
    }

    .bustrip-modal .bustrip-modal-body {
        /*height: calc(100dvh - 46px);*/
        max-height: calc(100dvh - 46px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .bustrip-modal .bustrip-conditions {
        padding: 0 0 76px;
        height: calc(100dvh - 46px);
    }

    .bustrip-modal .bustrip-conditions .bustrip-conditions__item {
        padding: 24px 20px;
    }

    .bustrip-modal .bustrip-conditions .bustrip-conditions__item + .bustrip-conditions__item {
        border-top: 8px solid  #E9ECF2;
        padding-top: 24px;
    }

    .bustrip-modal .bustrip-conditions-title {
        font-size: 16px;
        line-height: 1.3;
    }

    .bustrip-modal .bustrip-conditions-button {
        box-shadow: 0px 0px 10px 0px #00000073;
        background: #F5F7FA;
    }

    .bustrip-modal .bustrip-conditions-button button {
        font-size: 16px;
        max-width: 100%;
    }

}

.search-slider {
    padding-bottom: 26px;
}

.search-slider__list {
    width: 100%;
    aspect-ratio: 22 / 9;
    margin: 0 12px;
}

.search-slider .search-slider__list img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-slider .slick-dots {
    bottom: 0;
}

.search-slider .slick-prev {
    left: 12px;
    top: calc((100% - 26px) / 2);
    transform: translate(-50%, -50%);
}

.search-slider .slick-next {
    right: 12px;
    top: calc((100% - 26px) / 2);
    transform: translate(50%, -50%);
}

.news-item__btn {
    text-align: center;
    margin-top: 24px;
}

.news-item__btn span {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding-right: 32px;
    cursor: pointer;
    color: #3064D5;
    position: relative;
}

.news-item__btn span:before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -12px;
    width: 24px;
    height: 24px;
    background: url(../img/common/arrow_news_btn.svg) right center no-repeat;
    background-size: 24px auto;
}

.news-item__btn span.is-close:before {
    transform: scaleY(-1);
}

.news-item__btn span.is-close {
    display: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

    .search-slider__list {
        margin: 0;
        width: 100%;
    }
}

.top-bottom {
    background: #F5F7FA;
    padding: 40px 0 64px;
    margin-top: 60px;
}

.top-bottom__list,
.top-bottom__sublist {
    display: flex;
    justify-content: space-between;
}

.top-bottom__list {
    gap: 40px;
}

.top-bottom__sublist {
    gap: 24px;
}

.top-bottom__item {
    width: 100%;
}

.top-bottom__head {
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 16px;
}

.top-bottom__link {
    box-shadow: 0px 1px 4px 1px #00000026;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    width: 100%;
}

.top-bottom__link li+li {
    border-top: 1px solid #E9ECF2;
}

.top-bottom__link a {
    display: flex;
    align-items: center;
    height: 53px;
    background: url(../img/top/arrow_bottom.svg)no-repeat right 16px center;
    background-size: 16px auto;
    font-size: 14px;
    font-weight: 400;
    padding: 0 16px;
}

.top-bottom__link img {
    margin-right: 8px;
    width: 16px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .top-bottom__link a:hover {
        /*opacity: .7;*/
        background-color: #F6F7FA;
    }

    .thanks-p03 a:hover {
        /*background-color: #140D77;*/
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-bottom {
        padding: 40px 0 64px;
        margin-top: 32px;
    }

    .top-bottom__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        grid-gap: 40px 0;
    }

    .top-bottom__item {
        width: 100%;
    }

    .top-bottom__sublist {
        display: block;
        box-shadow: 0px 1px 4px 1px #00000026;
        border-radius: 8px;
        background: #fff;
        overflow: hidden;
    }

    .top-bottom__sublist .top-bottom__link {
        box-shadow: none;
        border-radius: 0;
    }

    .top-bottom__sublist .top-bottom__link + .top-bottom__link {
        border-top: 1px solid #E9ECF2;
    }

}


/* !地図から探す
---------------------------------------------------------- */
#modal-area.bustrip-modal .bustrip-modal-title {
    padding: 26px 32px 20px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: bold;
    color: #2C2A29;
    justify-content: flex-start;
}

#modal-area.bustrip-modal .bustrip-modal-close {
    right: 24px;
    top: 24px;
}

.modal-area__item:not(.is-open) {
    display: none;
}

.modal-area__item {
    border-top: 1px solid #DDDDDD;
}

.modal-area__item .modal-area-title {
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    color: #2C2A29;
    padding: 10px 32px;
    border-bottom: 1px solid #DDDDDD;
}

.modal-area__item .modal-area-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.modal-area__item .modal-area-links li {
    border-bottom: 1px solid #DDDDDD;
}

.modal-area__item .modal-area-links li:nth-child(3n+1),
.modal-area__item .modal-area-links li:nth-child(3n+2) {
    border-right: 1px solid #DDDDDD;
}

.modal-area__item .modal-area-links li a {
    display: block;
    width: 100%;
    height: 56px;
    padding: 16px 64px 16px 56px;
    position: relative;
    font-size: 16px;
    line-height: 1.5;
    color: #2C2A29;
    font-weight: bold;
}

.modal-area__item .modal-area-links li a:before {
    content: '∟';
    font-size: 16px;
    line-height: 1.5;
    color: #ACB5BF;
    position: absolute;
    left: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.modal-area__item .modal-area-links li a:after {
    content: '';
    width: 24px;
    height: 24px;
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: url(../img/common/icon_arrow_right_blue.svg) center center no-repeat;
    background-size: 100% auto;
}

.modal-area__close {
    border-top: 1px solid #DDDDDD;
    padding: 16px 32px;
    text-align: center;
    margin-top: -1px;
}

.modal-area__close button {
    border: 1px solid #939DAD;
    border-radius: 100px;
    width: 256px;
    height: 44px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1.3;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .modal-area__item .modal-area-links li a:hover {
        background: #F5F7FA;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

    #modal-area.bustrip-modal .bustrip-modal-body {
        padding-bottom: 76px;
        height: calc(100% - 67px);
        max-height: calc(100% - 67px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #modal-area.bustrip-modal .bustrip-modal-title {
        padding: 26px 64px 20px 32px;
        height: auto;
        font-size: 16px;
        color: #697180;
    }

    #modal-area.bustrip-modal .bustrip-modal-close {
        right: 17px;
        top: 13px;
    }

    .modal-area__item .modal-area-links {
        grid-template-columns: repeat(1, 1fr);
    }

    .modal-area__item .modal-area-links li {
        border-bottom: 1px solid #DDDDDD;
    }

    .modal-area__item .modal-area-links li:nth-child(3n+1),
    .modal-area__item .modal-area-links li:nth-child(3n+2) {
        border-right: 0;
    }

    .modal-area__item .modal-area-links li a:before {
        display: none;
    }

    .modal-area__close {
        border-top: 0;
        margin-top: 0;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 2;
        width: 100%;
        background: #fff;
    }
}

.modal-input {
    padding: 0 24px;
    margin-bottom: 16px;
    position: relative;
}

.modal-input label {
    display: block;
    position: relative;
}

.modal-input .reset-keworks {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 24px;
    height: 24px;
    background: url(../img/common/icon_cancel.svg) center center no-repeat;
    background-size: 24px auto;
    cursor: pointer;
}


.modal-input label input[type=text] {
    width: 100%;
    border: 1px solid #939DAD;
    height: 50px;
    border-radius: 8px;
    padding: 0 40px 0 8px;
    font-size: 14px;
    line-height: 1.3;
    outline: none;
}

.modal-area-tab__target {
    display: flex;
    border-bottom: 2px solid #10069F;
}

.modal-area-tab__target li {
    flex: 1;
}

.modal-area-tab__target li + li {
    border-left: 1px dashed #10069F;
}

.modal-area-tab__target li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 56px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    background: #fff;
    transition: all .3s ease-out;
    position: relative;
}

.modal-area-tab__target li a.is-active {
    background: #10069F;
    color: #fff;
}

.modal-area-tab__target li a.is-active:before,
.modal-area-tab__target li a.is-active:after {
    background: #10069F;
    width: .1rem;
    height: 100%;
    content: '';
    position: absolute;
    top: 0;
    z-index: 2;
}

.modal-area-tab__target li a.is-active:before {
    left: -.1rem;
}

.modal-area-tab__target li a.is-active:after {
    right: -.1rem;
}

.modal-area-tab__box {
    display: flex;
    align-items: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 254px);
}

.modal-area-side {
    width: 184px;
}

.modal-area-side__list {
    background: #E9ECF2;
    width: 100%;
}

.modal-area-side__list > li:not(.is-popular) {
    border-bottom: 1px solid #C0C5CC;
}

.modal-area-side__list > li > a {
    display: block;
    padding: 14px 40px 14px 24px;
    font-size: 14px;
    line-height: 1.45;
    font-weight: bold;
    color: #2C2A29;
    position: relative;
}

.modal-area-side__list > li > a:after {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    transition: transform .3s ease;
}

.modal-area-side__list > li > a.is-active:after {
    transform: translateY(-50%) scaleY(-1);
}

.modal-area-side__list > li.is-popular > a {
    padding-right: 16px;
    border-bottom: 1px solid #C0C5CC;
}

.modal-area-side__list > li.is-popular > a.is-active {
    background: #fff;
    color: #10069F;
    text-decoration: underline;
    border-bottom-color: #fff;
}

.modal-area-side__list > li.is-popular > a:after {
    transform: translateY(-50%) rotate(-90deg);
}

.modal-area-side__list > li.is-popular > a.is-active:after {
    opacity: 0;
}

.modal-area-side__list .sub-menu {
    display: none;
}

.modal-area-side__list .sub-menu a {
    display: block;
    padding: 8px 32px;
    font-size: 14px;
    line-height: 1.5;
    color: #2C2A29;
}

.modal-area-side__list .sub-menu a.is-active {
    color: #10069F;
    text-decoration: underline;
    background: #fff;
}

.modal-area-main {
    width: calc(100% - 184px);
    padding: 15px 24px;
}

.modal-area-main__list li {
    padding: 8px 0 8px 26px;
}

.modal-area-main__list li.is-area {
    background: url(../img/common/icon_location.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li.is-airport {
    background: url(../img/common/icon_airport.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li.is-port {
    background: url(../img/common/icon_port.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li.is-train {
    background: url(../img/common/icon_train.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li.is-branch {
    background: url(../img/common/icon_branch.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li.is-hotel {
    background: url(../img/common/icon_hotel.svg) left center no-repeat;
    background-size: 20px auto;
}

.modal-area-main__list li + li {
    margin-top: 8px;
}

.modal-area-main__list li .area-name {
    font-size: 14px;
    line-height: 1;
    color: #2C2A29;
    display: block;
}

.modal-area-main__list li .area-address {
    display: block;
    font-size: 10px;
    line-height: 1.1;
    color: #697180;
    margin-top: 6px;
}

.modal-area-back {
    display: none;
}

.modal-area-keywords {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 196px);
    width: 100%;
    padding: 14px 24px 50px;
    border-top: 2px solid #10069F;
    display: none;
}

.show-keywords .modal-area-tab {
    display: none;
}

.show-keywords .modal-area-keywords {
    display: block;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .modal-area-tab__target li a:hover {
        background: #10069F;
        color: #fff;
        text-decoration: none;
    }

    .modal-area-main__list li .area-name:hover {
        color: #10069F;
        text-decoration: underline;
    }

    .modal-area-side__list > li > a:hover {
        background: #F5F7FA;
    }

    .modal-area-side__list .sub-menu a:not(.is-active):hover {
        color: #10069F;
        text-decoration: underline;
        background: #F5F7FA;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #modal_departure.bustrip-modal .bustrip-modal-body,
    #modal_return.bustrip-modal .bustrip-modal-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modal-input {
        padding: 16px;
        margin-bottom: 0;
    }

    .modal-input .reset-keworks {
        right: 24px;
    }


    .modal-area-tab__target {
        border: 1px solid #10069F;
    }

    .modal-area-tab__target li + li {
        border-left: 1px solid #10069F;
    }

    .modal-area-tab__target li a {
        height: 45px;
        font-size: 14px;
    }

    .modal-area-tab__box {
        display: block;
        max-height: unset;
    }

    .modal-area-side {
        width: 100%;
    }

    .modal-area-side__list > li {
        border-bottom: 2px solid #C0C5CC !important;
    }

    .modal-area-side__list > li > a {
        padding: 16px 44px 16px 16px;
        font-size: 16px;
        line-height: 1.5;
    }

    .modal-area-side__list > li > a:after {
        width: 20px;
        height: 20px;
        content: '';
        background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        z-index: 2;
    }

    .modal-area-side__list > li.is-popular > a,
    .modal-area-side__list > li.is-popular > a.is-active {
        color: #2C2A29;
        text-decoration: none;
        background: none;
        border-bottom: 0;
    }

    .modal-area-side__list > li.is-popular > a.is-active:after {
        opacity: 1;
    }

    .modal-area-side__list .sub-menu {
        background: #fff;
    }

    .modal-area-side__list .sub-menu a {
        padding: 16px;
    }

    .modal-area-side__list .sub-menu a.is-active {
        color: #2C2A29;
        text-decoration: none;
    }

    .modal-area-main {
        width: 100%;
        display: none;
        padding: 0 16px 50px;
    }

    .modal-area-main .modal-area-back {
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 16px 0;
        font-size: 16px;
        line-height: 1.5;
        font-weight: bold;
        width: 100%;
    }

    .modal-area-main .modal-area-back:before {
        width: 20px;
        height: 20px;
        content: '';
        background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
        background-size: 100% auto;
        transform: rotate(90deg);
    }

    .is-nextlevel .modal-area-side {
        display: none;
    }

    .is-nextlevel .modal-area-main {
        display: block;
    }

    .modal-area-keywords {
        max-height: calc(100vh - 135px);
        padding: 20px 16px 50px;
        border-top: 1px solid #10069F;
    }
}


.checkbox-list.car-type {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 16px;
}

.checkbox-list.car-type.has-image {
    gap: 16px;
}

.checkbox-list.car-type .checkbox-list__item {
    margin-top: 0;
    line-height: 1.5;
}

.checkbox-list.car-type .checkbox-list__item .checkbox-text {
    padding: 0;
    box-shadow: 0px 0px 0px 1px #888888;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    transition: all .3s ease;
    width: 100%;
    height: 100%;
}

.checkbox-list.car-type .checkbox-list__item .checkbox-text img {
    width: 70px;
}

.checkbox-list.car-type .checkbox-list__item input[type=checkbox]:checked + .checkbox-text {
    box-shadow: 0px 0px 0px 2px #10069F;
    color: #10069F;
    font-weight: bold;
}

.checkbox-list.car-type.has-image .checkbox-list__item .checkbox-text {
    padding: 16px 10px;
}

.checkbox-list.car-type .checkbox-list__item .checkbox-text .checkbox-text__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.checkbox-list.car-type .checkbox-list__item .checkbox-text:before,
.checkbox-list.car-type .checkbox-list__item .checkbox-text:after {
    display: none;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #modal_conditions .checkbox-list:not(.car-type) {
        gap: 0;
        flex-direction: column;
    }

    .checkbox-list.car-type {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin-top: 8px;
    }

    .checkbox-list.car-type + .checkbox-list.car-type {
        margin-top: 24px;
    }

    .checkbox-list.car-type.has-image {
        gap: 8px;
        grid-template-columns: repeat(3, 1fr);
    }

    .checkbox-list.car-type .checkbox-list__item .checkbox-text {
        gap: 6px;
        padding: 8px;
        text-align: center;
        justify-content: space-between;
    }

    .checkbox-list.car-type.has-image .checkbox-list__item .checkbox-text {
        padding: 15px 8px 8px;
    }
}


/* !カレンダー
---------------------------------------------------------- */
.calendar-wrap {
    width: 100%;
}

.calendar-body {
    position: relative;
    z-index: 2;
    padding: 0 20px;
}

.js-modal-calendar .calendar-body {
    max-height: calc(100vh - 267px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.calendar-body__pager {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 2;
}

.calendar-body__pager .btn-prev,
.calendar-body__pager .btn-next {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 8px;
    z-index: 2;
    display: inline-block;
    text-indent: -9999px;
    overflow: hidden;
    background: url(../img/common/icon_calendar_arrow.svg) center center no-repeat;
    background-size: cover;
}

.calendar-body__pager .btn-prev {
    left: 8px;
    transform: scaleX(-1);
}
.calendar-body__pager .btn-next {
    right: 8px;
}

.calendar-body__pager .btn-prev.is-disabled,
.calendar-body__pager .btn-next.is-disabled {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}


.calendar-body__months {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.calendar-months {
    display: flex;
}

.calendar-months .calendar-months__item {
    min-width: 50%;
    padding: 0 12px;
}

.calendar-title {
    text-align: center;
    font-size: 20px;
    line-height: 1.3;
    padding: 8px;
    font-weight: bold; 
    font-weight: bold;
}

.calendar-days,
.calendar-list .calendar-list__item {
    display: flex;
    align-items: center;
}

.calendar-days .calendar-day,
.calendar-list .calendar-list__item button {
    flex: 1;
    text-align: center;
}

.calendar-days .calendar-day {
    font-size: 12px;
    line-height: 1.5;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 25px;
    background: #E9ECF2;
}

.calendar-days .calendar-day.sunday,
.calendar-list .calendar-list__item button.sunday,
.calendar-list .calendar-list__item button.holiday {
    color: #CF3700;
}

.calendar-days .calendar-day.saturday,
.calendar-list .calendar-list__item button.saturday {
    color: #007CDD;
}

.calendar-list .calendar-list__item button {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1.3;
    color: #2C2A29;
    cursor: pointer;
}

.calendar-list .calendar-list__item button:disabled {
    pointer-events: none;
    color: #C0C5CC;
}

.calendar-list .calendar-list__item button.previous-month,
.calendar-list .calendar-list__item button.next-month {
    opacity: 0;
    visibility: hidden;
}

.calendar-list .calendar-list__item button.is-request .price {
    color: #8DC21F;
}

.calendar-list .calendar-list__item button.selected {
    background: #99C4FD;
    color: #fff;
}

.calendar-list .calendar-list__item button.first-selected,
.calendar-list .calendar-list__item button.last-selected {
    background: #3064D5;
    color: #fff;
}

.calendar-list .calendar-list__item button.first-selected {
    border-radius: 8px 0 0 8px;
}
.calendar-list .calendar-list__item button.last-selected {
    border-radius: 0 8px 8px 0;
}

.calendar-list .calendar-list__item button.first-selected.last-selected {
    border-radius: 8px;
}

.calendar-foot {
    padding: 24px 32px 32px;
}

.calendar-foot .calendar-foot__date {
    width: 100%;
    height: 1.5em;
    display: flex;
    position: relative;
    z-index: 2;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1.5;
}

/* 出発日選択後の返却日選択案内 */
.calendar-foot .calendar-foot__date .calendar-text-alert {
    color: #CF3700;
    font-weight: 700;
}

.calendar-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar-submit .data-button input,
.calendar-submit .data-button button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 256px;
    height: 44px;
    border-radius: 22px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
    font-weight: 700;
    background: #10069F;
    transition: all 0.5s;
    border: 1px solid #10069F;
}

.calendar-submit .data-button input:disabled,
.calendar-submit .data-button button:disabled {
    background: #E9ECF2;
    border-color: #C0C5CC;
    opacity: .7;
    color: #939DAD;
    pointer-events: none;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .calendar-submit .data-button input:hover,
    .calendar-submit .data-button button:hover {
        background: #140D77;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .js-modal-calendar.bustrip-modal .bustrip-modal-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .calendar-wrap {
        width: 100%;
    }

    .calendar-body {
        padding: 20px 0 0;
    }

    .js-modal-calendar .calendar-body {
        max-height: unset;
    }

    .calendar-body__pager {
        display: none;
    }

    .calendar-months {
        padding-bottom: 105px;
        flex-direction: column;
        gap: 24px;
    }

    .calendar-months .calendar-months__item {
        min-width: 100%;
        padding: 0;
    }


    .calendar-title {
        font-size: 16px;
        line-height: 1.3;
        padding: 0 20px 8px;
    }

    .calendar-days,
    .calendar-list .calendar-list__item {
        padding: 0;
    }

    .calendar-days .calendar-day {
        font-size: 12px;
        line-height: 1.3;
        height: 25px;
    }

    .calendar-list .calendar-list__item button {
        height: 53px;
        font-size: 14px;
        line-height: 1.3;
    }

    .calendar-foot {
        padding: 16px 20px;
        position: fixed;
        width: 100%;
        left: 0;
        bottom: 0;
        z-index: 2;
        background: #F5F7FA;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.45);
    }

    .calendar-foot .calendar-foot__date {
        height: 1.5em;
        display: flex;
        justify-content: center;
        font-size: 14px;
        line-height: 1.5;
    }

    .calendar-submit {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .calendar-submit .data-button {
        width: 100%;
    }

    .calendar-submit .data-button input,
    .calendar-submit .data-button button {
        width: 100%;
        height: 44px;
        border-radius: 100px;
        font-size: 16px;
        background: #10069F;
        margin-top: 8px;
    }
}



/*20251208 deposit_completed.html
-------------------------------------------*/
.heading-large__sub {
	display: block;
	margin-top: 32px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
}

.deposit-header__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	background: #10069F;
	text-align: center;
}
.deposit-header__logo img {
	width: 94px;
}
.deposit-header__flow {
	padding: 14px 16px 12px;
	background: #F5F7FA;
}
.deposit-header__flow ul {
	display: flex;
	position: relative;
	margin: 0 auto;
	max-width: 800px;
}
.deposit-header__flow ul:before {
	content: "";
	position: absolute;
	left: 50%;
	top: -1px;
	transform: translateX(-50%);
	width: 75%;
	border-top: 2px solid #E9ECF2;
}  
.deposit-header__flow li {
	position: relative;
	padding-top: 12px;
	width: 25%;
	text-align: center;
	line-height: 1;
	color: #C0C5CC;
	font-weight: 700;
	font-size: 12px;
}
.deposit-header__flow li:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	background: #C0C5CC;
	border-radius: 100%;
}
.deposit-header__flow li.active {
	color: #3064D5;
}
.deposit-header__flow li.active:before {
	width: 10px;
	height: 10px;
	background: #3064D5;
}

.deposit-footer {
	position: relative;
	padding: 24px 0;
	background: #fff;
	border-top: 1px solid #C0C5CC;
}
.deposit-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.deposit-footer__inner.reverse {
	flex-direction: row-reverse;
}
#deposit-copyright {
	color: #697180;
	font-size: 10px;
}
.deposit-footer .right {
	display: flex;
	align-items: center;
	gap: 0 24px;
}

.deposit-footer .logos {
	display: flex;
	align-items: center;
	gap: 16px;
}
.deposit-footer .logos .logo {
	width: 60px;
}

.deposit-footer .pagetop a {
	display: flex;
	align-items: center;
	gap: 0 8px;
	color: #697180;
}
.deposit-footer .pagetop a:after {
	content: "";
	display: block;
	transform: rotate(180deg);
	width: 24px;
	height: 24px;
	background: url(../img/common/icon_arrow_down.svg)no-repeat center #fff;
	background-size: 16px;
	border-radius: 50%;
	box-shadow: 0 -1px 4px rgba(0,0,0,0.15);
}

.deposit-section {
	padding: 40px 0;
}
.deposit-payment {
	text-align: center;
}
.deposit-payment .email {
	margin-bottom: 24px;
}
.deposit-payment .email a {
	color: #147252;
	font-weight: 700;
	font-size: 18px;
}
.reservation-number {
	padding: 24px;
	margin: 0 auto 24px;
	max-width: 672px;
	background: #fff;
	border: 1px solid #C0C5CC;
}
.reservation-number .number {
	font-weight: 700;
}
.reservation-number .number .num {
	color: #697180;
}

.reservation-number .error {
    margin-top: 8px;
    color: #CF3700;
}

.reservation-number .btn {
    margin-top: 16px;
}

.deposit-payment .txt {
	color: #697180;
	font-size: 12px;
}
.deposit-payment .txt p + p {
	margin-top: 1.5em;
}

.pagelinks-end {
	position: relative;
	padding: 24px 0;
}
.pagelinks-end a {
	display: inline-flex;
	align-items: center;
	gap: 0 8px;
}
.pagelinks-end .prev:before {
	content: "";
	transform: rotate(180deg);
	width: 16px;
	height: 16px;
	background: url(../img/common/icon_links.svg) center center no-repeat;
	background-size: 100%;
}

/* cancel.html
-------------------------------------------*/
.cancel-section {
	padding: 32px 0 0;
}
.inner-small {
	max-width: 704px;
}

.color-red {
	color: #DF0D00;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.mb24 {
	margin-bottom: 24px !important;
}
.mb16 {
	margin-bottom: 16px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.danger-notes {
	margin-bottom: 40px;
}
.danger-notes li {
	padding: 16px 16px 16px 48px;
	margin-bottom: 8px;
	background: url(../img/deposit/icon_warning.svg)no-repeat left 24px top 18px #FFF7F7;
	background-size: 16px;
	color: #DF0D00;
}

.cancel-section .cancel_note {
	margin-bottom: 8px;
	color: #CF3700;
}

.js-toggle-target {
	cursor: pointer;
}
.js-toggle-box {
	display: none;
}

.cancel-policy {
	margin-bottom: 56px;
}
.cancel-policy .head {
	position: relative;
	margin-bottom: 40px;
	padding: 16px 40px 16px 16px;
	background: #E9ECF2;
	border-radius: 8px;
	font-weight: 700;
    transition: opacity .5s ease;
}
.cancel-policy .head:after {
	content: "";
	position: absolute;
	right: 16px;
	top: 0;
	transform: rotate(90deg);
	transition-duration: 0.3s;
	width: 16px;
	height: 100%;
	background: url(../img/common/icon_links.svg)no-repeat right center;
	background-size: 100%;
}
.cancel-policy .head.is-active:after {
	transform: rotate(-90deg);
}
.cancel-info__table {
	overflow: hidden;
	border: 1px solid #C0C5CC;
	border-radius: 8px;
}
.cancel-info__table table {
	width: 100%;
}
.cancel-info__table tr + tr {
	border-top: 1px solid #C0C5CC;
}
.cancel-info__table th {
	vertical-align: middle;
	padding: 16px;
	width: 180px;
	background: #F5F7FA;
	text-align: left;
	font-weight: 700;
}
.cancel-info__table td {
	vertical-align: middle;
	padding: 16px;
	border-left: 1px solid #C0C5CC;
}

.cancel-before {
	margin-top: 56px;
	padding: 40px 0;
	background: #F0F7FF;
	text-align: center;
}
.cancel-before .heading-large {	
	margin-bottom: 16px;
	color: #000;
}
.cancel-before .heading-large .heading-large__notes {
	margin-top: 0;
}
.cancel-before__checkbox {
	padding: 24px 16px;
	background: #fff;
	border: 1px solid #C0C5CC;
}
.cancel-before__checkbox input {
	display: none;
}
.cancel-before__checkbox .sure {
	cursor: pointer;
	display: inline-block;
	padding-left: 32px;
	background: url(../img/deposit/icon_check.svg)no-repeat left top;
	background-size: 24px;
	line-height: 24px;
}
.cancel-before__checkbox .note,
.btn-checkbox .note {
	display: block;
	color: #CF3700;
	font-size: 12px;
}
.submit-btns {
	margin-top: 32px;
	text-align: center;
}
.submit-btns .btn {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0.3s;
	padding: 0 23px;
	height: 44px;
	width: 100%;
	max-width: 256px;
	background: #10069F;
	border: 1px solid #10069F;
	border-radius: 40px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}
.cancel-before__checkbox .submit-btns {
	margin-top: 16px;
}
.cancel-before__checkbox .submit-btns .btn {
	pointer-events: none;
	background: #E9ECF2;
	border-color: #C0C5CC;
	color: #939DAD;
}
.cancel-before__checkbox input[type=checkbox]:checked + label.sure {
	background-image: url(../img/deposit/icon_check_checked.svg);
}
.cancel-before__checkbox input[type=checkbox]:checked + label + .submit-btns .btn {
	pointer-events: auto;
	background: #10069F;
	border-color: #10069F;
	color: #fff;
}

.cancel-before .pagelinks-end {
	padding: 16px 0;
}

.cancel-bank__info {
	padding: 24px;
	background: #F5F7FA;
}
.cancel-bank__info > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
}
.cancel-bank__info > ul > li {
	width: calc(50% - 12px);
}
.cancel-bank__info li.full {
	width: 100%;
}
.cancel-bank__info .must {
	display: inline-block;
	padding: 2px 8px 0;
	background: #FFF7F7;
	border-radius: 4px;
	line-height: 1.3;
	color: #DF0D00;
	font-weight: 700;
	font-size: 12px;
}
.cancel-bank__info .th {
	margin-bottom: 4px;
	line-height: 1.3;
	font-weight: 700;
}
.cancel-bank__info .th .must {
	margin-left: 4px;
}
.cancel-bank__info input[type=text],
.cancel-bank__info input[type=email],
.cancel-bank__info input[type=tel],
.cancel-bank__info input[type=number] {
	padding: 0 8px;
	height: 50px;
	width: 100%;
	background: #fff;
	border-radius: 8px;
	border: 1px solid #939DAD;
	font-size: 14px;
}
.cancel-bank__info .checkbox-list .checkbox-list__item {
	margin-top: 0;
}
.choice-no-must.no-pointer {
	opacity: 0.5;
}
.no-pointer .th .must {
	color: #666;
}
.no-pointer .input-no-must {
	pointer-events: none;
}
.input-no-use.no-pointer {
	pointer-events: none;
	opacity: 0.5;
}

.completed-content {
	text-align: center;
}
.icon-links.nolink {
	padding: 8px 15px;
}
.icon-links.nolink:after {
	content: none;
}
.icon-links.big {
	padding: 11px 30px;
	font-size: 16px;
}

/* reservation_details.html
-------------------------------------------*/
.reservation-section {
	padding: 40px 0;
}
.reservation-section__part + .reservation-section__part {
	margin-top: 40px;
}
.reservation-section__notcomplete {
	margin-bottom: 32px;
	padding: 16px;
	background: #FFF7F7;
	border: 1px solid #D63333;
	text-align: center;
}
.reservation-section__notcomplete .heading-large {
	margin-bottom: 8px;
}
.reservation-section__notcomplete .heading-large .heading-large__notes {
	margin-top: 0;
}
.reservation-section__notcomplete .deadline {
	font-weight: 700;
}
.reservation-section__notcomplete .deadline:before {
	content: "支払期限:";
	margin-right: 8px;
	color: #000;
}
.reservation-section__notcomplete .deadline .num {
	font-size: 24px;
}
.reservation-section__notcomplete .submit-btns {
	margin-top: 8px;
}
.reservation-section__notcomplete .note {
	margin-top: 8px;
}

.reservation-section__head {
	margin-bottom: 16px;
	line-height: 1.3;
	font-size: 26px;
	font-weight: 700;
}
.reservation-section__info {
	margin-bottom: 32px;
}
.reservation-section__info li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background: #F0F7FF;
	font-weight: 700;
}
.reservation-section__info li + li {
	border-top: 1px solid #C0C5CC;
}
.reservation-section__info li .td {
	font-size: 16px;
}
.reservation-section__info .date {
	margin-top: 8px;
	text-align: right;
	color: #697180;
	font-size: 12px;
}

.cancel-info__table .store-link a {
	display: flex;
	align-items: center;
	gap: 0 4px;
	float: right;
	text-decoration: underline;
	color: #3064D5;
	font-size: 12px;
}
.cancel-info__table .store-link a:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../img/common/icon_links.svg) no-repeat center;
	background-size: 100%;
}
.cancel-info__table .big-num {
	font-size: 18px;
	font-weight: 700;
}

.cancel-info__table .plan-name-link {
	text-decoration: underline;
	color: #3064D5;
}

.cehicle-class .tit {
	margin-bottom: 12px;
}
.cehicle-class .tit a {
	border-bottom: 1px solid;
	color: #3064D5;
}
.cehicle-class__cate {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.cehicle-class__cate span {
	display: inline-flex;
	align-items: center;
	gap: 0 4px;
	padding: 4px 6px;
	border: 1px solid;
	border-radius: 2px;
	color: #10069F;
	font-size: 12px;
}
.cehicle-class__cate span:before {
	width: 16px;
	height: 16px;
	background: no-repeat center;
	background-size: 100%;
}
.cehicle-class__cate .suitcases:before {
	content: "";
	background-image: url(../img/deposit/icon_suitcases.svg);
}
.cehicle-class__cate .golfbags:before {
	content: "";
	background-image: url(../img/deposit/icon_golfbags.svg);
}
.reservation-modal-body {
	padding: 32px;
	max-height: 100%;
}
.reservation-modal-body .head {
	margin-bottom: 16px;
	line-height: 1.3;
	font-size: 26px;
	font-weight: 700;
}
.cehicle-class__introd .note {
	margin-top: 16px;
	color: #697180;
	font-size: 12px;
}
.cehicle-class__introd .class_info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 16px;
}
.cehicle-class__introd .class_info li {
	padding-bottom: 8px;
	border-bottom: 1px solid #C0C5CC;
}
.cehicle-class__introd .display {
	display: flex;
	justify-content: space-between;
	padding-top: 24px;
	margin-top: 24px;
	border-top: 8px solid #E9ECF2;
}
.cehicle-class__introd .display .img {
	width: 200px;
}
.cehicle-class__introd .display .info {
	width: calc(100% - 266px);
}
.cehicle-class__introd .display.is-no-image .info {
	width: 100%;
}
.cehicle-class__introd .display .info li {
	padding: 0.8rem 0;
	border-bottom: 1px solid #C0C5CC;
}
.modal-class__close {
	margin-top: 32px;
	text-align: center;
}
.modal-class__close .btn {
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	align-items: center;
    gap: 4px;
    border: 1px solid #939DAD;
    border-radius: 100px;
    padding: 8px 11px 8px 15px;
}

.modal-class__close .btn:after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../img/common/icon_close_gray.svg) center no-repeat;
	background-size: 12px auto;
}
.store-detail__access .head.icon-store {
	padding: 4px 0 4px 64px;
	background: url(../img/deposit/logo_orix.png)no-repeat left center;
	background-size: 56px;
}
.store-access__display {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	position: relative;
}
.store-access__display .map {
	width: calc(50% - 8px);
}
.store-access__display .map iframe {
	width: 100%;
	height: 100%;
}

.google-link {
	display: inline-flex;
	align-items: center;
	padding: 0 28px 0 8px;
	height: 34px;
	background: url(../img/deposit/icon_open_new.svg)no-repeat right 8px center;
	background-size: 16px;
	border: 1px solid;
	border-radius: 30px;
	color: #3064D5;
	font-size: 12px;
}
.store-access__display .info {
	width: calc(50% - 8px);
}
.store-access__service {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.store-access__service span {
	display: flex;
	align-items: center;
	padding: 0 8px;
	height: 26px;
	border: 1px solid;
	border-radius: 4px;
	font-weight: 700;
}
.store-access__service .is-pickup {
	color: #10069F;
}
.store-access__service .is-guarante {
	background: #F5F7FA;
	border-color: #E0EDFF;
	color: #697180;
}
.store-access__service .is-unitsleft {
	background: #CF3700;
	border-color: #CF3700;
	color: #fff;
}
.store-access__service .is-advance {
    background: #E0EDFF;
    border-color: #E0EDFF;
    color: #0063B0;
}

.store-access__service .is-onsite {
    background: #FFFCD5;
    border-color: #FFFCD5;
    color: #F29423;
}

.store-access__service .is-both {
    background: #F3FFE8;
    border-color: #F3FFE8;
    color: #2EA307;
}

.store-access__display .address table {
	width: 100%;
}
.store-access__display .address tr {
	border-bottom: 1px solid #C0C5CC;
}
.store-access__display .address th {
	padding: 16px 8px 16px 0;
	width: 78px;
	text-align: left;
}
.store-access__display .address td {
	padding: 16px 0;
}
.store-access__display .address td p + p {
	margin-top: 24px;
}

.reservation-section-paymentinfo {
	border-top: 4px solid #E9ECF2;
}
.local-payment {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}


.local-payment .th .type .type-item {
    display: inline-block;
    font-size: 12px;
    line-height: 1.5;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: bold;
}

.local-payment .th .type .type-item.is-advance {
    background: #F0F7FF;
    color: #0063B0;
}

.local-payment .th .type .type-item.is-onsite {
    background: #FFFCD5;
    color: #F29423;
}

.local-payment .th .type .type-item.is-both {
    background: #F3FFE8;
    color: #2EA307;
}

.local-payment .total-amount .total {
	margin-bottom: 12px;
	line-height: 1;
	font-weight: 700;
}
.local-payment .total-amount .total:before {
	content: "合計金額";
	margin-right: 8px;
}
.local-payment .total-amount .total .price {
	font-size: 28px;
}
.local-payment .total-amount .btn {
	margin-top: 16px;
	text-align: right;
}
.local-payment .total-amount .btn a {
	background: #10069F;
	border: 0;
	color: #fff;
	font-weight: 700;
}

.cancel-info__table2 table {
	width: 100%;
	border: 1px solid #C0C5CC;
}
.cancel-info__table2 th {
	padding: 16px;
	width: 50%;
	border: 1px solid #C0C5CC;
	text-align: left;
	font-weight: 400;
}
.cancel-info__table2 td {
	padding: 16px;
	width: 50%;
	border: 1px solid #C0C5CC;
	text-align: right;
}

.cancel-policy2 {
	overflow: hidden;
	border-radius: 8px;
}
.cancel-policy2 .head {
	margin-bottom: 0;
	border-radius: 0;
}
.cancel-policy2 .js-toggle-box {
	padding: 24px;
	border: 2px solid #E9ECF2;
    border-radius: 0 0 8px 8px;
}
.cancel-policy2__lead {
	margin-top: 8px;
	color: #222;
	font-size: 14px;
	line-height: 1.6;
}
.cancel-policy2__note {
	margin-top: 8px;
	color: #6C7585;
	font-size: 12px;
	line-height: 1.6;
}

.reservation-section__end {
	text-align: center;
}
.reservation-section__end p + p {
	margin-top: 24px;
}
.reservation-section__end .link {
	text-decoration: underline;
	color: #3064D5;
}

.teaser-head {
	padding: 32px;
	background: #163BBF;
	text-align: center;
	line-height: 1.3;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
}

.heading-large .link {
	text-decoration: underline;
	color: #3064D5;
}

.reservation-guide-section {
	padding: 40px 0 0;
}
.reservation-guide__anchors {
	margin-bottom: 64px;
}
.reservation-guide__anchors .heading-large {
	margin-bottom: 40px;
}
.reservation-guide__anchors .heading-large__sub {
	margin-top: 0;
}
.reservation-guide__anchors ul {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	margin: 0 auto;
	max-width: 878px;
	background: #F0F7FF;
	border-radius: 8px;
}
.reservation-guide__anchors li {
	line-height: 1;
}
.reservation-guide__anchors li + li {
	border-left: 1px solid #C0C5CC;
}
.reservation-guide__anchors li a {
	display: flex;
	align-items: center;
	gap: 0 4px;
	padding: 0 8px;
}
.reservation-guide__anchors li a:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../img/common/icon_arrow_down.svg) no-repeat center;
	background-size: 100%;
}

.reservation-guide-section .reservation-section__part + .reservation-section__part {
    margin-top: 120px;
}

.reservation-guide__img {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 40px;
	border: 1px solid #C0C5CC;
	text-align: center;
}
.reservation-guide__img img {
	object-fit: cover;
	max-width: 100%;
	max-height: 370px;
}

.reservation-guide__points .heading-small {
	text-align: left;
}
.reservation-guide__points li + li {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #C0C5CC;
}
.reservation-guide__points .tit {
	font-weight: 700;
}

.reservation-guide__units_options li {
	padding: 16px 24px;
	background: #F5F7FA;
}
.reservation-guide__units_options li + li {
	margin-top: 8px;
}
.reservation-guide__units_options .tit {
	padding-left: 24px;
	margin-bottom: 8px;
	background: url(../img/reservation/icon_info.svg)no-repeat left center;
	font-weight: 700;
}
.reservation-guide_confirminfo .confirm-info {
	padding: 24px;
	margin: 0 0 24px;
	background: #F0F7FF;
}
.important-points {
	padding: 16px 24px;
	background: #FFFCD5;
	color: #CF3700;
}
.important-points .tit {
	padding-left: 24px;
	background: url(../img/reservation/icon_info_ora.svg) no-repeat left 2px;
	font-weight: 700;
}
.important-points ul {
	margin-top: 8px;
}
.important-points li {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.important-points li:before {
	content: "•";
	margin: 0 8px;
}

.reservation-guide-section .top-bottom {
	margin-top: 120px;
}

.reservation-list-section {
	padding: 32px 0 48px;
}

.reservation-list__tabctrl {
	display: flex;
	align-items: flex-end;
	margin-bottom: 32px;
}
.reservation-list__tabctrl li {
	width: 100%;
}
.reservation-list__tabctrl li a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0s !important;
	height: 45px;
	background: linear-gradient(180deg, #E9ECF2 87%, rgba(0, 0, 0, 0.08) 100%);
	color: #939DAD;
	font-size: 16px;
}
.reservation-list__tabctrl li .is-active {
	height: 51px;
	background: #F5F7FA;
	border-bottom: 4px solid #3064D5;
	border-radius: 8px 8px 0 0;
	color: #3064D5;
	font-weight: 700;
}

.reservation-list__display li {
	overflow: hidden;
	margin-bottom: 32px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
}
.reservation-list__display .th {
	padding: 10px 10px 16px 24px;
	border: 1px solid #E9ECF2;
}
.reservation-list__display .td {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 16px 15px 32px 24px;
}
.reservation-list__display li .date {
	margin-bottom: -10px;
	text-align: right;
	color: #697180;
	font-size: 12px;
}
.reservation-list__display li .date-during {
	display: flex;
	margin-top: 4px;
	line-height: 1.3;
	font-weight: 700;
}
.reservation-list__display .date-during .big {
	font-size: 24px;
}
.reservation-list__display .date-during .pre {
	margin-right: 4px;
	font-weight: 400;
}
.reservation-list__display .date-during .return:before {
	content: "-";
	margin: 0 8px 0 18px;
}
.reservation-list__info th {
	padding: 3px 8px 3px 0;
	text-align: left;
	font-weight: 400;
}
.reservation-list__info .hot {
	color: #DF0D00;
	font-weight: 700;
}
.reservation-list__display .submit-btns {
	width: 50%;
	text-align: right;
}
.pasted-reservation .submit-btns .btn {
	background-color: #fff;
	border-color: #939DAD;
	color: #2C2A29;
	font-weight: 400;
}

.reservation-list__display li.cancelled {
	display: none;
}
.reservation-list__display li.cancelled,
.cancelled .reservation-list__info .hot {
	background: #F0F2F6;
	color: #C0C5CC;
}

.reservation-list__display input {
	display: none;
}
.reservation-list__display .show-all {
    cursor: pointer;
    display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 32px;
    gap: 8px;
}
.reservation-list__display .show-all:before {
	content: "";
    display: block;
	width: 24px;
	height: 24px;
    background: url(../img/deposit/icon_check.svg) no-repeat left center;
    background-size: 100%;
}
.reservation-list__display input[type=checkbox]:checked + label.show-all:before {
    background-image: url(../img/deposit/icon_check_checked.svg);
}
.reservation-list__display input[type=checkbox]:checked + label + ul .cancelled {
	display: block;
}
.reservation-list__info .cancel-fee {
  color: #DF0D00;
  font-weight: 700;
}
.reservation-list__info .cancel-fee-label {
  color: #2C2A29;
}
/* キャンセル済みの予約は文字色が薄くなるため、取消料は上書きで強調表示する */
.cancelled .reservation-list__info .cancel-fee {
  color: #DF0D00;
}
.cancelled .reservation-list__info .cancel-fee-label {
  color: #2C2A29;
}
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 48px auto 0;
    position: relative;
    text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 44px;
	height: 44px;
	margin: 0 4px;
	border-radius: 4px;
}
.wp-pagenavi .page {
	background: #E9ECF2;
}
.wp-pagenavi .current {
	pointer-events: none;
    background: #697180;
    color: #fff;
	font-weight: 700;
}
.wp-pagenavi span {
	margin: 0 4px;
	font-weight: 700;
	font-size: 16px;
}
.previouspostslink {
	transform: scaleX(-1);
	background: url(../img/top/arrow_bottom.svg) no-repeat center;
	background-size: 16px;
}
.nextpostslink {
	background: url(../img/top/arrow_bottom.svg) no-repeat center;
	background-size: 16px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
	.heading-large .link:hover,
	.reservation-section__end .link:hover {
		text-decoration: none;
	}

    .pasted-reservation .submit-btns .btn:hover {
        background: #F0F7FF;
        color: #140D77 !important;
        border-color: #99C4FD;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .modal-class__close {
        margin-top: 24px;
    }

    .reservation-list__display .show-all {
        justify-content: center;
    }
}

/* plan
------------------------------------------*/

.checkbox-checked-free {
	display: flex;
	align-items: center;
	gap: 0 4px;
	color: #268507;
	font-weight: 700;
}
.checkbox-checked-free:before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../img/plan/icon_check_checked_ora.svg)no-repeat center;
	background-size: 100%;
}

.plan-detail__title {
	margin-bottom: 60px;
}
.plan-detail__title .heading-medium {
	text-align: left;
	font-weight: 700;
}
.plan-detail__titletxt {
	position: relative;
}
.plan-detail__title .notes li {
	padding-left: 1em;
	text-indent: -1em;
}
.plan-detail__title .notes p + p {
	margin-top: 24px;
}
.plan-detail__title .date {
	padding: 8px 0;
	margin: 16px 0;
	border-top: 1px solid #C0C5CC;
	border-bottom: 1px solid #C0C5CC;
}
.plan-detail__title .date li {
	padding: 8px 0;
}
.plan-detail__title .date .th {
	margin-right: 8px;
	font-weight: 700;
}
.plan-detail__title .more:before {
	content: "...";
}
.plan-detail__title .more:after {
	content: "もっとみる";
	margin-left: 10px;
	text-decoration: underline;
	color: #3064D5;
}
.plan-detail__title .more.is-active {
	position: absolute;
	right: 0;
	top: 100%;
}
.plan-detail__title .more.is-active:before {
	content: none;
}
.plan-detail__title .more.is-active:after {
	content: "閉じる";
}

.plan-detail__display {
	display: flex;
	justify-content: space-between;
}
.plan-detail__display .img {
	width: 300px;
}
.plan-detail__display .info {
	width: calc(100% - 324px);
}
.plan-detail__display .info table {
	width: 100%;
	border-top: 1px solid #E9ECF2;
}
.plan-detail__display .info tr {
	border-bottom: 1px solid #E9ECF2;
}
.plan-detail__display .info th {
	padding: 16px 8px 16px 0;
	text-align: left;
}
.plan-detail__display .info td {
	padding: 16px 0;
}
.plan-detail__display .cehicle-class__cate {
	margin-top: 16px;
}

.cancel-bank__info .th .note {
	margin-left: 4px;
	font-weight: 400;
	font-size: 12px;
}
.cancel-bank__info select {
	padding: 0 8px;
	height: 50px;
	width: 100%;
	background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
	border-radius: 8px;
	border: 1px solid #939DAD;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
	.deposit-footer .logos a:hover {
		opacity: 0.7;
	}
	.deposit-footer .pagetop a:hover {
		text-decoration: underline;
	}
	
	.submit-btns .btn:hover,
	.local-payment .total-amount .btn a:hover {
		background: #140d77;
	}
	
	.cancel-info__table .store-link a:hover {
		text-decoration: none;
	}
	
	.cancel-before__checkbox input[type=checkbox]:checked + label + .submit-btns .btn:hover {
		background: #140d77;
	}
	
	.pagelinks-end a:hover {
		text-decoration: underline;
	}
		
	.wp-pagenavi .page:hover {
		background: #697180;
		color: #fff;
		font-weight: 700;
	}
	
	.pasted-reservation .submit-btns .btn:hover {
		color: #fff;
	}
	
	
	
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.deposit-footer__inner {
		display: block;
	}
	.deposit-footer .right {
		display: block;
	}
	.deposit-footer .logos {
	    justify-content: center;
	}
	.deposit-footer .pagetop {
		position: absolute;
		right: 16px;
		top: 16px;
	}
	.deposit-footer .pagetop a {
		font-size: 0;
	}
	.deposit-footer .pagetop a:after {
		width: 44px;
		height: 44px;
		background-size: 24px;
	}
	
	
	.deposit-section {
	    padding: 32px 0 40px;
	}
	.deposit-section .inner {
		padding: 0 16px;
	}
	
	#deposit-copyright {
		margin-top: 16px;
		text-align: center;
	}
	
	.pagelinks-end {
		text-align: center;
	}
	
	.danger-notes {
	    margin-bottom: 32px;
	}
	.danger-notes li {
	    padding: 16px 8px 16px 32px;
	    background-position: left 8px top 18px;
	}
	.cancel-info__table th {
	    padding: 12px 8px;
	    width: 130px;
	}
	.cancel-info__table td {
	    padding: 12px;
	}
	.cancel-info__table .store-link span {
		display: block;
		width: 100%;
	}
	
	.reservation-modal-body {
	    padding: 32px 16px;
		max-height: 100%;
	}
	.reservation-modal-body .head {
	    font-size: 18px;
	}
	.cehicle-class__introd .class_info {
		border-bottom: 1px solid #C0C5CC;
	}
	.cehicle-class__introd .class_info li {
		margin-bottom: -1px;
	}
	.cehicle-class__introd .display {
	    display: block;
	    padding: 16px 16px 0;
	    margin: 16px -16px 0;
	    border-top: 8px solid #E9ECF2;
	}
	.cehicle-class__introd .display .img {
		margin-bottom: 8px;
	    width: auto;
	}
	.cehicle-class__introd .display .img .note {
		margin-top: 8px;
	}
	.cehicle-class__introd .display .info {
		width: auto;
	}

	.store-access__display {
	    display: block;
	}
	.store-access__display .map {
		margin-bottom: 16px;
		width: auto;
	}
	.store-access__display .map iframe {
	    width: 100%;
	    height: 200px;
	}
	.store-access__display .info {
		width: auto;
	}
	.store-detail__access .map-links {
		margin-top: 16px;
		text-align: right;
	}

	.cancel-before {
	    padding: 16px 0;
		margin-top: 55px;
	}
	.cancel-before__checkbox .sure {
		font-weight: 700;
	}
	.cancel-before__checkbox .jump {
		margin-top: 24px;
	}
	.cancel-before .pagelinks-end {
	    padding: 24px 0;
	}
	
	.cancel-bank__info {
	    padding: 16px;
	}
	.cancel-bank__info > ul > li {
	    width: 100%;
	}
	
	.reservation-section__info {
	    margin-bottom: 24px;
	}
	.reservation-section__info li .td {
		text-align: right;
	}
	.local-payment {
	    display: block;
	    margin-bottom: 24px;
	}
	.local-payment .th {
	    margin-bottom: 8px;
		text-align: right;
	}
	.local-payment .total-amount {
		position: relative;
		text-align: right;
	}
	.local-payment .total-amount .total:before {
		position: absolute;
		left: 0;
		top: 10px;
	}
	
	.reservation-section-paymentinfo {
	    border-top-width: 8px;
	}
	.reservation-section__head {
	    font-size: 16px;
	}
	
	.cancel-policy2 .js-toggle-box {
	    padding: 16px;
	}
	.cancel-policy2__lead {
		margin-top: 12px;
		font-size: 14px;
	}
	.cancel-policy2__note {
		margin-top: 8px;
		font-size: 12px;
	}

	.teaser-head {
	    padding: 32px 16px;
	    font-size: 24px;
	}
	
	.reservation-guide-section {
	    padding: 32px 0 0;
	}
	.reservation-guide__anchors .heading-large {
	    margin-bottom: 32px;
	}
	.reservation-guide__anchors ul {
	    display: block;
		padding: 8px 16px;
	}
	.reservation-guide__anchors li + li {
		border-left: 0;
		border-top: 1px dashed #C0C5CC;
	}
	.reservation-guide__anchors li a {
		justify-content: space-between;
	    padding: 8px 0;
		width: 100%;
	}
	
	.reservation-guide-section .reservation-section__part + .reservation-section__part {
	    margin-top: 64px;
	}
	.reservation-guide__img {
	    margin-bottom: 32px;
	}
	.reservation-guide__img {
	    height: 25rem;
	}
	.reservation-guide__img img {
        width: auto;
	    max-height: 25rem;
	}
	.reservation-guide__units_options li {
	    padding: 16px;
	}
	.reservation-guide_confirminfo .confirm-info {
	    padding: 16px;
	}
	.important-points {
	    padding: 16px;
	}
	
	.reservation-guide-section .top-bottom {
	    margin-top: 64px;
	}
	
	.reservation-list__tabctrl {
	    margin-bottom: 24px;
	}
	.reservation-list__tabctrl li a {
	    height: 42px;
	    font-size: 14px;
	}
	.reservation-list__tabctrl li .is-active {
	    height: 48px;
	}
	.reservation-list__display .th {
	    padding: 10px 10px 12px 16px;
	}
	.reservation-list__display li .date-during {
		justify-content: space-between;
	    margin-top: 8px;
	    font-size: 12px;
	}
	.reservation-list__display .date-during .pre {
		display: block;
	    margin-right: 4px;
	}
	.reservation-list__display .date-during .big {
	    font-size: 18px;
	}
	.reservation-list__display .date-during .return {
		padding-left: 16px;
		position: relative;
	}
	.reservation-list__display .date-during .return:before {
		position: absolute;
		left: 0;
		bottom: 2px;
		margin: 0;
	}
	.reservation-list__display .td {
	    display: block;
	    padding: 12px 15px 24px;
	}
	.reservation-list__display .submit-btns {
		margin-top: 24px;
	    width: auto;
	    text-align: center;
	}
	
}

/*  area 
--------------------------------------------*/
#teaser {
	position: relative;
}

#teaser .bg {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#teaser .bg:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
}
#teaser .bg img {
	object-fit: cover;
	width: 100%;
    height: 100%;
}
#teaser .head {
	width: 100%;
	text-shadow: 0 0 20px rgba(0, 0, 0, .8);
	text-align: center;
	color: #fff;
	font-weight: 700;
    min-height: 250px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 50px 0;
}
#teaser .head p + p {
	margin-top: 8px;
}
#teaser .head .jap {
	line-height: 1.3;
	font-size: 40px;
}
#teaser .head .eng {
	line-height: 1.5;
	font-size: 14px;
}

.area-section {
	padding: 40px 0 80px;
}

.area-section__search .heading-small {
	text-align: left;
	font-size: 18px;
}
.area-section__search .part + .part {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #C0C5CC;
}
.area-section__search .links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 0;
}
.area-section__search .links li {
	padding-right: 8px;
	margin-right: 8px;
	border-right: 1px solid #C0C5CC;
	line-height: 1.3;
}
.area-section__search .links li a {
	display: block;
	padding-left: 20px;
	background: url(../img/area/icon_location_blue.svg)no-repeat left center;
	background-size: 16px;
	text-decoration: underline;
	color: #3064D5;
	font-weight: 700;
}

.area-section__searchairport {
	margin-top: 120px;
}
.area-section__searchairport .part + .part {
	margin-top: 32px;
}
.area-section__links_airport {
	margin-bottom: 32px;
}
.area-section__links_airport ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.area-section__links_airport li a {
	display: flex;
	align-items: center;
	padding: 8px;
	height: 48px;
	background: url(../img/top/arrow_bottom.svg) no-repeat right 12px center;
	background-size: 16px;
	border: 1px solid #C0C5CC;
	border-radius: 8px;
}
.area-section__links_port .head {
	margin-bottom: 24px;
	padding: 12px 16px;
	background: #F5F7FA;
	line-height: 1.3;
	font-size: 18px;
	font-weight: 700;
}
.area-section__links_port ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 0;
}
.area-section__links_port li {
	padding-right: 8px;
	margin-right: 8px;
	border-right: 1px solid #C0C5CC;
	line-height: 1.1428;
}
.area-section__links_port li a {
	padding-left: 20px;
	background: no-repeat left center;
	background-size: 16px;
}
.area-section__links_port li a.is-disabled {
	opacity: 0.7;
    pointer-events: none;
}
.area-section__links_port a.is-airport {
	background-image: url(../img/common/icon_airport.svg);
}
.area-section__links_port a.is-train {
	background-image: url(../img/common/icon_train.svg);
}
.area-section__links_port a.is-port {
    background-image: url(../img/common/icon_port.svg);
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .area-section__links_port li a:hover {
        color: #140D77;
        text-decoration: underline;
    }

    .area-section__links_port a:hover.is-airport {
        background-image: url(../img/common/icon_airport_blue.svg);
    }
    .area-section__links_port a:hover.is-train {
        background-image: url(../img/common/icon_train_blue.svg);
    }
    .area-section__links_port a:hover.is-port {
        background-image: url(../img/common/icon_port_blue.svg);
    }
}

.area-section__majorstations > li + li {
	border-top: 1px solid #C0C5CC;
}
.area-section__majorstations li .btn {
	position: relative;
	padding-right: 44px;
	font-size: 18px;
	font-weight: 700;
    padding: 16px 0;
}
.area-section__majorstations li .btn:after {
	content: "";
	position: absolute;
	right: 20px;
	top: 0;
	transform: rotate(90deg);
	transition-duration: 0.3s;
	width: 16px;
	height: 100%;
	background: url(../img/top/arrow_bottom.svg) no-repeat center;
	background-size: 100%;
}
.area-section__majorstations li .btn.is-active:after {
	transform: rotate(-90deg);
}

.area-section__majorstations .box {
    padding: 8px 0 16px;
}

.area-search-section {
	padding: 64px 0 80px;
}
.area-search__part + .area-search__part {
	margin-top: 64px;
}

.head-area {
	padding-top: 48px;
	margin-bottom: 24px;
	background: no-repeat center top;
	background-size: 40px;
	text-align: center;
	line-height: 1.3;
	font-size: 36px;
	font-weight: 400;
}
.head-area.icon-locain {
	background-image: url(../img/common/icon_location.svg);
}
.head-area.icon-plane {
	background-image: url(../img/top/icon_bottom02.svg);
}
.head-area.icon-train {
	background-image: url(../img/common/icon_train.svg);
}
.head-area:after {
	content: "";
	display: block;
	margin: 16px auto 0;
	transform: skewX(-30deg);
	height: 4px;
	width: 60px;
	background: #10069F;
}

.area-search__placelinks ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}
.area-search__placelinks li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	height: 53px;
	background: url(../img/common/icon_links.svg)no-repeat right 8px center;
	background-size: 16px;
	border-radius: 8px;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	font-weight: 700;
}

.display-contents {
	display: flex;
	justify-content: space-between;
}

.accessdetail-title-info {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 24px;
}
.accessdetail-title-info .head {
	margin-bottom: 16px;
	font-size: 26px;
	font-weight: 700;
}
.accessdetail-title-info .num {
	font-size: 16px;
	font-weight: 700;
}
.accessdetail-title-info .order a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 4px;
	padding: 0 16px;
	height: 45px;
	border: 1px solid #C0C5CC;
	border-radius: 8px;
}
.accessdetail-title-info .order a:before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../img/store/icon_round_trip.svg)no-repeat center;
	background-size: 100%;
}

.display-contents .side {
	width: 30.5%;
	max-width: 336px;
}
.display-contents .main {
	width: 66%;
	max-width: 728px;
}

.search-select li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	margin-bottom: 8px;
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.search-select li .th {
	font-weight: 700;
}
.search-select li .td {
	color: #697180;
}
.search-select select {
	padding-right: 20px;
	background: url(../img/common/icon_arrow_down.svg) right center no-repeat;
	background-size: 16px;
	border: 0;
	color: #697180;
}
.search-select input {
	float: right;
	padding: 0;
	margin: 0;
	width: auto;
	border: 0;
}
.search-select .submit-btns .btn {
	background-image: url(../img/common/icon_search_white02.svg);
	background-position: left 16px center;
	background-repeat: no-repeat;
}

.cancel-info__table select {
	padding: 0 8px;
	width: 100%;
	height: 50px;
	background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
	background-size: 16px;
	border-radius: 8px;
	border: 1px solid #939DAD;
}
.cancel-info__table th .note {
	display: block;
	line-height: 1.5;
	color: #697180;
	font-size: 12px;
	font-weight: 400;
}
.cancel-info__table.st2 th {
	width: 50%;
	font-weight: 400;
}
.cancel-info__table.st2 .store-link span {
	display: block;
	width: 100%;
}
.cancel-info__table * + .store-link {
	margin-top: 8px;
}
.cancel-info__table .space-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.number-plusminus-input {
	display: flex;
	align-items: center;
	gap: 0 8px;
}
.number-plusminus-input .btn {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	width: 24px;
	background: no-repeat center;
	background-size: 100%;
	border-radius: 50%;
}
.number-plusminus-input .num-minus {
	background-image: url(../img/common/remove_default.svg);
}
.number-plusminus-input .num-plus {
	background-image: url(../img/common/add_default.svg);
}

.number-plusminus-input .num-minus.is-disabled {
    background-image: url(../img/common/remove_disable.svg);
    pointer-events: none;
    cursor: none;
}
.number-plusminus-input .num-plus.is-disabled {
    background-image: url(../img/common/add_disable.svg);
    pointer-events: none;
    cursor: none;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .number-plusminus-input .num-minus:hover {
        background-image: url(../img/common/remove_hover.svg);
    }
    .number-plusminus-input .num-plus:hover  {
        background-image: url(../img/common/add_hover.svg);
    }
    
}

.number-plusminus-input .count {
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	width: 22px !important;
	background: none !important;
	text-align: center;
	border: 0 !important;
	font-weight: 700;
	font-size: 18px;
}

.btn-checkbox {
    position: relative;
}

.btn-checkbox input[type="checkbox"] {
    position: absolute;
    width: 24px;
    height: 24px;
    left: 0;
    top: 0;
    z-index: 2;
    cursor: pointer;
    display: block;
    margin: 0;
}


.btn-checkbox label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 8px;
	cursor: pointer;
	position: relative;
}
.btn-checkbox .note {
	width: 100%;
}
.btn-checkbox label:before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/deposit/icon_check.svg) no-repeat left center;
	background-size: 100%;
}
.btn-checkbox input:checked + label:before {
	background-image: url(../img/deposit/icon_check_checked.svg);
}

.reservation-section__advancepay {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px;
	background: #F5F7FA;
	text-align: center;
	line-height: 1.3;
}
.reservation-section__advancepay .store-access__service {
	justify-content: center;
}
.reservation-section__advancepay .total {
	font-weight: 700;
}
.reservation-section__advancepay .total:before {
    content: "合計金額";
    margin-right: 8px;
	color: #2C2A29;
}
.reservation-section__advancepay .total .price {
    font-size: 28px;
}
.reservation-section__advancepay .checkbox-checked-free {
    justify-content: center;
}

.reservation-section-paymentinfo .reservation-section__end {
	margin-top: 48px;
}
.reservation-section__agree label {
	justify-content: center;
}
.reservation-section__agree .note {
	display: block;
	color: #CF3700;
	font-size: 12px;
}
.reservation-section__end.btn-checkbox label {
	justify-content: center;
}

.reservation-section__mustlogged {
	margin-top: 16px;
	padding: 24px;
	background: #F0F7FF;
	text-align: center;
}
.reservation-section__mustlogged .btn-item {
	margin: 0 auto;
	max-width: 335px;
}
.reservation-section__mustlogged .btn-item + .btn-item {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #ACB5BF;
}
.reservation-section__mustlogged .btn-item a,
.reservation-section__mustlogged .btn-item button,
.btn-checkbox > .submit-btns .btn {
	pointer-events: none;
	width: 100%;
	max-width: 256px;
	background: #E9ECF2;
	border-color: #C0C5CC;
	color: #939DAD;
}
.reservation-section__mustlogged .heading-large {
	margin-bottom: 16px;
}
.reservation-section__mustlogged .heading-large__notes {
	margin-top: 0;
}
.btn-checkbox input:checked + label + .reservation-section__mustlogged .btn-item a,
.btn-checkbox input:checked + label + .reservation-section__mustlogged .btn-item button,
.btn-checkbox input:checked + label + .submit-btns .btn {
	pointer-events: inherit;
}
.btn-checkbox input:checked + label + .reservation-section__mustlogged .btn-item .btn,
.btn-checkbox input:checked + label + .submit-btns .btn {
	background: #10069F;
	border-color: #10069F;
	color: #fff;
}
.btn-checkbox input:checked + label + .reservation-section__mustlogged .btn-item .icon-links {
	background: #fff;
	color: #2C2A29;
}

.txt-note {
	color: #697180;
}
.txt-note .link {
	color: #3064D5;
	text-decoration: underline;
}

.ta-center {
	text-align: center;
}

.reservation-section__head .icon {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 4px;
    width: 24px;
}
.reservation-section__head .unit {
	margin-right: 8px;
	color: #697180;
}
.plan-section__part .tax-price {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 24px;
	line-height: 1.3;
	font-weight: 700;
}
.plan-section__part .tax-price .num {
	margin: -3px 0 0 8px;
	font-size: 28px;
}
.plan-section__part .tax-price .num:after {
	content: "円（税込）";
	font-size: 14px;
}

.exemption-compensation-modal .compensation .table1 {
	width: 100%;
}
.exemption-compensation-modal .compensation .table1 tr {
	border-bottom: 1px solid #C0C5CC;
}
.exemption-compensation-modal .compensation .table1 th {
	padding: 16px 8px 16px 0;
	width: 128px;
	text-align: left;
	font-weight: 700;
}
.exemption-compensation-modal .compensation .table1 td {
	padding: 16px 0;
}
.exemption-compensation-modal .compensation .table2 {
	width: 100%;
	border: 1px solid #C0C5CC;
	text-align: center;
}
.exemption-compensation-modal .compensation .table2 th {
	vertical-align: middle;
	padding: 8px;
	width: 168px;
	background: #F5F7FA;
	border: 1px solid #C0C5CC;
	font-weight: 400;
}
.exemption-compensation-modal .compensation .table2 td {
	padding: 8px;
	border: 1px solid #C0C5CC;
}
.exemption-compensation-modal .compensation .seats-number {
	padding: 16px 0;
}
.exemption-compensation-modal .compensation .seats-number .th {
	margin-bottom: 8px;
	font-weight: 700;
}
.exemption-compensation-modal .compensation .note {
	margin-top: 8px;	
}
.exemption-compensation-modal .compensation .important-points {
	margin-top: 8px;
	padding: 16px 8px;
}

.cancel-bank__info .appcopy {
	margin-bottom: 16px;
	text-align: right;
}
.cancel-bank__info .appcopy button {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px 8px;
	background: #10069F;
	border-radius: 30px;
	line-height: 1;
	color: #fff;
	font-weight: 700;
}
.cancel-bank__info .smallcolumn-st {
	display: flex;
	align-items: center;
	gap: 0 8px;
}
.cancel-bank__info .smallcolumn-st input[type=text] {
	width: 120px;
}
.cancel-bank__info li .btn-checkbox {
	margin-top: 8px;
}

.cancel-bank__info .space-between {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.cancel-bank__info .number-input {
	display: flex;
	align-items: center;
}
.cancel-bank__info .number-input .tit {
	width: 134px;
	font-weight: 700;
}
.cancel-bank__info .detail a {
	display: flex;
	align-items: center;
	gap: 0 4px;
	float: right;
	text-decoration: underline;
	color: #3064D5;
	font-size: 12px;
}
.cancel-bank__info .detail a:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../img/common/icon_links.svg) no-repeat center;
    background-size: 100%;
}

.cancel-bank__info .search-code .search-input {
	width: calc(100% - 120px);
}
.cancel-bank__info .search-code .search-btn {
	width: 104px;
    height: 50px;
    display: flex;
    align-items: center;
}
.cancel-bank__info .search-code .search-btn button {
	width: 100%;
	height: 38px;
	background: #fff;
	border-radius: 40px;
	border: 1px solid #939DAD;
    transition: all .3s ease;
}

.cancel-bank__info .search-code .search-btn .search-btn__delete {
    width: 100%;
    height: 38px;
    display: none;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    line-height: 1.5;
    color: #3064D5;
    cursor: pointer;
}

.cancel-bank__info.is-success .search-code .search-btn button {
    display: none;
}

.cancel-bank__info.is-success .search-code .search-btn .search-btn__delete {
    display: flex;
}

.cancel-bank__info .search-code .search-btn .search-btn__delete:before {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/common/icon_delete.svg) center center no-repeat;
    background-size: 100% auto;
}

.cancel-before .important-points {
	margin-bottom: 16px;
	text-align: left;
}

.cancel-policy .part {
	margin-top: 24px;
}
.cancel-policy .tit {
	margin-bottom: 8px;
	font-weight: 700;
}

.deposit-payment .sub {
	margin-bottom: 24px;
}
.deposit-payment .sub .must {
	display: block;
	font-weight: 700;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
	.area-section__search .links li a:hover,
	.txt-note .link:hover,
	.cancel-bank__info .detail a:hover {
		text-decoration: none;
	}
	
	.area-section__searchairport .links_port li a:hover {
		color: #3064D5;
	}
	
	.area-search__placelinks li a:hover {
		box-shadow: 0 0 2px rgba(0,0,0,0.3);
	}

    .cancel-bank__info .appcopy button:hover {
        background: #140d77;
    }

    .cancel-bank__info .search-code .search-btn button:hover {
        background: #F0F7FF;
        color: #140D77;
        border-color: #99C4FD;
    }

    .cancel-bank__info .search-code .search-btn .search-btn__delete:hover {
        text-decoration: underline;
    }
	
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #teaser .head {
        min-height: 100px;
        padding: 16px;
    }

    #teaser .head p + p {
        margin-top: 0;
    }
    #teaser .head .jap {
        font-size: 32px;
    }

	.area-section {
	    padding: 40px 0 64px;
	}
	.area-section__search .heading-small {
	    font-size: 16px;
	}
	
	.area-section__searchairport {
	    margin-top: 64px;
	}
	.area-section__links_airport {
		margin-bottom: 24px;
	}
	.area-section__links_airport ul {
	    grid-template-columns: repeat(2, 1fr);
	    gap: 8px;
	}
	.area-section__links_airport li a {
		height: 40px;
		background-position: right 8px center;
	}
	
	.toggleBox {
		display: none;
	}
	.area-section {
		overflow: hidden;
	}
	.area-section__search .links {
	    gap: 16px 0;
	}
	.area-section__searchairport .part + .part {
	    margin-top: 4px;
	}
	.area-section__links_port .head {
		position: relative;
	    margin: 0 -20px;
	    padding: 16px 30px 16px 20px;
	    font-size: 16px;
	}
	
	.area-section__links_port ul {
		display: block;
		padding: 8px 20px;
	}
	.area-section__links_port li {
	    padding-right: 0;
	    margin-right: 0;
	    border-right: 0;
	    line-height: 2.4;
	}
	
	.area-section__majorstations > li {
	    padding: 0;
		margin: 0 -20px;
	}
	.area-section__majorstations li .btn {
		padding: 16px 44px 16px 20px;
		font-size: 16px;
	}
	.area-section__majorstations .box {
	    margin-top: 0;
		padding: 0 20px;
		background: #E9ECF2;
	}
	
	.area-search-section {
	    padding: 50px 0 74px;
	}
	.head-area {
	    font-size: 28px;
	}
	
	.area-search__placelinks ul {
	    grid-template-columns: repeat(2, 1fr);
	}
	
	.plan-detail__title {
	    margin-bottom: 40px;
	}
	.plan-detail__display {
	    display: block;
	}
	.plan-detail__display .info {
		width: auto;
	}
	.cancel-info__table.st2 th {
	    width: 130px;
	}
	.cancel-info__table th .note {
		font-size: 10px;
	}
	
	.reservation-section__agree label {
		flex-direction: column;
	    gap: 8px;
	}
	.reservation-section__agree .note {
		margin-top: 8px;
	}
	
	.txt-note {
		font-size: 12px;
	}
	
	.exemption-compensation-modal .compensation .table1 th {
	    padding: 16px 8px 16px 0;
	    width: 124px;
	}
	.exemption-compensation-modal .compensation .table2 th {
		width: 76px;
	}
	.exemption-compensation-modal .compensation .table2 td {
	    padding: 8px 4px;
	}
	.exemption-compensation-modal .compensation .important-points {
		padding: 16px;
	}
	
	
	.cancel-bank__info .number-input {
	    display: block;
	}
	.cancel-bank__info .number-input .tit {
		margin-bottom: 16px;
	    width: auto;
	}
	
	.cancel-before__checkbox.sp-column .sure {
		/*padding: 32px 0 0;
		background-position: center top;*/
        font-size: 13px;
	}

    .cancel-before__checkbox.sp-column .sure .note {
        font-size: 11px;
    }
	
	.btn-checkbox {
		
	}
	
	.btn-checkbox .note {
		margin-top: 8px;
	}

    .reservation-section__head .icon {
        width: 16px;
    }
}

/* plan_search.html */
.teaser-logo {
	padding: 40px 0;
	background: #10069F;
	color: #fff;
}
.teaser-logo .head-logo {
	display: flex;
	align-items: center;
	gap: 0 16px;
	font-size: 32px;
	font-weight: 700;
}
.teaser-logo .head-logo .logo {
	width: 216px;
}

.teaser-logo .plan-search-description {
	margin-top: 20px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
}

#mainVisual.common-search-bg {
	padding: 0;
	min-height: inherit;
	background: #F6F7FA;
}
#mainVisual.common-search-bg .mv-search {
	/* padding: 24px 0; */
    box-shadow: none;
    background: #F5F7FA;
}

.plan-search-wrap {
	position: relative;
	padding-top: 50px;
}

.another-tab-link {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding: 18px 0;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.another-tab-link ul {
	display: flex;
	justify-content: center;
}
.another-tab-link li {
	padding: 0 16px;
	line-height: 1;
	font-weight: 700;
}
.another-tab-link li + li {
	border-left: 1px solid #C0C5CC;
}

.plan-search-section {
	padding: 80px 0;
}

.select-prefectures {
	margin: 0 auto 24px;
	max-width: 600px;
}
.select-prefectures .tit {
	margin-bottom: 4px;
	font-weight: 700;
} 
.select-prefectures select {
	padding: 0 30px 0 8px;
	height: 50px;
	width: 100%;
	background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
	border-radius: 8px;
	border: 1px solid #939DAD;
}

.plan-search-store-select {
	padding: 0 30px 0 8px;
	height: 50px;
	width: 100%;
	background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
	border-radius: 8px;
	border: 1px solid #939DAD;
	text-align: left;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #222;
}
.plan-search-store-select .js-plan-search-store-value {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
    font-size: 1.4rem;
}
.plan-search-store-select .js-plan-search-store-value.is-placeholder {
	color: #222;
    font-size: 1.4rem;
}

.search-carstore {
	padding: 48px 0;
	background: #F0F7FF;
}
.search-carstore .prefectures-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.search-carstore .prefectures-list li {
	padding: 24px;
	background: #fff;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	border-radius: 8px;
}
.search-carstore .prefectures-list .company {
	margin-bottom: 8px;
	text-align: center;
	line-height: 1.3;
	font-size: 18px;
	font-weight: 700;
}
.search-carstore .prefectures-list .company .logo {
	display: block;
	margin: 0 auto 8px;
	width: 85px;
}
.search-carstore .prefectures-list .add {
	color: #697180;
	font-size: 12px;
}
.search-carstore .prefectures-list .reservate-btn {
	margin-top: 16px;
}
.search-carstore .prefectures-list .reservate-btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border: 1px solid #939DAD;
	border-radius: 50px;
}

.find-plan-section {
	padding: 120px 0 0;
}
.find-plan-section .search-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.search-list__item {
	display: flex;
	overflow: hidden;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	border-radius: 8px;
}
.search-list.is-columns > li {
	display: none;
}
.search-list.is-columns .search-list__item:nth-child(1),
.search-list.is-columns .search-list__item:nth-child(2),
.search-list.is-columns .search-list__item:nth-child(3),
.search-list.is-columns .search-list__item:nth-child(4),
.search-list.is-columns .search-list__item:nth-child(5),
.search-list.is-columns .search-list__item:nth-child(6),
.search-list.is-columns .search-list__item:nth-child(7),
.search-list.is-columns .search-list__item:nth-child(8) {
	display: flex;
}
.search-list__item .info {
	padding: 32px 16px;
	position: relative;
	width: calc(100%/3 * 2);
}
.search-list__item .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	width: calc(100%/3);
	background: #F5F7FA;
}
.search-list__item .btn a {
	padding: 12px 15px 10px;
}
.search-list__item .head {
	margin-bottom: 16px;
	line-height: 1.3;
	font-size: 16px;
	font-weight: 700;
}
.search-list__item .notes {
	position: relative;
	color: #697180;
	font-size: 12px;
}
.search-list__item .notes .ellipsis {
	display: inline-block;
	max-width: calc(100% - 80px);
	overflow: hidden;
	text-overflow: ellipsis; 
	white-space: nowrap;
}
.search-list__item .notes p + p {
    margin-top: 24px;
}
.search-list__item .notes li {
	padding-left: 1em;
	text-indent: -1em;
}
.search-list__item .more {
	display: inline-block;
	vertical-align: top;
}
.search-list__item .more:after {
    content: "もっとみる";
    margin-left: 10px;
    text-decoration: underline;
    color: #3064D5;
}
.search-list__item .more.is-active {
	position: absolute;
	top: 100%;
	right: 0;
}
.search-list__item .more.is-active:after {
    content: "閉じる";
}
.find-plan-section .see-all {
	cursor: pointer;
	margin-top: 40px;
	text-align: center;
}
.find-plan-section .see-all .icon-links:after {
	transform: rotate(90deg);
}

.vehicle-class-section {
	padding: 120px 0 100px;
}
.vehicle-class-section .class-part + .class-part {
	margin-top: 40px;
}
.vehicle-class-section .list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.vehicle-class-section .class-part .heading-small {
	text-align: left;
}
.vehicle-class-section .list li {
	border-radius: 8px;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
}
.vehicle-class-section .list li a {
	display: block;
	padding: 24px;
	text-align: center;
}
.vehicle-class-section .list li .img {
	margin: 0 auto 16px;
	max-width: 140px;
	height: 70px;
}
.vehicle-class-section .list li .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.vehicle-class-section .list li .type {
	line-height: 1.3;
}
.vehicle-class-section .list li .type span {
	border-bottom: 1px solid;
	color: #3064D5;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
	.vehicle-class-section .list li a:hover .type span {
		color: #2C2A29;
	}
	
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.teaser-logo {
	    padding: 16px 0;
	}
	.teaser-logo .head-logo {
		flex-direction: column;
	    align-items: center;
	    gap: 8px 0;
	    font-size: 16px;
	}
	.teaser-logo .head-logo .logo {
	    width: 140px;
	}

    .teaser-logo .plan-search-description {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.5;
	}

	#mainVisual.common-search-bg .inner {
		padding: 0 20px;
	}
	
	.plan-search-wrap {
		padding-top: 0;
	}
	
	.another-tab-link {
		position: static;
		padding: 16px 0;
	}
	.another-tab-link ul {
		display: block;
	}
	.another-tab-link li {
		padding: 10px 0 8px;
		line-height: 1.3;
	}
	.another-tab-link li + li {
		border-left: 0;
		border-top: 1px solid #C0C5CC;
	}
	
	.search-carstore {
	    padding: 32px 0;
	}
	
	.search-carstore .prefectures-list {
	    grid-template-columns: repeat(2, 1fr);
	    gap: 16px;
	}
	.search-carstore .prefectures-list li {
	    padding: 16px 8px;
	}
	.search-carstore .prefectures-list .company {
	    font-size: 14px;
	}
	.search-carstore .prefectures-list .company .logo {
	    width: 53px;
	}
	
	.find-plan-section {
	    padding: 60px 0 0;
	}
	.find-plan-section .search-list {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 40px 0;
	}
	.search-list__item {
		display: block;
	}
	.search-list.is-columns .search-list__item:nth-child(1), 
	.search-list.is-columns .search-list__item:nth-child(2), 
	.search-list.is-columns .search-list__item:nth-child(3), 
	.search-list.is-columns .search-list__item:nth-child(4), 
	.search-list.is-columns .search-list__item:nth-child(5), 
	.search-list.is-columns .search-list__item:nth-child(6), 
	.search-list.is-columns .search-list__item:nth-child(7), 
	.search-list.is-columns .search-list__item:nth-child(8) {
	    display: block;
	}
	.search-list__item .info {
	    padding: 24px 16px;
	    width: auto;
	}
	.search-list__item .btn {
	    padding: 16px;
	    width: auto;
	}
	.search-list__item .btn a {
		width: 100%;
	}
	
	.vehicle-class-section {
	    padding: 70px 0 40px;
	}
	.vehicle-class-section .list {
	    grid-template-columns: repeat(2, 1fr);
	    gap: 10px 8px;
	}
	.vehicle-class-section .list li a {
	    padding: 16px;
	}
	.vehicle-class-section .list li .img {
	    max-width: 85px;
	    height: 45px;
	}
	
}

/* article */
.article-section {
	padding: 32px 0 120px;
}
.article-content {
	display: flex;
	justify-content: space-between;
}
.article-content.reverse {
	flex-direction: row-reverse;
}
.article-content .main {
	width: 66%;
	max-width: 728px;
}
.article-content .side {
	width: 31.16%;
	max-width: 344px;
}

.article-number__title {
	margin-bottom: 24px;
}
.article-number {
	display: flex;
	justify-content: space-between;
	padding-bottom: 24px;
	border-bottom: 1px solid #C0C5CC;
}
.article-search {
	display: flex;
	align-items: center;
	gap: 0 8px;
	padding: 0 8px;
	border-radius: 8px;
	border: 1px solid #939DAD;
}
.article-search input[type=image] {
	width: 16px;
	height: 16px;
}
.article-search input[type=text] {
	width: calc(100% - 24px);
	height: 50px;
	border: 0;
	outline: none;
}
.article-search input:foucs {
	outline: none;
}

.latest-articles .reservation-section__head {
	margin-bottom: 24px;
	font-weight: 400;
}
.latest-articles .list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 24px;
}
.latest-articles .list li a {
	display: block;
}
.latest-articles .list .img {
	display: block;
	margin-bottom: 16px;
}
.latest-articles .list .img img {
	width: 100%;
}
.latest-articles .list .heading-small {
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.latest-articles .list .txt {
	margin-bottom: 8px;
	overflow: hidden;
	text-overflow: ellipsis;
	display:-webkit-box; 
	-webkit-box-orient:vertical;  
	-webkit-line-clamp:2;
}
.article-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.article-tags span,
.article-tags a {
	color: #10069F;
}
.latest-articles .list .article-tags span,
.latest-articles .list .article-tags a {
	font-size: 12px;
}
.article-date {
	text-align: right;
	color: #697180;
}
.latest-articles .list .article-date {
	margin-top: 16px;
}

.latest-articles .wp-pagenavi {
	margin-top: 64px;
}

.article-content .side .side-part + .side-part {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #C0C5CC;
}
.article-content .side .heading-small {
	text-align: left;
	font-size: 18px;
}
.side-popular-links.step-links {
	counter-reset:sectioncounter;
}
.side-popular-links.step-links li .img:before {
	content: counter(sectioncounter); 
	counter-increment:sectioncounter;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	background: #10069F;
	color: #fff;
}
.side-popular-links li + li {
	margin-top: 16px;
}
.side-popular-links li a {
	display: flex;
	justify-content: space-between;
}
.side-popular-links li .img {
	position: relative;
	width: 120px;
}
.side-popular-links.step-links li:nth-child(1) .img:before {
	background: linear-gradient(136.38deg, #BAA027 0%, #D69054 97.7%);
}
.side-popular-links.step-links li:nth-child(2) .img:before {
	background: linear-gradient(136.38deg, #B4B4B4 0%, #A1A1A1 97.7%);
}
.side-popular-links.step-links li:nth-child(3) .img:before {
	background: linear-gradient(136.38deg, #986D24 0%, #795727 97.7%);
}
.side-popular-links li .info {
	width: calc(100% - 136px);
}
.side-popular-links li .tit {
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.side-popular-links li .article-date {
	margin-top: 8px;
}

.article-content .side .end-btn {
	margin-top: 40px;
	text-align: center;
}
.article-content .side .end-btn a {
	width: 100%;
	max-width: 256px;
}


/* article_detail */
.teaser-article-title {
	position: relative;
}
.teaser-article-title .bg {
	position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
	width: 100%;
	height: 100%;
	filter: brightness(0.6);
}
.teaser-article-title .bg img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.teaser-article-title .info {
	padding: 50px 0;
	width: 100%;
	color: #fff;
	text-shadow: 0 0 12px rgba(0,0,0,0.5);
    min-height: 380px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
}
.teaser-article-title .head {
	margin-bottom: 24px;
	line-height: 1.3;
	font-size: 32px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	word-break: break-all;
}
.teaser-article-title .info .inner > p {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	word-break: break-all;
}
.teaser-article-title .info .date {
	margin-top: 16px;
	font-size: 12px;
}
.teaser-article-title .info .article-tags {
	margin-top: 8px;
}
.teaser-article-title .info .article-tags a {
	color: #fff;
	font-size: 12px;
}

.article-detail-section {
	padding: 64px 0 80px;
}
.detail-style__part + .detail-style__part {
	margin-top: 64px;
}
.detail-style h2 {
	margin-bottom: 24px;
	padding: 16px 24px;
	background: #F0F7FF;
	line-height: 1.3;
	font-size: 28px;
	font-weight: 400;
}
.detail-style h3 {
	margin-bottom: 24px;
	padding-bottom: 8px;
	border-bottom: 2px solid #10069F;
	line-height: 1.3;
	font-size: 24px;
	font-weight: 700;
}
.detail-style .detail-style__part > p {
	margin-bottom: 34px;
	line-height: 1.8;
	font-size: 16px;
}
.detail-style figure {
	margin: 0 auto 34px;
}
.detail-style figure img {
	width: 100%;
}

.eligible-plans {
	padding-top: 40px;
	border-top: 1px solid #C0C5CC;
}
.eligible-plans h3 {
	padding-bottom: 0;
	border-bottom: 0;
}
.eligible-plans .search-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
}

.eligible-plans .search-list__item .info {
    width: calc(100% - 185px);
}
.eligible-plans .search-list__item .btn {
    flex-direction: column;
    gap: 14px;
    width: 185px;
    text-align: center;
}
.eligible-plans .search-list__item .lowest-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    width: 100%;
    margin: 0;
    padding-left: 12px;
    color: #E60012;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-sizing: border-box;
}
.eligible-plans .search-list__item .lowest-price .price {
    display: flex;
    align-items: baseline;
    gap: 0;
}
.eligible-plans .search-list__item .lowest-price .label {
    font-size: 14px;
    line-height: 1;
}
.eligible-plans .search-list__item .lowest-price .num {
    font-size: 26px;
    letter-spacing: -0.02em;
}
.eligible-plans .search-list__item .lowest-price .unit {
    font-size: 14px;
}
.eligible-plans .search-list__item .btn a {
    width: 100%;
    max-width: 148px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
	.latest-articles .list li a:hover,
	.side-popular-links li a:hover {
		opacity: 0.7;
	}
	
	.article-tags a:hover {
		text-decoration: underline;
	}
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.article-section {
	    padding: 32px 0 88px;
	}
	
	.article-content {
	    display: block;
	}
	
	.article-content .side,
	.article-content .main {
		width: auto;
		max-width: inherit;
	}
	
	.article-content .article-search {
		margin-bottom: 16px;
	}
	.article-number {
	    flex-direction: column;
		gap: 4px 0;
	}
	
	.latest-articles .reservation-section__head {
		margin-bottom: 16px;
		font-size: 18px;
	}
	.latest-articles .list {
	    gap: 24px 16px;
	}
	.latest-articles .list .heading-small {
		margin-bottom: 8px;
		font-size: 14px;
	}
	.latest-articles .list .txt {
		font-size: 12px;
	}
	.latest-articles .list .article-date {
	    margin-top: 8px;
	}
	.latest-articles .wp-pagenavi {
	    margin-top: 40px;
	}
	
	.side-links-section {
		padding: 40px 20px 0;
		margin: 40px -20px 0;
		border-top: 8px solid #E9ECF2;
	}
	
	.teaser-article-title .info {
        padding: 25px 0;
		min-height: 300px;
	}
	
	.article-detail-section {
	    padding: 24px 0 50px;
	}
	
	.detail-style h2 {
	    padding: 16px;
	    font-size: 26px;
	}
	.detail-style h3 {
	    margin-bottom: 16px;
	    font-size: 20px;
	}
	.detail-style .detail-style__part > p,
	.detail-style figure {
	    margin-bottom: 40px;
	}
	
	.eligible-plans .search-list {
	    gap: 70px 0;
	}

	.eligible-plans .search-list__item .info {
	    width: auto;
	}
	.eligible-plans .search-list__item .btn {
	    gap: 14px;
	    width: auto;
	    padding: 16px 20px;
	}
	.eligible-plans .search-list__item .lowest-price {
	    flex-direction: row;
	    align-items: baseline;
	    gap: 8px;
	    padding-left: 0;
	}
	.eligible-plans .search-list__item .lowest-price .price {
	    gap: 0;
	}
	.eligible-plans .search-list__item .lowest-price .num {
	    font-size: 26px;
	}
	.eligible-plans .search-list__item .btn a {
	    max-width: none;
	}
}

.search-wrap {
    padding-bottom: 72px;
}

.search-warning {
    width: 100%;
    padding: 16px;
    background: #FFF7F7;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    color: #DF0D00;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
}

.search-warning:before {
    width: 16px;
    min-width: 16px;
    height: 16px;
    content: '';
    background: url(../img/search/warning.svg) center center no-repeat;
    background-size: 16px auto;
    margin-top: 2px;
}

.search-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 32px 0 20px;
}

.search-head .search-heading {
    font-size: 26px;
    line-height: 1.3;
    font-weight: bold;
}


.search-head .search-found-count {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.3;
}

.search-head .search-found-count .total-count {
    font-size: 16px;
    font-weight: bold;
}

.search-head .search-order select {
    border: 1px solid #C0C5CC;
    border-radius: 8px;
    background: url(../img/search/icon_order.svg) 15px center no-repeat;
    background-size: 16px auto;
    padding: 11px 15px 11px 35px;
    font-size: 14px;
    line-height: 1.5;
    color: #2C2A29;
    outline: none;
    cursor: pointer;
}


.search-tab .search-tab-target {
    display: flex;
    align-items: flex-end;
    padding-top: 3px;
    margin-bottom: 24px;
    height: 51px;
}

.search-tab .search-tab-target li {
    width: 100%;
}

.search-tab .search-tab-target a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    background: #E9ECF2;
    position: relative;
    font-size: 16px;
    line-height: 1.3;
    color: #939DAD;
    border-right: 1px solid #C0C5CC;
}

.search-tab .search-tab-target li:last-child a {
    border-right: 0;
}

.search-tab .search-tab-target a:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 87%, rgba(0, 0, 0, 0.08) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    content: '';
}

.search-tab .search-tab-target a.is-active {
    height: 51px;
    font-weight: bold;
    color: #3064D5;
    border-radius: 8px 8px 0 0;
    background: #F5F7FA;
    border-right: 0;
}

.search-tab .search-tab-target a.is-active:before {
    background: #3064D5;
    height: 4px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .search-tab .search-tab-target a:not(.is-active):hover {
        opacity: .7;
    }
}

.search-tab .search-tab-body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.search-tab .search-tab-body .search-tab-contents {
    width: calc(100% - 376px);
}

.text-links {
    display: inline-flex;
    align-items: center;
    gap: 0 4px;
    text-decoration: underline;
    color: #3064D5;
    font-size: 12px;
}

.text-links:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../img/common/icon_links.svg) no-repeat center;
    background-size: 100%;
}

.search-item {
    width: 100%;
    background: #fff;
    box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    position: relative;
}

.search-item.js-shop-plan-hidden {
    display: none;
}

.search-item:before {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 20;
    pointer-events: none;
    left: 0;
    top: 0;
    position: absolute;
    content: '';
    background: url(../img/search/loading_item.gif) center center no-repeat;
    background-size: 100% 100%;
    transition: all .2s ease;
}

.is-loading .search-item:before {
    opacity: 0;
    visibility: hidden;
}

.search-item + .search-item {
    margin-top: 40px;
}

.departure-store {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 16px 24px;
    border-bottom: 1px solid #E9ECF2;
}

.departure-store .departure-store__left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-grow: 1;
}

.departure-store .departure-store__title {
    font-size: 12px;
    line-height: 1.5;
    padding: 0 7px;
    border: 1px solid #C0C5CC;
    border-radius: 4px;
    color: #2C2A29;
    word-break: keep-all;
}

.departure-store .departure-store__info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-grow: 1;
}

.departure-store .departure-store__info .store-image {
    width: 65px;
    min-width: 65px;
    height: 49px;
    overflow: hidden;
}

.departure-store .departure-store__info .store-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.departure-store .departure-store__info .store-name {
    font-size: 16px;
    line-height: 1.3;
    font-weight: bold;
}

.departure-store .departure-store__info .store-address {
    display: block;
    color: #697180;
    font-size: 12px;
    line-height: 1.3;
    font-weight: normal;
}

.departure-store .departure-store__right {
    white-space: nowrap;
}

.return-store {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    gap: 30px;
    border-bottom: 1px solid #E9ECF2;
}

.return-store .return-store__left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-grow: 1;
}

.return-store .return-store__title {
    font-size: 12px;
    line-height: 1.5;
    padding: 0 7px;
    border: 1px solid #C0C5CC;
    border-radius: 4px;
    color: #2C2A29;
    word-break: keep-all;
}

.return-store .return-store__info {
    flex-grow: 1;
}

.return-store .return-store__info .store-select {
    width: 100%;
}

.return-store .return-store__info .store-select label {
    transition: opacity .5s ease;
    cursor: pointer;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .return-store .return-store__info .store-select label:hover {
        opacity: .7;
    }
}

.return-store .return-store__info .store-select select {
    width: 100%;
    border: 1px solid #939DAD;
    border-radius: 8px;
    padding: 0 34px 0 8px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    background-size: 16px;
}

.return-store .return-store__info .store-select .js-select-value {
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
}

.return-store .return-store__info .store-select .js-select {
    display: block;
    width: 100%;
}

.return-store .return-store__info .store-select .js-select select {
    position: static;
    display: block;
    width: 100%;
    min-height: 50px;
    height: auto;
    color: #2C2A29;
    -webkit-text-fill-color: #2C2A29;
    border: 1px solid #939DAD;
    border-radius: 8px;
    padding: 8px 34px 8px 8px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    background-size: 16px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.return-store .return-store__info .store-select .js-select select option {
    color: #2C2A29;
    -webkit-text-fill-color: #2C2A29;
    background: #fff;
}

.return-store .return-store__info .store-select .js-select .js-select-value {
    display: none;
}

/* プラン詳細の返却店舗セレクト（ID:1 と同様のホワイトアウト・Safari非表示対策） */
.store-link .store-select .js-select {
    display: block;
    width: 100%;
}

.store-link .store-select .js-select select {
    position: static;
    display: block;
    width: 100%;
    min-height: 50px;
    height: auto;
    color: #2C2A29;
    -webkit-text-fill-color: #2C2A29;
    border: 1px solid #939DAD;
    border-radius: 8px;
    padding: 8px 34px 8px 8px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    background-size: 16px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.store-link .store-select .js-select select option {
    color: #2C2A29;
    -webkit-text-fill-color: #2C2A29;
    background: #fff;
}

.store-link .store-select .js-select .js-select-value {
    display: none;
}

.return-store .return-store__info .store-address {
    display: block;
    color: #697180;
    font-size: 12px;
    line-height: 1.3;
    font-weight: normal;
    margin-top: 8px;
}

.return-store .return-store__right {
    white-space: nowrap;
}

.return-store .return-store__left {
    word-break: keep-all;
}


.plan-info {
    padding: 24px;
}

.plan-info .plan-info__title {
    font-size: 16px;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 16px;
}

.plan-info .plan-info__title a {
    text-decoration: underline;
    color: #3064D5;
}

.plan-info .plan-info__body {
    display: grid;
    grid-template-columns: auto auto;
    gap: 20px;

}

.plan-info .plan-info__left {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 460px;
}

.plan-info .plan-info-image {
    width: 210px;
}

.plan-info .plan-info-image img {
    width: 100%;
}

.plan-info .plan-info-image:not(.only-one) {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
}

.plan-info .plan-info-image:not(.only-one) img {
    width: 50%;
}

.plan-info .plan-info-list dl {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
}

.plan-info .plan-info-list dl + dl {
    margin-top: 2px;
}

.plan-info .plan-info-list dl dt {
    width: 84px;
    word-break: keep-all;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plan-info .plan-info-list dl dt:after {
    content: '：';
}

.plan-info .plan-info-list a {
    text-decoration: underline;
    color: #3064D5;
}

.plan-info .plan-info-cate {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.plan-info .plan-info-cate span {
    border-radius: 2px;
    border: 1px solid #10069F;
    font-size: 12px;
    line-height: 1.5;
    padding: 3px 5px;
    color: #10069F;
    display: inline-flex;
    align-items: center;
}

.plan-info .plan-info-cate span:before {
    width: 16px;
    height: 16px;
    background: no-repeat center;
    background-size: 100%;
}

.plan-info .plan-info-cate .suitcases:before {
    background-image: url(../img/deposit/icon_suitcases.svg);
    content: "";
}

.plan-info .plan-info-cate .golfbags:before {
    background-image: url(../img/deposit/icon_golfbags.svg);
    content: "";
}

.plan-info .plan-info__right {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    justify-content: space-between;
    text-align: right;
}

.plan-info .plan-info-price .type .type-item {
    display: inline-block;
    font-size: 12px;
    line-height: 1.5;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: bold;
}

.plan-info .plan-info-price .type .type-item.is-advance {
    background: #F0F7FF;
    color: #0063B0;
}

.plan-info .plan-info-price .type .type-item.is-onsite {
    background: #FFFCD5;
    color: #F29423;
}

.plan-info .plan-info-price .type .type-item.is-both {
    background: #F3FFE8;
    color: #2EA307;
}

.plan-info .plan-info-price .tax {
    margin-top: 6px;
}

.plan-info .plan-info-price .tax .tax-off {
    border: 1px solid rgba(214, 51, 51, 0.4);
    font-size: 12px;
    line-height: 1.5;
    color: #DF0D00;
    padding: 0 3px;
    display: inline-block;
}

.plan-info .plan-info-price .tax .tax-price {
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
    line-height: 1.5;
    text-decoration: line-through;
}

.plan-info .plan-info-price .price {
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
}

.plan-info .plan-info-price .price .price-total {
    font-size: 26px;
    line-height: 1.5;
    font-weight: bold;
    color: #DF0D00;
    display: inline-block;
    margin-left: 4px;
}

.plan-info .plan-info-price .notes {
    font-size: 12px;
    line-height: 1.5;
    color: #268507;
    font-weight: bold;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.plan-info .plan-info-price .notes:before {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/search/icon_check.svg) center center no-repeat;
    background-size: 100% auto;
}

.plan-info .plan-info-leftover {
    margin-bottom: 10px;
}

.plan-info .plan-info-leftover span {
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    padding: 2px 6px;
    background: #CF3700;
    border-radius: 4px;
    display: inline-block;
}

.plan-info .plan-info__options .plan-options-target {
    font-size: 14px;
    line-height: 1.5;
    color: #3064D5;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transform: translateY(calc(100% + 20px));
    transition: all .3s ease;
    background: #fff;
}


.plan-info .plan-info__options .plan-options-target.is-active {
    margin-top: 46px;
    transform: translateY(0);
}

.plan-info .plan-info__options .plan-options-target:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../img/common/icon_links.svg) no-repeat center;
    background-size: 100%;
    transform: rotate(90deg);
}

.plan-info .plan-info__options .plan-options-target.is-active:after {
    transform: rotate(-90deg);
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .plan-info .plan-info__options .plan-options-target:hover {
        opacity: .7;
    }
}


.plan-info .plan-info__options .plan-options-item {
    margin-top: 16px;
}

.plan-info .plan-info__options .plan-options-title {
    font-size: 14px;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 8px;
    display: flex;
    gap: 4px;
    align-items: center;
}

.plan-info .plan-info__options .plan-options-list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4px;
}

.plan-info .plan-info__options .plan-options-list li {
    display: inline-flex;
    border-radius: 4px;
    background: #1098A1;
    padding: 8px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
}

.plan-info .plan-info__options .plan-options-list li.is-disable {
    background: #E9ECF2;
    color: #ACB5BF;
}

.plan-info .plan-info__foot {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 8px;
}

.plan-info .plan-info__foot .plan-info-info {
    display: none;
}

.plan-info .plan-info__foot .plan-info-button {
    display: flex;
    align-items: center;
    gap: 8px;
}

.plan-info .plan-info__foot .btn-price-desc {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 116px;
    height: 44px;
    border-radius: 100px;
    border: 1px solid #C0C5CC;
    font-size: 12px;
    line-height: 1.5;
    background: #fff;
}

.plan-info .plan-info__foot .btn-choice {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 256px;
    height: 44px;
    border-radius: 100px;
    background: #10069F;
    font-size: 16px;
    line-height: 1.3;
    color: #fff;
    font-weight: bold;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .plan-info .plan-info__foot .btn-price-desc:hover {
        background: #F0F7FF;
        color: #140D77;
        border-color: #99C4FD;
    }

    .plan-info .plan-info__foot .btn-choice:hover {
        background-color: #140D77;
    }
}

.plan-modal {
    padding: 0 32px 32px;
}

.plan-modal .plan-modal__head {
    font-size: 26px;
    line-height: 1.3;
    font-weight: bold;
}

.plan-modal .plan-modal__item {
    padding: 16px 0;
    border-bottom: 1px solid #C0C5CC;
    font-size: 14px;
    line-height: 1.5;
}

.plan-modal .plan-modal__item p + p {
    margin-top: 1.5em;
}

.plan-modal .plan-modal__item .info span {
    font-weight: bold;
    display: inline-block;
    margin-right: 8px;
}


.plan-modal .plan-modal__item .notes {
    color: #268507;
    font-weight: bold;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.plan-modal .plan-modal__item .notes:before {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/search/icon_check.svg) center center no-repeat;
    background-size: 100% auto;
}


.price-model {
    padding: 16px 32px 32px;
}

.price-model .price-model__head {
    font-size: 26px;
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
    margin-bottom: 16px;
}

.price-model .price-model-detail dl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.price-model .price-model-detail dl + dl {
    margin-top: 16px;
}

.price-model .price-model-detail dl dt,
.price-model .price-model-detail dl dd {
    width: calc((100% - 8px) / 2);
    font-size: 14px;
    line-height: 1.5;
}

.price-model .price-model-detail dl dd {
    text-align: right;
}

.price-model .price-model-total {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #C0C5CC;
}

.price-model .price-model-total dl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.price-model .price-model-total dl dt,
.price-model .price-model-total dl dd {
    width: calc((100% - 8px) / 2);
}

.price-model .price-model-total dl dt {
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
}

.price-model .price-model-total dl dd {
    text-align: right;
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
}

.price-model .price-model-total dl dd span {
    font-size: 24px;
    color: #DF0D00;
}

@media screen and (min-width: 768px) {
    .search-wrap {
        padding-top: 0 !important;
    }
}

@media screen and (max-width: 1050px) {
    .plan-info .plan-info__options {
        margin-top: 16px;
    }

    .plan-info .plan-info__options .plan-options-target {
        font-size: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        transform: translateY(0);
    }

    .plan-info .plan-info__options .plan-options-target.is-active {
        margin-top: 0;
    }

    .plan-info .plan-info__right {
        display: none;
    }

    .plan-info .plan-info__foot {
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 24px;
        gap: 12px;
    }

    .plan-info .plan-info-price {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .plan-info .plan-info__foot .plan-info-info {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 11px;
        flex-grow: 1;
    }

    .plan-info .plan-info__foot .plan-info-button {
        width: 116px;
        flex-direction: column;
        gap: 8px;
    }

    .plan-info .plan-info__foot .btn-choice {
        width: 100%;
        height: 44px;
    }
}

@media screen and (max-width: 959px) {
    .departure-store {
        display: block;
    }

    .departure-store .departure-store__right {
        margin-top: 10px;
        text-align: right;
    }
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .search-wrap {
        padding: 255px 0 40px;
        position: relative;
    }

    .search-head {
        display: block;
        padding: 24px 0 8px;
    }

    .search-head .search-heading {
        font-size: 18px;
    }


    .search-head .search-found-count {
        margin-top: 7px;
    }

    .search-head .search-order {
        text-align: right;
    }

    .search-head .search-order select {
        background-position: 7px center;
        padding: 7px 7px 7px 27px;
    }


    .search-tab .search-tab-target {
        padding-top: 6px;
        width: calc(100% + 40px);
        margin: 0 -20px 24px;
        height: 48px;
    }

    .search-tab .search-tab-target a {
        height: 42px;
        font-size: 14px;
        letter-spacing: -.02em;
    }

    .search-tab .search-tab-target a.is-active {
        height: 48px;
    }


    .search-tab .search-tab-body {
        display: block;
    }

    .search-tab .search-tab-body .search-tab-contents {
        width: 100%;
    }

    .departure-store {
        display: block;
        padding: 16px;
    }

    .departure-store .departure-store__left {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
    }

    .departure-store .departure-store__title {
        font-size: 10px;
    }

    .departure-store .departure-store__info .store-image {
        width: 56px;
        min-width: 56px;
        height: 42px;
    }

    .departure-store .departure-store__info .store-name {
        font-size: 14px;
    }

    .departure-store .departure-store__left {
        word-break: break-all;
    }

    .departure-store .departure-store__right {
        text-align: right;
    }

    .return-store {
        display: block;
        padding: 16px;
    }

    .return-store .return-store__left {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
    }

    .return-store .return-store__info {
        width: 100%;
    }

    .return-store .return-store__title {
        font-size: 10px;
    }

    .return-store .return-store__info .store-select .js-select-value {
        font-size: 14px;
    }

    .return-store .return-store__info .store-address {
        margin-top: 13px;
    }

    .return-store .return-store__left {
        word-break: break-all;
    }

    .return-store .return-store__right {
        text-align: right;
    }


    .plan-info {
        padding: 16px;
    }

    .plan-info .plan-info__title {
        font-size: 12px;
        line-height: 1.4;
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }

    .plan-info .plan-info__body {
        display: block;

    }

    .plan-info .plan-info__left {
        gap: 8px;
        max-width: 100%;
    }

    .plan-info .plan-info-image {
        width: 180px;
    }

    .plan-info .plan-info-box {
        width: calc(100% - 128px);
    }

    .plan-info .plan-info-list dl {
        gap: 4px;
        font-size: 11px;
    }

    .plan-info .plan-info-list dl dt {
        width: auto;
    }

    .plan-info .plan-info-cate {
        margin-top: 10px;
    }

    .plan-info .plan-info-cate span {
        font-size: 10px;
    }

    .plan-info .plan-info-price {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .plan-info .plan-info-price .type .type-item {
        padding: 0 8px;
    }

    .plan-info .plan-info-price .price {
        font-size: 12px;
    }

    .plan-info .plan-info-price .price .price-total {
        font-size: 20px;
        margin-left: 6px;
    }

    .plan-info .plan-info-leftover {
        margin-bottom: 0;
    }

    .plan-info .plan-info-leftover span {
        font-size: 12px;
    }
    

    .plan-info .plan-info__options .plan-options-title {
        font-size: 12px;
    }

    .plan-info .plan-info__options .plan-options-list li {
        padding: 4px;
        font-size: 10px;
    }

    .plan-info .plan-info__foot {
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 24px;
        gap: 12px;
    }

    .plan-info .plan-info__foot .btn-price-desc {
        width: 100%;
        height: 34px;
    }

    .plan-modal {
        padding: 16px 16px 32px;
    }

    .plan-modal .plan-modal__head {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .plan-modal .plan-modal__item:first-child {
        border-top: 1px solid #C0C5CC;
    }

    .price-model {
        padding: 32px 16px;
    }

    .price-model .price-model__head {
        font-size: 18px;
    }

    .price-model .price-model-total dl dt {
        font-size: 18px;
    }
}



.shop-item {
    border-top: 1px solid #E9ECF2;
    position: relative;
}

.shop-item:before {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    left: 0;
    top: 0;
    position: absolute;
    content: '';
    background: url(../img/search/loading_item.gif) center center no-repeat;
    background-size: 100% 100%;
    transition: all .2s ease;
}

.is-loading .shop-item:before {
    opacity: 0;
    visibility: hidden;
}

.shop-item + .shop-item {
    margin-top: 40px;
}

.shop-item .departure-store {
    padding: 40px 0 32px;
}

.shop-item .shop-button {
    margin-top: 24px;
    text-align: center;
}

.shop-item .shop-button .icon-links {
    padding: 0;
    width: 100%;
    max-width: 256px;
    height: 44px;
}

.shop-item .shop-button .icon-links:after {
    display: none;
}

.shop-map {
    margin-bottom: 40px;
    width: 100%;
    height: 400px;
}

.shop-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .shop-item {
        border-top: 0;
        padding-bottom: 32px;
        position: relative;
    }

    .search-tab-box .shop-item:first-child {
        margin-top: -24px;
    }

    .shop-item + .shop-item {
        margin-top: 0;
        padding-top: 8px;
    }

    .shop-item + .shop-item:before {
        width: calc(100% + 40px);
        height: 8px;
        position: absolute;
        left: -20px;
        top: 0;
        z-index: 2;
        content: '';
        background: #E9ECF2;
    }

    .shop-item .departure-store {
        padding: 32px 0;
    }

    .shop-map {
        width: calc(100% + 40px);
        margin: 0 -20px;
    }
}

.search-tab .search-tab-body .search-tab-button {
    display: none;
}

.search-tab .search-tab-body .search-tab-form {
    position: sticky;
    width: 336px;
    top: 24px;
    z-index: 2;
}

.search-form .search-form__item {
    box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
}

.search-form .search-form__item + .search-form__item {
    margin-top: 8px;
}

.search-form .search-form-title {
    cursor: pointer;
    display: flex;
    width: 100%;
    padding: 13px 16px 14px;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    transition: opacity .5s ease;
}

.search-form .search-form-title .title {
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
    word-break: keep-all;
}

.search-form .search-form-title .value {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    align-items: center;
    font-size: 14px;
    line-height: 1.5;
    color: #697180;
}

.search-form .search-form-title .value:after {
    width: 16px;
    height: 16px;
    content: '';
    background: url(../img/common/icon_links.svg) center center no-repeat;
    background-size: 100% auto;
    min-width: 16px;
}

.search-form .search-form-title.js-toggle-target .value:after {
    background-image: url(../img/common/icon_arrow_down.svg);
}

.search-form .search-form-title.js-toggle-target.is-active .value:after {
    transform: rotate(180deg);
}

.search-form .search-form__button {
    margin-top: 32px;
    text-align: center;
}

.search-form .search-form__button button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 256px;
    height: 44px;
    border-radius: 22px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    background: url(../img/common/icon_search_white02.svg) left 16px center no-repeat #10069F;
    background-size: 16px auto;
    transition: all 0.5s;
    border: 1px solid #10069F;
}


.search-form .search-form-box {
    border-top: 1px solid #E9ECF2;
    padding: 24px 16px;
}

.search-form .search-form-box .mv-search-date {
    flex-wrap: wrap;
    gap: 8px;
    position: relative;
}

.search-form .mv-search-date__day, 
.search-form .mv-search-date__time {
    width: 100%;
}

.search-form .mv-search-date__day label input {
    font-size: 13px;
}

.search-form .mv-search-address {
    margin-top: 8px;
    flex-wrap: wrap;
}

.bustrip-conditions-select {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 24px;
}

.bustrip-conditions-select select {
    width: 156px;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    background-size: 16px auto;
    border: 1px solid #939DAD;
    border-radius: 8px;
    height: 50px;
    padding: 0 28px 0 16px;
    font-size: 14px;
    line-height: 2;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .search-form .search-form-title:hover {
        opacity: .7;
    }
    .search-form .search-form__button button:hover {
        background-color: #140D77;
    }
}

.bustrip-modal .bustrip-carrental {
    padding: 0 32px 76px;
}

.bustrip-modal .bustrip-carrental .checkbox-list {
    gap: 0;
    padding: 32px 0 70px;
}

.bustrip-modal .bustrip-carrental .checkbox-list .checkbox-list__item {
    width: calc(100% / 3);
}

.search-tab-modal .bustrip-modal__overlay {
    display: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

    .search-tab .search-tab-body .search-tab-form {
        position: static;
    }

    .search-form-wrap {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        z-index: 2;
    }

    .search-form {
        width: 100%;
        padding: 16px 20px;
        background: #F5F7FA;
        box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.3);
        max-height: calc(100dvh - 42px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .is-scrolling .search-form-wrap {
        position: fixed;
        top: unset;
        bottom: 0;
        z-index: 12;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .is-open .search-form-wrap {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity .3s ease, visibility .3s ease;
    }

    .search-form-wrap .search-form-close {
        position: absolute;
        width: 24px;
        height: 24px;
        z-index: 2;
        right: 28px;
        top: -9px;
        transform: translateY(-100%);
        z-index: 2;
        background: url(../img/search/close.svg) center center no-repeat;
        background-size: 100% auto;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s ease, visibility .3s ease;
    }

    .is-open .search-form-wrap .search-form-close {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .search-form .search-form__button {
        margin-top: 20px;
    }

    .search-tab-modal .bustrip-modal__overlay {
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 11;
        background: rgba(0, 0, 0, .5);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s ease, visibility .3s ease;
        text-indent: -9999px;
        display: block;
    }

    .is-open .bustrip-modal__overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .search-tab .search-tab-body .search-tab-button {
        display: block;
        position: fixed;
        left: 0;
        bottom: 16px;
        z-index: 10;
        text-align: center;
        width: 100%;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s ease, visibility .3s ease;
    }

    .is-scrolling .search-tab .search-tab-body .search-tab-button {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .search-tab .search-tab-body .search-tab-button button {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: calc(100% - 40px);
        height: 44px;
        border-radius: 22px;
        color: #fff;
        font-size: 16px;
        line-height: 1.5;
        font-weight: 700;
        background: url(../img/search/round_trip.svg) left 16px center no-repeat #10069F;
        background-size: 16px auto;
        transition: all 0.5s;
        border: 1px solid #10069F;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.45);
    }

    .bustrip-modal .bustrip-carrental {
        padding: 0 20px;
        height: calc(100dvh - 46px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .bustrip-modal .bustrip-carrental .checkbox-list {
        padding: 24px 0 100px;
    }

    .bustrip-modal .bustrip-carrental .checkbox-list .checkbox-list__item {
        width: 100%;
    }
}

.is-loading .load-area {
    display: none;
}

.load-area {
    text-align: center;
    position: fixed;
    width: 100%;
    height: 100dvh;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.load-area:before {
    content: '';
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
}

.load-box {
    background: #fff;
    border-radius: 8px;
    width: 300px;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.load-dot {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
    margin-top: 24px;
}

.load-dot li {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #3064D5;
    margin: 0 6px;
    transform: scale(.33);
    animation: jump 1.3s linear infinite;
}

.load-dot li.big_li {
    /*transform: scale(1);*/
}

.load-dot li:nth-child(3) {
  animation-delay: .6s;
}

.load-dot li:nth-child(2) {
  animation-delay: .3s;
}

@keyframes jump {
  50% {
    transform: scale(1);
  }
}

.load-text {
    color: #697180;
    font-size: 14px;
    margin-top: 8px;
}

.load-icon {
    animation: jump02 1.3s ease-in-out infinite;
}

@keyframes jump02 {
  50% {
    transform: translate(0, -10px);
  }
  100% {
    transform: translate(0, 0);
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .load-box {
        border-radius: 6px;
        width: 225px;
        height: 188px;
    }

    .load-dot {
        margin-top: 18px;
    }

    .load-dot li {
        width: 9px;
        height: 9px;
        margin: 0 5px;
    }

    .load-text {
        font-size: 10.4px;
        margin-top: 7px;
    }

    .load-icon {
        width: 75px;
    }
}

.search-load p+p {
    margin-top: 19px;
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .search-list__item .more:hover:after,
    .plan-detail__title .more:hover:after,
    .search-list__item .more:hover:after,
    .plan-info .plan-info-list a:hover,
    .plan-info .plan-info__title a:hover {
        text-decoration: none;
    }

    .cehicle-class .tit a:hover,
    .cehicle-class .tit a:hover {
        border: 0;
    }

    .cancel-policy .head:hover {
        opacity: .7;
    }
}

.plan-policy {
    font-size: 12px;
    line-height: 1.5;
    color: #697180;
    margin-bottom: 16px;
}

label.is-default input[type=text],
label.is-default input[type=password],
label.is-default input[type=email],
label.is-default input[type=tel],
label.is-default input[type=number],
label.is-default select,
label.is-default textarea {
    background-color: #FDFFE5 !important;
}

label.is-focus input[type=text],
label.is-focus input[type=password],
label.is-focus input[type=email],
label.is-focus input[type=tel],
label.is-focus input[type=number],
label.is-focus select,
label.is-focus textarea {
    border: 2px solid #99C4FD !important;
    background-color: #F0F7FF !important;
}

label.is-error input[type=text],
label.is-error input[type=password],
label.is-error input[type=email],
label.is-error input[type=tel],
label.is-error input[type=number],
label.is-error select,
label.is-error textarea {
    border: 2px solid rgba(214, 51, 51, 0.4) !important;
    background-color: #FFF7F7 !important;
}

.mv-search-date__day label,
.mv-search-date__time label,
.mv-search-address label {
    box-sizing: border-box;
}

.mv-search-date__day label.is-focus,
.mv-search-date__time label.is-focus,
.mv-search-address label.is-focus {
    border-color: #99C4FD;
    background-color: #F0F7FF;
}

.mv-search-date__day label.is-error,
.mv-search-date__time label.is-error,
.mv-search-address label.is-error {
    border-color: rgba(214, 51, 51, 0.4);
    background-color: #FFF7F7;
}

/* MVはlabel側で枠線表現するので、子要素(input/select)の枠線/背景は消す */
.mv-search-date__day label.is-focus input,
.mv-search-date__day label.is-error input,
.mv-search-date__time label.is-focus select,
.mv-search-date__time label.is-error select,
.mv-search-address label.is-focus input,
.mv-search-address label.is-error input {
    border: 0 !important;
    background-color: transparent !important;
}

label.is-disabled input[type=text],
label.is-disabled input[type=password],
label.is-disabled input[type=email],
label.is-disabled input[type=tel],
label.is-disabled input[type=number],
label.is-disabled select,
label.is-disabled textarea {
    border-color: #C0C5CC !important;
    background-color: #F5F7FA !important;
    color: rgba(192, 197, 204, .8) !important;

}


.error-message {
    font-size: 12px;
    line-height: 1.5;
    color: #DF0D00;
    padding-left: 20px;
    background: url(../img/search/warning.svg) left center no-repeat;
    background-size: 16px auto;
    display: none;
    margin-top: 4px;
}

label.is-error + .error-message {
    display: block;
}


.plan-sections {
    padding: 40px 0;
}

.plan-sections + .plan-sections:not(.last) {
    border-top: 4px solid #E9ECF2;
}

.plan-sections.last {
    padding-top: 24px;
}

.plan-sections .inner {
    max-width: 704px;
}

.plan-section__part + .plan-section__part {
    margin-top: 64px;
}

.plan-section__part .cancel-policy {
    overflow: hidden;
    border-radius: 8px;
    margin-bottom: 0;
}

.plan-section__part .cancel-policy .head {
    margin-bottom: 0;
    border-radius: 0;
}

.plan-section__part .cancel-policy .body {
    padding: 24px;
    border: 2px solid #E9ECF2;
    border-radius: 0 0 8px 8px;
}

.plan-section__part .txt-note {
    padding: 32px 0;
}

.carunits-title .unit {
    display: none;
}

.plan-section__part .reservation-section__end {
    margin-top: 48px;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .plan-sections.last {
        padding-top: 0;
    }

    .plan-section__part + .plan-section__part {
        margin-top: 46px;
    }

    .plan-section__part .txt-note {
        padding: 24px 0;
    }
}

.help-links {
    position: relative;
}

.help-links .help-links__popup {
    width: 324px;
    padding: 4px 8px 6px;
    background: #C0DBFF;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: normal;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 100%;
    transform: translate(-50%, -10px);
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
}

.help-links .help-links__popup:after {
    width: 10px;
    height: 8px;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    z-index: 2;
    content: '';
    background: #C0DBFF;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.help-links:hover .help-links__popup {
    opacity: 1;
    visibility: visible;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .help-links .help-links__popup {
        width: 224px;
    }
}

.bustrip-modal.is-popup .reservation-modal-body {
    padding-top: 0;
}

.bustrip-modal .bustrip-modal-title.store-head {
    justify-content: space-between;
}

.store-head .store-head__store {
    display: flex;
    align-items: center;
    gap: 8px;
}

.store-head .store-head__store img {
    min-width: 56px;
    width: 56px;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .bustrip-modal .bustrip-modal-title.store-head {
        height: auto;
        min-height: 46px;
    }

    .store-head .store-head__store {
        padding: 8px 46px 8px 16px;
        line-height: 1.4;
    }

    .bustrip-modal.is-popup .reservation-modal-body {
        padding-top: 16px;
    }
}


.is-popup.bustrip-modal  .bustrip-modal-body {
    max-height: calc(100dvh - 130px);
}

#modal-address.bustrip-modal  .bustrip-modal-body {
    max-height: calc(100dvh - 138px);
}

#modal-plan.bustrip-modal .bustrip-modal-body {
    max-height: calc(100dvh - 164px);
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .is-popup.bustrip-modal  .bustrip-modal-body,
    #modal-address.bustrip-modal  .bustrip-modal-body {
        max-height: calc(100dvh - 94px);
    }

    .is-popup.bustrip-modal .bustrip-modal-title {
        color: #2C2A29;
    }

    #modal-plan.bustrip-modal .bustrip-modal-title,
    [id^="modal-plan-"].bustrip-modal .bustrip-modal-title,
    #modal-reservation-plan.bustrip-modal .bustrip-modal-title {
        padding: 16px 46px 16px 16px;
        height: auto;
        box-shadow: none;
    }
}

.cancel-bank__info .search-code .search-input .error-message {
    word-break: keep-all;
    white-space: nowrap;
}

.applied-message {
    font-size: 12px;
    line-height: 1.5;
    color: #147252;
    padding-left: 20px;
    background: url(../img/common/icon_check_green.svg) left center no-repeat;
    background-size: 16px auto;
    display: none;
    margin-top: 4px;
    word-break: keep-all;
    white-space: nowrap;
}

label.is-disabled + .error-message + .applied-message {
    display: block;
}

.completed .heading-large {
    margin-bottom: 8px;
}

.completed .cancel-before {
    margin-top: 24px;
}

.part .part-target {
    display: none;
}

@media screen and (min-width: 768px) {
    .part .part-box {
        display: block !important;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .part .part-target {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        display: block;
    }

    .part .part-target:after {
        content: "";
        position: absolute;
        right: 18px;
        top: 0;
        transform: rotate(90deg);
        transition-duration: 0.3s;
        width: 16px;
        height: 100%;
        background: url(../img/top/arrow_bottom.svg) no-repeat center;
        background-size: 100%;
    }

    .part .part-target.is-active:after {
        transform: rotate(-90deg);
    }
}
.js-select {
    position: relative;
}

label.js-select select {
    color: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.js-select .js-select-value {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 8px 24px 8px 8px;
    position: relative;
    z-index: 2;
    pointer-events: none;
}


.submit-btns .btn:disabled {
  background: #E9ECF2;
  border-color: #C0C5CC;
  opacity: .7;
  color: #939DAD;
  pointer-events: none;
}

/* Plan count loading */
.mv-search__plan.is-loading #plan-count {
    display: none;
}
.mv-search__planLoading {
    display: none;
    margin: 0 2px;
    vertical-align: middle;
}

.mv-search__planLoading .mv-search__spinner circle{
  stroke: #3064D5; 
}

.mv-search__plan.is-loading .mv-search__planLoading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.mv-search__spinner {
    display: block;
    animation: mvSearchSpin 0.8s linear infinite;
}
@keyframes mvSearchSpin {
    to { transform: rotate(360deg); }
}

/* ---------------------------------------
   mv-search-tab-target PC/SP分離（上書き用）
--------------------------------------- */
.mv-search-tab-target.is-pc {
  display: flex;
}
.mv-search-tab-target.is-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .mv-search-tab-target.is-pc {
    display: none;
  }
  .mv-search-tab-target.is-sp {
    display: flex;
  }
}












/* =========================================================
   ログイン（予約確認）モーダル：ボタン文言（画像準拠）
   - 1行目：予約日 + 年月日 + 以降/以前
   - 2行目：（UT/Cから始まる予約番号）
   - Primaryのみ太字 / Secondaryは太字にしない
   ========================================================= */
#modal_login .login-modal__text{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  /* gap:6px; */
  width:100%;
  text-align:center;
}

#modal_login .login-modal__btnLine{
  display:block;
  line-height:1.4;
}

#modal_login .login-modal__btnLine--date{
  font-size:16px;
}

#modal_login .login-modal__btnLine--note{
  font-size:14px;
  font-weight: 700;
}

#modal_login .login-modal__labelInline{
  font-weight:700;
}

#modal_login .login-modal__dateNum{
  font-size:20px;
  font-weight:700;
}

#modal_login .login-modal__dateUnit{
  /* font-size:16px; */
  font-weight:700;
}

#modal_login .login-modal__suffix{
  font-weight:700;
}

/* Secondary（旧サイト）は太字にしない */
#modal_login .login-modal__btn.is-old .login-modal__btnLine,
#modal_login .login-modal__btn.is-old .login-modal__labelInline,
#modal_login .login-modal__btn.is-old .login-modal__dateNum,
#modal_login .login-modal__btn.is-old .login-modal__dateUnit,
#modal_login .login-modal__btn.is-old .login-modal__suffix{
  font-weight:400;
}

/* PC：タイトルは太字を解除 */
@media screen and (min-width:960px){
  #modal_login.bustrip-modal .bustrip-modal-title{
    font-weight:400;
  }
}

/* SP：サイズ微調整 */
@media screen and (max-width:767px){
  #modal_login .login-modal__btnLine--date{ font-size:14px; }
  #modal_login .login-modal__btnLine--note{ font-size:14px; font-weight: 700;}
  #modal_login .login-modal__dateNum{ font-size:18px; }
  #modal_login .login-modal__dateUnit{ font-size:14px; }
}

/* ==========================================================
   terms.html 追加スタイル
   ----------------------------------------------------------
   ※利用規約ページ専用。既存CSSの上に追記しています。
   ========================================================== */

.his-rentacar .terms-content{
  max-width: 960px;
  margin: 0 auto;
  margin-bottom: 40px;
}

.his-rentacar .terms-content .heading-large{
  margin-bottom: 24px;
}

.his-rentacar .terms-content h3{
  margin-top: 28px;
}

.his-rentacar .terms-content ol{
  list-style: decimal;
  list-style-position: outside;
  margin-top: 18px;
  padding-left: 1.2em;
}

.his-rentacar .terms-content ol > li{
  margin: 0 0 15px;
  line-height: 1.7;
}

.his-rentacar .terms-content p{
  margin-top: 30px;
}

.his-rentacar .terms-content a{
  word-break: break-word;
  overflow-wrap: anywhere;
}

.his-rentacar .terms-content .terms-subitems{
  margin-top: 10px;
  padding-left: 0;
  list-style: none;
}

.his-rentacar .terms-content .terms-subitems > li{
  margin: 0 0 6px;
  padding-left: 1.6em;
  text-indent: -1.6em;
}

.his-rentacar .terms-content > ol > li{
  list-style: decimal !important;
  display: list-item !important;
}

.his-rentacar .terms-content .terms-article p{
  margin-top: 0;
  line-height: 1.7;
}

.his-rentacar .terms-content .terms-article{
  margin-top: 18px;
}

.his-rentacar .terms-content .terms-item{
  margin: 0 0 15px;
}

.his-rentacar .terms-content .terms-item-no{
  font-weight: 700;
  margin-right: .4em;
}

.his-rentacar .terms-content .terms-subitem{
  margin: 0 0 6px;
  padding-left: 1.6em;
  text-indent: -1.6em;
}

.his-rentacar .terms-content .terms-subitem-no,
.his-rentacar .terms-content .terms-num{
  font-weight: 400;
}

@media screen and (max-width: 767px){
  .his-rentacar .terms-content .heading-large{
    margin-bottom: 18px;
  }
  .his-rentacar .terms-content h3{
    margin-top: 22px;
  }
  .his-rentacar .terms-content ol > li{
    margin-bottom: 15px;
  }
}

/* plan_search modal: Hokkaido only */
#modal_departure_plan_search .modal-area-side__list > li.is-disabled > a,
#modal_departure_plan_search .modal-area-side__list > li.is-disabled .sub-menu a {
  color: #b8c0cc;
  pointer-events: none;
  cursor: default;
}

#modal_departure_plan_search .modal-area-side__list > li.is-disabled > a {
  background: #eef2f7;
}

#modal_departure_plan_search .modal-area-side__list > li.is-disabled > a:after {
  opacity: 0.35;
}

#modal_departure_plan_search .modal-area-side__list > li.is-disabled .sub-menu {
  display: none !important;
}


/* 店舗を探す専用: 上部MVの出発場所フォーム見た目を切り分け */
.search-carstore .store-search-address {
    width: 100%;
    max-width: 600px;
    margin: 24px auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-carstore .store-search-address__label {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #939DAD;
    border-radius: 8px;
    height: 50px;
    padding-left: 32px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: url(../img/common/icon_location.svg) 8px center no-repeat #fff;
    background-size: 16px auto;
    cursor: pointer;
}

.search-carstore .store-search-address__label::before {
    content: '出発場所';
    font-size: 12px;
    line-height: 1.3;
}

.search-carstore .store-search-address__label input {
    width: 100%;
    height: 18px;
    border: 0;
    font-size: 14px;
    line-height: 1.3;
    outline: none;
    cursor: pointer;
    background: transparent;
}

.search-carstore .store-search-address__label.is-disabled {
    background-color: #E9ECF2;
    border-color: #C0C5CC;
    opacity: .7;
    pointer-events: none;
}

.search-carstore .store-search-address__label.is-disabled input {
    pointer-events: none;
    background: #E9ECF2;
}

.search-carstore .store-search-address__label.is-focus {
    border-color: #99C4FD;
    background-color: #F0F7FF;
}

.search-carstore .store-search-address__label.is-error {
    border-color: rgba(214, 51, 51, 0.4);
    background-color: #FFF7F7;
}

.search-carstore .store-search-address__label.is-focus input,
.search-carstore .store-search-address__label.is-error input {
    border: 0 !important;
    background-color: transparent !important;
}

@media screen and (max-width: 767px) {
    .search-carstore .store-search-address {
        margin-top: 8px;
        flex-wrap: wrap;
    }

    .search-carstore .store-search-address__label {
        gap: 4px;
    }

    .search-carstore .store-search-address__label::before {
        font-size: 12px;
        line-height: 1.16;
    }
}
.mv-search__rateLimitMsg {
    font-size: 2rem;
    font-weight: bold;
    margin: 0.5rem;
}

.option-info-table th .option-name {
  display: inline;
}

.option-info-table th .option-unit-price {
  display: inline;
  margin-left: 0.2em;
  font-weight: 400;
  white-space: nowrap;
}

@media screen and (max-width: 959px) {
  .option-info-table th .option-name {
    display: block;
  }

  .option-info-table th .option-unit-price {
    display: block;
    margin-top: 4px;
    margin-left: 0;
    line-height: 1.4;
  }
}

/* SP：検索モジュール商材タブのホバー/タップ時の見た目をPCに合わせる */
@media screen and (max-width: 767px) {
    .mv-search-tab-target a:not(.is-active):hover,
    .mv-search-tab-target a:not(.is-active):focus-visible,
    .mv-search-tab-target a:not(.is-active):active {
        opacity: 1;
        background: #F2F7FE;
        color: #140d77;
        text-decoration: none;
    }

    .mv-search-tab-target a:not(.is-active):hover img,
    .mv-search-tab-target a:not(.is-active):focus-visible img,
    .mv-search-tab-target a:not(.is-active):active img {
        filter:
            brightness(0)
            saturate(100%)
            invert(11%)
            sepia(93%)
            saturate(3544%)
            hue-rotate(232deg)
            brightness(86%)
            contrast(103%);
    }

    .mv-search-tab-target a {
        transition: background-color .1s ease, color .1s ease;
    }

    .mv-search-tab-target a img {
        transition: filter .1s ease;
    }
}

.coupon-loading {
    display: none;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
}

.coupon-loading.is-active {
    display: flex;
}

.coupon-loading__spinner {
    width: 28px;
    height: 28px;
    border: 3px solid #D9E5F3;
    border-top-color: #140D77;
    border-radius: 50%;
    animation: couponSpinnerRotate .8s linear infinite;
}

@keyframes couponSpinnerRotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.cancel-bank__info .search-code .search-btn .js-coupon-button.is-hidden,
.cancel-bank__info .search-code .search-btn .search-btn__delete.is-hidden {
    display: none;
}

.coupon-timeout-message {
    font-size: 12px;
    line-height: 1.5;
    color: #DF0D00;
    padding-left: 20px;
    background: url(../img/search/warning.svg) left center no-repeat;
    background-size: 16px auto;
    display: none;
    margin-top: 8px;
}

.coupon-timeout-message.is-active {
    display: block;
}

@media screen and (max-width: 767px) {
    .coupon-loading {
        width: 44px;
        height: 44px;
    }

    .coupon-loading__spinner {
        width: 24px;
        height: 24px;
    }

    .coupon-timeout-message {
        margin-top: 6px;
    }
}

.departure-store {
    align-items: center;
}

.departure-store .departure-store__left {
    min-width: 0;
    display: flex;
    align-items: center;
    flex: 1;
}

.departure-store .departure-store__info {
    min-width: 0;
    flex: 1;
}

.departure-store .departure-store__info .store-image {
    flex-shrink: 0;
}

.departure-store .departure-store__info .store-name {
    display: block;
    flex: 1;
    min-width: 0;
}

.departure-store .departure-store__right {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    align-self: center;
}

.departure-store .departure-store__info .store-address {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: default;
}

.departure-store .departure-store__info .store-address.is-clickable {
    cursor: pointer;
}

.departure-store .departure-store__info .store-address.is-clickable:not(.is-expanded) {
    text-decoration: underline;
}

.departure-store .departure-store__info .store-address.is-expanded {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

@media screen and (min-width: 960px) {
    .departure-store .departure-store__info .store-address.is-clickable:hover {
        text-decoration: none;
    }
}

@media screen and (max-width: 767px) {
    .departure-store .departure-store__info {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        width: 100%;
    }

    .departure-store .departure-store__info .store-name {
        display: block;
        min-width: 0;
    }

    .departure-store .departure-store__info .store-name-wrap,
    .departure-store .departure-store__info .store-text,
    .departure-store .departure-store__info .store-detail {
        flex: 1;
        min-width: 0;
    }

    .departure-store .departure-store__info .store-address {
        display: block;
        width: 100%;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .departure-store .departure-store__info .store-address.is-expanded {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
}

.return-store .return-store__left {
    min-width: 0;
}

.return-store .return-store__info {
    min-width: 0;
}

.return-store .return-store__info .store-address {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: default;
}

.return-store .return-store__info .store-address.is-clickable {
    cursor: pointer;
}

.return-store .return-store__info .store-address.is-clickable:not(.is-expanded) {
    text-decoration: underline;
}

.return-store .return-store__info .store-address.is-expanded {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

@media screen and (min-width: 960px) {
    .return-store .return-store__info .store-address.is-clickable:hover {
        text-decoration: none;
    }
}

@media screen and (max-width: 767px) {
    .return-store .return-store__info .store-address {
        display: block;
        width: 100%;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .return-store .return-store__info .store-address.is-expanded {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
}


/* 銀行名・支店名：検索できるプルダウン */
.cancel-bank__info .js-searchable-select {
    position: relative;
    display: block;
}

.cancel-bank__info .js-searchable-select .searchable-select__native {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.cancel-bank__info .js-searchable-select .searchable-select__input {
    padding: 0 40px 0 8px;
    height: 50px;
    width: 100%;
    background: url(../img/common/icon_arrow_down.svg) right 8px center no-repeat #fff;
    border-radius: 8px;
    border: 1px solid #939DAD;
    font-size: 14px;
}

.cancel-bank__info .js-searchable-select.is-search-open .searchable-select__input {
    border-radius: 8px 8px 0 0;
}

.cancel-bank__info .js-searchable-select .searchable-select__list {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% - 1px);
    z-index: 20;
    width: 100%;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #99C4FD;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}

.cancel-bank__info .js-searchable-select.is-search-open .searchable-select__list {
    display: block;
}

.cancel-bank__info .js-searchable-select .searchable-select__list li {
    padding: 12px 8px;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.cancel-bank__info .js-searchable-select .searchable-select__list li + li {
    border-top: 1px solid #E9ECF2;
}

.cancel-bank__info .js-searchable-select .searchable-select__list li.is-empty,
.cancel-bank__info .js-searchable-select .searchable-select__list li.is-note {
    color: #697180;
    cursor: default;
}

@media screen and (min-width: 960px) {
    .cancel-bank__info .js-searchable-select .searchable-select__list li[data-value]:hover {
        background: #F0F7FF;
        color: #140D77;
    }
}

@media screen and (min-width: 768px) {
    .footer-body {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }
}