@charset 'utf-8';
:root {
    --design-width: 1440;
    --scale: calc(100vw / var(--design-width));
}
body{
    background: #50BBE9;
}
a{
    text-decoration: none;
    transition: 0.3s;
}
.center{
    text-align: center;
}
.fw--bold{
    font-weight: 700;
}
.fw--exbold{
    font-weight: 800;
}
.w--full{
    width: 100%;
}

/* =========== main =========== */
.main{
    position: relative;
    padding-top: 100px;
    overflow: hidden;
}
.main__label{
    font-size: 26px;
    line-height: 39px;
    display: inline-block;
    width: 242px;
    border: 3px solid #fff;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
    opacity: 0;
    animation: fadeIn 0.6s ease-in-out forwards;
}
.main__copy{
    font-size: clamp(0px, calc(108 * var(--scale)), 108px);
	font-feature-settings: "halt" 1;
    opacity: 0;
    transform: translateX(-20px);
    animation: fadeInSlide 0.6s 0.4s ease-in-out forwards;
    margin-bottom: 11px;
    line-height: 1.6;
}
.main__logo{
    display: flex;
    gap: 18px;
    align-items: flex-end;
    justify-content: center;
    position: absolute;
    top: calc(30 * var(--scale));
    left: calc(30 * var(--scale));
    z-index: 1;
    opacity: 0;
    animation: fadeIn 0.6s ease-in-out forwards;
}
@media screen and (min-width: 1441px) {
    .main__logo{
        left: 50%;
        transform: translateX(-682px);
    }
}
.main__logo li:nth-of-type(2){
    margin-bottom: 13px;
}
.main__logo a{
    transition: 0.3s;
}
.main__logo a:hover{
    opacity: 0.6;
}
.main__img{
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}
.main__bg{
    width: 100%;
}
.main__character{
    position: absolute;
    opacity: 0;
    transform: scale(0.5);
}
.main__character1{
    width: clamp(0px, calc(479 * var(--scale)), 479px);
    left: 0;
    bottom: 0;
    animation: main__character 0.4s cubic-bezier(.2,.9,.3,1.2) 1.0s forwards;
}
.main__character2{
    width: clamp(0px, calc(155 * var(--scale)), 155px);
    left: clamp(0px, calc(520 * var(--scale)), 520px);
    bottom: clamp(0px, calc(19 * var(--scale)), 19px);
    animation: main__character 0.4s cubic-bezier(.2,.9,.3,1.2) 1.4s forwards;
}
.main__character3{
    width: clamp(0px, calc(221 * var(--scale)), 221px);
    left: clamp(0px, calc(732 * var(--scale)), 732px);
    bottom: 0;
    animation: main__character 0.4s cubic-bezier(.2,.9,.3,1.2) 1.2s forwards;
}
.main__character4{
    width: clamp(0px, calc(65 * var(--scale)), 65px);
    right: clamp(0px, calc(403 * var(--scale)), 403px);
    bottom: clamp(0px, calc(59 * var(--scale)), 59px);
    animation: main__character 0.4s cubic-bezier(.2,.9,.3,1.2) 1.3s forwards;
}
.main__character5{
    width: clamp(0px, calc(341 * var(--scale)), 341px);
    right: clamp(-46px, calc(-46 * var(--scale)), -46px);
    bottom: 0;
    animation: main__character 0.4s cubic-bezier(.2,.9,.3,1.2) 1.0s forwards;
}
@keyframes main__character {
    0% {
        transform: translateY(80px) scale(0.5);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* =========== train =========== */
.train{
    padding: 48px 0 45px;
    background: #7BCEF1;
    margin-bottom: 117px;
    position: relative;
    z-index: 1;
}
.train ul {
    display: flex;
    width: 100%;
    overflow: hidden;
}
.train ul li {
    display: flex;
    flex-shrink: 0;
    padding-left: 82px;
}
.train ul li img {
    flex-shrink: 0;
}
.train ul:first-child li:first-child {
    animation: train_carousel1 160s -80s linear infinite;
}
.train ul:first-child li:last-child {
    animation: train_carousel2 160s linear infinite;
}
@keyframes train_carousel1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}
@keyframes train_carousel2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

/* =========== lead =========== */
.lead{
    line-height: 2.25;
    margin-bottom: 117px;
}

/* =========== point =========== */
.point{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 63px 14px;
    margin-bottom: 106px;
}
.point__item{
    width: 280px;
}
.point__img{
    margin-bottom: 15px;
}
.point__text{
    font-size: 17px;
    line-height: 1.46;
}

/* =========== button =========== */
.button{
    margin-bottom: 192px;
}
.button a{
    display: inline-block;
    color: #2566B1;
    border: 4px solid #2566B1;
    border-radius: 13px;
    background: url(../img/button_arrow.png) no-repeat center right 26px #FFFF00;
    background-size: 10px auto;
    line-height: 70px;
    width: 427px;
    padding-right: 14px;
    transition: 0.3s;
}
.button a:hover{
    background-position: center right 22px;
    background-color: #fff;
}

/* =========== button__anchor =========== */
.button__anchor{
    width: 480px;
    margin: 0 auto 84px;
}
.button__anchor li:not(:last-of-type){
    margin-bottom: 39px;
}
.button__anchor a{
    display: table;
    border-radius: 100px;
    background: #2566B1;
    height: 87px;
    width: 480px;
    padding-right: 15px;
    position: relative;
    font-size: 23px;
	font-feature-settings: "halt" 1;
    transition: 0.3s;
}
.button__anchor a:before{
    content: "";
    width: 34px;
    height: 33px;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: url(../img/button_anchor_arrow.png)no-repeat center #EE81A0;
    background-size: contain;
    transition: 0.3s;
}
.button__anchor a span{
    display: table-cell;
    vertical-align: middle;
    line-height: 1.26;
}
.button__anchor a:hover{
    background-color: #fff;
    color: #2566B1;
}
.button__anchor a:hover:before{
    transform: translateY(calc(-50% + 4px));
}

/* =========== box =========== */
.box{
    background: #3887E3;
    border: 4px solid #fff;
    border-radius: 20px;
    padding: 74px 28px 0;
    overflow: hidden;
}
.box__name{
    margin-bottom: 10px;
}
.box__title{
    font-size: 40px;
    color: #FFFF00;
	font-feature-settings: "halt" 1;
    line-height: 1.5;
    margin-bottom: 40px;
}
.box__text{
    font-size: 18px;
    margin-bottom: 72px;
}

/* =========== wrapping =========== */
#wrapping{
    margin-bottom: 122px;
}
/* wrapping train */
.wrapping__train{
    padding: 50px 29px 58px;
    background: #fff;
    border-radius: 20px;
    margin-bottom: 48px;
}
.wrapping__schedule{
    font-size: 35px;
    color: #2566B1;
    margin-bottom: 5px;
    padding-left: 23px;
}
.wrapping__schedule span{
    font-size: 20px;
}
.wrapping__section{
    font-size: 25px;
    color: #2566B1;
    padding-left: 23px;
    margin-bottom: 44px;
}
.wrapping__section span{
	font-feature-settings: "halt" 1;
}
/* train scroll */
.swiper-slide {
    aspect-ratio: 928 / 172;
    width: 100%;
    height: auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
.swiper-slide:nth-of-type(1) {
    background-image: url(../img/train_carousel1.png);
}
.swiper-slide:nth-of-type(2) {
    background-image: url(../img/train_carousel2.png);
}
.swiper-slide:nth-of-type(3) {
    background-image: url(../img/train_carousel3.png);
}
.swiper-slide:nth-of-type(4) {
    background-image: url(../img/train_carousel4.png);
}
.swiper-slide:nth-of-type(5) {
    background-image: url(../img/train_carousel5.png);
}
.swiper-scrollbar {
    border-radius: 0 !important;
    padding: 16px;
    background-color: #F2F2F2;
    margin: 0 42px;
    position: relative !important;
    top: unset !important;
    left: unset !important;
    height: auto !important;
    width: calc(100% - 84px) !important;
    margin-top: 48px;
    margin-bottom: 40px;
}
.swiper-scrollbar-drag {
    border-radius: 0 !important;
    background-color: #ccc;
    mix-blend-mode: multiply;
    position: absolute;
}
.train__text{
    background: #F5D21F;
    line-height: 42px;
    border-radius: 7px;
    font-size: 13px;
    position: relative;
    margin: 0 42px;
    color: #000;
}
.train__text:before{
    content: "";
    width: 16px;
    height: 13px;
    background: url(../img/train_text_arrow.png)no-repeat center bottom;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 48px;
    transform: translateY(-100%);
}
.train__text span{
    color: #3887E3;
}
/* timetable */
.timetable__title{
    padding-left: 71px;
    margin-bottom: 8px;
    font-size: 35px;
    color: #FFFF00;
}
.timetable__wrapper{
    position: relative;
}
/* timetable tabContent */
.timetable__tabContent{
    display: flex;
    gap: 32px 20px;
    flex-wrap: wrap;
    justify-content: center;
    background: #fff;
    border-radius: 20px;
    color: #000;
    padding: 56px 0;
    font-size: 21px;
    position: relative;
    animation: fade 0.25s ease;
}
@keyframes fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.timetable__label{
    border-radius: 5px;
    background: #3370B6;
    color: #fff;
    width: 78px;
    line-height: 30px;
    padding-top: 2px;
    margin-bottom: 21px;
}
.timetable__tabContent dl{
    display: flex;
    flex-wrap: wrap;
    width: calc(3em + 384px);
    font-size: 20px;
}
.timetable__tabContent dt{
    width: 3em;
}
.timetable__tabContent dd{
    width: 384px;
    white-space: nowrap;
    padding-left: 0.5em;
}
.timetable__tabContent dd:not(:last-of-type){
    margin-bottom: 10px;
}
.timetable__tabContent dd span{
	font-feature-settings: "halt" 1;
}
/* timtable attention */
.timtable__attention{
    font-size: 14px;
    text-indent: -1em;
    padding-left: 1em;
}
.timetable__tabContent:nth-of-type(1) .timtable__attention{
    position: absolute;
    left: 38px;
    bottom: 56px;
}
.timetable__tabContent:nth-of-type(2) .timtable__attention{
    margin-left: 38px;
}
/* timetable tabButton */
.timetable__tabButton{
    display: flex;
    gap: 6px;
    position: absolute;
    top: 0;
    right: 119px;
    transform: translateY(-100%);
    z-index: 1;
}
.timetable__tabButton li{
    width: 160px;
    padding: 8px 0 3px;
    background: #225399;
    border: 2px solid #225399;
    border-bottom: none;
    border-radius: 7px 7px 0 0;
    cursor: pointer;
    transition: 0.3s;
}
.timetable__tabButton li span{
    padding-right: 24px;
    background: url(../img/tab_btn_arrow.png)no-repeat right center;
    background-size: 16px;
    font-size: 22px;
    transition: 0.3s;
}
.timetable__tabButton li.active{
    background: #fff;
    color: #225399;
    position: relative;
    border-color: #fff;
}
.timetable__tabButton li.active:before{
    content: "";
    width: calc(100% - 32px);
    height: 1px;
    background: #225399;
    position: absolute;
    bottom: -1px;
    left: 16px;
}
.timetable__tabButton li.active span{
    background-image: url(../img/tab_btn_arrow_on.png);
}
.timetable__tabButton li:hover{
    border-color: #fff;
}
.timetable__tabButton li:hover span{
    background-position: right bottom 8px;
}
/* wrapping bnr */
.wrapping__bnr{
    margin: 60px 0;
}
.wrapping__bnr a{
    transition: 0.3s;
}
.wrapping__bnr a:hover{
    filter: brightness(1.05);
}
/* wrapping attention */
.wrapping__attention{
    margin-left: -29px;
    margin-right: -29px;
    padding: 54px 56px 64px;
    background: #FFEE00;
    color: #000;
}
.wrapping__attention p{
    font-size: 35px;
    color: #E83820;
    margin-bottom: 24px;
}
.wrapping__attention ul{
    padding-left: 1em;
    list-style-type: disc;
}
.wrapping__attention li{
    font-size: 15px;
    line-height: 2;
}

/* =========== nimoca =========== */
#nimoca{
    margin-bottom: 100px;
}
.nimoca__inner{
    padding: 0 56px 90px;
}
.nimoca__card{
    background: #fff;
    border-radius: 20px;
    padding: 33px 36px 90px;
    margin-bottom: 75px;
}
.nimoca__card p{
    color: #000;
    font-size: 18px;
    margin-bottom: 48px;
}
.nimoca__infoTitle{
    font-size: 35px;
    background: #50BBE9;
    line-height: 77px;
    margin-bottom: 61px;
}
.nimoca__info{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 36px;
    margin-bottom: 52px;
}
.nimoca__info dt{
    font-size: 28px;
    border-radius: 10px;
    background: #3370B6;
    width: 229px;
    line-height: 70px;
}
.nimoca__info dd{
    font-size: 35px;
    width: calc(100% - 229px - 36px);
    white-space: nowrap;
    line-height: 1.4;
}
.nimoca__info dd span{
    font-weight: 400;
    font-size: 12px;
}
.nimoca__info dd:nth-of-type(2){
    padding-top: 0;
}
.nimoca__info dd:nth-of-type(2) span{
    line-height: 1.3;
    display: block;
}
.button__apply{
    margin-bottom: 60px;
}
.button__apply a{
    display: inline-block;
    border-radius: 100px;
    background: url(../img/button_apply_arrow.png) no-repeat center right 31px #EE81A0;
    background-size: 33px auto;
    line-height: 87px;
    width: 480px;
    font-size: 28px;
    transition: 0.3s;
}
.button__apply a:hover{
    color: #EE81A0;
    background-image: url(../img/button_apply_arrow_on.png);
    background-color: #fff;
    background-position: center right 27px;
}
.nimoca__attentionBox:not(:last-of-type){
    padding-bottom: 45px;
    margin-bottom: 45px;
    border-bottom: 1px solid #fff;
}
.nimoca__attentionTitle{
    font-size: 35px;
    margin-bottom: 14px;
}
.nimoca__attention ul{
    padding-left: 1em;
    list-style-type: disc;
}
.nimoca__attention li{
    line-height: 2;
}
.nimoca__contactTitle{
    font-size: 28px;
    margin-bottom: 18px;
}
.nimoca__contactTel{
    background: #539AED;
    border-radius: 10px;
    font-size: 27px;
    line-height: 76px;
    padding-top: 5px;
    margin-bottom: 26px;
}
.nimoca__contactTel a{
    text-decoration: none;
    font-size: 37px;
}
.nimoca__contactTel span{
    font-size: 19px;
}

