html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: none;
    font-style: normal;
    text-align: left;
    zoom: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

table {
    border-collapse: collapse;
    font-family: inherit
}

h1,
h2,
h3,
h4,
h5 {
    font-size: 100%;
    font-weight: normal;
    line-height: 1
}

input,
textarea,
select {
    font-family: inherit;
    font-size: 16px
}

input[type=button],
input[type=text],
input[type=submit] {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0
}

textarea {
    resize: none;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0
}

th,
td {
    border-collapse: collapse
}

table th,
table td {
    white-space: nowrap
}

ul,
ol {
    list-style-type: none
}

img {
    vertical-align: text-bottom;
    vertical-align: -webkit-baseline-middle;
    max-width: 100%;
    height: auto;
    width: auto
}

a {
    text-decoration: none;
    display: block
}

html {
    scroll-behavior: smooth
}

body {
    scroll-behavior: smooth;
    width: 100%;
    box-sizing: border-box;
    padding-top: unset;
    overflow-x: hidden;
    font-family: "noto-sans-cjk-jp", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "YuGothic", "Meiryo", sans-serif;
}

body.no_scroll {
    overflow: hidden
}

* {
    box-sizing: border-box
}

body,
p {
    font-size: 1.1rem
}

img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.pc_block {
    display: none !important
}

@media only screen and (min-width: 449px) {
    body {
        padding-top: 0px
    }

    .sp_block {
        display: none !important
    }

    .pc_block {
        display: block !important
    }
}

.l-header__container {
    position: relative;
    max-width: 450px;
    padding-bottom: 59.5px;
    height: 100%;
    min-height: 100vh;
    margin: 0 auto;
    background: #fff
}

.l-header__top {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 50px
}

.l-header__top-button {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    color: #fff;
    background: #000;
    border-radius: 50px;
    padding: 2px 25px;
    width: fit-content;
    border: 1px solid #fff
}

.l-footer__container {
    position: fixed;
    max-width: 1000% !important;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    height: fit-content;
    z-index: 100;
    background-color: #e9e8ff !important
}

.l-footer__container.color-airroot {
    background: #e8f7ff !important
}

.l-footer__links {
    padding: 10px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7.5px;
    max-width: 800px !important;
    margin: 0 auto
}

.l-footer__link {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    height: 52px;
    border-radius: 4px;
    padding: 0 2%;
    gap: 5%
}

.l-footer__link.color-black {
    background: #000
}

.l-footer__link.color-red {
    background: #68270b
}

.l-footer__link.color-blue {
    background: #00283d
}

.l-footer__link.color-skyblue {
    background: #0095ff
}

.l-footer__link img {
    width: 75%;
    max-height: 18px
}

@media only screen and (min-width: 449px) {
    .l-footer__link {
        gap: 0
    }
}

.l-footer__link-icon {
    display: block;
    width: 20%;
    height: 25px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center
}

.l-footer__link:first-child .l-footer__link-icon {
    background-image: url(../img/button-icon/button-icon_q.svg)
}

.l-footer__link:nth-child(2) .l-footer__link-icon {
    background-image: url(../img/button-icon/button-icon_t.svg)
}

.l-footer__link:nth-child(3) .l-footer__link-icon {
    background-image: url(../img/button-icon/button-icon_i.svg)
}

.l-main {
    background-color: #f4f4f4
}

.l-main__section {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    background-color: #fff
}

.l-main__wrap {
    position: relative;
    width: 100%;
    padding: 0 2%
}

.l-main__top {
    width: 96%;
    max-width: 800px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2
}

.l-main__logo {
    position: absolute;
    top: 0;
    left: 10px
}

.l-main__title {
    text-align: center
}

.l-main__title span {
    position: relative;
    display: block;
    height: clamp(2.1390625rem, 1.271875rem + 1.15625vw, 8.09375rem);
    width: 100%;
    margin-bottom: 7.5px
}

.l-main__title span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 100%;
    width: auto;
    aspect-ratio: 1/1;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center
}

.l-main__title span.map:before {
    background-image: url(../img/sec-icon/sec-icon_map.svg)
}

.l-main__title span.time:before {
    background-image: url(../img/sec-icon/sec-icon_time.svg)
}

.l-main__title span.window:before {
    background-image: url(../img/sec-icon/sec-icon_window.svg)
}

.l-404__fv {
    padding: 0 2%;
    position: relative
}

.l-404__section {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh
}

.c-button__normal {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
}

.c-button__normal-item {
    position: relative;
    width: 100%;
    background-color: #0095ff;
    border-radius: 5px
}

.c-button__normal-item:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow.png);
    background-size: 7px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    top: 0;
    right: 0;
    width: 15px;
    height: 100%;
    background-color: #476cad;
    z-index: 1;
    border-radius: 0 5px 5px 0
}

