.l-main {
    overflow-x: hidden
}

.l-wrap {
    background-color: #002140
}

.pg-top__nav {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    z-index: 100;
    background: linear-gradient(135deg, rgba(0, 52, 100, 0.9), rgba(4, 82, 107, 0.9));
    background-position: top;
    color: #fff;
    font-size: clamp(.75rem, 2.08062vw, 1rem);
    font-weight: 500;
    letter-spacing: -0.15em
}

.pg-top__nav:not([lang="ja-JP"]) {
    letter-spacing: 0
}

@media not screen and (min-width: 769px) {
    .pg-top__nav {
        position: fixed;
        bottom: 0;
        top: auto;
        overflow-x: scroll;
        padding: 0 3.90117vw;
        transform: translateY(100%);
        transition: transform 0.3s ease-in-out;
    }

    .pg-top__nav.is-open {
        transform: translateY(0);
    }

    .nav-scroll-indicator {
        content: "";
        position: fixed;
        bottom: 3%;
        right: 1.30039vw;
        width: 5.85176vw;
        height: 7.80234vw;
        background-image: url(../images/common/ico_arrow_nav.png);
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 100;
        pointer-events: none;
        transition: opacity 0.3s ease-in-out;
        opacity: 1;
        visibility: visible;
    }

    .nav-scroll-indicator.hidden {
        opacity: 0;
        visibility: hidden;
    }

    /* 移动端菜单切换按钮 */
    .mobile-nav-toggle {
        position: fixed;
        bottom: 3%;
        right: 1.30039vw;
        width: 10vw;
        height: 10vw;
        background-image: url(../images/top/pg-top__nav.svg);
        background-size: 80%;
        background-position: center;
        background-repeat: no-repeat;
        background-color: rgba(4, 82, 107, 0.9);
        border-radius: 6px;
        border: none;
        z-index: 101;
        cursor: pointer;
        transition: transform 0.3s ease-in-out;
    }

    .mobile-nav-toggle.is-open {
        transform: rotate(180deg);
        opacity: 0;
        visibility: hidden;
    }
}

.pg-top__navWrap {
    position: relative
}

.pg-top__navLists {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto
}

@media not screen and (min-width: 769px) {
    .pg-top__navLists {
        width: -webkit-fit-content;
        width: fit-content
    }
}

.pg-top__navList {
    width: 100%;
    text-align: center;
    position: relative
}

.pg-top__navList::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1px;
    height: 70%;
    background-color: #376085;
    z-index: 10
}

.pg-top__navList:first-of-type::before {
    content: none
}

@media not screen and (min-width: 769px) {
    .pg-top__navList {
        width: 30vw
    }
}

.pg-top__navIco {
    margin: 0 auto
}

.pg-top__navIco img {
    margin: 0 auto
}

.pg-top__navLink {
    width: 100%;
    padding: .75rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    line-height: 1rem
}

