@media screen and (max-width:650px) {
    :root{
        font-size:1.5385vw;
    }
}

/* S : visual*/
.c__visual{
    position:relative;
    margin-top:-14.6rem;
}
.c__visual .title-box{
    position:absolute;
    top:15.3rem;
    left:50%;
    transform: translateX(-50%);
    width:100%;
    text-align: center;
}
.c__visual .title-box .date{
    display:flex;
    align-items: center;
    justify-content: center;
    margin-bottom:1.1rem;
    color:var(--navy);
    font-family: var(--font-num-700);
    font-size:1.9rem;
}
.c__visual .title-box .date img{
    width:2.5rem;
    margin-right:1.2rem;
}
.c__visual .title{
    margin-bottom:1.6rem;
    font-family: var(--font-num-700);
    font-size:5.2rem;
    text-align: center;
}
.c__visual .title b{
    color:var(--theme);
}
.c__visual .desc{
    margin-bottom:4.7rem;
    font-family: var(--font-400);
    font-size:2.6rem;
    line-height:calc(32/26);
}
.c__visual .link-button{
    display: block;
    position:relative;
    width:38.9rem;
    margin:0 auto;
    filter: drop-shadow(0 0.7rem 1.6rem rgba(0,0,0,0.2));
}
.c__visual .link-button span{
    display: flex;
    align-items: center;
    justify-content: center;
    position:absolute;
    top:-1rem;
    right:5rem;
    width:12.4rem;
    height:2.8rem;
    font-family: var(--font-700);
    font-size:1.5rem;
    background-color:#fff;
    border:2px solid #7D58FF;
    border-radius: 2rem 2rem 2rem 0;
    z-index:1;
}
.c__visual .link-button span i{
    margin-left:0.3rem;
    color:#F169A8;
    font-style: normal;
}
.link-button-box{
    position:relative;
    top:-1rem;
}
.link-button-box .camera{
    position:absolute;
    top:3.8rem;
    left:5.6rem;
    width:2.9rem;
}
.link-button-box div{
    position:absolute;
    top:3.5rem;
    left:9.7rem;
    color:#fff;
    font-family: var(--font-700);
    font-size:2.5rem;
}
.link-button-box b{
    font-family: var(--font-num-700);
}

.info-desc{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position:absolute;
    bottom:18.5rem;
    left:50%;
    width:42rem;
    height:9rem;
    transform: translateX(-50%);
    background-color:rgba(255,255,255,0.83);
    border-radius: 4.5rem;
    border: 2px solid var(--theme);
}
.info-desc span{
    color:var(--navy);
    font-family: var(--font-700c);
    font-size:1.7rem;
    line-height:calc(20/17);
}
.info-desc span.notice{
    margin-top:1rem;
    color:red;
    font-size:1.3rem;
}
.info-desc span:nth-child(1){
    letter-spacing: -0.04em;
}
.c__visual .view-button {
    display: flex;
    align-items: center;
    justify-content: center;
    position:absolute;
    bottom:18.5rem;
    left:50%;
    transform: translateX(-50%);
    width:24.9rem;
    height:4.9rem;
    color:#fff;
    font-family: var(--font-700);
    font-size:1.7rem;
    background-color:var(--navy);
    border-radius: 3rem;
}
.c__visual .view-button img{
    width:2.5rem;
    margin-right:0.7rem;
}


/* E : visual*/