.c-button__normal-link {
    display: block;
    width: 100%;
    padding: 15px 20px 15px 10px;
    line-height: 1;
    color: #fff;
    font-size: clamp(1.2140625rem, 0.721875rem + 0.65625vw, 4.59375rem);
    font-weight: 400;

}

.c-button__use {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
}

.c-button__use-item {
    position: relative;
    width: 65%;
    min-width: 250px;
    margin: 0 auto;
    background: linear-gradient(180deg, #C70000 0%, #720101 100%);
    border-radius: 5px;
    border: 2px solid #fff
}

.c-button__use-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: clamp(2.6015625rem, 1.546875rem + 1.40625vw, 9.84375rem);
    padding: 0 5px;
    gap: 5px;
    line-height: 1.25;
    color: #fff;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    font-weight: 400;
    font-family: "noto-sans-cjk-jp", serif
}

.c-button__use-icon {
    display: block;
    width: 15px;
    height: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    transform: rotate(90deg);
    background-image: url(../img/icon/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

@media only screen and (min-width: 449px) {
    .c-button__use-item {
        min-width: 200px;
        margin: 0 15% 10px auto;
        width: 70%
    }
}

.c-button__airroot {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
}

.c-button__airroot-item {
    position: relative;
    width: 100%;
    background-color: #0095ff;
    border-radius: 5px
}

.c-button__airroot-item:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow.png);
    background-size: 7px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    top: 0;
    right: 0;
    width: 15px;
    height: 100%;
    background-color: #476cad;
    z-index: 1;
    border-radius: 0 5px 5px 0
}

.c-button__airroot-link {
    display: block;
    width: 100%;
    padding: 15px 20px 15px 10px;
    line-height: 1;
    color: #fff;
    font-size: clamp(1.2140625rem, 0.721875rem + 0.65625vw, 4.59375rem);
    font-weight: 400;

}

.c-button__map {
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);

    line-height: 30px;
    font-weight: 400;
    background: #00283d;
    color: #fff;
    padding-left: 10px;
    padding-right: 20px;
    border-radius: 15px;
    width: fit-content;
    position: relative;
}

