@charset "UTF-8";

body {
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    font-family: 'OT-PUDShinGoPr6N-DeBold';
    text-spacing-trim: space-all;
    }

main {
    max-width: 600px;
    margin: 0 auto;
    background: #F2F2F2;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    }
.ds-none {
    display: none!important;
}

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

.inner {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
 }

.noto{
    font-weight: normal;
    font-style: normal;
    font-family: 'NotoSansJP-Bold', sans-serif;
}

.en{
    font-weight: normal;
    font-style: normal;
    font-family: 'OT-ClarimoUDPE-DemiBold', sans-serif;
}

.zh-tw{
    font-weight: normal;
    font-style: normal;
    font-family: 'OT-UDShinGoSCGb6-DemiBold';
}

.zh-cn{
    font-weight: normal;
    font-style: normal;
    font-family: 'OT-UDShinGoStdTC-DeB';
}

.ko{
    font-weight: normal;
    font-style: normal;
    font-family: 'OT-UDShinGoHangKo2-DeB';
}


.btn{
    font-size: 14px;
    width: 200px;
    background: #000000;
    color: #fff;
    height: 45px;
    cursor: pointer;
    text-align: center;
    position: relative;
    margin: 0 auto;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn::after{
    content: url('../img/icon-btn.svg');
    /* background-image: url(../img/icon-btn.svg); */
    position: absolute;
    width: 9px;
    height: 14px;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}

.btn:hover{
    opacity: 0.8;
}

.btn.btn-w{
    background: #fff;
    color: #08245A;
    border: 2px solid #08245A;
}

.btn.btn-w::after{
    content: url('../img/icon-btn-p.svg');
}

.btn.route-btn::after{
    content: url('../img/icon-btn-route.svg');
    right: 18px;
    width: 15px;
    height: 15px;
}

.font-7 {
    font-size: 7px!important;
}

.count {
    position: relative;
    display: inline-block;    
    font-size: 12px;
    background: #fff;
    color: #000;
    padding: 3px 8px 0px 18px;
    line-height: 1;
    border-radius: 4px;
    margin-left: 20px;
}

.count::before{
    display: block;
    content: "";
    width: 10px;
    height: 11px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOS45MzciIGhlaWdodD0iMTAuOTMyIiB2aWV3Qm94PSIwIDAgOS45MzcgMTAuOTMyIj4NCiAgPGRlZnM+DQogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPg0KICAgICAgPHJlY3QgaWQ9IumVt+aWueW9ol8xMzQiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDEzNCIgd2lkdGg9IjkuOTM3IiBoZWlnaHQ9IjEwLjkzMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIgZmlsbD0ibm9uZSIvPg0KICAgIDwvY2xpcFBhdGg+DQogIDwvZGVmcz4NCiAgPGcgaWQ9IuOCsOODq+ODvOODl181NCIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5cgNTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMuMTE5KSI+DQogICAgPGcgaWQ9IuOCsOODq+ODvOODl18xNCIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5cgMTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMy4xMTkpIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+DQogICAgICA8cGF0aCBpZD0i44OR44K5Xzk5IiBkYXRhLW5hbWU9IuODkeOCuSA5OSIgZD0iTTIuMywyLjcxM2E0LjEzNyw0LjEzNywwLDAsMSwuNjM4LS40MDUsNC4zMjIsNC4zMjIsMCwwLDEsLjcxNy0uMjkxLDQuNDU3LDQuNDU3LDAsMCwxLC43OC0uMTYyLDQuNTg4LDQuNTg4LDAsMCwxLC44MjYtLjAyMXEuMTA3LjAwNy4yMTMuMDE5TDUuMjEzLDIuOGEuMDcyLjA3MiwwLDAsMCwuMS4wNzZsMS4zNjgtLjU5MywxLjQtLjYwNWEuMDYzLjA2MywwLDAsMCwuMDA5LS4xMTVMNi44MDcuNzgsNS41NDguMDE3YS4wNzQuMDc0LDAsMCwwLS4xMTYuMDYybC4xMS45NzdjLS4wNzEtLjAwNy0uMTQzLS4wMTQtLjIxNS0uMDE4YTUuNTg2LDUuNTg2LDAsMCwwLTEuMDA2LjAyNSw1LjQ0Miw1LjQ0MiwwLDAsMC0uOTUyLjIsNS4yNzMsNS4yNzMsMCwwLDAtLjg3NS4zNTQsNS4wMzgsNS4wMzgsMCwwLDAtLjc3Ny40OTQsNC43MzgsNC43MzgsMCwwLDAtLjY1OC42MTcsNC40MTksNC40MTksMCwwLDAtLjUxOC43MjQsNC4xNiw0LjE2LDAsMCwwLS4zNTYuODE0LDQuMDUzLDQuMDUzLDAsMCwwLS4xNzMuODg3QTQsNCwwLDAsMCwuMjYzLDYuOWEuNDQ2LjQ0NiwwLDAsMCwuNDIyLjI3MUEuNDk0LjQ5NCwwLDAsMCwuODMsNy4xNTFhLjM5MS4zOTEsMCwwLDAsLjI3OS0uNTA3QTMuMywzLjMsMCwwLDEsMS4wNDYsNC40OGEzLjQwOCwzLjQwOCwwLDAsMSwuMjkyLS42NjcsMy42MjQsMy42MjQsMCwwLDEsLjQyNS0uNTkzLDMuODkxLDMuODkxLDAsMCwxLC41NC0uNTA2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0wLjAwNSkiLz4NCiAgICAgIDxwYXRoIGlkPSLjg5HjgrlfMTAwIiBkYXRhLW5hbWU9IuODkeOCuSAxMDAiIGQ9Ik01NTQuMTI5LDEyNzRhNC4wNCw0LjA0LDAsMCwwLS4yMjEtLjg1Mi40NjEuNDYxLDAsMCwwLS41NjYtLjI1LjM5MS4zOTEsMCwwLDAtLjI3OS41MDcsMy4zLDMuMywwLDAsMSwuMDYzLDIuMTY1LDMuNDA1LDMuNDA1LDAsMCwxLS4yOTIuNjY3LDMuNjMxLDMuNjMxLDAsMCwxLS40MjUuNTk0LDMuOSwzLjksMCwwLDEtLjU0LjUwNiw0LjE0Myw0LjE0MywwLDAsMS0uNjM4LjQwNSw0LjMxMiw0LjMxMiwwLDAsMS0uNzE4LjI5MSw0LjQ1OSw0LjQ1OSwwLDAsMS0uNzguMTYyLDQuNTg5LDQuNTg5LDAsMCwxLS44MjYuMDIxYy0uMDc0LDAtLjE0OC0uMDEyLS4yMjItLjAybC4yNjMtLjk0M2EuMDcyLjA3MiwwLDAsMC0uMS0uMDc2bC0xLjM2OC41OTMtMS40LjZhLjA2My4wNjMsMCwwLDAtLjAwOS4xMTVsMS4yODMuNzc5LDEuMjU4Ljc2NGEuMDc0LjA3NCwwLDAsMCwuMTE2LS4wNjJsLS4xMS0uOTc3Yy4wNzUuMDA4LjE0OS4wMTUuMjI0LjAxOXEuMTgxLjAxMi4zNjMuMDEyYTUuNTcsNS41NywwLDAsMCwuNjQzLS4wMzcsNS40NTgsNS40NTgsMCwwLDAsLjk1Mi0uMiw1LjI4Myw1LjI4MywwLDAsMCwuODc1LS4zNTQsNS4wMzMsNS4wMzMsMCwwLDAsLjc3Ny0uNDk0LDQuNzM1LDQuNzM1LDAsMCwwLC42NTgtLjYxNyw0LjQyMiw0LjQyMiwwLDAsMCwuNTE4LS43MjQsNC4xNyw0LjE3LDAsMCwwLC4zNTYtLjgxNCw0LjAzLDQuMDMsMCwwLDAsLjE0NS0xLjc4NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU0NC4yMzQgLTEyNjkuMTA5KSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=");
    background-repeat: no-repeat;
    background-size: contain; 
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
}

.via-wrap {
    display: flex;
    gap: 4px;
}

.via-base {
    width: 26px;
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    text-align: center;
    color: #fff;
    border-radius: 3px;
    font-weight: normal;
    font-style: normal;
    font-family: 'NotoSansJP-Bold', sans-serif;
}

.via-base.via-naha {
    background: #0D7D7B;
}
.via-base.via-kokusai {
    background: #AA4465;
}


/***************************

    Header CSS Start

****************************/

.header-inner{
    background: #09245A;
    padding-top: 23px;
    padding-bottom: 17px;
    position: relative;
}
.site-title {
    font-size: 20px;
    color: #fff;
    line-height: 1;
}

.nav-ttl {
    background: #fff;
    position: absolute;
    z-index: 99;
    color: #08245A;
    font-size: 10px;
    width: 44px;
    height: 44px;
    top: 8px;
    right: 10px;
    cursor: pointer;
}
.nav-ttl span{
    position: absolute;
    bottom: 9px;
    left: 50%;
    transform: translate(-50%, 0);
    line-height: 1;
}
.nav-ttl span::before,
.nav-ttl span::after{
    display: block;
    content: "";
    position: absolute;
    width: 25px;
    height: 2px;
    background: #08245A;
    top: -16px;
    left: 50%;
    transform: translate(-50%, 0);
    line-height: 1;
    border-radius: 10px;
}

.nav-ttl span::after{
    top: -8px;
}

.nav-content {
    display: none;
    position: absolute;
    padding: 50px 10px 30px;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 999;
}

.btn-menu-close {
    width: 18px;
    height: 18px;
    position: absolute;
    top: 15px;
    right: 20px;
    cursor: pointer;
}
.btn-menu-close::before,
.btn-menu-close::after {
    width: 25px;
    height: 2px;
    display: block;
    position: absolute;
    content: "";
    background: #08245A;
    transform: rotate(45deg);
    top: 50%;
    left: 50%;
    margin-left: -12.5px;
    border-radius: 3px;
}

.btn-menu-close::after {
    transform: rotate(-45deg);
}

.nav-content-ttl {
    font-size: 18px;
    color: #08245A;
    border-bottom: 1px solid #08245A;
    margin-bottom: 30px;
    padding-bottom: 5px;
}

.nav-list li{
    margin-bottom: 20px;
}

.nav-content {
    display: block; 
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity .24s ease, transform .24s ease;
    pointer-events: none; 
}
.nav-content.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.nav-content .nav-list li { opacity: 0; transform: translateY(8px); }
.nav-content.is-open .nav-list li { opacity: 1; transform: translateY(0); }
.nav-content .nav-list li { transition: opacity .28s ease, transform .28s ease; }
.nav-content .nav-list li:nth-child(1) { transition-delay: .04s; }
.nav-content .nav-list li:nth-child(2) { transition-delay: .08s; }
.nav-content .nav-list li:nth-child(3) { transition-delay: .12s; }
.nav-content .nav-list li:nth-child(4) { transition-delay: .16s; }
body.menu-open { overflow: hidden; }



/***************************

    bottom-notice CSS Start

****************************/


.bottom-notice {
    background: #08245A;
    color: #fff;
    font-size: 14px;
    padding: 30px 0 35px;
}

.bottom-notice .bottom-notice-ttl {
    font-size: 20px;
    text-align: center;
    margin-bottom: 25px;
}

.bottom-notice .bottom-notice-txt {
    line-height: 1.4;
    margin-bottom: 50px;
}


/***************************

    footer CSS Start

****************************/

footer {
    padding: 20px 0;
    text-align: center;
    font-family: 'OT-ClarimoUDPE-DemiBold', sans-serif;
    font-size: 12px;
}

