@charset "UTF-8";

/* =========================================
   org-footer（オリジナルフッター）
   Figma計測: padding 100px 0 16px, gap 100px
   content: gap 61px / company gap 15px / link gap 50px
========================================= */
.org-footer * {
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}
.l-footer {
    background-color: inherit;
    padding: 0;
}
.l-org-footer {
    background-color: #071445;
    padding: 0px 0;
}
.footer__inner {
    width: 100%;
    grid-template-columns: inherit;
}
.org-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 100px;
    padding: 100px 0 16px;
    background-color: #071445;
}

.org-footer__content {
    display: flex;
    gap: 61px;
    align-items: flex-start;
    width: 1140px;
}

.org-footer__company {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.org-footer__company-name {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.org-footer__company-name:hover {
    opacity: 1;
}

.org-footer__company-info {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}

.org-footer__company-address,
.org-footer__company-tel {
    margin: 0;
}

.org-footer__btn-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 290px;
}

.org-footer__btn {
    padding-right: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 46px;
    border-radius: 9999px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 4px 3px rgba(83, 84, 88, 0.3);
}
.org-footer__btn:hover {
    opacity: 0.85;
}

.org-footer__btn--line {
    background: linear-gradient(to right, #70d906, #06c755);
}
.org-footer__btn--line:hover {
    background: linear-gradient(to right, #06c755, #70d906);
    opacity: 1;
}

.org-footer__btn--mail {
    background: linear-gradient(to right, #f9ca11, #f4aa0c);
}
.org-footer__btn--mail:hover {
    background: linear-gradient(to right, #f4aa0c, #f9ca11);
    opacity: 1;
}

.org-footer__btn--satei {
    background: linear-gradient(to right, #17c0ef, #157ac3);
}
.org-footer__btn--satei:hover {
    background: linear-gradient(to right, #157ac3, #17c0ef);
    opacity: 1;
}

.org-footer__btn--reservation {
    background: linear-gradient(to right, #e98f36, #f45e28);
}
.org-footer__btn--reservation:hover {
    background: linear-gradient(to right, #f45e28, #e98f36);
    opacity: 1;
}

.org-footer__btn-arrow {
    position: absolute;
    top: 50%;
    right: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    transform: translateY(-50%);
}

.org-footer__btn-arrow-icon {
    display: block;
    width: 12px;
    height: 8px;
}

.org-footer__link-list {
    display: flex;
    gap: 50px;
}

.org-footer__link {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.org-footer__link-ttl {
    width: 150px;
    margin: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.org-footer__link-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.org-footer__link-item {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    text-decoration: none;
}
.org-footer__link-item:hover {
    opacity: 1;
    color: #fe6601;
}

.org-footer__copyright {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 14px;
    border-top: 1px solid #fff;
}

.org-footer__copy {
    margin: 0;
    padding: 0 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
}

/* =========================================
   float__box（サイドフロートバナー）
   Figma: 18204:3546 / width 56px / gap 2px
   item: padding 13px 15px / gap 6px / radius 6px
========================================= */
.float__box {
    position: fixed;
    top: 155px;
    right: 0;
    z-index: 8;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.float__box-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 57px;
    padding: 13px 8px 10px 8px;
    border-radius: 6px 0 0 6px;
    box-sizing: border-box;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.float__box-item:hover {
    opacity: 0.85;
}

.float__box-item--line {
    background-image: linear-gradient(90deg, #70D906 0%, #06C755 100%);
}

.float__box-item--satei {
    background-image: linear-gradient(164.51deg, #17C0EF 4.07%, #157AC3 94.52%);
}

.float__box-item--reservation {
    background-image: linear-gradient(90deg, #E98F36 0%, #F45E28 100%);
}

.float__box-icon {
    display: block;
    width: 26px;
    height: 26px;
}

.float__box-text {
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.18em;
}