@media (hover: hover) {
    .pg-top__navLink {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__navLink:hover {
        opacity: var(--opacity)
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__navLink {
        width: 30vw;
        padding: 2.60078vw 2.60078vw
    }
}

.pg-top__navTit {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

.pg-top__slideWrap {
    background-color: #e7e7e7;
    padding-bottom: 1.25rem
}

.pg-top__slide {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto
}

.pg-top__slide .swiper-pagination-bullet {
    border: 1px solid #002140
}

.pg-top__slide .swiper-pagination-bullet-active {
    background-color: #002140 !important
}

.pg-top__slide .p-slide__playBtn {
    background-image: url(../images/common/btn_stop.png)
}

.pg-top__slide .p-slide__playBtn.is-pause {
    background-image: url(../images/common/btn_play.png?v2)
}

.pg-top__slide .p-slide__txt {
    color: #fff;
    background-color: #003664
}

#instructionsheet {
    background: #e7e7e7;
    padding-bottom: 15px;
}

#instructionsheet a {
    display: block;
    max-width: 1200px;
    margin: 0 auto;
}

.pg-top__calendar {
    padding-top: 2.5rem
}

@media not screen and (min-width: 769px) {
    .pg-top__calendar {
        padding-top: 3.90117vw
    }
}

.pg-top__blogTit {
    text-align: center;
    margin-bottom: 3.125rem
}

.pg-top__blogTit img {
    width: 60%;
    margin: 0 auto
}

@media not screen and (min-width: 769px) {
    .pg-top__blogTit {
        margin-bottom: 5.20156vw
    }
}

.pg-top__blogTxt {
    color: #00213f;
    text-align: center;
    font-size: clamp(1rem, 2.60078vw, 1.25rem);
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 3.125rem;
    font-family: SHanSanB;
}

@media not screen and (min-width: 769px) {
    .pg-top__blogTxt {
        margin-bottom: 5.20156vw;
        font-family: SHanSanB;
    }
}

.pg-top__blogBtn {
    margin-top: 2.8125rem;
    margin-left: auto;
    margin-right: auto
}

@media not screen and (min-width: 769px) {
    .pg-top__blogBtn {
        margin-top: 7.15215vw
    }
}

.pg-top__blogLink {
    gap: 1.875rem;
    width: 97%;
    margin: 0 auto
}

@media not screen and (min-width: 769px) {
    .pg-top__blogLink {
        gap: 3.90117vw
    }
}

.pg-top__hobbyLists {
    display: grid;
    gap: 3.75rem 1.875rem;
    grid-template-columns:1fr 1fr;
    width: 97%;
    margin: 0 auto;
    align-items: stretch
}

.pg-top__hobbyLists:lang(es-ES), .pg-top__hobbyLists:lang(zh-HK), .pg-top__hobbyLists:lang(zh-TW), .pg-top__hobbyLists:lang(ko-KR) {
    grid-template-columns:1fr;
    width: 50%
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyLists:lang(es-ES), .pg-top__hobbyLists:lang(zh-HK), .pg-top__hobbyLists:lang(zh-TW), .pg-top__hobbyLists:lang(ko-KR) {
        width: 100%
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyLists {
        display: block
    }
}

.pg-top__hobbyList {
    display: flex;
    flex-direction: column
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyList {
        margin-bottom: 6.50195vw
    }

    .pg-top__hobbyList:last-of-type {
        margin-bottom: 0
    }
}

.pg-top__hobbyLink {
    display: block;
    width: 100%;
    flex-grow: 1
}

.pg-top__hobbyLink img {
    width: 100%
}

@media (hover: hover) {
    .pg-top__hobbyLink {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__hobbyLink:hover {
        opacity: var(--opacity)
    }
}

.pg-top__hobbyBorder {
    position: relative;
    display: flex;
    background-repeat: no-repeat;
    background-position: 0 50%,
    100% 50%;
    background-size: 1.375rem, 1.375rem;
    border: 10px solid #000;
    border-radius: 30px;
    padding: 1.25rem;
    flex-grow: 1
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyBorder {
        border-width: 7px
    }
}

.pg-top__hobbyBorder.-red {
    border-color: #d90d2e;
    background-image: url(../images/top/img_hobby_left_red.png), url(../images/top/img_hobby_right_red.png);
    background-position: 0 30%,
    100% 60%
}

.pg-top__hobbyBorder.-blue {
    border-color: #006da5;
    background-image: url(../images/top/img_hobby_top_blue.png), url(../images/top/img_hobby_bottom_blue.png);
    background-position: 30% 0%,
    70% 100%;
    background-size: .625rem, .625rem
}

.pg-top__hobbyBorder.-yellow {
    border-color: #eca700;
    background-image: url(../images/top/img_hobby_left_yellow.png), url(../images/top/img_hobby_right_yellow.png);
    background-position: 0 80%,
    100% 40%
}

.pg-top__hobbyBorder.-green {
    border-color: #0b9211;
    background-image: url(../images/top/img_hobby_top_green.png), url(../images/top/img_hobby_bottom_green.png);
    background-position: 80% 0%,
    20% 100%;
    background-size: .625rem, .625rem
}

.pg-top__hobbyTit {
    background-color: #000;
    width: -webkit-fit-content;
    width: fit-content;
    padding: 0.5em 1em 0.1em 1em;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    margin-left: 1.5em;
    color: #fff;
    font-size: clamp(1.125rem, 3.12094vw, 1.5rem);
    letter-spacing: -0.03em;
    line-height: 1.2;
    font-weight: 500
}

.pg-top__hobbyTit.-red {
    background-color: #d90d2e
}

.pg-top__hobbyTit.-blue {
    background-color: #006da5
}

.pg-top__hobbyTit.-yellow {
    background-color: #eca700
}

.pg-top__hobbyTit.-green {
    background-color: #0b9211
}

.pg-top__hobbyBorderWrap {
    display: flex;
    flex-direction: column;
    height: 100%
}

.pg-top__hobbyInner {
    border: 5px solid #000;
    border-radius: 15px;
    display: flex;
    flex-direction: column
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyInner {
        border-width: 4px
    }
}

.pg-top__hobbyInner.-red {
    border-color: #d90d2e
}

.pg-top__hobbyInner.-blue {
    border-color: #006da5
}

.pg-top__hobbyInner.-yellow {
    border-color: #eca700
}

.pg-top__hobbyInner.-green {
    border-color: #0b9211
}

.pg-top__hobbyInnerImg {
    padding: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px
}

.pg-top__hobbyInnerTxt {
    border-top: 5px solid #000;
    padding: .625rem;
    text-align: center;
    color: #fff;
    text-align: center;
    font-size: clamp(1rem, 2.60078vw, 1.25rem);
    font-weight: 500;
    flex-grow: 1
}

@media not screen and (min-width: 769px) {
    .pg-top__hobbyInnerTxt {
        border-top-width: 4px
    }
}

.pg-top__hobbyInnerTxt.-red {
    border-color: #d90d2e;
    background-color: #d90d2e
}

.pg-top__hobbyInnerTxt.-blue {
    border-color: #006da5;
    background-color: #006da5
}

.pg-top__hobbyInnerTxt.-yellow {
    border-color: #eca700;
    background-color: #eca700
}

.pg-top__hobbyInnerTxt.-green {
    border-color: #0b9211;
    background-color: #0b9211
}

.js-hobby-01 {
    opacity: 0
}

.js-hobby__display-01 {
    -webkit-animation-name: fadeUpAnime;
    animation-name: fadeUpAnime;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    opacity: 0
}

.js-hobby-02 {
    opacity: 0
}

.js-hobby__display-02 {
    -webkit-animation-name: fadeUpAnime02;
    animation-name: fadeUpAnime02;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
    opacity: 0
}

@-webkit-keyframes fadeUpAnime {
    from {
        opacity: 0;
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg)
    }
    to {
        opacity: 1;
        -webkit-transform: rotateX(360deg);
        transform: rotateX(360deg)
    }
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg)
    }
    to {
        opacity: 1;
        -webkit-transform: rotateX(360deg);
        transform: rotateX(360deg)
    }
}

