/*
*   margin / padding hack 
*/
* {
    margin: 0;
    padding: 0;
}

/*
*   valiable font-size
*/
body {
    font-size: var(--px-16);
    font-family: 
    "Noto Sans JP",
    "Helvetica Neue", "Helvetica", 
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", 
    "Arial", "Yu Gothic",
    "Meiryo", sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
}

/*
*   global style
*/
a,
a:hover,
a:visited,
a:active {
    color: var(--black);
    text-decoration: none;
    opacity: 1;
    transition: all 0.3s;
}
a:hover,
a:active {}


/*
*   slick
*/
*{
    min-width: 0;
    min-height: 0;
}
.slider {
    display: none;
}
.slider.slick-initialized {
    display: block; 
}

/*
*   tab-menu
*/
.panel-item.is-active {
    display: flex !important;
    animation: panel-show .9s ease-in-out forwards;
}
@keyframes panel-show {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.spbr {
    display: none;
}
.pc-only {
    display: inline;
}
.sp-only {
    display: none;
}
@media screen and (max-width: 480px) {
    .spbr {
        display: inline;
    }
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
        width: 100%;
    }
}

/*
*   global class
*/
a.banner-link-reserve {
    /* display: none !important; */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: var(--px-16);
    font-family: var(--font-gothic);
    width: auto;
    height: var(--px-100);
    position: relative;
}
a.banner-link-reserve .mark-24h {
    background: var(--white);
    border: 0.125rem solid var(--orange);
    border-radius: var(--px-100);
    box-shadow: var(--blackshadow);
    color: var(--orange);
    font-size: var(--px-22);
    font-weight: 400;
    letter-spacing: 0.001em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: var(--px-3);
    width: var(--px-110);
    height: var(--px-110);
    z-index: 999;
}
a.banner-link-reserve .mark-24h .text-black {
    color: var(--black);
    font-size: var(--px-16);
}
a.banner-link-reserve .banner-link-gradation.base {
    background: var(--orange-gradation);
    box-shadow: .625rem .625rem .75rem 0rem rgba(0, 0, 0, 0.15);
    color: var(--white);
    font-size: var(--px-28);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--px-615);
    height: var(--px-75);
    position: absolute;
    left: calc(var(--px-100) - var(--px-16));
}
a.banner-link-reserve .banner-link-gradation.base img {
    position: absolute;
    width: var(--px-26);
    height: var(--px-12);
    right: var(--px-30);
}
a.banner-link-reserve .banner-link-gradation.hover {
    opacity: 0;
    background: var(--lightorange);
    box-shadow: .625rem .625rem .75rem 0rem rgba(219, 153, 153, 0.15);
    color: var(--orange);
    font-size: var(--px-28);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--px-615);
    height: var(--px-75);
    position: absolute;
    left: calc(var(--px-100) - var(--px-16));
    top: calc(0 - var(--px-75));
    transition: none;
}
a.banner-link-reserve .banner-link-gradation.hover img {
    position: absolute;
    width: var(--px-26);
    height: var(--px-12);
    right: var(--px-30);
}

/*
*   .cta
*/
.cta {
    background: var(--white);
    border: .0625rem solid var(--green);
    box-shadow: var(--blackshadow);
    padding: 0 0 var(--px-48) 0;
    width: var(--px-892);
}
.cta h3 {
    color: var(--orange);
    font-size: var(--px-35);
    letter-spacing: 0.2em;
    text-align: center;
    padding: var(--px-48);
}
.cta .cta-menu {
    display: flex;
    align-items: baseline;
    justify-content: center;
    width: var(--px-892);
    margin: 0 auto;
}
.cta .cta-menu .cta-menu-sub {
    border-right: .0625rem solid var(--ctagreen);
    text-align: center;
    padding: 0 var(--px-32);
}
.cta .cta-menu .cta-menu-sub:last-child {
    border-right: 0;
}
.cta .cta-menu .cta-menu-sub h4 {
    background: var(--ctagreen);
    color: var(--white);
    font-size: var(--px-20);
    padding: var(--px-16) var(--px-20);
    width: var(--px-324);
}
.cta .cta-menu .cta-menu-sub p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--px-16);
    margin: var(--px-24) 0;
}
.cta .cta-menu .cta-menu-sub p:last-child {
    margin-bottom: 0;
}
.cta .cta-menu .cta-menu-sub .cta-campaign {
    justify-content: space-between;
}
.cta .cta-menu .cta-menu-sub img {
    width: var(--px-38);
}
.cta .cta-menu .cta-menu-sub span {
    font-size: var(--px-16);
}
.cta .cta-menu .cta-menu-sub .cta-default {
    background: var(--gray);
    padding: var(--px-4);
}
.cta .cta-menu .cta-menu-sub .cta-default-price {
    font-size: var(--px-28);
    padding: var(--px-4);
}
.cta .cta-menu .cta-menu-sub .cta-default-price small {
    font-size: var(--px-16);
}
.cta .cta-menu .cta-menu-sub .cta-campaign-price {
    color: var(--orange);
    font-size: var(--px-60);
    font-family: var(--font-mincho);
    margin: 0 var(--px-10);
}
.cta .cta-menu .cta-menu-sub .cta-campaign-price small {
    font-size: var(--px-24);
}
@media screen and (max-width: 480px) {
    .cta {
        margin: 0 auto;
        padding: 0;
        width: 87.2vw;
    }
    .cta h3 {
        font-size: var(--px-24);
        letter-spacing: 0.15em;
        line-height: 130%;
        padding: var(--px-24) var(--px-24) 0 var(--px-24);
    }
    .cta .cta-menu {
        display: block;
        width: 100%;
    }
    .cta .cta-menu .cta-menu-sub {
        border: 0;
        margin: var(--px-16) auto;
        text-align: center;
        width: auto;
    }
    .cta .cta-menu .cta-menu-sub:last-child {
        border-top: .0625rem solid var(--ctagreen);
    }
    .cta .cta-menu .cta-menu-sub h4 {
        letter-spacing: 0.15em;
        line-height: 130%;
        margin: var(--px-24) 0 var(--px-16) 0;
        padding: var(--px-10) 0;
        width: 100%;
    }
    .cta .cta-menu .cta-menu-sub p {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--px-16);
        margin: 0;
        padding: var(--px-10) 0;
    }
    .cta .cta-menu .cta-menu-sub p:last-child {
        margin-bottom: 0;
    }
    .cta .cta-menu .cta-menu-sub .cta-campaign {
        justify-content: center;
    }
    .cta .cta-menu .cta-menu-sub img {
        margin: var(--px-5) var(--px-5) 0 0;
        width: var(--px-24);
        height: var(--px-26);
    }
    .cta .cta-menu .cta-menu-sub span {
        font-size: var(--px-16);
    }
    .cta .cta-menu .cta-menu-sub .cta-default {
        background: var(--gray);
        margin: var(--px-5);
        padding: var(--px-5);
    }
    .cta .cta-menu .cta-menu-sub .cta-default-price {
        font-size: var(--px-28);
        padding: var(--px-4);
    }
    .cta .cta-menu .cta-menu-sub .cta-campaign-price {
        color: var(--orange);
        font-size: var(--px-44);
        font-family: var(--font-mincho);
        margin: var(--px-5) 0;
    }
    .cta .cta-menu .cta-menu-sub .cta-campaign-price small {
        font-size: var(--px-16);
    }
}