.c-button__map-icon {
    display: inline-block;
    position: absolute;
    right: 5px;
    width: 10px;
    height: 12px;
    background-image: url(../img/icon/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.c-button__top {
    width: 100%;
    padding: 10px 0
}

.c-button__top-button {
    width: fit-content;
    margin-left: auto
}

.c-button__tel {
    width: 100%;
    border-radius: 4px;
    line-height: 1.2;
    font-weight: 500;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    background: #00283d;
    color: #fff;
    padding: 15px 0px
}

.c-button__tel-img {
    display: block;
    width: auto;
    height: 18px;
    margin: 0 auto;
    filter: brightness(0) invert(1)
}

.c-button__tel-text {
    padding-top: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #fff;
    font-size: clamp(1.3875rem, 0.825rem + 0.75vw, 5.25rem);
    letter-spacing: 2px;
    font-weight: 500;

}

.c-button__tel-text span {
    position: relative;
    top: 2px;
    display: lock;
    width: 18px;
    height: 18px;
    background-image: url(../img/other/tel-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

.p-home__title {
    font-size: clamp(1.61875rem, 0.9625rem + 0.875vw, 6.125rem);

    line-height: 1;
    font-weight: 500;
    text-align: center;
    color: #000
}

.p-home__title span {
    position: relative;
    display: block;
    height: clamp(2.1390625rem, 1.271875rem + 1.15625vw, 8.09375rem);
    width: 100%;
    margin-bottom: 12.5px
}

.p-home__title span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 100%;
    width: auto;
    aspect-ratio: 1/1;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center
}

.p-home__title span.question:before {
    background-image: url(../img/sec-icon/sec-icon_question.svg)
}

.p-home__title span.time:before {
    background-image: url(../img/sec-icon/sec-icon_time.svg)
}

.p-home__title span.information:before {
    background-image: url(../img/sec-icon/sec-icon_info.svg)
}

.p-home__vehicle {
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: clamp(1.0984375rem, 0.653125rem + 0.59375vw, 4.15625rem);
    line-height: 1;
    font-weight: 500;

    padding: 10px 5px
}

.p-home__vehicle span {
    display: block;
    width: 2.4em;
    height: 2.4em;
    background-size: contain;
    background-repeat: no-repeat !important;
    background-position: center !important
}

.p-home__vehicle span.bus {
    background-image: url(../img/icon/bus_icon.svg)
}

.p-home__vehicle span.ferry {
    background-image: url(../img/icon/ferry_icon.svg)
}

.p-home__select {
    position: absolute;
    width: 100%;
    top: 20px;
    left: 0;
    z-index: 10
}

.p-home__select-form {
    margin: auto;
    width: 125px;
    position: relative;
    border: none
}

.p-home__select-form::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: none
}

.p-home__select-form::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    border-right: 6px solid rgba(0, 0, 0, 0);
    border-left: 6px solid rgba(0, 0, 0, 0);
    border-top: 6px solid #00283d;
    border-bottom: 0;
    pointer-events: none
}

.p-home__select-button {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 50px;
    border: none;
    padding: 3px 0px;
    background-color: rgba(255, 255, 255, 0);
    color: #00283d;
    background: #fff;
    font-size: 14px;

    letter-spacing: 2px;
    line-height: 1.5;
    font-weight: 500;
    -webkit-appearance: none;
    appearance: none;
    text-align: center;
    text-align-last: center;
    cursor: pointer
}

.p-home__fv {
    max-width: 100%;
    background-image: url(../img/airroot/top/airroot_fv-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.p-home__fv-wrap {
    padding: 0
}

.p-home__fv-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5vw;
    padding: 50px 2.5% 25px
}

.p-home__fv-left {
    width: 100%
}

.p-home__fv-right {
    width: 100%
}

@media only screen and (min-width: 600px) {
    .p-home__fv {
        max-width: 100%
    }

    .p-home__fv-wrap {
        max-width: 1200px;
        margin: 0 auto
    }

    .p-home__fv-box {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 3%;
        padding: 3.5vw 5% 3.5vw
    }

    .p-home__fv-left {
        width: 58.5%
    }

    .p-home__fv-right {
        width: 38.5%
    }
}

.p-home__invite {
    padding-top: 50px
}

.p-home__invite-title {
    line-height: 1.25
}

.p-home__invite-segment {
    width: 100%;
    height: auto;
    margin: 20px 0
}

.p-home__invite-segment img {
    width: 100%
}

.p-home__invite-button {
    width: 100%;
    margin: 0px auto 25px
}

.p-home__invite-text {
    width: 100%;
    margin: 0px auto 20px;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    line-height: 1.75;
    font-weight: 500;

}

.p-home__invite-lists {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5px
}

.p-home__invite-list {
    position: relative;
    width: 100%;
    padding: 0;
    padding-left: 20px
}

.p-home__invite-list::before {
    content: "";
    position: absolute;
    top: 5.25px;
    left: 0;
    width: 15px;
    height: 15px;
    background-image: url(../img/icon/attention_triangle.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    filter: invert(61%) sepia(94%) saturate(4223%) hue-rotate(346deg) brightness(102%) contrast(101%)
}

.p-home__invite-detail {
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    line-height: 1.75;
    font-weight: 500;

    padding: 0;
    color: #ff5c0a
}

.p-home__invite-route {
    width: 100%;
    height: auto;
    margin: 20px auto 0
}

.p-home__between {
    padding: 35px 10px 50px
}

.p-home__between-wrap {
    border: 2px solid #0095ff;
    padding: 20px 15px
}

.p-home__between-title {
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    line-height: 1.5;
    font-weight: 500;

    margin: 0 auto 5px;
    text-align: center;
    color: #333
}

.p-home__between-title span {
    display: block;
    width: 100%;
    text-align: center;
    font-size: clamp(2.1390625rem, 1.271875rem + 1.15625vw, 8.09375rem);
    color: #0095ff;
    opacity: 1;
}

.p-home__between-box {
    padding-top: 10px;
    border-top: 4px solid #edf5fb;
    width: fit-content;
    padding: 10px;
    margin: 25px auto 0
}

.p-home__between-text {
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1.5;
    font-weight: 500;

    text-align: center
}

.p-home__between-detail {
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    line-height: 1.75;
    font-weight: 500;

    text-align: center
}

.p-home__use {
    background-color: #eaf5ff;
    padding: 25px 0px 50px
}

.p-home__use-title {
    margin-bottom: 25px
}

.p-home__use-boxes {
    margin-bottom: 10px
}

.p-home__use-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    padding-top: 10px
}

.p-home__use-item {
    position: relative;
    flex: 1;
    height: auto;
    padding: 3% 5px;
    background-color: #0e6dc8;
}

.p-home__use-item:before {
    content: "1";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    color: #fff;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    font-weight: 500;
    text-align: center;
    line-height: 1.75;

    background: #000;
    border-radius: 50px
}

.p-home__use-item:nth-child(2)::before {
    content: "2"
}

.p-home__use-item:nth-child(3)::before {
    content: "3"
}

.p-home__use-img {
    position: relative;
    display: block;
    width: 100%;
    height: 48px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

.p-home__use-img.passport {
    background-image: url(../img/icon/use_passport.svg)
}

.p-home__use-img.document {
    background-image: url(../img/icon/use_document.svg)
}

.p-home__use-img.ticket {
    height: 46px;
    background-image: url(../img/icon/use_ticket.svg);
    filter: brightness(0) invert(1)
}

.p-home__use-detail {
    font-size: clamp(12px, 1.8vw,16px);
    letter-spacing: -0.5px;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
    width: fit-content;
    margin: 1.5em auto 0
}

.p-home__use-caution {
    padding: 10px 0;
}

.p-home__use-text {
    position: relative;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    line-height: 1.25;
    font-weight: 500;
    padding-left: 20px;
    color: #ff5c0a
}

.p-home__use-text span {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background-image: url(../img/icon/attention_triangle.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    filter: invert(61%) sepia(94%) saturate(4223%) hue-rotate(346deg) brightness(102%) contrast(101%)
}

.p-home__use-lists {
    margin-top: 10px;
    padding-left: 10px
}

.p-home__use-list {
    position: relative;
    padding-left: 10px;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    line-height: 1.5;
    font-weight: 500;
    color: #ff5c0a;
}

.p-home__use-list:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7.5px;
    width: 4px;
    height: 4px;
    background-color: #ff5c0a;
    border-radius: 50%
}

.p-home__use-context {
    padding-top: 10px;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    line-height: 1.5;
    font-weight: 500;

    color: #0095ff
}

.p-home__use-coupon {
    margin: 40px auto
}

.p-home__use-coupon-img {
    width: 100%
}

.p-home__use-buttons {
    margin-top: 20px
}

.p-home__search {
    padding: 50px 0px
}

.p-home__search-title {
    margin-bottom: 20px
}

.p-home__search-box:nth-of-type(3) {
    margin-bottom: 25px
}

.p-home__search-tabs {
    margin: 20px auto 25px
}

.p-home__search-tabs input[name=tab_item] {
    display: none
}

.p-home__search-tabs input[name=tab_item_2] {
    display: none
}

.p-home__search-tabs #all:checked~#all_content,
.p-home__search-tabs #programming:checked~#programming_content,
.p-home__search-tabs #design:checked~#design_content {
    display: block
}

.p-home__search-tabs input:checked+.p-home__search-tab {
    background-color: #d0e6f9;
    margin-top: -5px;
    height: 50px
}

.p-home__search-tabs input:checked+.p-home__search-tab:hover {
    opacity: 1
}

.p-home__search-tabs #all-airroot:checked~#all_content,
.p-home__search-tabs #programming-airroot:checked~#programming_content {
    display: block
}



#p-home__search-switch1> :last-child {
    display: none;
}

