/*
@media only screen and (max-width: 768px){}
↑スマホ画面の場合のみ適用（横幅が768px以下の場合にCSSを適用）
*/
@charset "UTF-8";
/*Noto Sans JPと源ノ角ゴシック／Source Han Sansは同一フォントです*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

*{
    box-sizing: border-box;
}



/*なんかスクロールが滑らかになるやつ*/
html {scroll-behavior: smooth;}

:root{
    --blue: #00479d;
    --green: #c7db5e;
    --gray: #dedee3;
}

body{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    color: var(--blue);
}
h1, h2, h3, h4, h5, h6{
    font-weight: bold;
}
.nor{
    font-family: normalidad-extended, sans-serif;
    font-weight: 900;
    font-style: normal;
}

.center__txt{
    text-align: center;
}

.bold{
    font-weight: bold;
}

@media only screen and (min-width: 769px){
    .LS-l{
        letter-spacing: 0.9375vw;
    }
    .LS-m{
        letter-spacing: 0.585vw;
    }
}

@media only screen and (max-width: 768px){
    .LS-l{
        letter-spacing: 1.25vw;
    }
    .LS-m{
        letter-spacing: 1vw;
    }
}


@media only screen and (min-width: 769px){
    h1{
        font-size: 8vw;
    }
    h2{
        font-size: 3.75vw;
    }
    h3{
        font-size: 2.34vw;
    }
    p{
        font-size: 1.29vw;
    }
}
@media only screen and (max-width: 768px){
    h1{
        font-size: 10vw;
    }
    h2{
        font-size: 5vw;
    }
    h3{
        font-size: 4vw;
    }
    p{
        font-size: 3vw;
    }
}


/*ヘッダ*/
@media only screen and (min-width: 769px){
    .header{
        position: fixed;
        left: 0;
        right: 0;
        margin: auto;
        top: 4vw;
        width: 80%;
        height: 5vw;
        border-radius: 9999px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--blue);
        box-shadow: 0px 0.5vw 6px #00000040;
        z-index: 4;
        transition: transform 0.3s 0.3s;
    }
    header.hidden {
        transform: translateY(calc(-6vw - 5vw));
    }

    #menu-toggle,
    .menu-icon,
    .overlay{
        display: none;
    }

    .menu{
        width: 100%;
        height: 100%;
    }

    .menu__container{
        position: relative;
        height: 100%;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .menu-logo__wrapper{
        width: 100%;
        height: 100%;
        display: flex;
    }

    .menu-logo{
        width: auto;
        height: 100%;
        aspect-ratio: 2004/567;
        margin-left: 2vw;
        background-size: contain;
        background-image: url(../img/header/header-common/header-logo.png);
        background-repeat: no-repeat;
        background-position: left;
    }

    .menu-list__box{
        margin-right: 2vw;
        list-style: none;
        display: flex;
    }
}