/*
*   .cta-banner > .cta
*/
.cta-banner {
    background: url(../img/cta-background.png) center center no-repeat;
    background-size: cover;
    width: 100%;
}
.cta-banner .cta-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: var(--px-90) 0;
    width: 100%;
}
.cta-banner .cta-wrapper .cta-content {
    margin: 0 var(--px-63) 0 0;
}
.cta-banner h2 .text-1st {
    color: var(--white);
    font-size: var(--px-34);
    font-family: var(--font-mincho);
    line-height: 150%;
}
.cta-banner h2 .text-2nd {
    color: var(--white);
    font-size: var(--px-96);
    font-family: var(--font-mincho);
    letter-spacing: 0.0125em;
    line-height: 130%;
    margin: var(--px-24) 0 var(--px-24) -1rem;
}
.cta-banner h2 .text-3rd {
    color: var(--white);
    font-size: var(--px-28);
    font-family: var(--font-mincho);
    line-height: 150%;
}
.cta-banner .cta {
    box-shadow: none;
    padding: 0 0 var(--px-29) 0;
    width: var(--px-845);
    height: auto;
}
.cta-banner .cta h3 {
    padding: var(--px-29) 0;
}
.cta-banner .cta-menu {
    width: auto;
}
.cta-banner .cta .cta-menu .cta-menu-sub {
    border-right: .0625rem solid var(--ctagreen);
    text-align: center;
    padding: 0 var(--px-36);
}
.cta-banner .cta .cta-menu .cta-menu-sub:last-child {
    border-right: 0;
}
.cta-banner .cta .cta-menu .cta-menu-sub h4 {
    background: var(--ctagreen);
    color: var(--white);
    font-size: var(--px-20);
    margin: 0 auto;
    padding: var(--px-12) 0;
    width: 100%;
}
.cta-banner .cta .cta-menu .cta-menu-sub p {
    margin: var(--px-10);
}
.cta-banner .cta .cta-menu .cta-menu-sub img {
    width: var(--px-29);
}
.cta-banner .cta .cta-menu .cta-menu-sub .cta-default-price {
    font-size: var(--px-26);
}
.cta-banner .cta .cta-menu .cta-menu-sub .cta-default-price small {
    font-size: var(--px-14);
}
.cta-banner .cta .cta-menu .cta-menu-sub .cta-campaign-price {
    color: var(--orange);
    font-size: var(--px-56);
    font-family: var(--font-mincho);
}
.cta-banner .cta .cta-menu .cta-menu-sub .cta-campaign-price small {
    font-size: var(--px-24);
}
.cta-banner .banner-link-reserve {
    font-size: var(--px-28);
    letter-spacing: 0.1em;
    margin: var(--px-20) 0 0 var(--px-62);
    width: var(--px-615);
}
.cta-banner .banner-link-reserve .mark-24h {
    gap: var(--px-4);
}
.cta-banner .banner-link-reserve .banner-link-gradation {
    width: var(--px-660);
}
@media screen and (max-width: 480px) {
    .cta-banner {
        background: url(../img/cta-background.png) center center no-repeat;
        background-size: cover;
        width: 100%;
    }
    .cta-banner .cta-wrapper {
        display: block;
        margin: 0 auto;
        padding: var(--px-36) 0;
    }
    .cta-banner .cta-wrapper .cta-content {
        margin: 0;
        padding: var(--px-20);
        width: auto;
    }
    .cta-banner h2 .text-1st {
        font-size: 4.8vw;
        font-weight: 400;
        line-height: 150%;
        letter-spacing: 0.05em;
    }
    .cta-banner h2 .text-2nd {
        font-size: 12vw;
        letter-spacing: 0.01em;
        line-height: 130%;
        margin: 1.25rem 0;
    }
    .cta-banner h2 .text-3rd {
        font-size: var(--px-15);
        letter-spacing: 0.05em;
    }
    .cta-banner .cta {
        margin: 0 auto;
        padding: 0;
        width: 87.2vw;
    }
    .cta-banner .cta h3 {
        font-size: var(--px-24);
        letter-spacing: 0.15em;
        line-height: 130%;
        padding: var(--px-24) var(--px-24) 0 var(--px-24);
    }
    .cta-banner .cta-menu {
        display: block;
        width: 100%;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub {
        border: 0;
        margin: 0 var(--px-24);
        padding: 0;
        text-align: center;
        width: auto;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub:last-child {
        border-top: .0625rem solid var(--ctagreen);
    }
    .cta-banner .cta .cta-menu .cta-menu-sub h4 {
        letter-spacing: 0.15em;
        line-height: 130%;
        margin: var(--px-24) 0 var(--px-16) 0;
        padding: var(--px-10) 0;
        width: 100%;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub p {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--px-16);
        margin: 0;
        padding: var(--px-10) 0;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub p:last-child {
        margin-bottom: 0;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub .cta-campaign {
        justify-content: center;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub img {
        margin: var(--px-5) var(--px-5) 0 0;
        width: var(--px-24);
        height: var(--px-26);
    }
    .cta-banner .cta .cta-menu .cta-menu-sub .cta-default {
        background: var(--gray);
        margin: var(--px-5);
        padding: var(--px-5);
    }
    .cta-banner .cta .cta-menu .cta-menu-sub .cta-default-price {
        font-size: var(--px-28);
        padding: var(--px-4);
    }
    .cta-banner .cta .cta-menu .cta-menu-sub .cta-campaign-price {
        color: var(--orange);
        font-size: var(--px-44);
        font-family: var(--font-mincho);
        margin: var(--px-5) 0;
    }
    .cta-banner .cta .cta-menu .cta-menu-sub .cta-campaign-price small {
        font-size: var(--px-16);
    }
    .cta-banner .banner-link-reserve {
        letter-spacing: 0.1em;
        margin: var(--px-24);
        width: auto;
    }
    .cta-banner .banner-link-reserve .mark-24h {
        font-size: var(--px-16);
        width: var(--px-76);
        height: var(--px-76);
        gap: var(--px-5);
    }
    .cta-banner .banner-link-reserve .mark-24h .text-black {
        font-size: var(--px-12);
    }
    .cta-banner .banner-link-reserve .banner-link-gradation.base {
        background: var(--orange-gradation);
        box-shadow: var(--blackshadow);
        color: var(--white);
        font-size: var(--px-18);
        line-height: 130%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--px-244);
        height: var(--px-58);
        position: absolute;
        left: var(--px-32);
        top: calc(0 - var(--px-75));
        transition: none;
    }
    .cta-banner .banner-link-reserve .banner-link-gradation.base img {
        position: absolute;
        right: var(--px-12);
        width: var(--px-26);
        height: var(--px-12);
    }
    .cta-banner .banner-link-reserve .banner-link-gradation.hover {
        opacity: 0;
        background: var(--lightorange);
        box-shadow: var(--blackshadow);
        color: var(--orange);
        font-size: var(--px-18);
        line-height: 130%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--px-244);
        height: var(--px-58);
        position: absolute;
        left: var(--px-32);
        top: calc(0 - var(--px-75));
        transition: none;
    }
    .cta-banner .banner-link-reserve .banner-link-gradation.hover img {
        position: absolute;
        right: var(--px-12);
        width: var(--px-26);
        height: var(--px-12);
    }
}


/*
*   :before
*/
.rectangle:before {
    content: "◆";
}

/*
*   .table-design
*/
.table-design {
    border: var(--px-1) solid var(--gray);
    width: 100%;
}
.table-design tr {
    border-bottom: var(--px-border-1-5) solid var(--gray);
}
.table-design thead tr:first-child {
    border-bottom: var(--px-border-1-5) solid var(--green);
}
.table-design th {
    background: #fff;
    border-right: var(--px-border-1-5) solid var(--green);
    text-align: center;
    vertical-align: middle;
    padding: var(--px-20) var(--px-30);
}
.table-design .spw-cell {
    background: var(--lightgreen);
}
.table-design .spw-cell:first-child {
    background: var(--lightgreen);
    text-align: center;
    vertical-align: middle;
    padding: var(--px-20) var(--px-30);
}
.table-design td {
    background: #fff;
    border-right: var(--px-border-1-5) solid var(--green);
    text-align: center;
    vertical-align: middle;
    padding: var(--px-20) var(--px-30);
    width: 26%;
}
.table-design tr th:first-child,
.table-design tr td:first-child {
    text-align: left;
}
.table-design tr th:last-child,
.table-design tr td:last-child {
    border-right: 0;
    text-align: center;
    vertical-align: middle;
    padding: var(--px-20) var(--px-30);
}
.table-design tbody th img,
.table-design tbody td img {
    width: var(--px-28);
    height: var(--px-28);
}
.table-design .first-cell {
    width: 13.0208vw;
}
@media screen and (max-width: 480px) {
    .table-design {
        border: var(--px-1) solid var(--gray);
        width: 100%;
    }
    .table-design tr {
        border-bottom: var(--px-border-1-5) solid var(--gray);
    }
    .table-design thead tr:first-child {
        border-bottom: var(--px-border-1-5) solid var(--green);
    }
    .table-design th {
        background: #fff;
        border-right: var(--px-border-1-5) solid var(--green);
        text-align: center;
        vertical-align: middle;
        padding: 0;
    }
    .table-design .spw-cell {
        background: var(--lightgreen);
    }
    .table-design .spw-cell:first-child {
        background: var(--lightgreen);
        text-align: center;
        vertical-align: middle;
        padding: 0;
    }
    .table-design td {
        background: #fff;
        border-right: var(--px-border-1-5) solid var(--green);
        text-align: center;
        vertical-align: middle;
        padding: 0;
        width: auto;
    }
    .table-design tr th:first-child,
    .table-design tr td:first-child {
        text-align: center;
    }
    .table-design tr th:last-child,
    .table-design tr td:last-child {
        border-right: 0;
        text-align: center;
        vertical-align: middle;
        padding: 0;
    }
    .table-design tr:first-child th,
    .table-design tr:first-child td {
        text-align: center;
        vertical-align: middle;
        height: var(--px-35);
    }
    .table-design tbody th img,
    .table-design tbody td img {
        width: var(--px-18);
        height: var(--px-18);
    }
    .table-design .first-cell {
        line-height: 150%;
        font-weight: 700;
        text-align: center;
        width: var(--px-40);
        height: var(--px-70);
    }
}
/*
*   header
*/
header {
    background: var(--white);
    box-sizing: border-box;
    display: flex;
    align-items: center; 
    justify-content: space-between;
    position: fixed;
    top: 0;
    width: 100%;
    height: var(--px-86);
    z-index: 9999999999999;
}
header #logo img {
    box-sizing: border-box;
    padding: 0 0 0 3vw;
    height: var(--px-46);
}
header ul,
header ul li,
header ul li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
}
header ul li a {
    line-height: 130%;
    padding: 0 var(--px-14);
    transition: all 0.3s;
}
header ul li a:hover {
    color: var(--ctagreen);
}
header ul li.link-official a {
    background: var(--darkgreen);
    color: var(--white);
    opacity: 1;
    transition: all .3s;
}
header ul li.link-official a:hover {
    opacity: 0.7;
}
header ul li.link-reserved a img:first-child {
    width: var(--px-28);
    height: var(--px-28);
}
header ul li.link-reserved a img:last-child {
    width: var(--px-26);
    height: var(--px-12);
}
/* [jQuery] hover */
header ul li.link-reserved a.base {
    opacity: 1;
    background: var(--orange-gradation);
    color: var(--white);
    font-size: var(--px-23);
    position: relative;
    padding: 0 var(--px-5);
    transition: none;
}
header ul li.link-reserved a.base img {
    padding: 0 var(--px-14);
}
header ul li.link-reserved a.hover {
    opacity: 0;
    position: absolute;
    background: var(--lightorange);
    color: var(--orange);
    font-size: var(--px-23);
    padding: 0 var(--px-5);
    transition: none;
}
header ul li.link-reserved a.hover img {
    padding: 0 var(--px-14);
}
header .hamburger-menu {
    display: none;
}
@media screen and (max-width: 480px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 19.2vw;
    }
    header #logo {
        box-sizing: border-box;
        padding: 0 0 0 2vw;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 72vw;
        height: auto;
        z-index: 9999999999999;
    }
    header #logo img {
        width: 100%;
        height: auto;
    }
    header ul {
        display: none;
    }
    header .hamburger-menu {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        position: fixed;
        top: 0;
        right: 0;
        background: var(--green-gradation);
        width: 19.2vw;
        height: 19.2vw;
        z-index: 9999999999999;
        transition: all 0.3s;
    }
    header .hamburger-menu .hamburger-line {
        background: var(--white);
        margin: 2px auto;
        width: 50%;
        height: 1px;
        transition: background-color 0.3s;
    }
    header .active {
        opacity: 1;
        z-index: 999999999999;
    }
    header .active .hamburger-line:nth-child(1) {
        transform: translateY(15px) rotate(45deg);
    }
    header .active .hamburger-line:nth-child(2) {
        opacity: 0;
    }
    header .active .hamburger-line:nth-child(3) {
        transform: translateY(-15px) rotate(-45deg);
    }
}

/*
*   #fv
*/
#fv {
    width: 100%;
    margin: var(--px-86) 0 0 0;
}
#fv .fv-container {
    background: url(../img/fv-background-right.png) no-repeat top right;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
}
#fv .fv-container .fv-image {
    width: var(--px-fv-image);
}
#fv .fv-container .fv-contents {
    color: var(--black);
    font-size: var(--px-34);
    font-family: var(--font-mincho);
    margin: 0 0 0 var(--px-negative-468);
}
#fv .fv-container .fv-contents h2 p {
    font-weight: 400;
    letter-spacing: 0.1em;
    margin: var(--px-29) 0 0 0;
}
#fv .fv-container .fv-contents h2 .fv-text-1st {
    font-size: var(--px-34);
}
#fv .fv-container .fv-contents h2 .fv-text-2nd {
    font-size: var(--px-99);
    letter-spacing: 0.05em;
    line-height: 130%;
}
#fv .fv-container .fv-contents h2 .fv-text-3rd {
    font-size: var(--px-28);
}
#fv .fv-container .fv-contents .banner-link-reserve {
    font-size: var(--px-28);
    letter-spacing: 0.1em;
    margin: var(--px-48) 0 0 0;
}