/* =========== copyright =========== */
.copyright{
    font-size: 12px;
    padding-bottom: 44px;
    letter-spacing: 0.1em;
}

@media screen and (min-width: 737px) {
    br.sp{
        display: none;
    }
    .w--1050{
        width: 1050px;
        margin: auto;
    }
    @media screen and (min-width: 1440px) {
        .main{
            background: url(../img/main_bg_large.png?260302)no-repeat center bottom;
            background-size: 2868px auto;
        }
        .main__bg{
            opacity: 0;
        }
    }
}

@media screen and (max-width: 736px) {
    br.pc{
        display: none;
    }
    :root {
        --sp-design-width: 375;
        --sp-scale: calc(100vw / var(--sp-design-width));
    }
    .w--1050{
        padding: 0 14px;
    }

    /* =========== main =========== */
    .main{
        padding-top: 83px;
    }
    .main__label{
        font-size: 13px;
        line-height: 18px;
        width: 121px;
        border-width: 2px;
        padding-top: 1px;
    }
    .main__copy{
        font-size: calc(28 * var(--sp-scale));
    }
    .main__logo{
        gap: 8px;
        margin-top: 0;
        top: 19px;
        left: 19px;
    }
    .main__logo *{
        line-height: 0;
    }
    .main__logo li:nth-of-type(1) img{
        width: 52px;
    }
    .main__logo li:nth-of-type(2){
        margin-bottom: 6px;
    }
    .main__logo li:nth-of-type(2) img{
        width: 6px;
    }
    .main__logo li:nth-of-type(3) img{
        width: 70px;
    }
    .main__img{
        margin-top: 26px;
    }
    .main__character5{
        right: clamp(-12px, calc(-12 * var(--scale)), -12px);
    }

    /* =========== train =========== */
    .train{
        padding: 22px 0;
        margin-bottom: 64px;
    }
    .train ul li {
        padding-left: 58px;
    }
    .train ul li img {
        width: 3462px;
    }

    /* =========== lead =========== */
    .lead{
        margin-bottom: 68px;
        font-size: 14px;
    }

    /* =========== point =========== */
    .point{
        gap: 46px 32px;
        margin-bottom: 48px;
        padding: 0 15px;
    }
    .point__item{
        width: calc(50% - 32px);
        flex: 1;
    }
    .point__img{
        margin-bottom: 8px;
    }
    .point__text{
        font-size: 14px;
        white-space: nowrap;
    }

    /* =========== button =========== */
    .button{
        margin-bottom: 103px;
    }
    .button a{
        border-width: 3px;
        border-radius: 10px;
        background-size: 5px auto;
        line-height: 56px;
        width: 100%;
        padding-right: 8px;
        font-size: 16px;

    }

    /* =========== button__anchor =========== */
    .button__anchor{
        width: 100%;
        margin-bottom: 60px;
    }
    .button__anchor li:not(:last-of-type){
        margin-bottom: 16px;
    }
    .button__anchor a{
        height: 62px;
        width: 100%;
        padding-right: 10px;
        padding-top: 1px;
        font-size: 16px;
    }
    .button__anchor a:before{
        width: 24px;
        height: 24px;
        right: 18px;
    }

    /* =========== box =========== */
    .box{
        border-width: 2px;
        border-radius: 11px;
        padding: 38px 12px 0;
    }
    .box__name{
        font-size: 13px;
    }
    .box__title{
        font-size: 23px;
        margin-bottom: 19px;
    }
    .box__text{
        font-size: 14px;
        margin-bottom: 22px;
    }

    /* =========== wrapping =========== */
    #wrapping{
        margin-bottom: 20px;
    }
    /* wrapping train */
    .wrapping__train{
        padding: 21px 16px 30px;
        border-radius: 8px;
        margin-bottom: 25px;
    }
    .wrapping__schedule{
        font-size: 20px;
        padding-left: 0;
    }
    .wrapping__schedule span{
        font-size: 10px;
    }
    .wrapping__section{
        font-size: 15px;
        padding-left: 0;
        margin-bottom: 25px;
    }
    /* train scroll */
    .swiper{
        margin: 0 -16px;
    }
    .swiper-slide {
        aspect-ratio: 300 / 154;
    }
    .swiper-slide:nth-of-type(1) {
        background-image: url(../img/train_carousel_sp1.png);
    }
    .swiper-slide:nth-of-type(2) {
        background-image: url(../img/train_carousel_sp2.png);
    }
    .swiper-slide:nth-of-type(3) {
        background-image: url(../img/train_carousel_sp3.png);
    }
    .swiper-slide:nth-of-type(4) {
        background-image: url(../img/train_carousel_sp4.png);
    }
    .swiper-slide:nth-of-type(5) {
        background-image: url(../img/train_carousel_sp5.png);
    }
    .swiper-slide:nth-of-type(6) {
        background-image: url(../img/train_carousel_sp6.png);
    }
    .swiper-slide:nth-of-type(7) {
        background-image: url(../img/train_carousel_sp7.png);
    }
    .swiper-slide:nth-of-type(8) {
        background-image: url(../img/train_carousel_sp8.png);
    }
    .swiper-slide:nth-of-type(9) {
        background-image: url(../img/train_carousel_sp8.png);
    }
    .swiper-slide:nth-of-type(10) {
        background-image: url(../img/train_carousel_sp10.png);
    }
    .swiper-slide:nth-of-type(11) {
        background-image: url(../img/train_carousel_sp11.png);
    }
    .swiper-slide:nth-of-type(12) {
        background-image: url(../img/train_carousel_sp12.png);
    }
    .swiper-slide:nth-of-type(13) {
        background-image: url(../img/train_carousel_sp13.png);
    }
    .swiper-slide:nth-of-type(14) {
        background-image: url(../img/train_carousel_sp14.png);
    }
    .swiper-scrollbar {
        padding: 16px 5px;
        margin: 0;
        width: 100% !important;
        margin-top: 38px;
        margin-bottom: 26px;
        line-height: 0;
    }
    .train__text{
        line-height: 1.3;
        border-radius: 6px;
        font-size: 10px;
        margin: 0;
        text-align: left;
        padding: 8px 12px 7px;
    }



    /* timetable */
    .timetable__title{
        padding-left: 0;
        margin-bottom: 13px;
        font-size: 20px;
        text-align: center;
    }
    /* timetable tabContent */
    .timetable__tabContent{
        display: block;
        border-radius: 8px;
        padding: 36px 24px;
        font-size: 15px;
    }
    .timetable__label{
        border-radius: 4px;
        width: 56px;
        line-height: 20px;
        margin-bottom: 12px;
    }
    .timetable__tabContent dl{
        width: 100%;
        font-size: 13px;
    }
    .timetable__tabContent dd{
        width: calc(100% - 3em);
    }
    .timetable__tabContent > div{
        margin-bottom: 22px;
    }
    /* timtable attention */
    .timtable__attention{
        font-size: 10px;
    }
    .timetable__tabContent:nth-of-type(1) .timtable__attention{
        position: static;
    }
    .timetable__tabContent:nth-of-type(2) .timtable__attention{
        margin-left: 0;
    }
    /* timetable tabButton */
    .timetable__tabButton{
        gap: 5px;
        position: static;
        transform: unset;
        justify-content: center;
    }
    .timetable__tabButton li{
        width: 136px;
        padding: 6px 0 3px;
        border-radius: 6px 6px 0 0;
    }
    .timetable__tabButton li span{
        padding-right: 19px;
        background-size: 13px;
        font-size: 18px;
    }
    .timetable__tabButton li.active:before{
        width: calc(100% - 28px);
        left: 14px;
    }
    /* wrapping bnr */
    .wrapping__bnr{
        margin: 35px 16px;
    }
    /* wrapping attention */
    .wrapping__attention{
        margin-left: -15px;
        margin-right: -15px;
        padding: 36px 21px 33px;
    }
    .wrapping__attention p{
        font-size: 20px;
        margin-bottom: 12px;
    }
    .wrapping__attention li{
        font-size: 14px;
        line-height: 1.6;
    }

    /* =========== nimoca =========== */
    #nimoca{
        margin-bottom: 24px;
        padding-bottom: 57px;
    }
    .nimoca__inner{
        padding: 0;
    }
    .nimoca__card{
        border-radius: 8px;
        padding: 17px 17px 34px;
        margin-bottom: 50px;
    }
    .nimoca__card p{
        font-size: 13px;
        margin-bottom: 14px;
    }
    .nimoca__card div{
        padding: 0 17px;
    }
    .nimoca__infoTitle{
        font-size: 20px;
        line-height: 36px;
        margin-bottom: 26px;
    }
    .nimoca__info{
        gap: 12px 10px;
        margin-bottom: 24px;
    }
    .nimoca__info dt{
        font-size: 14px;
        border-radius: 5px;
        width: 104px;
        line-height: 32px;
    }
    .nimoca__info dd{
        font-size: 14px;
        width: calc(100% - 104px - 10px);
        padding-top: 0;
        line-height: 1.3;
    }
    .nimoca__info dd span{
        font-size: 10px;
        display: block;
    }
    .button__apply{
        margin-bottom: 32px;
        padding: 0 8px;
    }
    .button__apply a{
        background-position: center right 19px;
        background-size: 21px auto;
        line-height: 55px;
        width: 100%;
        font-size: 17px;
        padding-right: 8px;
    }
    .nimoca__attentionBox{
        font-size: 12px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .nimoca__attentionTitle{
        font-size: 20px;
        margin-bottom: 14px;
        text-align: center;
    }
    .nimoca__attention ul{
        padding-left: 1em;
        list-style-type: disc;
    }
    .nimoca__attention li{
        font-size: 14px;
        line-height: 1.6;
    }
    .nimoca__contactTitle{
        font-size: 18px;
        margin-bottom: 13px;
    }
    .nimoca__contactTel{
        border-radius: 6px;
        font-size: 17px;
        line-height: 1.5;
        margin-bottom: 19px;
        padding: 16px 19px 12px;
        text-align: left;
        white-space: nowrap;
    }
    .nimoca__contactTel a{
        text-decoration: none;
        font-size: 23px;
    }
    .nimoca__contactTel span{
        font-size: 12px;
    }

    /* =========== copyright =========== */
    .copyright{
        font-size: 10px;
        padding-bottom: 29px;
    }
}


/* =========== animation =========== */
.animation--fadeIn{
    opacity: 0;
}
.animation--fadeIn.show{
    animation: fadeIn 0.6s ease-in-out forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.animation--fadeInUp{
    opacity: 0;
    transform: translateY(20px);
}
.animation--fadeInUp.show{
    animation: fadeInUp 0.6s ease-in-out forwards;
}
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.animation--fadeInSlide{
    opacity: 0;
    transform: translateX(-20px);
}
.animation--fadeInSlide.show{
    animation: fadeInSlide 0.6s ease-in-out forwards;
}
@keyframes fadeInSlide {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}