#tab_item_direction2:checked~#p-home__search-switch1> :first-child {
    display: none;
}

#tab_item_direction2:checked~#p-home__search-switch1> :last-child {
    display: block;
}


#p-home__search-switch2> :last-child {
    display: none;
}

#tab_item_direction4:checked~#p-home__search-switch2> :first-child {
    display: none;
}

#tab_item_direction4:checked~#p-home__search-switch2> :last-child {
    display: block;
}


.tab_item_direction+label {
    display: inline-block;
    cursor: pointer;
    width: 100%;
    line-height: 40px;
    border-radius: 20px;
    text-align: center;
    border: solid 1px #000;
    margin-top: 5px;
    box-sizing: border-box;
}

@media(min-width:600px) {
    .tab_item_direction+label {
        width: 49.5%;
        margin: 15px 0;
    }
}

.tab_item_direction:checked+label {
    background: #000;
    color: #fff;
}


input[name="tab_item_direction1"],
input[name="tab_item_direction2"] {
    display: none;
}


.p-home__search-tab {
    width: 50%;
    height: 45px;
    background-color: #f4f4f4;
    line-height: 45px;
    font-size: 16px;
    font-weight: 500;

    text-align: center;
    display: block;
    float: left;
    text-align: center;
    transition: all .2s ease;
    border-radius: 5px 5px 0 0;
    cursor: pointer
}

.p-home__search-tab:hover {
    opacity: .75
}

.p-home__search-content {
    box-sizing: border-box;
    width: 100%;
    min-height: 300px;
    display: none;
    overflow: hidden;
    padding: 15px 10px;
    border-radius: 0 0 4px 4px;
    background-color: #d0e6f9
}

.p-home__search-lists {
    display: flex;
    gap: 5px;
    flex-wrap: wrap
}

.p-home__search-list {
    width: 100%;
    border-radius: 5px;
    overflow: hidden;
    position: relative
}

.p-home__search-list:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow.png);
    background-size: 6px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    background-color: #000;
    z-index: 1
}

.p-home__search-list .stop-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 10px;
    background-color: #fff;
    color: #000;
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);

    line-height: 1;
    font-weight: 500
}