/* S : slide*/
.c__gallery{
    position:relative;
    margin-top:-16.5rem;
    padding:2.5rem 1.6rem 12.6rem;
    border-radius: 7rem 7rem 0 0;
    background-color:#fff;
    z-index:1;
}
.c__gallery .marker{
    display: block;
    width:10.4rem;
    height:0.5rem;
    margin:0 auto 7.6rem;
    background-color:#ccc;
    border-radius: 1rem;
}
.c__gallery .title{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:3.6rem;
    color:var(--navy);
    font-family: var(--font-700);
    font-size:3.5rem;
}
.c__gallery .title b{
    margin-left:0.7rem;
    color:var(--theme);
}
.c__gallery .title img{
    width:3.4rem;
    margin-right:1rem;
}
.c__gallery .button-box{
    position:absolute;
    bottom:-4rem;
    left:50%;
    transform: translateX(-50%);
    width:100%;
    z-index:1;
}
.c__gallery .tag-list{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:0.4rem;
}
.c__gallery .tag{
    display:flex;
    align-items: center;
    justify-content: center;
    height:3.5rem;
    padding:0 1.5rem;
    font-family: var(--font-700);
    font-size:1.7rem;
    border:2px solid #7D58FF;
    border-radius: 2rem;
    background-color:#fff;
}
.c__gallery .tag.location{
    color:#fff;
    border-color:#F169A8;
    background-color:#F169A8;
}
.c__gallery .tag.location img{
    margin-right:0.3rem;
}
.c__gallery .button-guide{
    display:flex;
    align-items: center;
    justify-content: center;
    width:30rem;
    height:7.7rem;
    margin:2.1rem auto 0;
    padding:0 3.4rem;
    color:#fff;
    font-family: var(--font-700);
    font-size:2.5rem;
    border-radius: 4rem;
    border:2px solid #7D58FF;
    background-color:#8B6AFF;
}
.c__gallery .button-guide img:nth-child(1){
    width:2.9rem;
    margin-right:1.2rem;
}
.c__gallery .button-guide img:nth-child(2){
    width:2rem;
    margin-left:auto;
}
.swiper-border{
    width:54.2rem;
    border-radius: 3rem;
    padding:1.2rem;
    margin:0 auto;
    border:2px solid #7D58FF;
    background-color:#fff;
}
.gallery__swiper{
    position:relative;
}
.gallery__swiper .swiper{
    border-radius: 3rem;
}
.gallery__swiper .swiper-slide .img-box{
    overflow: hidden;
}
.gallery__swiper .swiper-slide .img-box img{
    display: block;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next{
    left:0 !important;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev{
    right:0 !important;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev img,
.swiper-button-prev, .swiper-rtl .swiper-button-next img{
    width:2.2rem !important;
}
/* E : slide*/

/* S : mission*/
.c__mission{
    padding:0 4.5rem 10.8rem;
}
.c__mission .title{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:2.5rem;
    color:var(--navy);
    font-family: var(--font-700);
    font-size:3rem;
}
.c__mission .title b{
    color:var(--theme);
}
.c__mission .title img{
    width:3.4rem;
    margin-right:1rem;
}
.c__mission .desc{
    margin-bottom:4rem;
    font-family: var(--font-400c);
    font-size:2.4rem;
    text-align: center;
}
.mission-list{
    display: flex;
    flex-direction: column;
    gap:0.9rem;
}
.mission-item{
    position:relative;
    padding:2rem 2.6rem 3rem 2.7rem;
    border-radius: 1.6rem;
    border:2px solid #BFBFBF;
    cursor: pointer;
}
.mission-item.active{
    border-color:#FF67D5;
}
.mission-item .mission-content{
    display: none;
}
.mission-item.active .mission-content{
    display: block;
}
.mission-item .mission-content-text{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.mission-item .mission-content-text span{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width:9.4rem;
}
.mission-item:nth-child(1) .mission-content-text span img{
    width:3.6rem;
    margin-left:2.1rem;
}
.mission-item:nth-child(2) .mission-content-text span img{
    width:4.6rem;
    margin-left:2.1rem;
}
.mission-item:nth-child(3) .mission-content-text span img{
    width:5.2rem;
    margin-left:1.27rem;
}
.mission-content-text .mission-box ol{
    padding-left:2.1rem;
}
.mission-content-text .mission-box ol,
.mission-content-text .mission-box li{
    list-style-type: decimal;
}
.mission-content-text .mission-box,
.mission-content-text .mission-box li{
    font-family: var(--font-400c);
    font-size:1.7rem;
    line-height:calc(25/17);
    word-break: keep-all;
}
.mission-content-text .mission-box li br.only-mo{
    display: none;
}
.mission-content-text .mission-box li::marker{
    font-size:1.7rem;
}
.mission-content-text .mission-box .tit{
    display: block;
    margin-bottom:1rem;
    color:var(--theme);
    font-family: var(--font-700);
    font-size:2rem;
    line-height:calc(27/20);
}
.mission-content-text .mission-box .notice{
    width:100% !important;
    font-family: var(--font-400c);
    font-size:1.7rem;
    line-height:calc(25/17);
    word-break: keep-all;
}
.mission-hash{
    margin-top:2.9rem;
    margin-bottom:0.9rem;
}

.mission-hash span{
    display: flex;
    align-items: center;
    justify-content: center;
    width:9.9rem;
    height:2.9rem;
    margin-bottom:0.9rem;
    color:#fff;
    font-family: var(--font-600c);
    font-size:1.6rem;
    background-color:#8B6AFF;
    border-radius: 6rem;
}
.mission-hash li{
    display: inline-block;
    color:#252B7E;
    font-family: var(--font-700c);
    font-size:1.8rem;
    line-height:calc(24/18);
}
.mission-hash li.s24{
    font-family: var(--font-num-700);
}
.mission-desc{
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.mission-desc img{
    width:15rem;
    margin-right:2.8rem;
}
.mission-desc p{
    font-family: var(--font-400c);
    font-size:2rem;
    line-height:calc(27/20)
}
.mission-desc + p{
    margin:2rem 0 3.8rem;
    color:#808080;
    font-family: var(--font-400c);
    font-size:1.8rem;
}
.mission-arrow{
    display: block;
    position:absolute;
    top:50%;
    right:0;
    transform: translateY(-50%) rotate(180deg);
    width:2.59rem;
    transition:transform 0.3s ease;
}

.mission-item.active .mission-arrow{
    transform: translateY(-50%) rotate(0deg);
}
.mission-title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:16rem;
    flex-shrink: 0;
}
.mission-title span{
    color:var(--navy);
    font-family: var(--font-num-700);
    font-size:1.7rem;
    text-align: center;
}
.mission-title img{
    display: block;
    margin-bottom:1.2rem;
}
.mission-info{
    position:relative;
}
.mission-info-cate{
    margin-bottom:0.3rem;
    color:#8B6AFF;
    font-family: var(--font-700);
    font-size:1.6rem;
}
.mission-info-title{
    color:var(--navy);
    font-family: var(--font-700);
    font-size:2.4rem;
    letter-spacing:-0.05em;
}
.mission-notice{
    padding:0 2.4rem 0 1.3rem;
    margin-top:3rem;
}
.mission-notice-title{
    font-size:1.8rem;
    font-family: var(--font-600c);
}
.mission-content{
    margin-top:2.3rem;
}
.mission-content-text{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width:100%;
}
.mission-notice li{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-family: var(--font-400c);
    font-size:1.8rem;
    word-break: keep-all;
}
.mission-notice li:before{
    content:"※";
    display: inline-block;
    margin-right:0.2rem;
    font-family: var(--font-400c);
    font-size:1.8rem;
}
.mission-notice p{
    padding-left:1.4rem;
    font-family: var(--font-400c);
    font-size:1.7rem;
}
/* E : mission*/

/* S : photo */
.c__photo {
    padding:0 4.4rem 7rem;
}
.c__photo .title{
    display: flex;
    align-items: center;
    justify-content: center;
    color:var(--navy);
    font-family: var(--font-700);
    font-size:2.5rem;
    text-align: center;
}
.c__photo .title img{
    width:2.5rem;
    margin-right:0.8rem;
}
.c__photo .title-marker{
    display: block;
    width:3.6rem;
    height:0.5rem;
    margin:2.2rem auto 3.6rem;
    border-radius: 1rem;
    background-color:var(--navy);
}
.c__photo .title b{
    color:var(--theme);
}
.m__photo-list{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap:1.7rem;
}
.m__photo-list li{
    width:17.6rem;
}
.m__photo-list li button{
    width:100%;
    height:100%;
    cursor:pointer;
}
.m__photo-list .photo-img-box{
    width:100%;
    height:18.8rem;
    padding:0.6rem;
    border:2px solid #FF67D5;
    border-radius:1.5rem;
    background-color:#fff;
}
.m__photo-list .photo-img-box .img{
    width:100%;
    height:100%;
    border-radius:1.5rem;
    background-color:#eee;
}
.photo-info{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding:0.7rem;
}
.photo-title{
    width:100%;
    color:var(--navy);
    font-family: var(--font-700c);
    font-size:1.8rem;
    text-align: left;
    word-break: keep-all;
    letter-spacing: -0.03em;
}
.photo-mark{
    flex-shrink: 0;
    display: block;
    margin-left:0.8rem;
    margin-top:0.3rem;
}
.photo-mark img{
    width:1.4rem;
}
/*E : photo */

/* S : popup */

.c__eventPopup,
.c__popup{
    display: none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height: calc(var(--vh, 1vh) * 100);
    z-index:10;
}
.popup-wrap{
    width:100%;
    max-width:65rem;
    height:100%;
    padding:2.1rem 1.5rem;
    margin:0 auto;
    background-color: #fff;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.popup-wrap::-webkit-scrollbar {
    display: none;
}
.popup-title{
    position:fixed;
    top:2.1rem;
    filter:drop-shadow(0 0.7rem 1.6rem rgba(0,0,0,0.2));
    z-index:2;
}
.popup-title > img{
    width:62rem;
}
.popup-title button{
    position:absolute;
    top:50%;
    right:2.8rem;
    transform: translateY(-50%);
    cursor: pointer;
}
.popup-title button img{
    display:block;
    width:6.3rem;
}
.popup-title .title{
    position:absolute;
    top:3.1rem;
    left:9.1rem;
    color:#fff;
    font-family: var(--font-700c);
    font-size:3.6rem;
}
.popup-desc{
    padding:15rem 6.5rem 3rem;
    color:#666;
    font-family: var(--font-500c);
    font-size:2.6rem;
    word-break: keep-all;
}
.video-wrap{
    position:relative;
    margin-bottom:5.6rem;
}
.video-box{
    width: 40rem;
    height: 80rem;
    position: relative;
    margin: 0 auto;
    padding-top: 5.4rem;
    border: 1rem solid #000;
    border-radius: 3rem;
    background-color: #000;
    overflow: hidden;
}
.video-box video{
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    width:44rem;
}
.video-wrap button{
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    left:2.8rem;
    z-index:1;
}
.video-wrap button.next{
    left:inherit;
    right:2.8rem;
}
.thumbnail-box{
    width:40rem;
    margin:0 auto;
    border:0.75rem solid #000;
    border-radius: 3rem;
    overflow: hidden;
}
.thumbnail-box img{
    display: block;
}
.popup-tag-box{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width:56.2rem;
    margin:0 auto;
    padding:1.8rem 2.9rem;
    background-color:#F7FAFF;
    border-radius: 3rem;
}
.popup-tag-box span{
    display: flex;
    align-items: center;
    justify-content: center;
    width:13.6rem;
    height:3.5rem;
    font-family: var(--font-700);
    font-size:1.7rem;
    border:2px solid #7D58FF;
    border-radius: 2rem;
    background-color:#fff;
}
.popup-wrap .text{
    padding:3.4rem 6.1rem 9.2rem;
}
.popup-wrap .text strong{
    display: block;
    margin-bottom:1.2rem;
    color:#8B6AFF;
    font-family: var(--font-700);
    font-size:2.6rem;
}
.popup-wrap .text p{
    color:#666;
    font-family: var(--font-500c);
    font-size:2.4rem;
}
.map-box{
    margin-bottom:10rem;
    padding:6rem 1.8rem 4.9rem;
    border:2px solid var(--theme);
    border-radius: 3rem;
}
.map-title{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:3.1rem;
    color:var(--navy);
    font-family: var(--font-num-700);
    font-size:3.1rem;
}
.map-title .location-tag{
    display: flex;
    align-items: center;
    justify-content: center;
    height:3.5rem;
    padding-inline: 1.5rem;
    margin-left:1.7rem;
    color:#fff;
    font-family: var(--font-700);
    font-size:1.7rem;
    background-color:#F169A8;
    border-radius: 2rem;
}
.map-title .location-tag img{
    flex-shrink: 0;
    display: block;
    width:1.1rem;
    margin-right: 0.2rem;
}
.map-box .map{
    width:100%;
    height:50.2rem;
    background-color:#eee;
    border-radius: 3rem;
}
.map-box .outlink{
    display: inline-flex;
    align-items: center;
    height:8.2rem;
    padding:2rem 2.5rem 2rem 2.9rem;
    background-color:var(--navy);
    border-radius: 5rem;
    margin:0 auto;
}
.map-box .outlink span{
    margin:0 10.4rem 0 1.3rem;
    color:#fff;
    font-family: var(--font-700c);
    font-size:2.8rem;
}
.map-box .outlink img:first-child{
    width:2rem;
    height:2.6rem;
}
.map-box .outlink img:last-child{
    width:4rem;
}
.map-box .link-box{
    margin-top:3.1rem;
    text-align: center;
}

/* E : popup */


@media screen and (max-width:500px) {
    .mission-content-text .mission-box .tit{
        font-size:2.3rem;
    }
    .mission-content-text .mission-box,
    .mission-content-text .mission-box li::marker,
    .mission-content-text .mission-box li,
    .mission-content-text .mission-box .notice{
        font-size:2rem;
    }
    .mission-content-text .mission-box li br.only-mo{
        display: block;
    }
}