body{
    overflow-x: hidden;
}

.moby_br{
    display: none;
}

/*top 未スクロール*/
.mainFlex header{
    border-right: 0.5px solid rgba(255, 255, 255, 0.3);
    border-left: 0.5px solid rgba(255, 255, 255, 0.3);
    background-color:  transparent;
}
.menunav a{
    color: #fff;
    transition: color 0.5s;
}
.menunav:hover{
    background-color: rgba(255, 255, 255, 0.2);
    border-right: 1px solid rgb(255, 255, 255);
    transition: all 0.5s;
}
.mne{
    color: #fff;
    transition: color 0.5s;
}
.mainmenu .onlineBut a{
    color: #fff;
}
.mainmenu .onlineBut a .item .log{
    background-color: #fff;
    transition: all 0.5s;
}
.mainmenu .onlineBut a .item .log .Triangle{
    border-left: 5px solid #000;
    transition: all 0.5s;
}
.mainmenu .onlineBut a .item .hoverAnime div{
    transition: all 0.4s;
    background-color: #fff;
}
.snslink a img.snsBLK{
    display: none;
}
.snslink a img.snsFFF{
    display: block;
}
/*scrolled*/
.mainFlex header.scrolled{
    border-right: 0.5px solid rgba(0, 0, 0, 0.3);
    border-left: 0.5px solid rgba(0, 0, 0, 0.3);
}
.mainFlex header.active{
    background-color: #fff;
}
.mainFlex header.scrolled .menunav a{
    color: #000;
}
.mainFlex header.scrolled .menunav:hover{
    background-color: rgba(0, 0, 0, 0.2);
    border-right: 1px solid rgb(0, 0, 0);
    transition: all 0.5s;
}
.mainFlex header.scrolled .mne{
    color: #000;
}
.mainFlex header.scrolled .mainmenu .onlineBut a{
    color: #000;
}
.mainFlex header.scrolled .mainmenu .onlineBut a .item .log{
    background-color: #000;
}
.mainFlex header.scrolled .mainmenu .onlineBut a .item .log .Triangle{
    border-left: 5px solid #fff;
}
.mainFlex header.scrolled .mainmenu .onlineBut a .item .hoverAnime div{
    transition: all 0.4s;
    background-color: #000;
}
.mainFlex header.scrolled .snslink a img.snsBLK{
    display: block;
}
.mainFlex header.scrolled .snslink a img.snsFFF{
    display: none;
}