.p-home__search-routes {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.p-home__search-route {
    width: 100%;
    position: relative;
    background-color: #fff;
    display: flex;
}

.p-home__search-route .p-home__search-route-content {
    position: relative;
    display: block;
    width: calc(100% - 90px);
    height: 100%;
    padding: 10px 10px;
    color: #000
}

.p-home__search-route .p-home__search-route-buttons {
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-direction: column;
}

.more-button,
.ticket-button {
    width: 100%;
    height: 36px;
    border-radius: 10px;
    box-shadow: 0 2px 4px #0003;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 5px;
}

.more-button {
    background: #2a4a74;
}

.ticket-button {
    background: #db9605;
}

.more-button:before,
.ticket-button:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow.png);
    background-size: 6px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    right: 2px;
    width: 12px;
    height: 100%;
    z-index: 1
}


.p-home__search-operators {
    display: flex;
    gap: 4px;
    flex-wrap: wrap
}

.p-home__search-operator {
    display: block;
    font-size: clamp(0.69375rem, 0.4125rem + 0.375vw, 2.625rem);
    font-weight: 400;

    line-height: 1;
}

.p-home__search-name {
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    line-height: 1;
    font-weight: 500;

    margin: 10px 0
}

.p-home__search-stops {
    display: flex;
    gap: 4px;
    flex-wrap: wrap
}

.p-home__search-stop {
    display: inline-block;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    font-weight: 400;

    line-height: 1;
    padding: 3px 5px;
}

.p-home__search-stop.on {
    background-color: #d0e6f9;
    color: #3f6699;
}

.p-home__search-stop.off {
    background-color: #f9eee4;
    color: #dd7029;
}

.p-home__search-items {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin: 10px 0
}

.p-home__search-item {
    display: block;
    width: calc(50% - 10px);
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    font-weight: 500;

    line-height: 1;
    padding: 3px 5px;
    border-radius: 4px
}

.p-home__search-detail {
    font-size: clamp(1.2140625rem, 0.721875rem + 0.65625vw, 4.59375rem);
    line-height: 1;
    font-weight: 500;

    text-align: center;
    margin-bottom: 10px;
    color: #00283d
}

.p-home__search-caution {
    padding-top: 10px;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);
    line-height: 1.5;
    font-weight: 500;

    text-align: center;
    color: #000
}

.p-home__search-map {
    margin: auto
}

.p-home__search-times {
    width: 100%;
}

.p-home__search-times img {
    width: 100%
}

.p-home__qa {
    padding: 50px 0px
}

.p-home__qa-accordion {
    margin-top: 20px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000
}

.p-home__qa-item {
    position: relative;
    cursor: pointer
}

.p-home__qa-item:not(:first-child) {
    border-top: 1px solid #000
}

.p-home__qa-toggle {
    display: none
}

.p-home__qa-toggle:checked+.p-home__qa-label+.p-home__qa-contents {
    height: auto;
    padding: 0px 0 20px;
    transition: all .5s
}

.p-home__qa-toggle:checked+.p-home__qa-label::before {
    top: 40%;
    right: 18px;
    transform: rotate(180deg) translateY(-50%)
}

.p-home__qa-label {
    position: relative;
    padding: 20px 25px 20px 0px;
    display: block;
    color: #333;
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    font-weight: 500;

    cursor: pointer
}

.p-home__qa-label:before {
    content: "";
    border-left: 4.5px solid rgba(0, 0, 0, 0);
    border-right: 4.5px solid rgba(0, 0, 0, 0);
    border-bottom: 8px solid #000;
    position: absolute;
    top: 45%;
    right: 20px;
    transform: rotate(90deg) translateY(-50%);
    transition: all .3s
}

.p-home__qa-contents {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    height: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all .3s;
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    line-height: 1.5;
    font-weight: 500;

}

.p-home__qa-content {
    width: 100%;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    padding-bottom: 10px
}

.p-home__qa-content:not(:first-child) {
    padding-top: 15px;
    border-top: 1px dashed #9d9d9d
}

.p-home__qa-question {
    width: 100%;
    position: relative;
    padding-left: 35px;
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    line-height: 1.5;
    font-weight: 500;

}

.p-home__qa-question:before {
    content: "Q";
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    font-weight: 500;

    background-color: #00283d;
    border-radius: 50px;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 22px
}

.p-home__qa-text {
    width: 100%;
    position: relative;
    padding-left: 35px;
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    line-height: 1.5;
    font-weight: 500;

}

.p-home__qa-text:before {
    content: "A";
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: clamp(0.9828125rem, 0.584375rem + 0.53125vw, 3.71875rem);
    font-weight: 500;

    background-color: #cf1b1b;
    border-radius: 50px;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px
}

.p-home__guide {
    padding: 50px 0px 50px;
    background-color: #fffcea
}

.p-home__guide-title {
    margin-bottom: 20px
}

.p-home__contact {
    padding: 50px 0px 200px;
    background-color: #eaf5ff
}

.p-home__contact-title {
    margin-bottom: 20px
}

.p-home__contact-box {
    margin-top: 20px;
    background-color: #fff;
    padding: 15px 10px;
    color: #00283d
}