@media only screen and (max-width: 768px){
    body:has(#menu-toggle:checked) {
        overflow: hidden;
    }

    .header{
        position: relative;
    }
    .menu-icon{
        display: block;
        width: 15vw;
        aspect-ratio: 1;
        background-color: var(--blue);
        border-radius: 100%;
        position: fixed;
        top: 4vw;
        right: 4vw;
        cursor: pointer;
        z-index: 3;
        display: inline-block;
    }

    .menu-icon span {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 0.6vw;
        width: 8vw;
        background: #fff;
        /* トランジションを明示（中央線の変化を滑らかに） */
        transition: background 0.25s ease, transform 0.25s ease;
        transform-origin: center;
        will-change: transform, background;
        backface-visibility: hidden;
    }

    .menu-icon span::before,
    .menu-icon span::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        width: 8vw;
        height: 0.6vw;
        background: #fff;
        /* 疑似要素に個別のトランジション（transform を使う） */
        transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), background 0.25s ease;
        transform-origin: center;
        will-change: transform, background;
        backface-visibility: hidden;
    }

    .menu-icon span::before { top: -2vw; }
    .menu-icon span::after  { bottom: -2vw; }

    #menu-toggle:checked + .menu-icon{
        background: transparent;
    }
        /* チェック時の状態：中央線は透明に、上下は回転してクロスさせる */
    #menu-toggle:checked + .menu-icon span {
        background: transparent;
        transform: translate(-50%, -50%) scaleX(0.95); /* 微妙に縮めて視覚のバランスを取る */
    }

    #menu-toggle:checked + .menu-icon span::before {
        transform: translateY(2vw) rotate(45deg) translateZ(0);
    }

    #menu-toggle:checked + .menu-icon span::after {
        transform: translateY(-2vw) rotate(-45deg) translateZ(0);
    }

    .overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.5);
        opacity: 0;
        pointer-events: none;
        transition: 0.4s;
        z-index: 1;
    }

    #menu-toggle:checked ~ .overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .menu{
        position: fixed;
        right: -100%;
        width: 100%;
        height: 100%;
        background-image: url(../img/header/header-sp/hamburger-bg.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: right bottom;
        box-shadow: 2px 0 8px rgba(0,0,0,0.2);
        transition: right 0.4s ease;
        z-index: 2;
    }

    .menu__container{
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: start;
    }

    .menu-logo__wrapper{
        position: absolute;
        margin-top: 4vw;
        width: 100%;
        height: 15vw;
        display: flex;
    }

    .menu-logo{
        margin-left: 4vw;
        width: 50vw;
        height: auto;
        aspect-ratio: 1809/282;
        background-image: url(../img/header/header-common/header-logo.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: left;
    }

    #menu-toggle:checked ~ .menu{
        right: 0;
    }

    .menu-list__container{
        margin-top: 25vw;
        width: 100%;
        height: calc(100% - 25vw);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        list-style: none;
    }

    .menu-list__box{
        width: 80%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        margin: auto;
        align-items: center;
        list-style: none;
        overflow-y: auto;
    }
    .menu-list__box::-webkit-scrollbar {
        background-color: rgb(255, 255, 255);
        width: 10px;
        height: 30px;
        border-radius: 20px;
    }
    .menu-list__box::-webkit-scrollbar-thumb {
        background-color: rgba(0, 71, 157, 0.3);
        border-radius: 20px;
    }

    .menu-list__item:not(:first-child){
        margin-top: 8vw;
    }

    .menu__link{
        text-decoration: none;
        font-size: 7.5333333333vw;
        transition: color 0.3s;
    }

    .menu__link:hover{
        opacity: 0.8;
    }

    .menu-container{
        position: relative;
        height: 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.menu-list__item{
    margin: 0 2vw;
    width: fit-content;
    text-align: center;
}

.menu__link{
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
}

@media only screen and (min-width: 769px){
    .menu__link{
        font-size: 1.5vw;
    }
}
/*ヘッダ*/




.body__box{
    position: relative;
    height: fit-content;
    width: 100%;
    overflow: hidden;
}


/*
ページトップページトップページトップ
ページトップページトップページトップ
ページトップページトップページトップ
*/
.top{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 100vh;
    width: auto;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (min-width: 769px){
    .top{
        background-image: url(../img/toppage/top/top-pc/top-bg_pc.png);
    }
}
@media only screen and (max-width: 768px){
    .top{
        background-image: url(../img/toppage/top/top-sp/top-bg_sp.png);
    }
}

.top__container{
    container-type: size;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 5vw;
    box-sizing: border-box;
    display: grid;
    gap: 0;
}

@media only screen and (min-width: 769px){
    .top__container{
        height: calc(90vh - 50px);
    }
    .top-item__container{
        display: grid;
        grid-template-columns: 2fr 1fr 2fr;
        grid-template-rows: 1fr;
    }
}
@container(max-aspect-ratio: 1317/1635){
    @media only screen and (max-width: 768px){
        .top-txt__box{
            bottom: 40vw;
        }
    }
    
}
@media only screen and (min-width: 769px){
    .top-logo,
    .top-txt{
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: contain; /* 画像全体を見せる */
        pointer-events: none;
    }

    /* ロゴは左下に表示 */
    .top-logo{
        left: 0;
        background-image: url(../img/toppage/top/top-common/top_logo.png);
        background-position: left bottom;
    }

    /* テキスト画像は右下に表示 */
    .top-txt{
        right: 0;
        background-image: url(../img/toppage/top/top-common/top_txt.png);
        background-position: right bottom;
    }
}

@container(min-aspect-ratio: 1317/1635){
  /* コンテナ（＝要素）の横:縦が1317/1635以上のときに適用 */
    .top-item__container{
            display: grid;
            grid-template-columns: 2fr 1fr 2fr;
            grid-template-rows: 1fr;
    }
    .top-logo__box,
    .top-txt__box{
        position: relative;
        width: 100%;
        height: 100%; /* グリッドセルと同じ高さにする */
    }
    .top-logo__box{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    /* 右側列（テキスト画像） */
    .top-txt__box{
        bottom: 0;
        grid-column: 3 / 4;
        grid-row: 1 / 2;
    }

    /* 画像コンテナ：親の左下・右下に配置し、切り取られないようにする */
    .top-logo,
    .top-txt{
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: contain; /* 画像全体を見せる */
        background-position: left bottom;
    }

    /* ロゴは左下に表示 */
    .top-logo{
        left: 0;
        background-image: url(../img/toppage/top/top-common/top_logo.png);
        background-position: left bottom;
    }

    /* テキスト画像は右下に表示 */
    .top-txt{
        right: 0;
        background-image: url(../img/toppage/top/top-common/top_txt.png);
        background-position: right bottom;
    }
}

@media only screen and (max-width: 768px){
    .top__container{
        height: calc(92vh - 15vw);
        display: flex;
    }
}

/* ロゴとテキストのボックスをグリッド内に収める */
@media only screen and (min-width: 769px){
    .top-logo__box,
    .top-txt__box{
        position: relative;
        width: 100%;
        height: 100%; /* グリッドセルと同じ高さにする */
    }
}

@media only screen and (max-width: 768px){
    .top-item__container{
        position: relative;
        width: 100%;
        height: 100%;
    }

    .top-logo__box,
    .top-txt__box{
        position: absolute;
        background-size: contain;
        background-repeat: no-repeat;
        box-sizing: border-box;
    }
    .top-logo__box{
        width: 100%;
        height: 100%;
    }
    .top-txt__box{
        width: 100%;
        height: 28%;
    }
    .top-logo,
    .top-txt{
        background-size: contain;
        background-repeat: no-repeat;
        height: 100%;
    }

    .top-logo{
        background-image: url(../img/toppage/top/top-common/top_logo.png);
        background-position: left bottom;
    }
    .top-txt{
        margin-left: 30vw;
        background-image: url(../img/toppage/top/top-common/top_txt.png);
        background-position: right bottom;
    }
}
@media only screen and (min-width: 769px){
    /* 左側列（ロゴ） */
    .top-logo__box{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    /* 右側列（テキスト画像） */
    .top-txt__box{
        grid-column: 3 / 4;
        grid-row: 1 / 2;
    }

    /* 画像コンテナ：親の左下・右下に配置し、切り取られないようにする */
    .top-logo,
    .top-txt{
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: contain; /* 画像全体を見せる */
        pointer-events: none;
    }
    .top-logo{
        background-position: left bottom;
    }

    /* 右側列（テキスト画像） */
    .top-txt{
        background-position: right bottom;
    }
}







/*
コンテンツコンテンツコンテンツコンテンツコンテンツ
コンテンツコンテンツコンテンツコンテンツコンテンツ
コンテンツコンテンツコンテンツコンテンツコンテンツ
*/
.contents{
    height: fit-content;
    width: 100vw;
    justify-content: center;
}

.content-1,
.content-2{
    padding: 5vw 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
   
}

section{
    width: 100%;
    padding: 5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.content-1{
    background-color: #fff;
    background-image: url(../img/toppage/content-1/content-1__common/sec1-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* .info_btn{
    position: absolute;
    left: 85%;
    transform: translateY(-580%);
    background-image: url(../img/toppage/content-1/content-1__common/info.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
}

@media only screen and (min-width: 769px){
    .info_btn{
        width: 8vw;
        height: 8vw;
    }
}
@media only screen and (max-width: 768px){
    .info_btn{
        width: 12vw;
        height: 12vw;
    }
} */

.introduction-txt__container{
    padding: 4vw 0;
}
@media only screen and (min-width: 769px){
    .introduction-txt__container{
        margin-top: 4vw;
    }
}
@media only screen and (max-width: 768px){
    .introduction-txt__container{
        margin-top: 2vw;
    }
}
@media only screen and (min-width: 769px){
    .intro__txt:not(:first-child){
        margin-top: 2.1428571429vw;
    }
}
@media only screen and (max-width: 768px){
    .intro__txt:not(:first-child){
        margin-top: 8vw;
    }
}


.concept h3{
    display: flex;
    align-items: center;
    justify-content: center;
}

.concept h3::before,
.concept h3::after{
    content: "";
    background-color: var(--blue);
}

.concept h3::before{
    margin-right: 2vw;
}

.concept h3::after{
    margin-left: 2vw;
}

@media only screen and (min-width: 769px){
    .concept h3::before,
    .concept h3::after{
        height: 0.3vw;
        width: 3.75vw;
    }
}

@media only screen and (max-width: 768px){
    .concept h3::before,
    .concept h3::after{
        height: 0.4vw;
        width: 5vw;
    }
}

.concept-txt__container{
    box-sizing: border-box;
    padding: 4vw 0;
}
@media only screen and (min-width: 769px){
    .concept-txt__container{
        margin-top: 4vw;
    }
}
@media only screen and (max-width: 768px){
    .concept-txt__container{
        margin-top: 2vw;
    }
}

@media only screen and (min-width: 769px){
    .concept__txt:not(:first-child){
        margin-top: 2.1428571429vw;
    }
}
@media only screen and (max-width: 768px){
    .concept__txt:not(:first-child){
        margin-top: 8vw;
    }
}

.content-2{
    background-image: url(../img/toppage/content-2/content-2__common/sec2-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.infomation{
    position: relative;
    align-items: center;
    justify-content: center;
}

.infomation__container,
.access__container,
.follow-us__container{
    width: 100%;
    box-sizing: border-box;
}

.infomation__contents,
.access__contents,
.follow-us__contents{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.tra{
    width: 100%;
    letter-spacing: -0.45vw;
    line-height: 1;
    text-align: left;
    opacity: 20%;
}
@media only screen and (min-width: 769px){
    .infomation__contents{
        align-items: center;
        justify-content: center;
    }
}

@media only screen and (max-width: 768px){
    .infomation__contents{
        justify-content: center;
    }
}
@media only screen and (min-width: 769px){
    .infomation__contents p{
        font-size: 1.7vw;
    }
}
@media only screen and (max-width: 768px){
    .infomation__contents p{
        font-size: 3.5vw;
    }
}

@media only screen and (min-width: 769px){
    .poster__wrapper{
        width: 20vw;
        box-sizing: border-box;
        padding-left: 2vw;
        padding-bottom: 2vw;
    }
    .poster{
        width: 100%;
        height: auto;
        aspect-ratio: 3508/4961;
        background-image: url(../img/toppage/content-2/content-2__pc/info_poster.webp);
        background-size: contain;
        background-repeat: no-repeat;
        box-shadow: -2vw 2vw var(--blue);
    }
}
@media only screen and (max-width: 768px){
    .poster__wrapper{
        display: none;
    }
}

.txt__container{
    box-sizing: border-box;
    padding: 4vw 0;
}

.infomation-txt__wrapper{
    box-sizing: border-box;
}
.infomation-txt__wrapper:not(:last-child){
    margin-bottom: 1vw;
}

@media only screen and (min-width: 769px){
    .infomation-txt__container{
        width: auto;
        padding-top: 0;
        margin-left: 4vw;
    }

    .access-txt__container{
        width: 45vw;
        padding: 4vw 0 4vw 4vw;
    }
}
@media only screen and (max-width: 768px){
    .access-txt__container{
        width: 100%;
    }
}


@media only screen and (min-width: 769px){
    .access__contents .txt__container{
        height: 400px;
    }
}



.train{
    display: flex;
}

.train-name__container{
    margin-right: 4vw;
}

@media only screen and (max-width: 768px){
    .access__contents{
        flex-direction: column;
    }
}

@media only screen and (min-width: 769px){
    .map{
        width: 45vw;
        height: 400px;
    }
}
@media only screen and (max-width: 768px){
    .map{
        width: 100%;
        height: 250px;
    }
}
.map iframe{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: none;
}

.access-txt__wrapper{
    width: 100%;
    height: 90%;
    padding: 4vw 0;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.address__container{
    margin-bottom: 4vw;
}

@media only screen and (min-width: 769px){
    .address__title{
        font-size: 1.7vw;
    }
}
@media only screen and (max-width: 768px){
    .address__title{
        font-size: 3.5vw;
    }
}

.site-link__container{
    width:100%;
    height: 10%;
    display: flex;
    align-items: center;
    justify-content: end;
}

.site-link{
    position: relative;
    box-sizing: border-box;
    gap: 0.8vw;
    padding: 0.8vw 4vw;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    background: #00479d;
    color: #fff;
    box-shadow: 0px 0.5vw 6px #00000040;
}

.site-name,
.arrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.arrow {
    
    width: auto;
    aspect-ratio: 74/24;
    background-image: url(../img/toppage/content-2/content-2__common/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}
@media only screen and (min-width: 769px){
    .arrow{
        height: 0.645vw;
    }
}
@media only screen and (max-width: 768px){
    .arrow{
        height: 1.5vw;
    }
    
}

.follow-us{
    margin-bottom: 60px;
}

.follow-us__container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.follow-us__sns-container{
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sns-icon{
    width: 8vw;
    height: auto;
    aspect-ratio: 1;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00479d;
    box-shadow: 0px 0.5vw 6px #00000040;
}

.sns-icon__x,
.sns-icon__ins{
    width: calc(38% * sqrt(2));
    height: auto;
    aspect-ratio: 1;
    background-size: contain;
    background-repeat: no-repeat;
}
.sns-icon__x{
    background-image: url(../img/footer/footer-common/x.webp);
}

.sns-icon__ins{
    background-image: url(../img/footer/footer-common/instagram.webp);
}



/*
フッタフッタフッタフッタフッタフッタフッタフッタ
フッタフッタフッタフッタフッタフッタフッタフッタ
フッタフッタフッタフッタフッタフッタフッタフッタ
*/
footer{
    margin-top: -60px;
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 60px 60px 0 0;
}
@media only screen and (min-width: 769px){
    footer{
        padding: 4vw;
        background-image: url(../img/footer/footer-pc/footer-pc.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
}
@media only screen and (max-width: 768px){
    footer{
        padding: 8vw;
        background-image: url(../img/footer/footer-sp/footer-sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
}

.footer-nav__list{
    display: flex;
    box-sizing: border-box;
    list-style: none;
}

.footer-nav__logo-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-nav__logo{
    display: flex;
    width: 100%;
    height: 100%;
    background-image: url(../img/footer/footer-common/footer-logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.footer-nav__list{
    box-sizing: border-box;
}

.footer-nav__item{
    box-sizing: border-box;
}

@media only screen and (min-width: 769px){
    .footer-nav{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr;
    }

    .footer-nav__tl{
        display: flex;
        align-items: center;
        justify-content: start;
        width: 100%;
        grid-column: 1/2;
        grid-row: 1/3;
    }
    
    .footer-nav__logo-wrapper{
        width: 100%;
        height: 100%;
    }
    .footer-nav__br{
        display: flex;
        align-items: center;
        justify-content: end;
        width: 100%;
        box-sizing: border-box;
        grid-column: 2/3;
        grid-row: 2/4;
    }
    .footer-nav__list-wrapper{
        width: 100%;
        
    }
    .link-box{
        width: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .footer-nav__page,
    .footer-nav__related{
        width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: end;
    }
    .footer__line{
        display: none;
    }
}



@media only screen and (max-width: 768px){
    .footer-nav__tl{
        width: 100%;
        height: auto;
        aspect-ratio: 1809/282;
        padding: 2vw;
        margin-bottom: 4vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer-nav__logo-wrapper{
        width: 100%;
        height: 100%;
    }

    .footer-nav__br{
        width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .footer-nav__page{
        display: flex;
        flex-direction: column;
    }

    .footer-nav__list-wrapper{
        width: 100%;
        box-sizing: border-box;
    }
    .footer-nav__list{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .footer-nav__list{
        flex-wrap: wrap;
    }
}

.footer-nav__link{
    text-decoration: none;
    font-size: 13px;
    color: #fff;
    margin: 1vw 2vw;
    display: flex;
    justify-content: center;
}

.footer__sns-x,
.footer__sns-ins{
  position: static;
  transform: none;
  width: 13px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
}

.footer__sns-x{
    background-image: url(../img/footer/footer-common/x.webp);
}
.footer__sns-ins{
    background-image: url(../img/footer/footer-common/instagram.webp);
}

