@charset "utf-8";
.main-page{padding-top: 10px;}
/* Hero */
.hero-large {position: relative;}
.hero-large .hero-inner{display: flex;}
.hero-large .hero-inner figure{width: 50%;}
.hero-large .caption{  position: absolute;right: 1%;bottom: 2%;color: #fff;}
.hero-large .img-person{position: absolute;width: 22.29%;max-width: 428px;bottom: 0;left: 50%;transform: translateX(-50%);}
.hero-large .hero-large_tit{top: 15%;}
.hero-large .hero-txt{
    position: absolute;
    opacity: 0;
    transform: translateY(18px) scale(.96);
    filter: blur(3px);
    will-change: opacity, transform, filter;
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22, 1, .36, 1),
        filter .8s ease;
}
.hero-large.is-view .hero-txt{
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}
.hero-large.is-view .hero-txt01{transition-delay: .35s;}
.hero-large.is-view .hero-txt02{transition-delay: .65s;}
.hero-large.is-view .hero-txt03{transition-delay: .95s;}
.hero-large.is-view .hero-txt04{transition-delay: 1.25s;}
.hero-large .hero-txt01{width: 21.4583333%;max-width: 412px;left: 18.7%;top: 48%;}
.hero-large .hero-txt03{width: 14.47916666%;max-width: 380px;left: 18.8%;bottom: 10px;}

.hero-large .hero-txt02{width: 19.7916666%;max-width: 380px;right:18.7%;top: 48%;}
.hero-large .hero-txt04{width: 13.8541666%;max-width: 266px;right: 18.8%;bottom: 10px;}