#fv .fv-cta {
    position: relative;
    margin: var(--px-96) 0; 
    height: 100%;
}
#fv .fv-cta .fv-rectangle {
    background: var(--lightgreen);
    position: absolute;
    top: var(--px-negative-295);
    right: 0;
    width: var(--px-fv-rectangle);
    height: var(--px-759);
    z-index: -9999;
}
#fv .fv-cta .cta {
    margin: 0 auto;
}
@media screen and (max-width: 480px) {
    #fv {
        margin: 0;
        padding: 19.2vw 0 0 0;
        width: 100%;
    }
    #fv .fv-container {
        background: url(../img/fv-background-right.png) no-repeat top right;
        background-size: 50%;
        align-items: flex-start;
        flex-direction: column;
        width: 100%;
        height: auto;
    }
    #fv .fv-container .fv-image {
        object-fit: cover;
        object-position: 25% 0%;
        width: 90vw;
        height: 25.75rem;
    }
    #fv .fv-container .fv-contents {
        color: var(--black);
        font-family: var(--font-mincho);
        margin: 3.25rem auto;
    }
    #fv .fv-container .fv-contents h2 {}
    #fv .fv-container .fv-contents h2 p {
        font-weight: 400;
        letter-spacing: 0.1em;
        margin: 0;
    }
    #fv .fv-container .fv-contents h2 .fv-text-1st {
        font-size: 4.8vw;
        font-weight: 400;
    }
    #fv .fv-container .fv-contents h2 .fv-text-2nd {
        font-size: 12vw;
        letter-spacing: 0.05em;
        line-height: 130%;
        margin: 1.25rem 0;
    }
    #fv .fv-container .fv-contents h2 .fv-text-3rd {
        font-size: var(--px-15);
    }
    #fv .fv-container .fv-contents a.banner-link-reserve {
        display: none;
    }
    #fv .fv-cta {
        background: var(--lightgreen);
        display: block;
        position: static;
        margin: 0; 
        padding: var(--px-70) 0;
        height: auto;
    }
    #fv .fv-cta .fv-rectangle {
        display: none;
    }
    #fv .fv-cta .cta {
        margin: 0 auto;
    }
}

/*
*   #feature
*/
#feature {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: var(--px-200) auto var(--px-100) auto;
    width: var(--px-wrapper);
}
#feature .feature-title {
    width: 50%;
}
#feature .feature-title h2 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
}
#feature .feature-title h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 1rem 0 3rem 0;
}
#feature .feature-title img {
    width: var(--px-585);
    box-shadow: var(--blackshadow);
}
#feature .feature-list {
    counter-reset: number 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 50%;
}
#feature .feature-list li:first-child {
    margin: var(--px-30) 0 0 0;
}
#feature .feature-list li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-bottom: var(--px-border-1-25) solid var(--darkgray);
    position: relative;
    height: var(--px-130);
}
#feature .feature-list li h4 {
    color: var(--green);
    font-size: var(--px-28);
    font-family: var(--font-mincho);
    font-weight: 500;
    padding: 2.3438vw 0 0 5.5rem;
}
#feature .feature-list li h4:before {
    counter-increment: number;
    content: counter(number) ". ";
    display: block;
    color: var(--ctagreen);
    font-size: var(--px-70);
    font-family: var(--font-mincho);
    position: absolute;
    top: var(--px-30);
    left: -5.5rem;
    margin: 0 0 0 5.5rem;
}
#feature .feature-list li p {
    font-size: var(--px-16);
    font-weight: 500;
    line-height: 1.7188vw;
    padding: 0 0 0 5.5rem;
}
@media screen and (max-width: 480px) {
    #feature {
        display: block;
        margin: 0;
        padding: 19.2vw 0 0 0;
        width: 100%;
    }
    #feature .feature-title {
        text-align: center;
        width: 100%;
    }
    #feature .feature-title h2 {
        font-size: var(--px-20);
    }
    #feature .feature-title h3 {
        font-size: var(--px-22);
        margin: 1rem 0;
    }
    #feature .feature-title img {
        display: none;
    }
    #feature .feature-list {
        counter-reset: number 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 0 auto;
        width: 90vw;
    }
    #feature .feature-list li:first-child {
        margin: var(--px-30) 0 0 0;
    }
    #feature .feature-list li {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        border-bottom: var(--px-border-1-25) solid var(--darkgray);
        position: relative;
        margin: 0 auto;
        width: 90vw;
        height: var(--px-100);
    }
    #feature .feature-list li h4 {
        font-size: var(--px-18);
        font-weight: 700;
        letter-spacing: 0.01em;
        margin: var(--px-30) 0 var(--px-10) 0;
        padding: 0 0 0 3rem;
    }
    #feature .feature-list li h4:before {
        counter-increment: number;
        content: counter(number) ". ";
        display: block;
        color: var(--ctagreen);
        font-size: var(--px-48);
        font-family: var(--font-mincho);
        font-weight: 400;
        position: absolute;
        top: 22.5%;
        left: 0;
        margin: 0;
    }
    #feature .feature-list li p {
        font-size: var(--px-14);
        text-wrap: nowrap;
        line-height: 1;
        padding: 0 0 0 3rem;
    }
    #feature img.sp-only {
        box-shadow: var(--blackshadow);
        margin: var(--px-50) auto;
        width: 90vw;
    }
}

/*
*   #breakpoint
*/
#breakpoint {
    position: relative;
    margin: 15rem 0 0 0;
    width: 100%;
    height: auto;
}
#breakpoint .feature-text-slick {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 6.25rem;
    z-index: 999999;
}
#breakpoint .feature-text-slick li p {
    color: var(--green);
    font-size: 96px;
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.13em;
    text-wrap: nowrap;
}
#breakpoint .feature-text-slick.slick-slider {
    z-index: -999;
}
#breakpoint .feature-text-slick .slick-list p {
    padding: 0 20px;
    width: auto;
}
#breakpoint .background-image-left {
    position: absolute;
    top: -60vw;
    left: 0;
    width: 45.3125vw;
    height: auto;
    z-index: -9999;
}
#breakpoint .background-image-right {
    position: absolute;
    top: -30vw;
    right: 0;
    width: 45.3125vw;
    height: auto;
    z-index: -9999;
}
@media screen and (max-width: 480px) {
    #breakpoint {
        margin: 5rem 0 0 0;
    }
    #breakpoint .feature-text-slick {
        height: 6.25rem;
    }
    #breakpoint .feature-text-slick li p {
        font-size: 40px;
        padding: var(--px-10);
    }
    #breakpoint .feature-text-slick.slick-slider {
        z-index: -999;
    }
    #breakpoint .feature-text-slick .slick-list p {
        padding: var(--px-10) var(--px-20);
        width: auto;
    }
    #breakpoint .background-image-left {
        position: absolute;
        top: -85vw;
        left: 0;
        width: 80vw;
        height: auto;
        z-index: -9999;
    }
    #breakpoint .background-image-right {
        position: absolute;
        top: -40vw;
        right: 0;
        width: 80vw;
        height: auto;
        z-index: -9999;
    }
}


/*
*   #recommend
*/
#recommend {
    margin: 6.25rem auto;
    width: var(--px-wrapper);
}
#recommend h2 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
    text-align: center;
}
#recommend h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 1rem 0 3rem 0;
    text-align: center;
}
#recommend ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    counter-reset: num 0;
}
#recommend ul li {
    background: var(--white);
    border: 1px solid var(--green);
    position: relative;
    width: 19.5313vw;
    height: 16.4583vw;
}
#recommend ul li:before {
    counter-increment: num;
    content: counter(num);
    color: var(--green);
    font-size: var(--px-22);
    font-family: var(--font-mincho);
    position: absolute;
    top: 1.2vw;
    left: 1.1vw;
}
#recommend ul li h4 {
    font-size: var(--px-22);
    font-family: var(--font-mincho);
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 0.95vw 0 0 2.23vw;
    text-align: left;
}
#recommend ul li img {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 9vw;
}
#recommend .recommend-swiper {
    display: none;
}
@media screen and (max-width: 480px) {
    #recommend {
        display: block;
        margin: 0 auto;
        padding: 19.2vw 0;
        width: 90vw;
    }
    #recommend h2 {
        font-size: var(--px-20);
    }
    #recommend h3 {
        font-size: var(--px-22);
    }
    #recommend ul {
        display: none;
    }
    #recommend .recommend-swiper {
        counter-reset: num 0;
        display: block;
        position: relative;
        width: 100%;
        height: 100%;
        padding: 0 0 20px 0;
    }
    #recommend .swiper-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: none;
    }
    #recommend .swiper-slide {
        width: 100%;
        height: auto;
    }
    #recommend .swiper-slide .inner {
        background: var(--white);
        border: 1px solid var(--green);
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
        background: var(--white);
        border: 1px solid var(--green);
        position: relative;
        margin: var(--px-10) auto;
        width: 74.4vw !important;
        height: 62.6667vw !important;
    }
    #recommend .swiper-slide .inner:before {
        counter-increment: num;
        content: counter(num, decimal-leading-zero);
        color: var(--green);
        font-size: var(--px-18);
        font-family: var(--font-mincho);
        position: absolute;
        top: var(--px-15);
        left: var(--px-15);
    }
    #recommend .swiper-slide .inner h4 {
        font-size: var(--px-16);
        font-family: var(--font-mincho);
        letter-spacing: 0.01em;
        line-height: 150%;
        position: absolute;
        top: var(--px-13);
        left: var(--px-44);
        margin: 0;
        text-align: left;
    }
    #recommend .swiper-slide .inner img {
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        height: 65%;
    }
    #recommend .swiper-slide .inner:nth-child(3) img {
        position: absolute;
        left: 50%;
        bottom: 10%;
        transform: translateX(-50%);
        height: 55%;
    }
    #recommend .swiper-button-prev{
        left: 0;
    }
    #recommend .swiper-button-next{
        right: 0;
    }
    #recommend .swiper-button-prev,
    #recommend .swiper-button-next,
    #recommend .swiper-button-prev:after,
    #recommend .swiper-button-next:after,
    #recommend .swiper-button-prev:before,
    #recommend .swiper-button-next:before {
        color: var(--green);
        font-size: 24px !important;
        font-weight: normal;
    }
    #recommend .swiper-horizontal>.swiper-pagination-bullets,
    #recommend .swiper-pagination-bullets.swiper-pagination-horizontal,
    #recommend .swiper-pagination-custom,
    #recommend .swiper-pagination-fraction {
        bottom: var(--swiper-pagination-bottom, 10px);
        top: var(--swiper-pagination-top, auto);
    }
    #recommend .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
    #recommend .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 12px);
    }
    #recommend .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
    }
    #recommend .swiper-pagination-bullet-active {
        background: var(--green);
    }
    #recommend .swiper-button-disabled {
        opacity: 0 !important;
    }
}