.p-home__contact-text {
    font-size: clamp(0.7515625rem, 0.446875rem + 0.40625vw, 2.84375rem);
    line-height: 1.5;
    font-weight: 500;

    text-align: center;
    margin-bottom: 15px
}

.p-home__contact-items {
    display: flex;
    gap: 5px;
    flex-wrap: wrap
}

.p-home__contact-item {
    width: 100%;
    display: flex;
    gap: 5px
}

.p-home__contact-detail {
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    line-height: 1.5;
    font-weight: 500;

    min-width: 110px
}

.p-busstop__section {
    padding: 0;
    padding-top: 25px
}

.p-busstop__wrap {
    padding: 0
}

.p-busstop__section-top {
    position: relative;
    margin: 0 auto;
    background: #fff
}

.p-busstop__time-title {
    margin-bottom: 0
}

.p-busstop__title {

    font-size: clamp(1.734375rem, 1.03125rem + 0.9375vw, 6.5625rem);
    line-height: 1;
    font-weight: 500;
    text-align: center
}

.p-busstop__title span {
    position: relative;
    display: block;
    height: clamp(2.1390625rem, 1.271875rem + 1.15625vw, 8.09375rem);
    width: 100%;
    margin-bottom: 12.5px;
    opacity: 0.5;
}

.p-busstop__title span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 100%;
    width: auto;
    aspect-ratio: 1/1;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center
}

.p-busstop__title span.time:before {
    background-image: url(../img/sec-icon/sec-icon_time.svg)
}

.p-busstop__detail {
    margin-top: 10px;
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);

    text-align: center
}

.p-busstop__route {
    margin-top: 20px;
    padding: 25px 2% 100px;
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);

    background-color: #eaf5ff
}

.p-busstop__route-lists {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 auto
}

.p-busstop__route-list {
    display: flex;
    background-color: #fff;
    width: 100%;
    position: relative;
    padding: 16px 4%;
    gap: 5%;
}

.p-busstop__route-list-content {
    width: calc(95% - 80px);
}

.p-busstop__route-list-content>div {
    display: flex;
    gap: 10px 20px;
    padding-bottom: 10px;
    border-bottom: solid 1px #ccc;
}

@media(max-width:600px) {
    .p-busstop__route-list-content>div {
        flex-direction: column;
    }
}

.p-busstop__route-time {
    font-size: clamp(1.4rem, 1.4rem + 0.46875vw, 2rem);

    font-weight: bold;
}

.p-busstop__route-special-detail {
    display: inline-block;
    font-size: 11px;
    line-height: 1;
    color: #C61D58;
    background-color: #fff;
    padding: 3px;
    border: 1px solid #C61D58;
    margin-bottom: 10px;
    position: relative;
}

@media(max-width:600px) {
    .p-busstop__route-special-detail {
        top: -8px;
        margin-bottom: 0;
    }
}


.p-busstop__route-company {
    display: block;
    font-size: clamp(0.809375rem, 0.48125rem + 0.4375vw, 3.0625rem);

    line-height: 1;
    color: #000
}

.p-busstop__route-names {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 7.5px 0
}

.p-busstop__route-name {
    display: block;
    font-size: clamp(15px, 10px + 0.5625vw, 20px);

    line-height: 1.25;
    color: #000;
    width: fit-content
}

.p-busstop__route-equipment {
    display: flex;
    gap: 5px
}

.p-busstop__route-stops {
    margin-top: 0.3em;
    width: 100%;
    font-size: 13px;
    vertical-align: top;
}

.p-busstop__route-stops tr td:first-child {
    width: 50px;
    vertical-align: top;
}

.p-busstop__route-stops tr td:last-child {
    width: calc(100% - 50px);
    white-space: initial;
    vertical-align: top;
}




.p-busstop__route-list-buttons {
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-direction: column;
}


.p-busstop__route-link {
    display: flex;
    gap: 0
}



.p-busroot__section-title {
    padding: 25px 0
}

.p-busroot__section-map {
    aspect-ratio: 19/14;
    width: 100%
}

.p-busroot__fv {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: fit-content;
    background: none;
    z-index: 10
}

.p-busroot__section {
    padding: 0
}

.p-busroot__wrap {
    padding: 0
}