@-webkit-keyframes fadeUpAnime02 {
    from {
        opacity: 0;
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    to {
        opacity: 1;
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg)
    }
}

@keyframes fadeUpAnime02 {
    from {
        opacity: 0;
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    to {
        opacity: 1;
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg)
    }
}

.pg-top__bnrs {
    width: 97%;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: .9375rem;
    grid-template-columns:1fr 1fr 1fr;
    margin-bottom: 5.625rem
}

@media not screen and (min-width: 769px) {
    .pg-top__bnrs {
        display: block;
        margin-bottom: 5.20156vw
    }
}

.pg-top__bnrs01 {
    width: calc(33% - 1.0555rem);
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.25rem;
    margin-bottom: 3.125rem
}

@media screen and (min-width: 769px) {
    .pg-top__bnrs01 {
        max-width: 378px
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__bnrs01 {
        display: block;
        width: 97%;
        margin-top: 2.60078vw;
        margin-bottom: 5.20156vw
    }
}

.pg-top__bnrs02 {
    width: 97%;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: .9375rem;
    grid-template-columns:1fr 1fr 1fr;
    margin-top: 1.25rem;
    margin-bottom: 3.125rem
}

@media not screen and (min-width: 769px) {
    .pg-top__bnrs02 {
        display: block;
        margin-top: 2.60078vw;
        margin-bottom: 5.20156vw
    }
}

.pg-top__bnrs-4 {
    width: 97%;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: .9375rem;
    grid-template-columns:1fr 1fr 1fr 1fr;
    margin-bottom: 5.625rem
}

.pg-top__bnrs-4 img {
    width: 100%
}

@media not screen and (min-width: 769px) {
    .pg-top__bnrs-4 {
        grid-template-columns:1fr 1fr;
        gap: .9375rem;
        margin-bottom: 5.20156vw
    }
}

.pg-top__bnrs-4-2 {
    width: 97%;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: .9375rem;
    grid-template-columns:1fr 1fr 1fr 1fr;
    margin-bottom: 0
}

@media not screen and (min-width: 769px) {
    .pg-top__bnrs-4-2 {
        display: block;
        grid-template-columns:1fr;
        margin-bottom: 0
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__bnr {
        display: block;
        margin-bottom: .9375rem
    }

    .pg-top__bnr:last-of-type {
        margin-bottom: 0
    }

    .pg-top__bnr img {
        width: 100%
    }
}

@media (hover: hover) {
    .pg-top__bnr {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__bnr:hover {
        opacity: var(--opacity)
    }
}

@media (hover: hover) {
    .pg-top__bnr4 {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__bnr4:hover {
        opacity: var(--opacity)
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__bnr4 {
        display: block
    }

    .pg-top__bnr4 img {
        width: 100%
    }
}

.pg-top__attentionBtm {
    padding: 3.125rem 0;
    line-height: 1.2;
    color: #fff;
    font-weight: 500
}

@media not screen and (min-width: 769px) {
    .pg-top__attentionBtm {
        padding: 5.20156vw 0
    }
}

.pg-top__attentionLists {
    width: 97%;
    max-width: 1164px;
    margin: 0 auto 0;
    display: grid;
    gap: .9375rem;
    grid-template-columns:1fr 1fr
}

@media not screen and (min-width: 769px) {
    .pg-top__attentionLists {
        display: block;
        margin: 1em auto 0
    }
}

@media not screen and (min-width: 769px) {
    .pg-top__attentionList {
        margin-bottom: 2.60078vw
    }

    .pg-top__attentionList:last-of-type {
        margin-bottom: 0
    }
}

.pg-top__attentionBnr {
    position: relative;
    display: block;
    background-color: #fff;
    border: 1px solid #002140;
    color: #3e3e3e;
    text-align: center;
    font-size: clamp(.9375rem, 3.12094vw, 1.5rem);
    padding: 1.875rem 3.125rem 1.875rem 3.125rem
}

@media (hover: hover) {
    .pg-top__attentionBnr {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__attentionBnr:hover {
        opacity: var(--opacity)
    }
}

.pg-top__attentionBnr:before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0.75rem;
    width: 1.25rem;
    height: 1.25rem;
    background: url(../images/common/ico_arrow_r.png);
    background-repeat: no-repeat;
    background-size: contain
}

.pg-top__attentionBnr:after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 1rem;
    width: 1.5em;
    height: 1.5em;
    background: url(../images/common/ico_attention_tri.png);
    background-repeat: no-repeat;
    background-size: contain
}

@media not screen and (min-width: 769px) {
    .pg-top__attentionBnr {
        padding: 5.20156vw 10.40312vw 5.20156vw 5.20156vw
    }
}

.pg-top__onlineBtn {
    display: block;
    margin-left: auto;
    background-color: #d90d2e;
    color: #fff;
    margin-bottom: 0.8em;
    border-radius: 5px;
    padding: 0.2em 0.3em;
    font-size: clamp(.9375rem, 3.12094vw, 1.5rem)
}

@media (hover: hover) {
    .pg-top__onlineBtn {
        transition: opacity var(--time) var(--easing)
    }

    .pg-top__onlineBtn:hover {
        opacity: var(--opacity)
    }
}

.is-display {
    display: block
}

.is-hide {
    display: none
}

.pg-top__localAttention {
    margin: 0;
    background-color: #003664;
    padding: 1em
}

.pg-top__localAttentionTxt {
    color: #fff;
    text-align: center;
    font-weight: 500;
    font-size: clamp(.9375rem, 2.3407vw, 1.125rem)
}

#pg-top__linkId .qrcode-toggle {
    position: relative;
    cursor: pointer;
}
#pg-top__linkId .qrcode-toggle .miniprogram {
    display: none;
    position: absolute;
    top: -128px;
    left: 50%;
    margin-left: -60px;
    z-index: 999;
    background: #fff;
    width: 120px;
    height: 120px;
    border-radius: 5px;
    box-shadow: 0 0 3px #888888;
}
#pg-top__linkId .qrcode-toggle .miniprogram:after {
    position: absolute;
    display: inline-block;
    bottom: -3px;
    left: 57px;
    width: 0;
    height: 0;
    content: '';
    border-style: solid;
    border-width: 3px;
    border-color: transparent transparent #fff #fff;
    transform: rotate(-45deg);
    box-shadow: -1px 1px 1px #c3c3c3;
}
#pg-top__linkId .qrcode-toggle .miniprogram.show {
    display: block;
}