/*
*   #spw  
*/
#spw {
    background: var(--gray);
    padding: 6.25rem 0;
    width: 100%;
    z-index: 1;
}
#spw .spw-wrapper {
    margin: 6.25rem auto;
    width: var(--px-wrapper);
}
#spw h2 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
    text-align: center;
}
#spw h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 3rem 0 3rem 0;
    text-align: center;
}
#spw .spw-header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    margin: 0 0 5.2083vw 0;
}
#spw .spw-header .spw-header-title {
    margin: 0 0 0 5%;
    width: 45%;
}
#spw .spw-header .spw-header-title h4 {
    color: var(--black);
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    line-height: 150%;
    margin: 0 0 var(--px-30) 0;
}
#spw .spw-header .spw-header-title h4 span{
    color: var(--green);
}
#spw .spw-header .spw-header-title p {
    line-height: 200%;
}
#spw .spw-header .spw-header-list {
    position: relative;
    width: 50%;
}
#spw .spw-header .spw-header-list ul {
    display: flex;
    align-items: center;
    position: relative;
}
#spw .spw-header .spw-header-list ul li {
    margin: 0 -2vw 0 0;
}
#spw .spw-header .spw-header-list ul li h5 {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border: var(--px-border-1-5) solid var(--green);
    border-radius: 9999px;
    color: var(--green);
    font-size: var(--px-28);
    font-family: var(--font-mincho);
    line-height: 150%;
    text-align: center;
    width: 15.3646vw;
    height: 15.3646vw;
}
#spw .spw-header .spw-header-list .spw-background-image {
    position: absolute;
    top: -15vw;
    left: 0;
    width: 45.3125vw;
    height: auto;
    z-index: -1;
    user-select: none;
}
#spw .spw-contents {
    margin: 0 auto;
    width: auto;
}
#spw .spw-contents h3 {
    display: none;
}
#spw .spw-contents nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 var(--px-20) 0;
}
#spw .spw-contents nav ul li {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--green);
    color: var(--white);
    font-size: var(--px-20);
    font-family: var(--font-mincho);
    letter-spacing: 0.1em;
    opacity: 1;
    padding: 0 var(--px-20);
    width: 30%;
    height: 4.2708vw;
    z-index: 3333;
}
#spw .spw-contents nav ul li:hover {
    opacity: 0.7;
    transition: all .3s;
}
#spw .spw-contents nav ul li img {
    width: 0.9375vw;
    height: var(--px-12);
}
@media screen and (max-width: 480px) {
    #spw {
        background: var(--gray);
        position: relative;
        padding: 3rem 0;
        width: 100%;
        z-index: 1;
    }
    #spw .spw-wrapper {
        margin: 3rem auto;
        width: var(--px-inner-wrapper);
    }
    #spw h2 {
        color: var(--green);
        font-size: var(--px-20);
        font-family: var(--font-mincho-eng);
        letter-spacing: 0.1em;
        text-align: center;
    }
    #spw h3 {
        font-size: var(--px-22);
        margin: 1rem 0;
    }
    #spw .spw-header {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column-reverse;
        margin: 0 0 5.2083vw 0;
    }
    #spw .spw-header .spw-header-title {
        margin: 0 0 0 5%;
        width: 100%;
    }
    #spw .spw-header .spw-header-title h4 {
        color: var(--black);
        font-size: var(--px-23);
        font-family: var(--font-mincho);
        font-weight: 700;
        line-height: 170%;
        margin: var(--px-30) auto;
    }
    #spw .spw-header .spw-header-title h4 span{
        color: var(--green);
    }
    #spw .spw-header .spw-header-title p {
        line-height: 200%;
        letter-spacing: 0.05em;
        margin: 0;
    }
    #spw .spw-header .spw-header-title p br {
        display: none;
    }
    #spw .spw-header .spw-header-title p .spbr {
        display: none;
    }
    #spw .spw-header .spw-header-list {
        position: relative;
        width: 100%;
        height: auto;
    }
    #spw .spw-header .spw-header-list ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    #spw .spw-header .spw-header-list ul li {
        margin: 0 0 0 -30vw;
    }
    #spw .spw-header .spw-header-list ul li:nth-child(2) {
        margin: -15vw -30vw 0 0;
        position: relative;
    }
    #spw .spw-header .spw-header-list ul li:nth-child(3) {
        margin: -15vw 0 0 -30vw;
        z-index: 1;
    }
    #spw .spw-header .spw-header-list ul li h5 {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--white);
        border: var(--px-border-1-5) solid var(--green);
        border-radius: 9999px;
        color: var(--green);
        font-size: var(--px-18);
        font-family: var(--font-mincho);
        font-weight: 700;
        line-height: 150%;
        text-align: center;
        width: 46.9333vw;
        height: 46.9333vw;
    }
    #spw .spw-header .spw-header-list .spw-background-image {
        position: absolute;
        top: 7vw;
        left: -10vw;
        width: 100%;
        height: auto;
        z-index: -1;
        user-select: none;
    }
    #spw .spw-contents {
        width: 87.2vw;
    }
    #spw .spw-contents h3{
        display: flex;
    }
    #spw .spw-contents nav{
        display: none;
    }
    #spw .spw-contents nav ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: var(--px-15) 0;
        width: 100%;
        margin: 0 0 var(--px-20) 0;
    }
    #spw .spw-contents nav ul li,
    #spw .spw-contents .tab-item-sp {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--green);
        color: var(--white);
        font-size: var(--px-20);
        font-family: var(--font-mincho);
        letter-spacing: 1;
        line-height: 150%;
        opacity: 1;
        padding: 0 var(--px-24);
        width: 85%;
        height: 21.8667vw;
        z-index: 3333;
    }
    #spw .spw-contents .tab-item-sp {
        text-align: left;
    }
    #spw .spw-contents nav ul li:hover,
    #spw .spw-contents .tab-item-sp:hover {
        opacity: 0.7;
        transition: all .3s;
    }
    #spw .spw-contents nav ul li img,
    #spw .spw-contents .tab-item-sp img {
        width: var(--px-18);
        height: var(--px-10);
    }
}