.p-busroot__detail {
    padding: 55px 2% 20px;
    background: linear-gradient(180deg, #25C4F1 0%, #0095FF 100%)
}

.p-busroot__detail-top {
    position: relative;
    margin: 0 2%
}

.p-busroot__bottom {
    margin: 0 auto;
    background: #fff
}

.p-busroot__bottom-stopmap {
    padding: 0px 2% 25px;
    background: #fbfbfb
}

.p-busroot__company {
    padding: 10px 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.p-busroot__company-name {
    position: relative;
    padding-left: 15px;

    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1;
    font-weight: 400;
    color: #fff;
    display: inline-block
}

.p-busroot__company-name:first-child {
    padding-left: 0px
}

.p-busroot__company-name:before {
    content: "/";
    position: absolute;
    top: 0;
    left: 4px;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1;
    font-weight: 400;
    color: #fff
}

.p-busroot__company-name:first-child:before {
    content: ""
}

.p-busroot__title {
    font-size: clamp(1.734375rem, 1.03125rem + 0.9375vw, 6.5625rem);

    line-height: 1;
    font-weight: 400;
    color: #fff
}

.p-busroot__time {
    margin-top: 25px;
    padding: 0px 2%
}

.p-busroot__time-legend {
    margin: auto;
    text-align: center;
    display: block;
    margin-top: 20px
}

.p-busroot__memo {
    margin-top: 15px;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1.76;
    font-weight: 400;
    color: #000;
    background: #ffb3b3;

    padding: 5px 10px
}

.p-busroot__memo a {
    display: inline-block;
    text-decoration: underline
}

.p-busroot__scroll {
    width: 100%;
    overflow: scroll
}

.p-busroot__table {
    margin-left: -5px;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);

    line-height: 1.5;
    font-weight: 400;
    width: fit-content;
    border-spacing: 5px;
    border-collapse: separate
}

.p-busroot__table th {
    padding: 10px 5px
}

.p-busroot__table td a {
    display: flex;
    align-items: center;
    border-radius: 4px;
    padding: 0px 5px;
    text-wrap: wrap;
    line-height: 1.2;
    height: 45px
}

.p-busroot__table td a:first-child {
    width: 150px;
    background: #00283d;
    color: #fff
}

.p-busroot__table tr td {
    background: #f8f8f8;
    text-align: center
}

.p-busroot__table tr.stop_flag {
    border-top: 10px solid #fff
}

.p-busroot__table tr.stop_bording-0 td:first-child a {
    background: #999;
    color: #000
}

.p-busroot__table tr.stop_bording-2 td:first-child a {
    background: #8e2929;
    color: #fff
}

.p-busroot__table tr td:first-child,
.p-busroot__table tr th:first-child {
    position: sticky;
    left: 0px;
    z-index: 1;
    padding: 0px
}

.p-busroot__table tr td:first-child:before,
.p-busroot__table tr th:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1
}

.p-busroot__table-if th.active {
    background: #f8f8f8;
    color: #000;
    text-align: center
}

.p-busroot__table-name th {
    background: #333;
    color: #fff;
    width: 150px;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    font-weight: 400;
    text-align: center
}

.p-busroot__table-name th:first-child div {
    text-align: left;
    background: #333;
    color: #fff;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    font-weight: 400;
    padding: 10px 5px
}

.p-busroot__table-stop {
    position: relative;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    font-weight: 400;
    text-align: left;
    padding-left: 20px
}

.p-busroot__table-stop:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow2.png);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 16px;
    height: 100%;
    z-index: 1
}

.p-busroot__counter {
    margin-top: 20px;
    padding: 25px 2% 200px;
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);
    background-color: #eaf5ff
}

.p-busroot__counter-title {
    font-size: clamp(1.734375rem, 1.03125rem + 0.9375vw, 6.5625rem);
    line-height: 1;
    font-weight: 500;
    text-align: center
}

.p-busroot__counter-lists {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px auto
}

.p-busroot__counter-list {
    width: 100%;
    background-color: #fff;
    padding: 10px 15px
}

.p-busroot__counter-name {
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);

    line-height: 1;
    font-weight: 600
}

.p-busroot__counter-reception {
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);

    line-height: 1;
    font-weight: 400;
    margin: 10px 0
}

.p-busroot__counter-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1;
    font-weight: 400;
    background: #00283d;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    width: fit-content;
    gap: 20px
}