@media screen and (min-width:1920px){
.hero-large .hero-txt01{left: calc(50% - 600px);}
.hero-large .hero-txt03{left: calc(50% - 590px);}
.hero-large .hero-txt02{right:calc(50% - 600px);}
.hero-large .hero-txt04{right: calc(50% - 590px);}

}
@media screen and (max-width: 768px){
    .hero-large .img-person{width: 35%;}
    .hero-large .hero-txt01{left: 40px;top: 40%;width: 32%;}
    .hero-large .hero-txt02{right: 40px;width: 32%;top: 40%;}
    .hero-large .hero-txt03{left: 40px;bottom: unset;top: 60%;width: 20%;}
    .hero-large .hero-txt04{right: 40px;bottom: unset;top: 60%;width: 20%;}
}
@media screen and (max-width: 480px){
    .hero-large .img-person{width: 45%;}
    .hero-large .img-person{width: 35%;}
    .hero-large .hero-txt01{left: 10px;top: 40%;width: 45%;}
    .hero-large .hero-txt02{right: 10px;top: 40%;width: 45%;}
    .hero-large .hero-txt03{left: 20px;bottom: unset;top: 74%;width: 30%;}
    .hero-large .hero-txt04{right: 20px;bottom: unset;top: 74%;width: 30%;}
}
@media (prefers-reduced-motion: reduce){
    .hero-large .hero-txt{
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}
/* Heading */
.heading{position: relative;background: linear-gradient(to bottom,#004f99,#002b62);color: #fff;text-align: center;padding: 35px 0;}
.heading .b-tit-01{font-size: min(3.4vw,3.4rem);color: #dbca51;font-family: Trajan Pro, serif;letter-spacing: 0.05em;}
.heading .m-tit-01{color: #fff !important;}

.heading::after{content: "";width: 100%;height: 1px;background: #b28247;position: absolute;bottom: -10px;left: 0;}
@media screen and (max-width: 768px){
.heading{padding: 40px 20px;}
.heading .b-tit-01{font-size: 2.6rem;}
}

/* Access */
.access{margin: 0 0 180px;}
.access-box:not(:last-child){margin: 0 0 90px;}
.access-box.access-01{margin-top: 120px;}
.access-inner{display: flex;flex-wrap: wrap;justify-content: space-between;}
/* access-01 */
.access-01 .access-inner {max-width: 835px;margin: 40px auto 50px;align-items: flex-start;}
.access-01 .access-inner .table01{width: 47.784431137725%;}
.access-01 .access-inner .table02{width: 47.784431137725%;}
.access-01 .access-inner p{margin: 10px 0 0;}
/* access-02 */
.access-02 .access-inner{margin: 60px 0 0;align-items: center;}
.access-02 .access-inner .photo01{width: 60.169491525%;}
.access-02 .access-inner .photo01 p{margin: 5px 0 0;}
.access-02 .access-inner .photo02{width: 35.593220338%;}
/* access-03 */
.access .note-right{text-align: right;margin: 10px 0 0;}
.access .access-map{margin: 60px 0 5px ;}
/* access-04 */
.access .access-station{margin: 30px 0 40px;text-align: center;}
.access-04 .list-img-access{display: flex;justify-content: space-between;flex-wrap: wrap;} 
.access-04 .list-img-access .item{width: 19.661016949153%;text-align: center;}
.access-04 .list-img-access .item p{font-size: 2rem;margin: 10px 0 0;line-height: 1.3;}
/* access-05 */
.access-05 .access-inner{margin: 45px 0 0;}
.access-05 .access-inner .inner-txt{width: 61.35%;}
.access-05 .access-inner .inner-img{width: 36.949152542373%;}
.access-05  .mt20{margin-top: 20px;}
/* .access-05 .access-inner .inner-txt{width: 61.35%;background: #7f7c77;color: #fff;padding: 15px;}
.access-05 .access-inner .inner-txt .txt-wrap{border: 1px solid #fff;padding: 20px;font-weight: 600;}
.access-05 .access-inner .inner-txt .txt01{font-size: min(2.5vw,2.5rem);}
.access-05 .access-inner .inner-txt .txt02{display: flex;align-items: center;}
.access-05 .access-inner .inner-txt .txt03{display: flex;align-items: center;justify-content: flex-end;}
.access-05 .access-inner .f32{font-size: min(3.2vw,3.2rem);line-height: 1;}
.access-05 .access-inner .f48{font-size: min(4.8vw,4.8rem);line-height: 1;}
.access-05 .access-inner .f82{font-size: min(8.2vw,8.2rem);line-height: 1;}
.access-05 .access-inner .inner-txt sup{font-size: 1.2rem;position: relative;top: -3em;}
.access-05 .access-inner .mr-15{margin-right: 15px;}
.let0{margin-left: -0.5em;} */
@media screen and (max-width: 768px){
    .access{margin: 0 0 80px;}
    .access-box:not(:last-child){margin: 0 0 60px}
.access-box.access-01{margin-top: 60px;}
.access-01 .access-inner .table01{text-align: center;}
.access-01 .access-inner .table02{text-align: center;}
.access-02 .access-inner{margin: 40px 0 0 ;}
.access-02 .access-inner .photo01{width: 100%;}
.access-02 .access-inner .photo02{width: 100%;margin: 20px 0 0;}
.access-02 .access-inner .photo02 img{width: 100%;}
.access-03 .caption.note-right{text-align: left;}
.access-04 .list-img-access{margin: 30px 0 0;row-gap: 20px;}
.access-04 .list-img-access .item{width: 49%;}
.access-04 .list-img-access .item img{width: 100%;}
.access-04 .list-img-access .item p{font-size: 1.6rem;margin: 5px 0 0;}
/* .access-05 .access-inner .inner-txt{width: 100%;}
.access-05 .access-inner .inner-img{width: 100%;} */
.access-05 .access-inner .inner-img img{width: 100%;}
.access-05 .access-inner .inner-img .photo figcaption.txt-shadow{
    right: 1rem;
    bottom: 0.5rem;
}
.access-05 .access-inner{margin: 30px 0 0;
    /* gap: 10px; */
}
    .access .access-map{margin: 40px 0 5px;}
    .access .access-map.scroll-hint-sp{
        width: 100%;
    }
    .access .access-map.scroll-hint-sp img{
        display: block;
        width: auto;
        max-width: 720px;
        height: auto;
    }
}

/* Location */
.location-box:not(:last-child){margin: 0 0 160px;}
.m-tit-01{text-align: center;font-size: min(3vw,3rem);color: #004f99;line-height: 1.33;margin: 0 0 15px;}
.caption.caption--out{bottom: -3em;}
.location .m-tit-brd{color: #004f99;padding: 0 0 10px;border-bottom:1px solid #004f99 ;}
.location-01{margin: 80px 0 100px;}
.location-02{margin: 0 0 100px;}
.location-02 .caption.txt-right{text-align: right;}
.location-03{margin: 0 0 160px;}
.location .m-tit-en{margin: 0 0 40px;}
.location .m-tit-en span{display: block;color: #515457;font-family: Trajan Pro, serif;margin: 0 0 5px;letter-spacing: 0.05em;}
.location .info-txt:not(:last-child){margin: 0 0 50px;}
.location .list-txt{display: flex;justify-content: space-between;padding: 0 3.5%;flex-wrap: wrap;}
.location .list-txt ul{width: 48%;}
.location .list-txt li{display: flex;justify-content: space-between;font-size: 1.5rem;line-height: 2;}
.location .list-txt li small{font-size: 1.1rem;}
@media screen and (max-width: 1200px){
    .location .list-txt ul{width: 100%;max-width: 640px;margin: 0 auto;}
   .location .photo figcaption.txt-shadow{text-align: right;}

}
@media screen and (max-width: 768px){
    .m-tit-01{font-size: 2.2rem;line-height: 1.65;}
    .location-01{margin: 60px 0 40px;}
    .location-02{margin: 0 0 60px;}
    .location-02 .caption.txt-right{margin-top: 10px;}
    .location-03{margin: 0 0 120px;}
    .location-03 .pinch-out{margin-top: 50px;}
    .img-scroll { overflow-x: auto;}
    .access .img-scroll img { max-width: unset; width: 974px;}
   .img-scroll img { max-width: unset; width: 1210px;}
   .location .m-tit-en{margin: 0 0 30px;}
   .location .m-tit-en span{line-height: 1;}
   .location-box:not(:last-child){margin: 0 0 80px;}
   .location .list-txt{padding: 0;}
   .location .list-txt ul{width: 100%;}
   .location .list-txt li{font-size: 1.3rem;padding: 8px 0;border-bottom: 1px solid #fff;line-height: 1.6;}
   .location .list-txt li small{font-size: 1rem;display: block;}
}

/* shopping */
.list-photo{margin: 0 0 50px;}
.location .row-01{
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    aspect-ratio: 1180 / 560;
}
.location .row-01 .photo-01{
    grid-row: 1 / span 2;
}
.location .row-01 .photo,
.location .row-01 .photo img{
    width: 100%;
    height: 100%;
}
.location .row-01 .photo img{
    display: block;
    object-fit: cover;
}
.shopping .row-02{
    display: grid;
    grid-template-columns: 1fr 2fr;
    aspect-ratio: 1180 / 560;
}
.shopping .row-02 .col01,
.shopping .row-02 .col01 .photo,
.shopping .row-02 .col02,
.shopping .row-02 .col02 .photo,
.shopping .row-02 img{
    width: 100%;
    height: 100%;
}
.shopping .row-02 .col02{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
}
.shopping .row-02 .col02 .photo:first-child{
    grid-column: 1 / -1;
}
.shopping .row-02 img{
    display: block;
    object-fit: cover;
}

@media screen and (max-width: 768px){
    .list-photo{margin: 0 0 30px;}
    .location .row-01{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 2fr 1fr;
        aspect-ratio: 787 / 840;
    }
    .location .row-01 .photo-01{
        grid-row: auto;
        grid-column: 1 / -1;
    }
    .location .row-01 .photo,
    .location .row-01 .photo img{
        height: 100%;
    }
    .shopping .row-02{
        display: block;
        aspect-ratio: auto;
    }
    .shopping .row-02 .col01,
    .shopping .row-02 .col01 .photo,
    .shopping .row-02 .col01 img{
        height: auto;
    }
    .shopping .row-02 .col02{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        aspect-ratio: 787 / 560;
    }
    .shopping .row-02 .col02 .photo,
    .shopping .row-02 .col02 img{
        height: 100%;
    }
}

/* education */
.education .row-01{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: 370fr 280fr;
    aspect-ratio: 1180 / 650;
}
.education .row-01 .photo:nth-child(-n + 2){
    grid-column: span 3;
    grid-row: auto;
}
.education .row-01 .photo:nth-child(n + 3){
    grid-column: span 2;
    grid-row: auto;
}
.education .row-01 .photo,
.education .row-01 .photo img{
    width: 100%;
    height: 100%;
}
.education .row-01 .photo img{
    display: block;
    object-fit: cover;
}

@media screen and (max-width: 768px){
    .education .row-01{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 370fr 370fr 210fr 210fr;
        aspect-ratio: 590 / 1160;
    }
    .education .row-01 .photo:nth-child(-n + 2){
        grid-column: 1 / -1;
    }
    .education .row-01 .photo:nth-child(n + 3){
        grid-column: span 1;
    }
    .education .row-01 .photo,
    .education .row-01 .photo img{
        height: 100%;
    }
}

/* medical */
.medical .row-01{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    aspect-ratio: 1180 / 560;
}
.medical .row-01 .photo:nth-child(-n + 2){
    grid-row: 1 / span 2;
}
.medical .row-01 .photo,
.medical .row-01 .photo img{
    width: 100%;
    height: 100%;
}
.medical .row-01 .photo img{
    display: block;
    object-fit: cover;
}

@media screen and (max-width: 768px){
    .medical .row-01{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 2fr 1fr;
        aspect-ratio: 786 / 840;
    }
    .medical .row-01 .photo:nth-child(-n + 2){
        grid-row: auto;
    }
    .medical .row-01 .photo{
        grid-column: auto;
    }
    .medical .row-01 .photo,
    .medical .row-01 .photo img{
        height: 100%;
    }
}
/*  */
.location .government .info-txt{margin-top: 80px;}