/*
*   #spw > .spw-content-a
*/
#spw .spw-contents-a {
    background: var(--white);
    box-sizing: border-box;
    display: none;
    align-items: flex-start;
    justify-content: space-between;
    padding: var(--px-35);
    width: 100%;
}
#spw .spw-contents-a h3 {
    display: none;
}
#spw .spw-contents-a .spw-contents-a-description {
    width: 50%;
}
#spw .spw-contents-a .spw-contents-a-description h4 {
    color: var(--green);
    font-size: var(--px-22);
    font-family: var(--font-mincho);
    font-weight: 700;
    padding: 0 0 var(--px-35) 0;
}
#spw .spw-contents-a .spw-contents-a-description p {
    font-size: var(--px-16);
    line-height: 200%;
    padding: 0 0 var(--px-35) 0;
}
#spw .spw-contents-a .spw-contents-a-flow {
    width: 50%;
}
#spw .spw-contents-a .spw-contents-a-flow ol {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}
#spw .spw-contents-a .spw-contents-a-flow ol li {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: var(--px-14);
    text-align: center;
    position: relative;
    margin: 0 0 var(--px-19) 0;
    width: calc(100% / 3);
    height: var(--px-220);
}
#spw .spw-contents-a .spw-contents-a-flow ol li:nth-child(-n+3) {
    border-bottom: var(--px-border-1-25) solid var(--darkgray);
}
#spw .spw-contents-a .spw-contents-a-flow ol li > img.right-triangle {
    position: absolute;
    width: var(--px-30);
    height: var(--px-36);
    right: 0;
    top: 40%;
    transform: translate(0, -50%);
}
#spw .spw-contents-a .spw-contents-a-flow ol li h5 {
    display: flex;
    align-items: center; 
    justify-content: center; 
    border: var(--px-border-1-25) solid var(--green);
    color: var(--green);
    font-size: var(--px-22);
    font-family: var(--font-mincho);
    line-height: 150%;
    width: var(--px-206);
    height: var(--px-186);
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image {
    display: flex;
    align-items: center; 
    justify-content: center; 
    flex-direction: column;
    position: relative;
    width: 100%;
    height: var(--px-220);
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img {
    height: var(--px-125);
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image p {
    line-height: 150%;
    width: 100%;
    height: var(--px-55);
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-02-text {
    width: 3.4375vw;
    height: 2.2396vw;
    position: absolute;
    left: 2.55vw;
    top: 0;
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-04-text {
    width: 5.0521vw;
    height: 2.3438vw;
    position: absolute;
    right: -1.26vw;
    top: -0.25vw;
}
#spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-05-text {
    width: 5.5729vw;
    height: 2.1296vw;
    position: absolute;
    right: 2.3333vw;
    top: -0.2083vw;
}
@media screen and (max-width: 480px) {
    #spw .spw-contents-a {
        background: var(--white);
        display: none;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 0 auto;
        padding: var(--px-48) var(--px-24);
    }
    #spw .spw-contents-a .spw-contents-a-description {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #spw .spw-contents-a .spw-contents-a-description h4 {
        color: var(--green);
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 700;
        padding: 0 0 var(--px-16) 0;
    }
    #spw .spw-contents-a .spw-contents-a-description p br {
        display: none;
    }
    #spw .spw-contents-a .spw-contents-a-description p br.spbr {
        display: inline;
    }
    #spw .spw-contents-a .spw-contents-a-description p {
        font-size: var(--px-14);
        line-height: 200%;
        padding: 0 0 var(--px-35) 0;
    }
    #spw .spw-contents-a .spw-contents-a-flow {
        width: 100%;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        flex-wrap: nowrap;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        font-size: var(--px-14);
        text-align: center;
        position: relative;
        margin: 0 auto var(--px-19) auto;
        width: 100%;
        height: auto;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li:nth-child(-n+2) {
        border: 0;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li:nth-child(3) {
        border-bottom: var(--px-border-1-25) solid var(--green);
        padding: 0 0 var(--px-24) 0;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li:nth-child(3) .spw-contents-a-flow-image {
        background: none;
        margin: -4.5333vw 0 0 0;
        padding: 0;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li:last-child .spw-contents-a-flow-image {
        background: none;
        padding: var(--px-15) 0;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li > img.right-triangle {
        display: none;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li h5 {
        display: flex;
        align-items: center; 
        justify-content: center; 
        border: var(--px-3) solid var(--green);
        color: var(--green);
        font-size: var(--px-18);
        font-family: var(--font-mincho);
        font-weight: 700;
        line-height: 150%;
        margin: 0 auto;
        padding: var(--px-16) 0;
        width: 100%;
        height: auto;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li h5 br {
        display: none;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li h5 br.spbr {
        display: inline;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image {
        background: url(../img/under-triangle.png) no-repeat;
        background-position: left 9.6vw bottom 3vw;
        background-size: 5.8667vw;
        display: flex;
        align-items: center; 
        justify-content: space-between;
        flex-direction: row;
        margin: 0 auto;
        padding: var(--px-15) 0 var(--px-50) 0;
        width: 100%;
        height: auto;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img {
        width: 35%;
        height: auto;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image p {
        font-size: var(--px-14);
        line-height: 150%;
        text-align: left;
        text-wrap: wrap;
        width: 60%;
        height: auto;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image p br{
        display: none;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image p br.spbr{
        display: i;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-02-text {
        display: none;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-04-text {
        position: absolute;
        top: -4.8vw;
        left: 8vw;
        right: auto;
        width: 22.4vw;
        height: 10.1333vw;
    }
    #spw .spw-contents-a .spw-contents-a-flow ol li .spw-contents-a-flow-image img.spw-a-05-text {
        position: absolute;
        top: -1.8667vw;
        left: 6.6667vw;
        right: auto;
        width: 22.4vw;
        height: 9.0667vw;
    }

}

/*
*   #spw > .spw-content-b
*/
#spw .spw-contents-b {
    background: var(--white);
    box-sizing: border-box;
    display: none; /* display: flex; */
    align-items: center;
    justify-content: space-between;
    padding: var(--px-35) 0;
    width: 100%;
}
#spw .spw-contents-b h3 {
    display: none;
}
#spw .spw-contents-b .spw-contents-b-list {
    counter-reset: number 0;
    width: 55.5%;
}
#spw .spw-contents-b .spw-contents-b-list li {
    text-align: center;
}
#spw .spw-contents-b .spw-contents-b-list li .under-triangle {
    width: var(--px-28);
    height: var(--px-24);
}
#spw .spw-contents-b .spw-contents-b-list li p {
    position: relative;
    background: var(--lightgreen);
    border-top: var(--px-border-1-25) solid var(--gray);
    border-bottom: var(--px-border-1-25) solid var(--gray);
    text-align: left;
    margin: var(--px-10) var(--px-35);
    padding: var(--px-24) 0 var(--px-24) 4rem;
}
#spw .spw-contents-b .spw-contents-b-list li p img {
    display: none;
}
#spw .spw-contents-b .spw-contents-b-list li p:before {
    counter-increment: number;
    content: counter(number);
    display: block;
    background: var(--green);
    border-radius: 9999rem;
    color: var(--white);
    position: absolute;
    left: var(--px-10);
    top: 50%;
    transform: translate(0, -50%);
    line-height: var(--px-24);
    text-align: center;
    padding: var(--px-4);
    width: var(--px-24);
    height: var(--px-24);
}
#spw .spw-contents-b .spw-contents-b-sub {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0 1.25%;
    width: 42%;
}
#spw .spw-contents-b .spw-contents-b-sub li {
    margin: 0 var(--px-20) 0 0; 
}
#spw .spw-contents-b .spw-contents-b-sub li:last-child {
    margin: 0; 
}
#spw .spw-contents-b .spw-contents-b-sub li img {
    width: 9.6354vw;
    height: auto; 
}
@media screen and (max-width: 480px) {
    #spw .spw-contents-b {
        background: var(--white);
        display: none; /* display: flex; */
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: var(--px-35) 0;
        width: 100%;
    }
    #spw .spw-contents-b .spw-contents-b-list {
        counter-reset: number 0;
        width: 85%;
    }
    #spw .spw-contents-b .spw-contents-b-list li {
        text-align: center;
    }
    #spw .spw-contents-b .spw-contents-b-list li .under-triangle {
        width: var(--px-28);
        height: var(--px-24);
    }
    #spw .spw-contents-b .spw-contents-b-list li p {
        position: relative;
        background: var(--lightgreen);
        border-top: var(--px-border-1-25) solid var(--gray);
        border-bottom: var(--px-border-1-25) solid var(--gray);
        font-size: var(--px-14);
        line-height: 150%;
        letter-spacing: 0.01em;
        text-align: left;
        margin: var(--px-14) 0 var(--px-7) 0;
        padding: var(--px-14) var(--px-24) var(--px-14) 4rem;
    }
    #spw .spw-contents-b .spw-contents-b-list li img.under-triangle {
        display: block;
        margin: var(--px-14) auto;
    }
    #spw .spw-contents-b .spw-contents-b-list li p:before {
        counter-increment: number;
        content: counter(number);
        display: block;
        background: var(--green);
        border-radius: 9999rem;
        color: var(--white);
        position: absolute;
        left: var(--px-10);
        top: var(--px-22);
        transform: translate(0, -50%);
        line-height: var(--px-16);
        text-align: center;
        width: var(--px-16);
        height: var(--px-16);
    }
    #spw .spw-contents-b .spw-contents-b-sub {
        display: none;
    }
}

/*
*   #spw > .spw-content-c
*/
#spw .spw-contents-c {
    background: var(--white);
    box-sizing: border-box;
    display: none; /* display: flex; */
    align-items: center !important;
    justify-content: center;
    flex-direction: column;
    padding: var(--px-35);
    width: 100%;
}
#spw .spw-contents-c h3 {
    display: none;
}
#spw .spw-contents-c h5 {
    color: var(--green);
    font-size: var(--px-22);
    font-family: var(--font-mincho);
    font-weight: 700;
    padding: var(--px-35) 0;
    text-align: center;
}
#spw .spw-contents-c .spw-contents-c-list {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding: var(--px-35);
    width: 100%;
}
#spw .spw-contents-c .spw-contents-c-list li {
    border: var(--px-border-1-25) solid var(--green);
    margin: 0 var(--px-16) 0 0;
    padding: var(--px-16);
    width: 12.1875vw;
    height: auto;
}
#spw .spw-contents-c .spw-contents-c-list li:last-child {
    margin: 0;
}
#spw .spw-contents-c .spw-contents-c-list li h6 {
    border-bottom: var(--px-border-1-25) solid var(--gray);
    color: var(--green);
    font-size: var(--px-20);
    font-family: var(--font-mincho);
    font-weight: 700;
    text-align: center;
    padding: var(--px-16) 0;
}
#spw .spw-contents-c .spw-contents-c-list li p {
    line-height: 150%;
    text-align: center;
    padding: var(--px-16) 0;
}
@media screen and (max-width: 480px) {
    #spw .spw-contents-c {
        background: var(--white);
        display: none; /* display: flex; */
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 0;
    }
    #spw .spw-contents-c h5 {
        color: var(--green);
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 700;
        line-height: 150%;
        padding: var(--px-24);
        text-align: center;
    }
    #spw .spw-contents-c .spw-contents-c-list {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: var(--px-16);
        margin: 0 auto var(--px-24) auto;
        padding: 0;
        width: var(--px-inner-wrapper);
    }
    #spw .spw-contents-c .spw-contents-c-list li {
        border: var(--px-border-1-25) solid var(--green);
        margin: 0 auto;
        padding: 0; 
        width: 100%;
        height: auto;
    }
    #spw .spw-contents-c .spw-contents-c-list li:last-child {
        margin: 0;
    }
    #spw .spw-contents-c .spw-contents-c-list li h6 {
        border-bottom: var(--px-border-1-25) solid var(--gray);
        color: var(--green);
        font-size: var(--px-20);
        font-family: var(--font-mincho);
        font-weight: 700;
        text-align: center;
        padding: var(--px-16) 0;
    }
    #spw .spw-contents-c .spw-contents-c-list li p {
        line-height: 150%;
        font-size: var(--px-14);
        text-align: center;
        padding: var(--px-16) 0;
    }
    #spw .spw-contents-c .spw-contents-c-list li p br {
        display: none;
    }
    #spw .spw-contents-c .spw-contents-c-list li p br.spbr {
        display: inline;
    }
}
/*
*   #spw > .spw-difference
*/
#spw .spw-difference {
    margin: 3rem 0 1rem 0;
}
#spw .spw-difference h3 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho);
    margin: 1.5rem 0;
    text-align: left;
}
#spw .spw-difference h3:before {
    margin: 0 0.3906vw 0 0;
}
#spw .spw-difference .spw-difference-information {
    display: none;
}
@media screen and (max-width: 480px) {
    #spw .spw-difference h3 {
        color: var(--green);
        font-size: var(--px-18);
        font-family: var(--font-mincho);
        font-weight: 700;
        margin: 3rem 0 1.5rem 0;
        text-align: left;
    }
    #spw .spw-difference h3:before {
        margin: 0 var(--px-5) 0 0;
    }
    #spw .spw-difference .table-design {
        opacity: 1;
    }
    #spw .spw-difference .table-design:hover {
        opacity: 0.7;
    }
    #spw .spw-difference .table-design thead th:first-child {
        width: 25%;
    }
    #spw .spw-difference .table-design thead th {
        width: 25%;
    }
    #spw .spw-difference .table-design tbody tr:first-child {
        border-bottom: var(--px-border-1-25) solid var(--gray);
    }
    #spw .spw-difference .table-design th,
    #spw .spw-difference .table-design td {
        font-size: 2.4vw;
        letter-spacing: 0.05em;
        line-height: 150%;
        height: var(--px-36);
    }
    #spw .spw-difference .spw-difference-information {
        display: block;
        color: #868585;
        font-size: var(--px-14);
        text-align: center;
        padding: var(--px-10) 0;
    }
}