.p-busroot__counter-icon {
    display: inline-block;
    width: 10px;
    height: 12px;
    background-image: url(../img/icon/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

.p-busroot__counter-tel {
    width: 100%;
    margin-top: 20px
}

.p-busroot__counter-map {
    margin-top: 15px
}

.p-busroot__counter-map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

.p-bus__section-title {
    padding: 25px 0
}

.p-bus__section-map {
    aspect-ratio: 19/14;
    width: 100%
}

.p-bus__fv {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: fit-content;
    background: none;
    z-index: 10
}

.p-bus__section {
    padding: 0
}

.p-bus__wrap {
    padding: 0
}

.p-bus__detail {
    padding: 55px 2% 20px;
    background: linear-gradient(180deg, #25C4F1 0%, #0095FF 100%)
}

.p-bus__detail-top {
    position: relative;
    margin: 0 2%
}

.p-bus__bottom {
    margin: 0 auto;
    background: #fff
}

.p-bus__bottom-stopmap {
    padding: 0px 2% 25px;
    background: #fbfbfb
}

.p-bus__company {
    padding: 10px 0px;
    display: flex;
    gap: 0
}

.p-bus__company-name {
    position: relative;
    padding-left: 15px;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);

    line-height: 1;
    font-weight: 400;
    color: #fff;
    display: inline-block
}

.p-bus__company-name:first-child {
    padding-left: 0px
}

.p-bus__company-name:before {
    content: "/";
    position: absolute;
    top: 0;
    left: 4px;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);

    line-height: 1;
    font-weight: 400;
    color: #fff
}

.p-bus__company-name:first-child:before {
    content: ""
}

.p-bus__title {
    font-size: clamp(1.734375rem, 1.03125rem + 0.9375vw, 6.5625rem);
    line-height: 1;
    font-weight: 400;
    color: #fff;

}

.p-bus__time {
    margin-top: 25px;
    padding: 0px 2%
}

.p-bus__time-legend {
    margin: auto;
    text-align: center;
    display: block;
    margin-top: 20px
}

.p-bus__memo {
    margin-top: 15px;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1.76;
    font-weight: 400;
    color: #000;
    background: #ffb3b3;

    padding: 5px 10px
}

.p-bus__memo a {
    display: inline-block;
    text-decoration: underline
}

.p-bus__scroll {
    width: 100%;
    overflow: scroll
}

.p-bus__table {
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    line-height: 1.5;
    font-weight: 400;

    width: 100%;
    border-spacing: 5px;
    border-collapse: separate
}

.p-bus__table th {
    padding: 10px 5px
}

.p-bus__table td a {
    display: flex;
    align-items: center;
    border-radius: 4px;
    padding: 0px 5px;
    text-wrap: wrap;
    line-height: 1.2;
    height: 45px
}

.p-bus__table td a:first-child {
    width: 100%;
    background: #00283d;
    color: #fff
}

.p-bus__table tr td {
    background: #f8f8f8;
    text-align: center
}

.p-bus__table tr.stop_flag {
    border-top: 10px solid #fff
}

.p-bus__table tr.stop_bording-0 td:first-child a {
    background: #999;
    color: #000
}

.p-bus__table tr.stop_bording-2 td:first-child a {
    background: #8e2929;
    color: #fff
}

.p-bus__table tr td:first-child,
.p-bus__table tr th:first-child {
    position: sticky;
    left: 0px;
    z-index: 1;
    padding: 0px
}

.p-bus__table tr td:first-child:before,
.p-bus__table tr th:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1
}

.p-bus__table-if th.active {
    background: #f8f8f8;
    color: #000;
    text-align: center
}

.p-bus__table-name th {
    background: #333;
    color: #fff;
    width: 70%;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    font-weight: 400;
    text-align: center
}

.p-bus__table-name th:first-child div {
    text-align: left;
    background: #333;
    color: #fff;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    font-weight: 400;
    padding: 10px 5px
}

.p-bus__table-stop {
    position: relative;
    font-size: clamp(0.8671875rem, 0.515625rem + 0.46875vw, 3.28125rem);
    font-weight: 400;
    text-align: left;
    padding-left: 20px
}

.p-bus__table-stop:before {
    content: "";
    position: absolute;
    background-image: url(../img/icon/arrow2.png);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 16px;
    height: 100%;
    z-index: 1
}

.p-bus__counter {
    margin-top: 20px;
    padding: 25px 2% 200px;
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);
    background-color: #eaf5ff
}

.p-bus__counter-title {
    font-size: clamp(1.734375rem, 1.03125rem + 0.9375vw, 6.5625rem);
    line-height: 1;
    font-weight: 500;
    text-align: center
}

.p-bus__counter-lists {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px auto
}

.p-bus__counter-list {
    width: 100%;
    background-color: #fff;
    padding: 10px 15px
}

.p-bus__counter-name {
    font-size: clamp(1.15625rem, 0.6875rem + 0.625vw, 4.375rem);

    line-height: 1;
    font-weight: 600
}

.p-bus__counter-reception {
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);

    line-height: 1;
    font-weight: 400;
    margin: 10px 0
}

.p-bus__counter-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(0.925rem, 0.55rem + 0.5vw, 3.5rem);
    line-height: 1;
    font-weight: 400;
    background: #00283d;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    width: fit-content;
    gap: 20px
}

.p-bus__counter-icon {
    display: inline-block;
    width: 10px;
    height: 12px;
    background-image: url(../img/icon/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

.p-bus__counter-tel {
    width: 100%;
    margin-top: 20px
}

.p-bus__counter-map {
    margin-top: 15px
}

.p-bus__counter-map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

.p-ferry__section {
    padding: 0
}

.p-ferry__wrap {
    padding: 0
}

.p-ferry__about {
    padding: 0 0 200px
}

.p-ferry__buttons {
    padding: 0 2%;
    margin-top: 20px
}

.p-ferry__buttons .c-button__normal-link {
    height: 50px
}

.p-ferry__buttons .c-button__normal-link img {
    display: block
}