.main{
    width: 100%;
    position: relative;
}
.main .title{
    width: 100%;
    height: 100vh;
    position: relative;
}
.main .title .titleImg{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.main .title .titleImg video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main .title .titleImg .blackGround{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.scroll_me{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 15vh;
    color: #fff;
}
.main .title .flex{
    display: flex;
    width: 55%;
    height: 100%;
    align-items: center;
    margin: auto;
    color: #fff;
}
.main .title .flex h2{
    font-size: 3rem;
}
.main .title .flex h3{
    font-size: 1.4rem;
}
.main .border01{
    width: 1px;
    height: calc(10vh + 65px);
    position: absolute;
    top: 90vh;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ccc;
    z-index: 1;
}
.main .about{
    display: none;
    width: 100%;
    height: 640px;
    justify-content: center;
    align-items: center;
}
.main .about .aboutContent{
    display: flex;
    flex-direction: column;
    max-width: 55%;
    height: 80%;
    justify-content: center;
    align-items: center;
    writing-mode: vertical-rl;
}
.main .about .aboutContent h3{
    font-size: 2.2rem;
    transform: translateY(-30px);
}
.main .about .aboutContent .aboutText{
    height: 450px;
    padding-top: 40px;
    padding-right: 60px;
}
.main .about .aboutContent .aboutText p{
    padding-left: 4px;
    padding-right: 4px;
    font-size: 1.1rem;
}
.main .about .aboutContent .aboutText p.lineBreak{
    padding-left: 30px;
}
.main .scrollAnimation{
    display: none;
    width: 100%;
    height: 300vh;
    background-color: #111;
}
.scrollAnimation .animationContainer{
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.scrollAnimation .animationContainer .animationText{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    writing-mode: vertical-rl;
    color: white;
    margin-left: calc(160px + 5vw);
    z-index: 1;
}
.scrollAnimation .animationContainer .animationText p{
    font-size: 2.4rem;
}
.scrollAnimation .animationContainer .animationImg{
    flex: none;
    width: 100vw;
    height: 100vh;
    right: 0;
    background-image: url("/static/homepage_app/img/pexels-priyanshi-garg-1879189-32470543.3749b820d5a2.jpg");
    background-size: cover;
    background-position: center;
    clip-path: polygon(
        100% 15%,   /* 右上 */
        100% 85%,/* 右下 */
        30% 85%,  /* 左下（動かす） */
        30% 15%     /* 左上（動かす） */
    );
    z-index: 2;
}
.featuresContainer{
    width: 100%;
}
.featuresContainer .english{
    width: 100%;
    z-index: 2;
    background-color: #fff;
}
.english .engtop{
    display: inline-flex;
    width: calc(100% - 160px);
    min-height: 100vh;
    justify-content: center;
    align-items: center;
    margin-left: 160px;
    margin-top: 65px;
}
.english .engtop .engtop_Container{
    display: flex;
    width: min(1300px, 90%);
    height: min(750px, 100vh);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.english .engtop .heading,
.english .engtop .subItem{
    width: 100%;
}
.english .engtop .heading{
    padding-top: 30px;
}
.english .engtop .heading p.number{
    padding-bottom: 8vh;
    font-size: 1.6rem;
}
.english .engtop .heading h3{
    font-size: clamp(3.4rem, 2.015rem + 1.85vw, 4.3rem);
}
.english .engtop .heading h4{
    font-size: 1.6rem;
}
.english .engtop .subItem{
    display: flex;
    justify-content: end;
    padding-bottom: 30px;
}
.english .engtop .subItem .textItem{
    width: 600px;
}
.english .engtop .subItem h4{
    padding-bottom: 30px;
    font-size: 2.6rem;
}
.english .engtop .subItem p{
    padding-bottom: 7px;
}
.english .engtop .subItem p.lineBreak{
    padding-top: 20px;
}
.english .programs{
    display: inline-flex;
    width: calc(100% - 160px);
    justify-content: center;
    align-items: center;
    margin-left: 160px;
}
.english .programs .programContainer{
    display: flex;
    width: min(1300px, 90%);
    padding-top: 30px;
    gap: 5px;
}
.english .programs .programContainer .leftItem{
    display: flex;
    width: 50%;
    flex-direction: column;
    align-items: center;
}
.english .programs .programContainer .leftItem .heading{
    padding-bottom: 20px;
    writing-mode: vertical-rl;
}
.english .programs .programContainer .leftItem .heading h4{
    font-size: 2.6rem;
}
.english .programs .programContainer .leftItem .programList .item{
    margin-top: 20px;
}
.english .programs .programContainer .leftItem .programList h4,
.english .programs .programContainer .leftItem .programList p{
    padding-bottom: 8px;
}
.english .programs .programContainer .leftItem .programList p{
    padding-left: 10px;
}
.english .programs .programContainer .rightItem{
    display: inline-block;
    width: 50%;
}
.english .programs .programContainer .rightItem .gridContainer{
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.programContainer .rightItem .gridContainer .griditem{
    display: flex;
    align-items: center;
    justify-content: center;
}
.programContainer .rightItem .gridContainer .griditem.griditem01{
    grid-column: 1 / 3;
    aspect-ratio: 16/10;
}
.programContainer .rightItem .gridContainer .griditem.griditem02,
.programContainer .rightItem .gridContainer .griditem.griditem03{
    aspect-ratio: 1/1;
}
.programContainer .rightItem .gridContainer .griditem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.english .effects{
    display: flex;
    width: calc(100% - 160px);
    margin-left: 160px;
    justify-content: center;
    align-items: center;
}
.english .effects .effects_Container{
    display: flex;
    width: min(1300px, 90%);
    justify-content: end;
    padding-top: 30px;
    padding-bottom: 30px;
    gap: 20px;
}
.english .effects .effects_Container .gridImg_container{
    display: inline-block;
    width: 50%;
}
.english .effects .effects_Container .gridImg_container .grid{
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1.6fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
}
.effects_Container .gridImg_container .grid .griditem.griditem01,
.effects_Container .gridImg_container .grid .griditem.griditem03{
    aspect-ratio: 4/3;
}
.effects_Container .gridImg_container .grid .griditem.griditem02{
    width: 100%;
    grid-column: 2/3;
    grid-row: 1/3;
}
.effects_Container .gridImg_container .grid .griditem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.english .effects .effects_Container .effectsList{
    width: 50%;
}
.english .effects .effects_Container .effectsList h4{
    font-size: 2.6rem;
    padding-bottom: 10px;
}
.english .effects .effects_Container .effectsList .contItem{
    padding-top: 20px;
}

/*スペーサー*/
.Spacer{
    width: 100%;
}
.Spacer .scrollItem{
    width: calc(100% - 160px);
    height: 100vh;
    margin-left: 160px;
    overflow: hidden;
    position: relative;
}
.Spacer .scrollItem .scrollgrid{
    display: grid;
    width: calc(100% - 160px);
    height: 100%;
    grid-template-columns: 1fr 1.7fr;
    position: fixed;
    top: 0;
    left: 160px;
    transform: scale(1.3);
    z-index: -3;
}
.Spacer .scrollItem .scrollgrid.active{
    position: absolute;
}
.Spacer .scrollItem .scrollgrid .grid_content{
    width: 100%;
}
.Spacer .scrollItem .scrollgrid .grid_content img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.travel{
    width: 100%;
    background-color: #fff;
    z-index: 2;
}
.travel .travelTop{
    display: inline-flex;
    width: calc(100% - 160px);
    min-height: 100vh;
    justify-content: center;
    align-items: center;
    margin-left: 160px;
}
.travel .travelTop .travelTop_container{
    display: flex;
    width: min(1300px, 90%);
    height: min(750px, 100vh);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.travelTop_container .travelHeading,
.travelTop_container .travelText{
    width: 100%;
}
.travelTop_container .travelHeading p.number,
.travelTop_container .travelHeading h4{
    font-size: 1.6rem;
}
.travelTop_container .travelHeading p.number{
    padding-bottom: 8vh;
}
.travelTop_container .travelHeading h3{
    font-size: clamp(3.4rem, 2.015rem + 1.85vw, 4.3rem);
}
.travelTop_container .travelText{
    display: flex;
    justify-content: end;
}
.travelTop_container .travelText div{
    width: 600px;
}
.travelTop_container .travelText h4{
    font-size: 2.6rem;
    padding-bottom: 7px;
}
.travelTop_container .travelText h4.lineBreak{
    padding-bottom: 30px;
}
.travelTop_container .travelText p{
    padding-bottom: 7px;
}

.travel .travelFlexBackColor{
    display: inline-flex;
    width: calc(100% - 160px);
    flex-direction: column;
    align-items: center;
    margin-left: 160px;
}
.travel .travelFlexBackColor .travelFlex{
    display: flex;
    width: min(1300px, 90%);
    justify-content: space-between;
    gap: 20px;
}
.travel .travelFlexBackColor .travelFlex .travelFlexitemOdd,
.travel .travelFlexBackColor .travelFlex .travelFlexitemEven{
    width: 50%;
}
.travel .travelFlexBackColor .travelFlex .travelFlexitemOdd .gridItem{
    margin-left: auto;
}
.travel .travelFlexBackColor .travelFlex .travelGridHeading{
    display: flex;
    width: 100%;
    aspect-ratio: 3/1;
    align-items: center;
    padding-left: 40px;
    margin-left: auto;
    font-size: 1.8rem;
}
.travel .travelFlexBackColor .travelFlex .gridItem{
    width: 100%;
    padding-top: 10px;
    margin-top: 30px;
}
.travel .travelFlexBackColor .travelFlex .gridItem .gridImg{
    display: flex;
    width: 100%;
    aspect-ratio: 16/9;
    justify-content: center;
    align-items: center;
    margin: auto;
    background-color: #111;
    color: #fff;
}
.travel .travelFlexBackColor .travelFlex .gridItem .gridImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.travel .travelFlexBackColor .travelFlex .gridItem h4{
    font-size: 1.4rem;
    padding-left: 35px;
    padding-right: 35px;
    padding-top: 15px;
    padding-bottom: 2px;
}
.travel .travelFlexBackColor .travelFlex .gridItem h5{
    padding-left: 35px;
    padding-right: 35px;
}
.travel .travelFlexBackColor .travelFlex .gridItem p{
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 7px;
}
.travel .travelFlexBackColor .travelFlex .gridItem p.lineTop{
    padding-top: 30px;
}
.travel .travelFlexBackColor .travelFlex .gridItem p.lineBottom{
    padding-bottom: 30px;
}
.travel .travelFlexBackColor .travelVision{
    width: 100%;
    height: 260px;
    margin-left: auto;
}
.travel .travelFlexBackColor .travelVision .visionItemHead,
.travel .travelFlexBackColor .travelVision .visionItemText{
    display: flex;
    width: 100%;
    height: 50%;
}
.travel .travelFlexBackColor .travelVision .visionContent{
    width: min(75%, 900px);
    height: 100%;
    margin: auto;
}
.travel .travelFlexBackColor .travelVision .visionItemHead{
    align-items: center;
    font-size: 2.2rem;
}
.travel .travelFlexBackColor .travelVision .visionItemText{
    justify-content: flex-end;
}
.travel .travelFlexBackColor .travelVision .visionItemText p{
    padding-top: 7px;
}
/*スペーサー02*/
.Spacer02{
    width: 100%;
}
.Spacer02 .space_container{
    width: calc(100% - 160px);
    height: 100vh;
    margin-left: 160px;
    overflow: hidden;
    position: relative;
}
.Spacer02 .space_container .grid_container{
    display: grid;
    width: calc(100% - 160px);
    height: 100vh;
    grid-template-columns: 1.7fr 1fr;
    grid-template-rows: 1fr 1fr;
    position: fixed;
    top: 0;
    left: 160px;
    transform: scale(1.3);
    z-index: -4;
}
.Spacer02 .space_container .grid_container.active{
    position: absolute;
}
.Spacer02 .space_container .grid_container .gridItem{
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}
.Spacer02 .space_container .grid_container .gridItem.item01{
    grid-column: 1/2;
    grid-row: 1/3;
}
.Spacer02 .space_container .grid_container .gridItem img{
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    object-fit: cover;
}

.place{
    width: 100%;
    background-color: #fff;
}
.place .placeTop{
    display: inline-flex;
    width: calc(100% - 160px);
    min-height: 100vh;
    justify-content: center;
    align-items: center;
    margin-left: 160px;
}
.place .placeTop .placeTop_container{
    display: flex;
    width: min(1300px, 90%);
    height: min(750px, 100vh);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.placeTop_container .placeTopHead,
.placeTop_container .placeTopText{
    width: 100%;
}
.placeTop_container .placeTopHead p,
.placeTop_container .placeTopHead h4{
    font-size: 1.6rem;
}
.placeTop_container .placeTopHead p{
    padding-bottom: 8vh;
}
.placeTop_container .placeTopHead h3{
    font-size: clamp(3.4rem, 2.015rem + 1.85vw, 4.3rem);
}
.placeTop_container .placeTopText{
    display: flex;
    justify-content: end;
}
.placeTop_container .placeTopText div{
    width: 600px;
}
.placeTop_container .placeTopText h4{
    font-size: 2.6rem;
    padding-bottom: 7px;
}
.placeTop_container .placeTopText p{
    padding-bottom: 7px;
}
.placeTop_container .placeTopText p.lineBreak{
    padding-top: 30px;
}

.place .placeDetail{
    display: flex;
    width: calc(100% - 160px);
    height: auto;
    align-items: center;
    margin-left: 160px;
}
.place .placeDetail .placeDetail_container{
    display: flex;
    width: min(1300px, 90%);
    height: auto;
    padding-top: 30px;
    padding-bottom: 30px;
    margin: auto;
}
.placeDetail_container .place_leftItem,
.placeDetail_container .place_rightItem{
    width: 50%;
}
.placeDetail_container .place_leftItem{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.placeDetail_container .place_leftItem .heading{
    padding-bottom: 10px;
    writing-mode: vertical-rl;
}
.placeDetail_container .place_leftItem .heading h3{
    font-size: 2.6rem;
    padding-left: 7px;
}
.placeDetail_container .place_leftItem .heading h4{
    font-size: 1.6rem;
}
.placeDetail_container .place_leftItem .placeContent h4{
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 1.6rem;
    white-space: nowrap;
}
.placeDetail_container .place_leftItem .placeContent .item{
    padding-top: 10px;
    padding-bottom: 10px;
}
.placeDetail_container .place_leftItem .placeContent .item h4{
    font-size: 1rem;
    padding-top: 0;
    padding-bottom: 7px;
}
.placeDetail_container .place_leftItem .placeContent .item p{
    padding-left: 10px;
    padding-bottom: 5px;
}
.placeDetail_container .place_leftItem .placeContent h4.second{
    padding-top: 40px;
}
.placeDetail_container .place_leftItem .placeContent .secondItem{
    padding-top: 5px;
}
.placeDetail_container .place_leftItem .placeContent .secondItem p{
    padding-bottom: 7px;
}
.placeDetail_container .place_rightItem .grid_container{
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.5fr 1fr;
    gap: 20px;
}
.placeDetail_container .place_rightItem .grid_container .gridItem{
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}
.placeDetail_container .place_rightItem .grid_container .gridItem.item01{
    grid-column: 1/3;
}
.placeDetail_container .place_rightItem .grid_container .gridItem.item02,
.placeDetail_container .place_rightItem .grid_container .gridItem.item03{
    aspect-ratio: 1/1;
}
.placeDetail_container .place_rightItem .grid_container .gridItem img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.place .shuttle{
    display: inline-flex;
    width: calc(100% - 160px);
    margin-left: 160px;
    flex-direction: column;
    align-items: center;
}
.place .shuttle .shuttle_container{
    width: min(1300px, 90%);
    padding-top: 30px;
    padding-bottom: 30px;
}
.place .shuttle .shuttle_container .heading{
    display: flex;
    width: 100%;
    align-items: center;
    margin: auto;
}
.place .shuttle .shuttle_container .heading h3{
    font-size: 2.6rem;
}
.place .shuttle .shuttle_container .heading h4{
    font-size: 1.6rem;
}
.place .shuttle .shuttle_container .Details{
    display: flex;
    width: 100%;
    justify-content: end;
    margin: auto;
}
.place .shuttle .shuttle_container .Details div{
    width: 600px;
}
.place .shuttle .shuttle_container .Details p{
    padding-bottom: 7px;
}
.place .shuttle .shuttle_details{
    display: flex;
    width: 100%;
    min-height: 100vh;
    flex-direction: column;
    align-items: center;
    padding-bottom: 30px;
    background-color: #e6efe9;
}
.place .shuttle .shuttle_details .outbound,
.place .shuttle .shuttle_details .return{
    display: flex;
    width: min(1300px, 90%);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding-top: 35px;
    padding-bottom: 35px;
}
.place .shuttle .shuttle_details .outbound .border,
.place .shuttle .shuttle_details .return .border{
    flex: 1 1 0;
    height: 1px;
    background-color: #999;
}
.place .shuttle .shuttle_details .outbound .heading,
.place .shuttle .shuttle_details .return .heading{
    flex: 0 0 auto;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
}
.shuttle_details .outbound h3,
.shuttle_details .return h3{
    font-size: 3rem;
}
.shuttle_details .outbound h4,
.shuttle_details .return h4{
    font-size: 1.6rem;
}
.shuttle_details .grid_container01,
.shuttle_details .grid_container02{
    display: grid;
    width: min(1300px, 90%);
    grid-template-columns: 1fr 1fr;
}
.shuttle_details .grid_container01 .grid_item,
.shuttle_details .grid_container02 .grid_item{
    width: 100%;
    aspect-ratio: 16/9;
}
.shuttle_details .grid_container01 .grid_item.imgItem,
.shuttle_details .grid_container02 .grid_item.imgItem{
    background-color: #000;
    color: #fff;
}
.shuttle_details .grid_container01 .grid_item.about,
.shuttle_details .grid_container02 .grid_item.about{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.shuttle_details .grid_container01 .grid_item.about div,
.shuttle_details .grid_container02 .grid_item.about div{
    width: 85%;
}
.shuttle_details .grid_container01 .grid_item.about h3,
.shuttle_details .grid_container02 .grid_item.about h3{
    font-size: 2.8rem;
    padding-bottom: 25px;
}
.shuttle_details .grid_container01 .grid_item.about h4,
.shuttle_details .grid_container02 .grid_item.about h4{
    font-size: 1.6rem;
    padding-bottom: 7px;
}
.shuttle_details .grid_container01 .grid_item.about p,
.shuttle_details .grid_container02 .grid_item.about p{
    padding-bottom: 7px;
}
.shuttle_details .grid_container01 .imgItem,
.shuttle_details .grid_container02 .imgItem{
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}
.shuttle_details .grid_container01 .imgItem img,
.shuttle_details .grid_container02 .imgItem img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.place .shuttle .shuttle_about{
    width: 100%;
    padding-top: 8vh;
    padding-bottom: 8vh;
}
.place .shuttle .shuttle_about .about_container{
    width: min(1300px, 90%);
    margin: auto;
    background-color: #f3f3f3;
}
.shuttle_about .about_container .content{
    display: flex;
    justify-content: space-between;
    padding: 40px;
    gap: 20px;
}
.shuttle_about .about_container .content h3{
    font-size: 1.6rem;
    padding-bottom: 7px;
}
.shuttle_about .about_container .content h4{
    font-size: 1.2rem;
}
.shuttle_about .about_container .content p.padding{
    padding-bottom: 12px;
}
.shuttle_about .about_container .content p.padding_warning{
    padding-bottom: 5px;
}
.shuttle_about .about_container .content p.padding_left{
    padding-left: 30px;
    padding-bottom: 12px;
    font-size: 0.8rem;
}

/*スペーサー03*/
.Spacer03{
    width: 100%;
}
.Spacer03 .spacer_container{
    width: calc(100% - 160px);
    height: 100vh;
    margin-left: 160px;
    overflow: hidden;
    position: relative;
}
.Spacer03 .spacer_container .flex_container{
    display: flex;
    width: calc(100vw - 160px);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 160px;
    transform: scale(1.3);
    z-index: -5;
}
.Spacer03 .spacer_container .flex_container.active{
    position: absolute;
}
.Spacer03 .spacer_container .flex_container .flexItem{
    width: calc(100% / 3);
    height: 100%;
}
.Spacer03 .spacer_container .flex_container .flexItem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.quest{
    width: 100%;
    background-color: #fff;
}
.quest .questTop{
    display: inline-flex;
    width: calc(100% - 160px);
    min-height: 100vh;
    justify-content: center;
    align-items: center;
    margin-left: 160px;
}
.quest .questTop .questTop_container{
    display: flex;
    width: min(1300px, 90%);
    height: min(750px, 100vh);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.questTop_container .questTopHeading,
.questTop_container .questTopText{
    width: 100%;
}
.questTop_container .questTopHeading p,
.questTop_container .questTopHeading h4{
    font-size: 1.6rem;
}
.questTop_container .questTopHeading p{
    padding-bottom: 8vh;
}
.questTop_container .questTopHeading h3{
    font-size: clamp(3.4rem, 2.015rem + 1.85vw, 4.3rem);
}
.questTop_container .questTopText{
    display: flex;
    justify-content: end;
}
.questTop_container .questTopText div{
    width: 600px;
}
.questTop_container .questTopText h4{
    font-size: 2.6rem;
    padding-bottom: 15px;
}
.questTop_container .questTopText p{
    padding-bottom: 7px;
}
.questTop_container .questTopText p.lineBreak{
    padding-top: 20px;
}

.quest .questDtailWidth{
    display: inline-flex;
    width: calc(100% - 160px);
    justify-content: center;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-left: 160px;
}
.quest .questDtailWidth .questFlex_container{
    display: flex;
    width: min(1300px, 90%);
    gap: 20px;
}
.quest .questDtailWidth .questFlex_container .questImg_content,
.quest .questDtailWidth .questFlex_container .questDetail{
    width: 50%;
}
.quest .questDtailWidth .questFlex_container .questImg_content{
    display: inline-block;
}
.quest .questFlex_container .questImg_content .questGrid_container{
    display: grid;
    width: 100%;
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
}
.quest .questFlex_container .questGrid_container .gridItem{
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: block;
}
.quest .questFlex_container .questGrid_container .gridItem.item01{
    grid-row: 1/3;
    aspect-ratio: 16/11;
}
.quest .questFlex_container .questGrid_container .gridItem.item02,
.quest .questFlex_container .questGrid_container .gridItem.item03{
    aspect-ratio: 16/11;
    overflow-y: hidden;
}
.quest .questFlex_container .questGrid_container .gridItem img{
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0; 
    display: block;
    object-fit: cover;
}
.quest .questFlex_container .questGrid_container .gridItem.item03 img{
    height: calc(100% + 60px);
    transform: translateY(-60px);
}
.quest .questFlex_container .questDetail .questDetailHead .heading{
    padding-bottom: 40px;
}
.quest .questFlex_container .questDetail .questDetailHead h3{
    font-size: 2.2rem;
}
.quest .questFlex_container .questDetail .questDetailHead h4{
    font-size: 1.2rem;
}
.quest .questFlex_container .questDetail .questDetailText h4{
    font-size: 1.6rem;
    padding-bottom: 15px;
}
.quest .questFlex_container .questDetail .questDetailText p{
    padding-bottom: 7px;
}

/*スペーサー*/
.Spacer04{
    width: 100%;
}
.Spacer04 .spacer_container{
    width: calc(100% - 160px);
    height: 100vh;
    margin-left: 160px;
    overflow: hidden;
    position: relative;
}
.Spacer04 .spacer_container .flex_container{
    display: flex;
    width: calc(100vw - 160px);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 160px;
    transform: scale(1.3);
    z-index: -6;
}
.Spacer04 .flex_container .flexItem.item01{
    width: 65%;
}
.Spacer04 .flex_container .flexItem.item02{
    width: 35%;
}
.Spacer04 .flex_container .flexItem img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.trial{
    width: 100%;
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 40px;
}
.trial .trialFlex{
    display: flex;
    width: calc(100% - 160px);
    height: 50vh;
    margin-left: auto;
}
.trial .trialFlex .trialDetail,
.trial .trialFlex .trialImg{
    width: 50%;
    height: 100%;
}
.trial .trialFlex .trialDetail{
    display: flex;
    width: 50%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.trial .trialFlex .trialDetail .trial_container{
    width: 80%;
}
.trial .trialFlex .trialDetail .trial_container h3{
    font-size: 3rem;
}
.trial .trialFlex .trialDetail .trial_container h4{
    font-size: 1.6rem;
}
.trial .trialFlex .trialDetail .trial_container .trialBut{
    width: 100%;
    height: 60px;
    background-color: #005815;
    margin-top: 45px;
    transition: background-color 0.3s;
}
.trial .trialFlex .trialDetail .trial_container .trialBut:hover{
    background-color: #003e0e;
}
.trial .trialFlex .trialDetail .trial_container .trialBut a{
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
}
.trial .trialFlex .trialDetail .trial_container  .trialBut a .butItem{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.trial .trialFlex .trialDetail .trial_container  .trialBut a .butItem p{
    font-size: 1.2rem;
}
.trial .trialFlex .trialImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:1025px){
    .moby_br{
        display: block;
    }

    .mainFlex header{
        background-color: rgba(0, 0, 0, 0.2);
        transition: all 0.8s;
    }
    .mainFlex header.scrolled{
        border-left: none;
        border-right: none;
    }
    .mainFlex header .menuLogo h1{
        color: #fff;
    }
    .mainFlex header.active .menuLogo h1{
        color: #000;
    }
    .mainFlex header.scrolled .mainmenu .onlineBut a .item .log{
        background-color: #fff;
    }
    .mainFlex header.scrolled .mainmenu .onlineBut a .item .log .Triangle{
        border-left: 5px solid #000;
    }
    .mainFlex header.scrolled .mainmenu .onlineBut a .item .hoverAnime div{
        background-color: #fff;
    }

    .mainFlex section .container{
        margin-top: 0;
    }
    .main .title .flex{
        width: 75%;
    }

    /*spacer01*/
    .Spacer .scrollItem{
        width: 100%;
        margin-left: 0;
    }
    .Spacer .scrollItem .scrollgrid{
        width: 100%;
        left: 0;
        grid-template-columns: 1fr;
        grid-template-rows: 1.6fr 1fr;
    }
    .Spacer .scrollItem .scrollgrid .grid_content{
        display: block;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
    }
    .Spacer .scrollItem .scrollgrid .grid_content.content01{
        grid-row: 2/3;
    }
    .Spacer .scrollItem .scrollgrid .grid_content img{
        display: block;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;

    }
    .Spacer02 .space_container{
        width: 100%;
        margin-left: 0;
    }
    .Spacer02 .space_container .grid_container{
        width: 100%;
        left: 0;
        grid-template-columns: 1.3fr 1fr;
    }
    .Spacer03 .spacer_container{
        width: 100%;
        margin-left: 0;
    }
    .Spacer03 .spacer_container .flex_container{
        display: grid;
        width: 100%;
        left: 0;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1.2fr 1fr;
    }
    .Spacer03 .spacer_container .flex_container .flexItem{
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
    }
    .Spacer03 .spacer_container .flex_container .flexItem.item01{
        grid-column: 1/3;
        grid-row: 1/2;
    }
    .Spacer04 .spacer_container{
        width: 100%;
        margin-left: 0;
    }
    .Spacer04 .spacer_container .flex_container{
        display: grid;
        width: 100%;
        left: 0;
        grid-template-rows: 1.2fr 1fr;
    }
    .Spacer04 .spacer_container .flex_container .flexItem{
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
    }

    /*english*/
    .english .engtop{
        width: 100%;
        margin-left: 0;
    }
    .english .engtop .engtop_Container{
        width: 90%;
    }
    .english .engtop .heading h3{
        font-size: 4.3rem;
    }
    .english .engtop .subItem .textItem{
        width: auto;
    }
    .english .programs{
        width: 100%;
        margin-left: 0;
    }
    .english .programs .programContainer{
        flex-direction: column;
        padding-top: 3vh;
    }
    .english .programs .programContainer .leftItem,
    .english .programs .programContainer .rightItem{
        width: 100%;
    }
    .english .programs .programContainer .leftItem{
        flex-direction: row;
        align-items: start;
        justify-content: space-evenly;
        padding-bottom: 3vh;
    }
    .english .programs .programContainer .leftItem .programList .item:nth-child(1){
        margin-top: 0;
    }
    .english .effects{
        width: 100%;
        margin-left: 0;
    }
    .english .effects .effects_Container{
        padding-top: 4vh;
        padding-bottom: 4vh;
    }

    /*travel*/
    .travel .travelTop{
        width: 100%;
        margin-left: 0;
    }
    .travel .travelTop .travelTop_container{
        width: 90%;
    }
    .travelTop_container .travelText div{
        width: auto;
    }
    .travelTop_container .travelHeading h3{
        font-size: 4.3rem;
    }
    .travel .travelFlexBackColor{
        width: 100%;
        margin-left: 0;
    }

    /*place*/
    .place .placeTop{
        width: 100%;
        margin-left: 0;
    }
    .placeTop_container .placeTopHead h3{
        font-size: 4.3rem;
    }
    .placeTop_container .placeTopText div{
        width: auto;
    }
    .place .placeDetail{
        width: 100%;
        margin-left: 0;
    }
    .placeDetail_container .place_leftItem,
    .placeDetail_container .place_rightItem{
        width: 100%;
    }
    .placeDetail_container .place_leftItem{
        flex-direction: row;
        justify-content: space-evenly;
        align-items: start;
        padding-bottom: 4vh;
    }
    .placeDetail_container .place_leftItem .heading{
        padding-bottom: 0;
    }
    .placeDetail_container .place_leftItem .placeContent h4{
        padding-top: 0;
    }
    .place .placeDetail .placeDetail_container{
        flex-direction: column;
    }
    .place .shuttle{
        width: 100%;
        margin-left: 0;
    }
    .place .shuttle .shuttle_about{
        padding-top: 4vh;
        padding-bottom: 4vh;
    }
    .place .shuttle .shuttle_container .heading{
        padding-bottom: 2vh;
    }

    .shuttle_about .about_container .content{
        flex-direction: column;
        padding: 3vw;
        gap: 30px;
    }

    /*quest*/
    .quest .questTop{
        width: 100%;
        margin-left: 0;
    }
    .questTop_container .questTopHeading h3{
        font-size: 4.3rem;
    }
    .questTop_container .questTopText div{
        width: auto;
    }
    .quest .questDtailWidth{
        width: 100%;
        margin-left: 0;
    }
    .quest .questDtailWidth .questFlex_container{
        flex-direction: column;
    }
    .quest .questDtailWidth .questFlex_container .questImg_content,
    .quest .questDtailWidth .questFlex_container .questDetail{
        width: 100%;
    }
    .quest .questDtailWidth .questFlex_container .questDetail{
        display: flex;
        justify-content: space-evenly;
        padding-top: 3vh;
    }
    .quest .questDtailWidth .questFlex_container .questDetail .questDetailHead{
        writing-mode: vertical-rl;
    }

    /*trial*/
    .trial .trialFlex{
        width: 100%;
        margin-left: 0;
    }
    @media screen and (max-width:480px){

        /*spacer*/
        .Spacer .scrollItem .scrollgrid{
            grid-template-columns: 1fr;
            grid-template-rows: 1.5fr 1fr;
        }
        .Spacer .scrollItem .scrollgrid .grid_content{
            display: block;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
        }
        .Spacer .scrollItem .scrollgrid .grid_content.content02{
            grid-row: 1/2;
        }
        .Spacer .scrollItem .scrollgrid .grid_content img{
            display: block;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
            object-fit: cover;
        }

        .Spacer02 .space_container .grid_container{
            grid-template-columns: 1fr 1fr;
            grid-template-rows: 2fr 1fr;
        }
        .Spacer02 .space_container .grid_container .gridItem{
            display: block;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
        }
        .Spacer02 .space_container .grid_container .gridItem.item01{
            grid-column: 1/3;
            grid-row: 1/2;
        }
        .Spacer02 .space_container .grid_container .gridItem img{
            display: block;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
            object-fit: cover;
        }
        .Spacer04 .spacer_container .flex_container{
            grid-template-rows: 1.6fr 1fr;
        }

        /*top area*/
        .english .engtop .heading p.number,
        .english .engtop .heading h4,
        .travelTop_container .travelHeading p.number,
        .travelTop_container .travelHeading h4,
        .placeTop_container .placeTopHead p,
        .placeTop_container .placeTopHead h4,
        .questTop_container .questTopHeading p,
        .questTop_container .questTopHeading h4{
            font-size: 1.2rem;
        }
        .english .engtop .heading h3,
        .travelTop_container .travelHeading h3,
        .placeTop_container .placeTopHead h3,
        .questTop_container .questTopHeading h3{
            font-size: clamp(2.2rem, 1.441rem + 3.53vw, 2.5rem);
        }
        .english .engtop .subItem h4,
        .travelTop_container .travelText h4,
        .placeTop_container .placeTopText h4,
        .questTop_container .questTopText h4{
            font-size: clamp(1.3rem, 0.035rem + 5.88vw, 1.8rem);
            font-weight: 500;
            white-space: nowrap;
        }
        .english .engtop .subItem p,
        .travelTop_container .travelText p,
        .placeTop_container .placeTopText p,
        .questTop_container .questTopText p{
            font-size: 0.9rem;
        }


        /*english*/
        .english .programs .programContainer .leftItem{
            flex-direction: column;
            align-items: center;
        }
        .english .programs .programContainer .leftItem .heading h4{
            font-size: 1.8rem;
            white-space: nowrap;
        }
        .english .programs .programContainer .leftItem .programList h4{
            padding-bottom: 14px;
        }
        .english .programs .programContainer .leftItem .programList p{
            padding-left: 0px;
            font-size: 0.9rem;
        }
        .english .programs .programContainer .rightItem .gridContainer{
            gap: 10px;
        }
        .english .effects .effects_Container{
            flex-direction: column-reverse;
            gap: 4vh;
        }
        .english .effects .effects_Container .gridImg_container,
        .english .effects .effects_Container .effectsList{
            width: 100%;
        }
        .english .effects .effects_Container .gridImg_container .grid{
            gap: 10px;
        }
        .english .effects .effects_Container .effectsList h4{
            font-size: 1.8rem;
        }
        .english .effects .effects_Container .effectsList .contItem{
            padding-top: 14px;
        }
        .english .effects .effects_Container .effectsList .contItem p{
            font-size: 0.9rem;
        }
        
        /*travel*/
        .travel .travelFlexBackColor .travelFlex{
            flex-direction: column;
            gap: 0;
        }
        .travel .travelFlexBackColor .travelFlex .travelFlexitemOdd,
        .travel .travelFlexBackColor .travelFlex .travelFlexitemEven{
            width: 100%;
        }
        .travel .travelFlexBackColor .travelFlex .travelGridHeading{
            padding-left: 0;
        }
        .travel .travelFlexBackColor .travelFlex .gridItem h4,
        .travel .travelFlexBackColor .travelFlex .gridItem h5,
        .travel .travelFlexBackColor .travelFlex .gridItem p{
            padding-left: 0;
            padding-right: 0;
        }
        .travel .travelFlexBackColor .travelFlex .gridItem h5,
        .travel .travelFlexBackColor .travelFlex .gridItem p{
            font-size: 0.9rem;
        }
        .travel .travelFlexBackColor .travelVision{
            height: auto;
            padding-top: 4vh;
            padding-bottom: 4vh;
        }
        .travel .travelFlexBackColor .travelVision .visionContent{
            width: 90%;
        }
        .travel .travelFlexBackColor .travelVision .visionItemHead{
            padding-bottom: 1.5vh;
            font-size: 1.8rem;
        }
        .travel .travelFlexBackColor .travelVision .visionItemText p{
            font-size: 0.9rem;
        }

        /*place*/
        .placeDetail_container .place_leftItem{
            flex-direction: column;
            align-items: center;
        }
        .placeDetail_container .place_leftItem .placeContent h4,
        .placeDetail_container .place_leftItem .placeContent h4.second{
            padding-top: 2vh;
            padding-bottom: 2vh;
            font-size: clamp(1.2rem, 0.441rem + 3.53vw, 1.5rem);
        }
        .placeDetail_container .place_leftItem .placeContent .item h4{
            padding-bottom: 13px;
            font-size: 0.9rem;
        }
        .placeDetail_container .place_leftItem .placeContent .item p{
            font-size: 0.9rem;
            padding-left: 0;
        }
        .place .shuttle .shuttle_container .heading h3{
            font-size: clamp(1.9rem, 0.635rem + 5.88vw, 2.4rem);
        }
        .place .shuttle .shuttle_container .heading h4{
            font-size: clamp(1.3rem, 1.047rem + 1.18vw, 1.4rem);
        }
        .place .shuttle .shuttle_container .Details p{
            font-size: 0.9rem;
        }
        .shuttle_details .outbound h3,
        .shuttle_details .return h3{
            font-size: clamp(1.9rem, 0.635rem + 5.88vw, 2.4rem);
        }
        .shuttle_details .outbound h4,
        .shuttle_details .return h4{
            font-size: clamp(1.3rem, 1.047rem + 1.18vw, 1.4rem);
        }
        .shuttle_details .grid_container01,
        .shuttle_details .grid_container02{
            grid-template-columns: 1fr;
        }
        .shuttle_details .grid_container01 .grid_item.about,
        .shuttle_details .grid_container02 .grid_item.about{
            justify-content: flex-start;
        }
        .shuttle_details .grid_container01 .grid_item.Item03{
            grid-row: 4/5;
        }
        .shuttle_details .grid_container02 .grid_item.Item02{
            grid-row: 1/2;
        }
        .shuttle_details .grid_container02 .grid_item.Item06{
            grid-row: 5/6;
        }
        .shuttle_details .grid_container01 .grid_item.about h3,
        .shuttle_details .grid_container02 .grid_item.about h3{
            font-size: clamp(1.9rem, 0.635rem + 5.88vw, 2.4rem);
            padding-bottom: 2vh;
        }
        .shuttle_details .grid_container01 .grid_item.about h4,
        .shuttle_details .grid_container02 .grid_item.about h4{
            font-size: clamp(1.3rem, 1.047rem + 1.18vw, 1.4rem);
        }
        .shuttle_details .grid_container01 .grid_item.about p,
        .shuttle_details .grid_container02 .grid_item.about p{
            font-size: 0.9rem;
        }

        .shuttle_about .about_container .content p{
            font-size: 0.9rem;
        }
        .shuttle_about .about_container .content p.padding_left{
            padding-left: 0;
            font-size: 0.7rem;
        }

        /*quest*/
        .quest .questDtailWidth .questFlex_container .questDetail{
            flex-direction: column;
            align-items: center;
        }
        .quest .questFlex_container .questDetail .questDetailText h4{
            font-size: clamp(1.3rem, 0.541rem + 3.53vw, 1.6rem);
        }
        .quest .questFlex_container .questDetail .questDetailText p{
            font-size: 0.9rem;
        }

        /*trial*/
        .trial .trialFlex{
            flex-direction: column-reverse;
            height: auto;
        }
        .trial .trialFlex .trialDetail,
        .trial .trialFlex .trialImg{
            width: 100%;
        }
        .trial .trialFlex .trialDetail{
            height: 35vh;
        }
        .trial .trialFlex .trialImg{
            aspect-ratio: 16/9;
        }

    }
    @media screen and (max-width:355px){

        /*english*/
        .english .engtop .engtop_Container,
        .english .programs .programContainer,
        .english .effects .effects_Container{
            width: 95%;
        }

        /*travel*/
        .travel .travelTop .travelTop_container,
        .travel .travelFlexBackColor .travelFlex,
        .travel .travelFlexBackColor .travelVision .visionContent{
            width: 95%;
        }

        /*place*/
        .place .placeTop .placeTop_container,
        .place .placeDetail .placeDetail_container,
        .place .shuttle .shuttle_container,
        .place .shuttle .shuttle_details .outbound,
        .place .shuttle .shuttle_details .return,
        .shuttle_details .grid_container01,
        .shuttle_details .grid_container02{
            width: 95%;
        }

        /*quest*/
        .quest .questTop .questTop_container,
        .quest .questDtailWidth .questFlex_container{
            width: 95%;
        }
    }
}