/*
*   #flow
*/
#flow {
    margin: 6.25rem auto;
    width: var(--px-wrapper);
}
#flow h2 {
    color: var(--ctagreen);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
    text-align: center;
}
#flow h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 1rem 0 3rem 0;
    text-align: center;
}
#flow ol {
    margin: 3.125vw auto;
    width: var(--px-inner-wrapper);
}
#flow ol li {
    border-bottom: var(--px-border-1-25) solid var(--gray);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--px-30) 0;
    width: 100%;
}
#flow ol li:first-child {
    border-top: var(--px-border-1-25) solid var(--gray);
}
#flow ol li .flow-step {
    display: flex;
    align-items: center;
    justify-content: center;
}
#flow ol li .flow-step div {
    border: var(--px-1) solid var(--ctagreen); 
    border-radius: var(--px-113);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ctagreen);
    font-size: var(--px-24);
    font-family: var(--font-mincho);
    font-weight: 400;
    width: var(--px-113);
    height: var(--px-113);
}
#flow ol li .flow-step h4 {
    color: var(--ctagreen);
    font-size: var(--px-24);
    font-family: var(--font-mincho);
    font-weight: 400;
    padding: 0 var(--px-30);
    width: 10.5208vw;
}
#flow ol li p {
    font-size: var(--px-16);
    line-height: 150%;
    width: 50vw;
}
#flow .rectangle {
    color: var(--ctagreen);
    font-size: var(--px-24);
    font-weight: 500;
    text-align: left;
    letter-spacing: 0.175em;
    margin: 0 auto;
    width: var(--px-inner-wrapper);
}
#flow .rectangle:before {
    font-size: 80%;
    margin-right: var(--px-5);
}
#flow ul {
    margin: var(--px-20) auto;
    width: var(--px-inner-wrapper);
}
#flow ul li {
    font-size: var(--px-16);
    list-style-position: inside;
    text-wrap: nowrap;
    margin: var(--px-10) 0;
} 
#flow ul li:before {
    content: "・";
}
@media screen and (max-width: 480px) {
    #flow {
        margin: 5.25rem auto; 
        width: var(--px-wrapper);
    }
    #flow h2 {
        color: var(--ctagreen);
        font-size: var(--px-20);
        font-family: var(--font-mincho-eng);
        letter-spacing: 0.1em;
        text-align: center;
    }
    #flow h3 {
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 150%;
        margin: 1rem 0 3rem 0;
        text-align: center;
    }
    #flow ol {
        margin: 3.125vw auto;
        width: var(--px-inner-wrapper);
    }
    #flow ol li {
        border-bottom: var(--px-border-1-25) solid var(--gray);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
        padding: var(--px-30) 0;
        width: 100%;
    }
    #flow ol li:first-child {
        border-top: var(--px-border-1-25) solid var(--gray);
    }
    #flow ol li .flow-step {
        display: flex;
        align-items: center;
        justify-content: flex-start;        
        margin: 0 0 var(--px-24) 0;
        width: 100%;
    }
    #flow ol li .flow-step div {
        border: var(--px-1) solid var(--ctagreen); 
        border-radius: var(--px-113);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ctagreen);
        font-size: var(--px-17);
        font-family: var(--font-mincho);
        font-weight: 400;
        letter-spacing: 0.025em;
        width: var(--px-80);
        height: var(--px-80);
    }
    #flow ol li .flow-step h4 {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ctagreen);
        font-size: var(--px-20);
        font-family: var(--font-mincho);
        font-weight: 400;
        padding: 0 var(--px-20);
        width: auto;
        height: var(--px-80);
    }
    #flow ol li p {
        font-size: var(--px-14);
        line-height: 200%;
        letter-spacing: 0.05em;
        width: auto;
    }
    #flow ol li p br{
        display: none;
    }
    #flow ol li p br.spbr{
        display: inline;
    }
    #flow .rectangle {
        color: var(--ctagreen);
        font-size: var(--px-18);
        font-weight: 700;
        text-align: left;
        letter-spacing: 0.05em;
        margin: var(--px-30) 0 0 var(--px-40);
        position: relative;
        width: var(--px-302);
    }
    #flow .rectangle:before {
        font-size: var(--px-12);
        margin: 0;
        position: absolute;
        left: -5.3333vw;
    }
    #flow ul {
        margin: var(--px-20) auto;
        width: var(--px-inner-wrapper);
    }
    #flow ul li {
        font-size: var(--px-14);
        line-height: 200%;
        text-wrap: wrap;
        list-style-position: inside;
        margin: var(--px-10) 0;
    } 
    #flow ul li:before {
        content: "・";
    }
}


/*
*   #gallery
*/
#gallery {
    width: 100%;
}
#gallery .gallery-slick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
#gallery .gallery-slick li img {
}
#gallery .gallery-slick li:nth-child(even){
    margin: var(--px-50) 0 0 0;
    padding: 0 0 var(--px-50) 0;
}
#gallery .gallery-slick .slick-list img {
    margin: 0 calc(0 - var(--px-36));
}
#gallery .gallery-slick .slick-slide img {
    box-shadow: var(--blackshadow);
    margin: 0 var(--px-36);
}
#gallery .gallery-text-slick {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    z-index: 999999;
}
#gallery .gallery-text-slick li p {
    color: var(--green);
    font-size: 96px;
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.13em;
    text-wrap: nowrap;
}
#gallery .gallery-text-slick.slick-slider {
    margin-top: -36px;
    z-index: -999;
}
#gallery .gallery-text-slick .slick-list p {
    padding: 0 20px;
    width: auto;
}
@media screen and (max-width: 480px) {
    #gallery {
        width: 100%;
    }
    #gallery .gallery-slick {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
    #gallery .gallery-slick li img {
        width: 31.2vw;
        height: 41.6vw;
    }
    #gallery .gallery-slick li:nth-child(even){
        margin: var(--px-30) 0 0 0;
        padding: 0 0 var(--px-30) 0;
    }
    #gallery .gallery-slick .slick-list img {
        margin: 0 calc(0 - var(--px-36));
    }
    #gallery .gallery-slick .slick-slide img {
        box-shadow: var(--blackshadow);
        margin: 0 var(--px-16);
    }
    #gallery .gallery-text-slick {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
        z-index: 999999;
    }
    #gallery .gallery-text-slick li p {
        color: var(--green);
        font-size: 40px;
        font-family: var(--font-mincho-eng);
        letter-spacing: 0.13em;
        text-wrap: nowrap;
    }
    #gallery .gallery-text-slick.slick-slider {
        margin-top: -10.6667vw;
        z-index: -999;
    }
    #gallery .gallery-text-slick .slick-list p {
        padding: 20px;
        width: auto;
    }
}

/*
*   #faq
*/
#faq {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    margin: var(--px-200) auto var(--px-100) auto;
    width: var(--px-inner-wrapper);
}
#faq .faq-title {
    width: 30%;
}
#faq .faq-title h2 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
}
#faq .faq-title h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 1rem 0 3rem 0;
}
#faq .faq-accordion {
    width: 70%;
}
#faq .faq-accordion dt {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--gray);
    font-size: var(--px-20);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    padding: 0 var(--px-20);
    height: 4.0104vw;
}
#faq .faq-accordion dt p:before {
    content: "Q.";
    color: var(--green);
    font-size: var(--px-28);
    font-family: var(--font-mincho);
    font-weight: 500;
    padding: 0 var(--px-10) 0 0;
}
#faq .faq-accordion dt .plus-button {
    position: relative;
    width: var(--px-24);
    height: var(--px-24);
}
#faq .faq-accordion dt .plus-button:before{
	display: block;
	content: "";
	position: absolute;
	top: 0; 
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: var(--px-24);
	height: var(--px-border-1-5) ;
	background: var(--black);
	transition: .2s;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
#faq .faq-accordion dt .plus-button:after{
	display: block;
	content: "";
	position: absolute;
	top: 0; 
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: var(--px-24);
	height: var(--px-border-1-5) ;
	background: var(--black);
	transition: .3s;
}
#faq .faq-accordion dt .plus-button.on:before{
    display: block;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}
#faq .faq-accordion dt .plus-button.on:after{
    display: block;
	background-color: transparent;
}
#faq .faq-accordion dt .plus-button.reset:before{
    display: block;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
#faq .faq-accordion dt .plus-button.reset:after{
	background-color: var(--black);
	transition: .3s;
}
#faq .faq-accordion dd {
    background: var(--lightgreen);
    display: none;
    line-height: 150%;
    margin: 0 0 var(--px-10) 0;
    padding: var(--px-20);
}
#faq .faq-accordion dt:first-child + dd {
    display: block;
}
@media screen and (max-width: 480px) {
    #faq {
        display: block;
        margin: 5.25rem auto; 
        width: var(--px-wrapper);
    }
    #faq .faq-title {
        width: 100%;
    }
    #faq .faq-title h2 {
        color: var(--ctagreen);
        font-size: var(--px-20);
        font-family: var(--font-mincho-eng);
        letter-spacing: 0.1em;
        text-align: center;
    }
    #faq .faq-title h3 {
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 150%;
        margin: 1rem 0 3rem 0;
        text-align: center;
    }
    #faq .faq-accordion {
        margin: 0 auto;
        width: var(--px-inner-wrapper);
    }
    #faq .faq-accordion dt {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--gray);
        font-size: var(--px-16);
        font-family: var(--font-mincho);
        font-weight: 500;
        letter-spacing: 0.1em;
        padding: var(--px-10) var(--px-20);
        height: var(--px-58);
    }
    #faq .faq-accordion dt p {
        position: relative;
        line-height: 150%;
        letter-spacing: 0.01em;
        margin: 0 0 0 var(--px-30);
    }
    #faq .faq-accordion dt p:before {
        content: "Q.";
        color: var(--green);
        font-size: var(--px-20);
        font-family: var(--font-mincho-eng);
        font-weight: 500;
        position: absolute;
        top: 0;
        left: var(--px-negative-30);
        padding: 0;
    }
    #faq .faq-accordion dt .plus-button {
        position: relative;
        width: var(--px-18);
        height: var(--px-18);
    }
    #faq .faq-accordion dt .plus-button:before{
        display: block;
        content: "";
        position: absolute;
        top: 0; 
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: var(--px-18);
        height: var(--px-1);
        background: var(--black);
        transition: .2s;
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
    }
    #faq .faq-accordion dt .plus-button:after{
        display: block;
        content: "";
        position: absolute;
        top: 0; 
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: var(--px-18);
        height: var(--px-1);
        background: var(--black);
        transition: .3s;
    }
    #faq .faq-accordion dt .plus-button.on:before{
        display: block;
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
    }
    #faq .faq-accordion dt .plus-button.on:after{
        display: block;
        background-color: transparent;
    }
    #faq .faq-accordion dt .plus-button.reset:before{
        display: block;
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
    }
    #faq .faq-accordion dt .plus-button.reset:after{
        background-color: var(--black);
        transition: .3s;
    }
    #faq .faq-accordion dd {
        background: var(--lightgreen);
        display: none;
        font-size: var(--px-16);
        line-height: 200%;
        margin: 0 0 var(--px-10) 0;
        padding: var(--px-20);
    }
    #faq .faq-accordion dt:first-child + dd {
        display: block;
    }
}

/*
*      #clinic
*/
#clinic {
    background: var(--gray);
    padding: 6.25rem 0 var(--px-50) 0;
    width: 100%;
}
#clinic h2 {
    color: var(--green);
    font-size: var(--px-30);
    font-family: var(--font-mincho-eng);
    letter-spacing: 0.1em;
    text-align: center;
}
#clinic h3 {
    font-size: var(--px-35);
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 150%;
    margin: 1rem 0 3rem 0;
    text-align: center;
}
#clinic .clinic-access {
    margin: 6.25rem auto 0 auto;
    width: var(--px-inner-wrapper);
}
#clinic .clinic-wrapper{
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--px-60) var(--px-56);
}
#clinic .clinic-access .clinic-about {
    display: block;
    width: 34.9479vw;
}
#clinic .clinic-access .clinic-about img {
    width: 80%;
}
#clinic .clinic-access .clinic-about h4 {
    margin: 0 0 var(--px-35) 0;
}
#clinic .clinic-access .clinic-about .box {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    margin: var(--px-20) 0;
    width: 100%;
}
#clinic .clinic-access .clinic-about .box .access-title {
    background: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: var(--px-19);
    padding: var(--px-10);
    width: 5.3125vw;
}
#clinic .clinic-access .clinic-about .box .access-content {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: var(--px-10);
    width: 28.8542vw;
}
#clinic .clinic-access .clinic-about .box .access-content li {
    list-style-position: inside;
    font-size: var(--px-16);
    text-wrap: nowrap;
    padding: var(--px-5);
} 
#clinic .clinic-access .clinic-about .box .access-content li:before {
    content: "・";
}

#clinic .clinic-access .clinic-map {
    width: 22.9167vw;
    height: 13.3333vw;
}
#clinic .clinic-access .clinic-map iframe {
    width: 22.9167vw;
    height: 13.3333vw;
}

#clinic .clinic-open {
    margin: var(--px-24) auto 0 auto;
    width: var(--px-inner-wrapper);
}
#clinic .clinic-open h3 {
    color: var(--green);
    font-size: var(--px-26);
    font-weight: 700;
    text-align: left;
    letter-spacing: 0.175em;
    margin: 0;
    padding: var(--px-20) 0;
}
#clinic .clinic-open .table-design tr:first-child {
    border-bottom: var(--px-border-1-25) solid var(--green);
}
#clinic .clinic-open .table-design td {
    width: 6.25vw;
}
#clinic .clinic-open p {
    text-align: right;
    line-height: 150%;
    padding: var(--px-10) 0;
}
#clinic .clinic-open p .star {
    color: var(--green);
    font-weight: 700;
    font-family: var(--font-gothic);
}
#clinic .clinic-caution {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: var(--px-56) auto;
    width: var(--px-inner-wrapper);
}
#clinic .clinic-caution h3 {
    color: var(--red);
    font-size: var(--px-26);
    font-weight: 700;
    text-align: left;
    letter-spacing: 0.175em;
    margin: 0;
    padding: 0 0 var(--px-20) 0;
}
#clinic .clinic-caution p {
    line-height: 200%;
}
#clinic .clinic-caution .text-red {
    color: var(--red);
}
#clinic .clinic-caution .link-arrow {
    border-bottom: var(--px-border-1-25) solid var(--green);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--green);
    font-family: var(--font-mincho);
    font-weight: 700;
    margin: var(--px-30)  0 0 0;
    padding: var(--px-10) 0;
    width: 13.9583vw;
    opacity: 1;
}
#clinic .clinic-caution .link-arrow img {
    width: var(--px-26);
    height: var(--px-12);
}
#clinic .clinic-caution .link-arrow:hover {
    opacity: 0.7;
    transition: all .3s;
}
#clinic .clinic-caution .clinic-caution-right img {
    width: 30.2604vw;
    height: 17.3438vw;
}
@media screen and (max-width: 480px) {
    #clinic {
        background: var(--gray);
        padding: 5.25rem 0 0 0;
        width: var(--px-wrapper);
    }
    #clinic h2 {
        color: var(--green);
        font-size: var(--px-20);
        font-family: var(--font-mincho-eng);
        letter-spacing: 0.1em;
        text-align: center;
    }
    #clinic h3 {
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 150%;
        margin: 1rem 0 3rem 0;
        text-align: center;
    }
    #clinic .clinic-access {
        margin: 5.25rem auto 0 auto;
        width: var(--px-inner-wrapper);
    }
    #clinic .clinic-wrapper {
        background: var(--white);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column-reverse;
        padding: var(--px-28);
    }
    #clinic .clinic-access .clinic-about {
        display: block;
        width: 100%;
    }
    #clinic .clinic-access .clinic-about img {
        width: 100%;
    }
    #clinic .clinic-access .clinic-about h4 {
        display: none;
        margin: 0 0 var(--px-35) 0;
    }
    #clinic .clinic-access .clinic-about .box {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
        margin: var(--px-20) 0;
        width: 100%;
    }
    #clinic .clinic-access .clinic-about .box .access-title {
        background: var(--green);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: var(--px-16);
        padding: var(--px-7);
        width: auto;
    }
    #clinic .clinic-access .clinic-about .box .access-content {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        font-size: var(--px-14);
        line-height: 150%;
        letter-spacing: 0.01em;
        padding: var(--px-7);
        width: auto;
    }
    #clinic .clinic-access .clinic-about .box .access-content li {
        list-style-position: inside;
        font-size: var(--px-14);
        text-wrap: wrap;
        padding: 0;
    } 
    #clinic .clinic-access .clinic-about .box .access-content li:before {
        content: "・";
    }

    #clinic .clinic-access .clinic-map {
        width: 100%;
        height: auto;
    }
    #clinic .clinic-access .clinic-map img {
        margin: 0 0 var(--px-35) 0;
        width: 100%;
    }
    #clinic .clinic-access .clinic-map iframe {
        width: 100%;
        height: auto;
    }

    #clinic .clinic-open {
        font-size: var(--px-14);
        margin: var(--px-24) auto 0 auto;
        width: var(--px-inner-wrapper);
    }
    #clinic .clinic-open h3 {
        color: var(--green);
        font-size: var(--px-18);
        font-weight: 700;
        text-align: left;
        letter-spacing: 0.175em;
        margin: 0;
        padding: var(--px-20) 0;
    }
    #clinic .clinic-open .table-design tr:first-child {
        border-bottom: var(--px-border-1-25) solid var(--green);
    }
    #clinic .clinic-open .table-design td {
        width: 6.25vw;
    }
    #clinic .clinic-open p {
        text-align: right;
        padding: var(--px-10) 0;
    }
    #clinic .clinic-open p .star {
        color: var(--green);
        font-weight: 700;
        font-family: var(--font-gothic);
    }
    #clinic .clinic-caution {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: var(--px-56) auto 0 auto;
        width: var(--px-inner-wrapper);
    }
    #clinic .clinic-caution h3 {
        color: var(--red);
        font-size: var(--px-18);
        font-weight: 700;
        text-align: left;
        letter-spacing: 0.175em;
        margin: 0;
        padding: 0 0 var(--px-20) 0;
    }
    #clinic .clinic-caution p {
        font-size: var(--px-14);
        letter-spacing: 0.05em;
        line-height: 200%;
    }
    #clinic .clinic-caution p br {
        display: none;
    }
    #clinic .clinic-caution p br.spbr {
        display: inline;
    }
    #clinic .clinic-caution .text-red {
        color: var(--red);
    }
    #clinic .clinic-caution .link-arrow {
        border-bottom: var(--px-border-1-25) solid var(--green);
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green);
        font-family: var(--font-mincho);
        font-weight: 700;
        margin: 0;
        padding: var(--px-10) 0;
        width: 100%;
        opacity: 1;
    }
    #clinic .clinic-caution .link-arrow img {
        width: var(--px-26);
        height: var(--px-12);
    }
    #clinic .clinic-caution .link-arrow:hover {
        opacity: 0.7;
        transition: all .3s;
    }
    #clinic .clinic-caution .clinic-caution-right {
        border-bottom: var(--px-1) solid var(--darkgray);
        padding: var(--px-30) 0;
    }
    #clinic .clinic-caution .clinic-caution-right img {
        width: 100%;
        height: auto;
    }
}

/*
*   #presenter-clinics
*/
#presenter-clinics {
    background: var(--gray);
    padding: var(--px-50) 0 6.25rem 0;
    width: 100%;
}
#presenter-clinics h2 {
    color: var(--green);
    font-size: var(--px-26);
    font-family: var(--font-mincho);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.175em;
    margin: 0;
    padding: var(--px-20) 0;
}
#presenter-clinics h3 {
    font-size: var(--px-16);
    line-height: 150%;
    margin: 1rem 0 3rem 0;
    text-align: center;
}
#presenter-clinics ul {
    margin: 6.25rem auto 0 auto;
    width: var(--px-inner-wrapper);
}
#presenter-clinics li {
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: var(--px-24) 0;
    width: 100%;
    height: 13.8542vw;
}
#presenter-clinics li .presenter-clinics-left {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--px-35);
    width: 45%;
}
#presenter-clinics li .presenter-clinics-left img {
    width: 80%;
}
#presenter-clinics li .presenter-clinics-right {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    width: 55%;
}
#presenter-clinics li .presenter-clinics-right address {
    color: var(--green);
    font-size: var(--px-18);
    font-family: var(--font-mincho);
    font-weight: 700;
    margin: var(--px-12) 0 0 0;
}
#presenter-clinics li .presenter-clinics-right h4 {
    font-size: var(--px-26);
    font-family: var(--font-mincho);
    font-weight: 700;
    margin: var(--px-12) 0 0 0;
}
#presenter-clinics li .presenter-clinics-right table {
    border-collapse: separate;
    border-spacing: 0 var(--px-10);
    margin: var(--px-12) 0 0 0;
}
#presenter-clinics li .presenter-clinics-right table th {
    border: var(--px-border-1-25) solid var(--green);
    color: var(--green);
    text-wrap: nowrap;
    text-align: center;
    vertical-align: middle;
    padding: 0.3646vw;
    width: var(--px-99);
    height: auto;
}
#presenter-clinics li .presenter-clinics-right table td {
    text-wrap: nowrap;
    padding: var(--px-10);
}
#presenter-clinics li .presenter-clinics-right table td a {
    color: var(--blue);
}
@media screen and (max-width: 480px) {
    #presenter-clinics {
        background: var(--gray);
        padding: var(--px-50) 0 3rem 0;
        width: 100%;
    }
    #presenter-clinics h2 {
        color: var(--green);
        font-size: var(--px-20);
        font-family: var(--font-mincho);
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.175em;
        margin: 0;
        padding: var(--px-20) 0;
    }
    #presenter-clinics h3 {
        font-size: var(--px-14);
        line-height: 200%;
        letter-spacing: 0.05em;
        margin: var(--px-24);
        text-align: left;
    }
    #presenter-clinics ul {
        margin: var(--px-24) auto 0 auto;
        width: var(--px-inner-wrapper);
    }
    #presenter-clinics li {
        background: var(--white);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: var(--px-24) 0;
        width: 100%;
        height: auto;
    }
    #presenter-clinics li .presenter-clinics-left {
        display: block;
        padding: 0 5%;
        width: 90%;
    }
    #presenter-clinics li .presenter-clinics-left img {
        margin: var(--px-24) auto;
        width: 90%;
    }
    #presenter-clinics li .presenter-clinics-right {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        margin: 0 auto;
        width: 87.2%;
    }
    #presenter-clinics li .presenter-clinics-right address {
        color: var(--green);
        font-size: var(--px-16);
        font-family: var(--font-mincho);
        font-weight: 700;
        margin: var(--px-12) 0 0 0;
    }
    #presenter-clinics li .presenter-clinics-right h4 {
        font-size: var(--px-22);
        font-family: var(--font-mincho);
        font-weight: 700;
        line-height: 150%;
        margin: var(--px-12) 0 0 0;
    }
    #presenter-clinics li .presenter-clinics-right table {
        border-collapse: separate;
        border-spacing: 0 var(--px-15);
        margin: var(--px-12) 0 0 0;
    }
    #presenter-clinics li .presenter-clinics-right table th {
        border: var(--px-border-1-25) solid var(--green);
        color: var(--green);
        font-size: var(--px-16);
        text-wrap: nowrap;
        text-align: center;
        vertical-align: middle;
        padding: var(--px-10) 0;
        width: 35%;
        height: auto;
    }
    #presenter-clinics li .presenter-clinics-right table td {
        font-size: var(--px-14);
        text-wrap: wrap;
        line-height: 150%;
        text-align: left;
        vertical-align: middle;
        padding: 0 0 0 5%;
        width: 60%;
        height: auto;
    }
    #presenter-clinics li .presenter-clinics-right table td br {
        display: none;
    }
    #presenter-clinics li .presenter-clinics-right table td br.spbr {
        display: inline;
    }
    #presenter-clinics li .presenter-clinics-right table td a {
        color: var(--blue);
    }
}

/*
*   footer
*/
footer {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    margin: var(--px-56) auto;
    width: var(--px-wrapper);
}
footer .footer-about {
    width: 50%;
}
footer .footer-about .footer-logo {
    display: block;
    width: 28.8542vw;
    height: 4.375vw;
}
footer .footer-about address {
    margin: var(--px-30) 0;
}
footer .footer-about a {
    display: block;
    color: var(--black);
}
footer .footer-about a:hover {
    color: var(--green);
    transition: all .3s;
}
footer .footer-about a.link-tel {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-indent: var(--px-5);
}
footer .footer-about a.link-tel img {
    width: 0.6771vw;
    height: 0.8854vw;
}
footer .footer-about a.link-arrow {
    border-bottom: var(--px-border-1-25) solid var(--green);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--green);
    font-family: var(--font-mincho);
    font-weight: 700;
    opacity: 1;
    margin: var(--px-30)  0 0 0;
    padding: var(--px-10) 0;
    width: 23.6458vw;
}
footer .footer-about a.link-arrow img {
    width: var(--px-26);
    height: var(--px-12);
}
footer .footer-about .link-arrow:hover {
    opacity: 0.7;
    transition: all .3s;
}
footer .footer-other {
    width: 39%;
}
footer .footer-other nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
footer .footer-other ul {
    margin: 0 var(--px-56) 0 0;
}
footer .footer-other ul:last-child {
    margin: 0;
}
footer .footer-other ul li {
    margin: var(--px-30)  0;
}
footer .footer-other ul li a {}
footer .footer-other ul li a:hover {
    color: var(--green);
    transition: all .3s;
}
footer .footer-other ul li a.rectangle:before{
    color: var(--green);
    margin: 0 var(--px-5) 0 0;
}
footer .footer-other small {
    display: block;
    width: 100%;
    font-size: var(--px-12);
    margin: 3.6042vw 0;
    text-align: right;
}
@media screen and (max-width: 480px) {
    footer {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: var(--px-56) auto;
        width: var(--px-wrapper);
    }
    footer .footer-about {
        width: 100%;
    }
    footer .footer-about .footer-logo {
        display: block;
        margin: 0 auto;
        width: 87.2vw;
        height: auto;
    }
    footer .footer-about address {
        display: block;
        font-size: var(--px-14);
        line-height: 150%;
        margin: var(--px-30) auto var(--px-15) auto;
        width: 90%;
    }
    footer .footer-about a {
        display: block;
        color: var(--black);
    }
    footer .footer-about a:hover {
        color: var(--green);
        transition: all .3s;
    }
    footer .footer-about a.link-tel {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-size: var(--px-14);
        text-indent: var(--px-5);
        margin: 0 auto;
        width: 90%;
    }
    footer .footer-about a.link-tel img {
        width: 2.6667vw;
        height: 3.4667vw;
    }
    footer .footer-about a.link-arrow {
        border-bottom: var(--px-border-1-25) solid var(--green);
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green);
        font-family: var(--font-mincho);
        font-weight: 700;
        opacity: 1;
        margin: var(--px-30) auto 0 auto;
        padding: var(--px-10) 0;
        width: 90%;
        height: auto;
    }
    footer .footer-about a.link-arrow img {
        margin: var(--px-7) 0 0 0;
        width: var(--px-16);
        height: var(--px-7);
    }
    footer .footer-about .link-arrow:hover {
        opacity: 0.7;
        transition: all .3s;
    }
    footer .footer-other {
        margin: 3rem auto;
        width: 90%;
    }
    footer .footer-other nav {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    footer .footer-other ul {
        margin: 0 auto;
        width: 100%;
    }
    footer .footer-other ul li {
        margin: 0;
    }
    footer .footer-other ul li a {
        display: block;
        margin: 0;
        padding: var(--px-7) 0;
        width: 100%;
    }
    footer .footer-other ul li a:hover {
        color: var(--green);
        transition: all .3s;
    }
    footer .footer-other ul li a.rectangle:before{
        color: var(--green);
        margin: 0 var(--px-5) 0 0;
    }
    footer .footer-other small {
        display: block;
        width: 100%;
        font-size: var(--px-12);
        line-height: 150%;
        margin: 3rem 0 0 0;
        text-align: center;
    }
}

/*
*   #sp-menu
*/
#sp-menu {
    display: none;
    width: 100%;
    height: 100vh;
}
@media screen and (max-width: 480px) {
    #sp-menu {
        background: var(--white);
        display: none;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        height: calc(100vh - 19.2vw);
        z-index: 9999999999;
    }
    #sp-menu ul {
        margin: 0 auto;
        padding: 0;
        width: 87.2vw;
    }
    #sp-menu ul li {
        width: 100%;
        height: auto;
    }
    #sp-menu ul li a {
        background: url(../img/green-arrow.png) right center no-repeat;
        border-bottom: var(--px-1) solid var(--darkgray);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-size: var(--px-18);
        font-family: var(--font-mincho);
        line-height: 140%;
        padding: var(--px-20) 0;
        width: 100%;
        height: auto;
    }  
    #sp-menu nav {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
    }
    #sp-menu nav .banner-link-reserve {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-size: var(--px-16);
        font-family: var(--font-gothic);
        width: 100%;
        height: 4.25rem;
    }
    #sp-menu nav .banner-link-reserve .mark-24h {
        background: var(--white);
        box-sizing: border-box;
        box-shadow: none;
        border: var(--px-1) solid var(--orange);
        border-radius: 0;
        color: var(--orange);
        font-size: var(--px-16) !important;
        font-weight: 400;
        letter-spacing: 0.001em;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0;
        width: var(--px-99);
        height: 4.25rem;
    }
    #sp-menu nav .banner-link-reserve .mark-24h .text-black{
        color: var(--black);
        font-size: var(--px-13);
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.base {
        background: var(--orange-gradation);
        box-shadow: none;
        color: var(--white);
        font-size: var(--px-18);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 73.6vw;
        height: 4.25rem;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        transition: none;
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.base span {
        margin: 0 0 0 1rem;
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.base img {
        position: absolute;
        right: var(--px-20);
        width: var(--px-26);
        height: var(--px-12);
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.hover {
        opacity: 0;
        background: var(--lightorange);
        box-shadow: none;
        color: var(--orange);
        font-size: var(--px-18);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 73.6vw;
        height: 4.25rem;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        transition: none;
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.hover span {
        margin: 0 0 0 1rem;
    }
    #sp-menu nav .banner-link-reserve .banner-link-gradation.hover img {
        position: absolute;
        right: var(--px-20);
        width: var(--px-26);
        height: var(--px-12);
    }
    #sp-menu nav .banner-link-clinic {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--darkgreen);
        color: var(--white);
        font-size: var(--px-16);
        font-family: var(--font-gothic);
        opacity: 1;
        padding: 0 5.3333vw;
        width: 100%;
        height: 4.25rem;
        transition: opacity .3s;
    }
    #sp-menu nav .banner-link-clinic span {
        letter-spacing: 0.075em;
    }
    #sp-menu nav .banner-link-clinic img {}
    #sp-menu nav .banner-link-clinic:hover {
        opacity: 0.7;
    }
}
#sp-footer-fixed {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 9999999999;
}
.banner-link-clinic {
    display: none;
    z-index: 9999999999;
}
@media screen and (max-width: 480px) {
    #sp-footer-fixed.banner-link-reserve {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-size: var(--px-16);
        font-family: var(--font-gothic);
        width: 100%;
        height: 4.25rem;
    }
    #sp-footer-fixed.banner-link-reserve .mark-24h {
        background: var(--white);
        box-sizing: border-box;
        box-shadow: none;
        border: var(--px-1) solid var(--orange);
        border-radius: 0;
        color: var(--orange);
        font-size: var(--px-16) !important;
        font-weight: 400;
        letter-spacing: 0.001em;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0;
        width: var(--px-99);
        height: 4.25rem;
    }
    #sp-footer-fixed.banner-link-reserve .mark-24h .text-black{
        color: var(--black);
        font-size: var(--px-13);
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.base {
        background: var(--orange-gradation);
        box-shadow: none;
        color: var(--white);
        font-size: var(--px-18);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 73.6vw;
        height: 4.25rem;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        transition: none;
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.base span {
        margin: 0 0 0 1rem;
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.base img {
        position: absolute;
        right: var(--px-20);
        width: var(--px-26);
        height: var(--px-12);
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.hover {
        opacity: 0;
        background: var(--lightorange);
        box-shadow: none;
        color: var(--orange);
        font-size: var(--px-18);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 73.6vw;
        height: 4.25rem;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        transition: none;
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.hover span {
        margin: 0 0 0 1rem;
    }
    #sp-footer-fixed.banner-link-reserve .banner-link-gradation.hover img {
        position: absolute;
        right: var(--px-20);
        width: var(--px-26);
        height: var(--px-12);
    }
    .banner-link-clinic {
        display: flex;
    }
}