/*-------------------------
  foundation
-------------------------*/
html {
    --vh: 1vh; /* 初期値として1vhを設定 */
}
/* NotoSansJP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
button{
    cursor: pointer;
}
button:disabled{
    cursor: auto;
}
button:disabled:hover{
    background-color: inherit !important;
    color: inherit !important;
}
a, button {
    transition: all .3s;
    color: #333;
}
/* state */
.is-fixed{position: fixed !important;}
@media (min-width: 1024px) {
    .pc_disNon{display:none!important;}
}
/*-------------------------
  l-: layout
-------------------------*/
@media (min-width: 1024px) {
    #container{
        overflow: visible !important;
    }
}
/* header */
.l-header{
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 20px 22px;
}
.l-header-logo{
    width: calc(177 / 375 * 100vw);
    max-width: 354px;
    line-height: 1;
}
@media (min-width: 1024px) {
    .l-header{
        height: calc(94 / 1920 * 100vw);
        padding: calc(32 / 1920 * 100vw) calc(42 / 1920 * 100vw);
    }
    .l-header-logo{
        width: calc(332 / 1920 * 100vw);
        max-width: 332px;
    }
}
@media (min-width: 1367px) {
    .l-header{
        height: 94px;
        padding: 32px 42px;
    }
    .l-header-logo{
        width: 332px;
    }
}
/* container */
.l-container *{
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.l-container b, em, strong{
    font-weight: 700;
}
/* footer */
.l-footer{
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 38px;
}
.l-footer-text{
    color: #fff;
    font-size: 1.2rem;
}

/* section */
.l-section{
    position: relative;
}

/*-------------------------
  c-: components
-------------------------*/
/* c-nav-sticky */
.c-nav-sticky{
    background-color: #fff;
    width: 100vw;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    top: auto;
    bottom: 90%;
    z-index: 10;
    position: relative;
}
@media (min-width: 1024px) {
    .c-nav-sticky{
        position: fixed;        
    }
}
.c-nav-sticky.is-active{
    height: 100%;
    padding: calc(10 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
    top: 0;
    bottom: auto;
    position: fixed;
    z-index: 110;
}
.c-nav-sticky__body{
    background-color: #fff;
    padding: calc(81 / 375 * 100vw) calc(25 / 375 * 100vw) calc(46 / 375 * 100vw);
    overflow-y: auto;
    display: none;
}
.c-nav-sticky.is-active .c-nav-sticky__body{
    display: block;
}
.c-nav-sticky .c-nav-title__text{
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
    text-align: center;
    line-height: 1;
}
.c-nav-sticky .c-nav-header{
    width: 100%;
    position: fixed;
    top: calc(172 / 750 * 100vw);
    padding-right: calc(23 / 750 * 100vw);
    z-index: 10;
}
.c-nav-sticky.is-active .c-nav-header{
    position: relative;
    top: 0;
    padding: calc(20 / 750* 100vw) calc(44 / 750* 100vw) calc(20 / 750* 100vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.c-nav-sticky .c-nav-logo{
    display: none;
    width: calc(408 / 750* 100vw);
    max-width: 408px;
    padding: 0;
    line-height: 1;
}
.c-nav-sticky.is-active .c-nav-logo{
    display: block;
}
.c-nav-sticky .c-nav-button span{
    font-weight: 700;
    transition: all .1s;
}
.c-nav-sticky .c-nav-button{
    appearance: none;
    border: none;
    position: relative;
    width: calc(36 / 375 * 100vw);
    max-width: 36px;
    background-color: transparent;
    padding: 10px 0 0;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: -0.08em;
    margin: 0 0 0 auto;
    display: block;
}
.c-nav-sticky .c-nav-button::before,
.c-nav-sticky .c-nav-button::after,
.c-nav-sticky .c-nav-button span::before{
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #000;
    position: absolute;
    top: 0;
    bottom: auto;
    margin: auto;
    border-radius: 50%;
    transition: all .1s;
}
.c-nav-sticky .c-nav-button::before{
    left: 2px;
}
.c-nav-sticky .c-nav-button::after{
    right: 2px;
}
.c-nav-sticky .c-nav-button span::before{
    left: 0;
    right: 0;
    margin: auto;
}
.c-nav-sticky .c-nav-button.is-open::before,
.c-nav-sticky .c-nav-button.is-open::after{
    width: 100%;
    height: 2px;
    bottom: 0;
    border-radius: 0;
}
.c-nav-sticky .c-nav-button.is-open::before{
    transform: rotate(20deg);
    left: 0;
}
.c-nav-sticky .c-nav-button.is-open::after{
    transform: rotate(-20deg);
    right: 0;
}
.c-nav-sticky .c-nav-button.is-open span{
    opacity: 0;
}
.c-nav-sticky .c-nav-button.is-open span::before{
    display: none;
}
.c-nav-sticky .c-list-num{
    margin-top: 25px;
}
.c-nav-sticky .c-nav-anchor__sp{
    display: block;
}
.c-nav-sticky .c-nav-anchor__pc{
    display: none;
}
.c-nav-sticky .c-list-num .c-list-item:not(:first-child){
    margin-top: 6px;
}
.c-nav-sticky.is-hidden{
    visibility: hidden;
    opacity: 0;
}
@media (orientation: landscape) {
    .c-nav-sticky{
        .c-nav-title__text,
        .c-nav-anchor__pc,
        .c-list-item::marker,
        .c-nav-title__text::before,
        .c-nav-button::before,
        .c-nav-button::after,
        .c-nav-button span,
        .c-nav-button span::before{
            transition: all .3s .5s;
        }
    }
}
.c-nav-sticky.is-color__change-white{
    .c-nav-title__text,
    .c-nav-anchor__pc,
    .c-list-item::marker,
    .c-nav-button span{
        color: #fff;
    }
    .c-nav-title__text::before,
    .c-nav-button::before,
    .c-nav-button::after,
    .c-nav-button span::before{
        background-color: #fff;
    }
    &.is-active{
        .c-nav-title__text{
            color: #000;
        }
    }
    .c-nav-button{
        &.is-open{
            &::before,
            &::after,
            span::before{
                background-color: #000;
                color: #000;
            }
        }
    }
}
@media (min-width: 1024px) {
    .c-nav-sticky__body{
        background-color: transparent;
        padding: 0;
        display: block;
    }
    .c-nav-sticky .c-nav-title__text{
        font-size: 1.6rem;
        padding-left: 10px;
        text-align: left;
    }
    .c-nav-sticky .c-nav-sticky__body .c-nav-title__text span::before,
    .c-nav-sticky .c-nav-sticky__body .c-nav-title__text span::after,
    .c-nav-sticky .c-nav-sticky__body .c-nav-title__text span b::before{
        content: '';
        display: inline-block;
        width: 3px;
        height: 3px;
        background-color: #000;
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: 0;
        right: auto;
        bottom: 0;
        margin: auto;
        transition: all .3s .5s;
    }
    .c-nav-sticky .c-nav-sticky__body .c-nav-title__text span::before{
        top: 1px;
        bottom: auto;
    }
    .c-nav-sticky .c-nav-sticky__body .c-nav-title__text span::after{
        top: auto;
    }
    .c-nav-sticky.is-color__change-white .c-nav-sticky__body .c-nav-title__text span::before,
    .c-nav-sticky.is-color__change-white .c-nav-sticky__body .c-nav-title__text span::after,
    .c-nav-sticky.is-color__change-white .c-nav-sticky__body .c-nav-title__text span b::before{
        background-color: #fff;
    }
    .c-nav-sticky .c-nav-button{
        display: none;
    }
    .c-nav-sticky .c-nav-anchor__sp{
        display: none;
    }
    .c-nav-sticky .c-nav-anchor__pc{
        display: block;
    }
    .c-nav-sticky .c-list-num{
        list-style-type: decimal-leading-zero;
        margin-top: 8px;
        padding-left: 1.75em;
    }
    .c-nav-sticky .c-list-num .c-list-item:not(:first-child){
        margin-top: 12px;
    }
    .c-nav-sticky .c-list-num .c-list-item,
    .c-nav-sticky .c-list-num .c-list-item * {
        font-size: 1.6rem;
        font-weight: 600;
    }
}
@media (min-width: 1024px) {
    .c-nav-sticky{
        display: block;
        width: auto;
        height: auto;
        padding: 0 calc(40 / 1920 * 100vw);
        top: calc(170 / 1920 * 100vw);
        bottom: auto;
        z-index: 3;
        background-color: transparent;
        visibility: visible;
        opacity: 1;
    }
}
@media (min-width: 1367px) {
    .c-nav-sticky{
        padding: 0 40px;
        top: 150px;
    }
}
/* c-heading */
.c-heading-title{
    margin: 0 auto;
}
.c-heading-title img{
    width: auto;
    max-width: 100%;
}
.c-heading-sub{
    font-weight: 700;
    font-size: 1.8rem;
}
.c-heading.-lv2 .c-heading-sub{
    margin-top: calc(26 / 375 *100vw);
}
@media (min-width: 1024px) {
    .c-heading.-lv2 .c-heading-sub{
        font-size: 2rem;
        margin-top: 45px;
    }
}

/* c-contents-inr */
.c-contents-inr{
    padding: 0 16px;
}
@media (min-width: 1024px) {
    .c-contents-inr{
        padding-left: 0;
        padding-right: 0;
    }
}

/* c-icon */
.c-icon{
    position: relative;
}
.c-icon [class*="c-icon"]{
    background-color: #000;
    background-position: 0 0;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: auto;
    right: 25px;
    bottom: 0;
    margin: auto;
    display: inline-block;
    transition: all .3s;
}
.c-icon .c-icon-arrow{
    mask-image: url(../img/icon-arrow.svg);
    width: 30px;
    height: 23px;
}
.c-icon .c-icon-triangle{
    /* mask-image: url(../img/icon-triangle.svg); */
    width: 14px;
    height: 17px;
    background-color: transparent;
}

/* c-button */
.c-button{
    border-radius: 16px;
    background-color: #fff;
    color: #000;
    font-weight: 700;
    display: block;
    padding: 17px 24px 21px;
    display: inline-block;
}
.c-button.--mini{
    font-size: 1.2rem;
    padding: 6px 16px 5px;
}
.c-button.--round{
    border-radius: 20px;
}
.c-button.--skelton{
    background-color: transparent;
    border: 1px solid #000;
}
@media (min-width: 1024px) {
    .c-button{
        padding: 28px 32px;
        transition: all .2s;
    }
    .c-button.--mini{
        padding: 8px 26px 6px;
        font-size: 1.4rem;
    }
}
.c-button:hover{
    color: #fff;
}
.c-button:hover{
    background-color: #000;
}
.c-button.c-icon:hover .c-icon-triangle svg path{
    stroke: #000;
    fill: #000;
}
.c-button.--skelton:hover{
    border-color: #000;
    background-color: #fff;
    color: #000;
}
.c-button.c-icon:hover .c-icon-arrow{
    background-color: #fff !important;
}

/* c-modal-dialog */
.c-modal-dialog{
    border: none;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    background-color: transparent;
}
.c-modal-dialog::backdrop {
    background-color: rgba(0, 0, 0, .7);
}
.c-modal-dialog .c-modal-content{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
.c-modal-dialog .c-modal-close{
    position: relative;
    border: none;
    background-color: transparent;
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 0 0 auto;
    padding: 0;
}
.c-modal-dialog .c-modal-close::before,
.c-modal-dialog .c-modal-close::after{
    content: '';
    display: inline-block;
    width: 34px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.c-modal-dialog .c-modal-close::before{
    transform: rotate(45deg);
    left: 0;
}
.c-modal-dialog .c-modal-close::after{
    transform: rotate(-45deg);
    right: 0;
}
.c-modal-dialog .c-modal-close span{
    visibility: hidden;
}
@media (min-width: 1024px) {
    .c-modal-dialog{
        width: 70vw;
    }
}
.c-movie-iframe{
    position: relative;
    width: 100%;
}
.c-movie-iframe iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
/*-------------------------
  p-: project
-------------------------*/
/* p-top */
.p-field-glasses{
    display: none;
    background-color: #e1c7ca;
    position: absolute;
    width: 100%;
    height: 100%;
}
.p-top-mv{
    position: relative;
    background: #e1c7ca url(../img/head_bg_sp.png) top calc(183 / 375 *100vw) left calc(39 / 375 *100vw) no-repeat;
    background-size: calc(549 / 750 *100vw) calc(550 / 750 *100vw);
    height: calc(757 / 375 *100vw);
}
.p-top-logo{
    width: calc(408 / 750 * 100vw);
    max-width: 408px;
    padding: calc(55 / 750 * 100vw) 0 0 calc(32 / 750 * 100vw);
}
.p-top-title,
.p-top-lead{
    position: absolute;
}
.p-top-lead{
    width: calc(26 / 375 *100vw);
    max-width: 48px;
    top: calc(153 / 375 *100vw);
    right: calc(23 / 375 *100vw);
}
.p-top-title{
    top: auto;
    left: 0;
    right: 0;
    bottom: calc(162 / 375 * 100vw);
    margin: auto;
    width: calc(608 / 750 * 100vw);
    max-width: 1837px;
}
.p-top-bottom{
    position: relative;
    background: transparent url(../img/bg_intro_sp.png) center top no-repeat;
    background-size: cover;
    height: calc(1155 / 375 *100vw);
}
.p-top-intro{
    position: absolute;
    top: calc(124 / 375 *100vw);
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: calc(325 / 375 *100vw);
}
@media (min-width: 1024px) {
    .p-top-mv{
        background-image: url(../img/head_bg_pc.png);
        background-position: center center;
        background-size: 1544px auto;
        height: calc(1080 / 1024 * 100vw);
        max-height: 1080px;
        /* clip-path: url(#clip-path-top); */
    }
    .p-top-title{
        width: calc(1837 / 1920 * 100vw);
        bottom: 30px;
    }
    .p-top-lead{
        top: 57px;
        right: 42px;
        width: 73px;
    }
    .p-top-bottom{
        background-image: url(../img/bg_intro_pc.png);
        height: calc(1078 / 1920 * 100vw);
        max-height: 1078px;
    }
    .p-top-intro{
        width: calc(925 / 1920 * 100vw);
        height: calc(625 / 1920 * 100vw);
        max-width: 925px;
        max-height: 625px;
        top: calc(192 / 1920 *100vw);
        bottom: auto;
    }
}
@media (min-width: 1024px) {
    .p-top-mv{
        background-size: calc(1544 / 1920 * 100vw) auto;
        height: calc(1080 / 1920 * 100vw);
    }
    .p-top-logo{
        width: calc(552 / 1920 * 100vw);
        max-width: 552px;
        padding: calc(36 / 1920 * 100vw) 0 0 calc(47 / 1920 * 100vw);
    }
}
@media (min-width: 1367px) {
    .p-top-mv{
        background-size: 1544px auto;
        height: 1080px;
    }
    .p-top-logo{
        width: 552px;
        padding: 36px 0 0 47px;
    }
}
/* p-concept */
.p-concept{
    padding: calc(56 / 375 *100vw) 0 calc(64 / 375 *100vw);
}
.p-concept-movie{
    margin-top: calc(48 / 375 *100vw);
    position: relative;
    aspect-ratio: 16/ 9;
}
.p-concept-movie iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.p-coming-soon{
    max-width: 372px;
    margin: calc(120 / 750 * 100vw) auto 0;
}
@media (min-width: 1024px) {
    .p-concept{
        padding: 86px 0 110px;
    }
    .p-concept .c-heading.-lv2 .c-heading-title{
        width: 597px;
    }
    .p-concept-movie{
        width: calc(100vw - 232px);
        max-width: 1688px;
        height: calc(948 / 1920 * 100vw);
        max-height: 948px;
        margin: 55px auto 0;
        aspect-ratio: unset;
    }
    .p-coming-soon{
        margin-top: 95px;
    }
    .p-concept .p-iframe-wrap {
        max-width: 950px;
        margin: 0 auto;
    }
}

/* p-my-deep-travel */
.p-my-deep-travel{
    background-color: #231815;
    position: relative;
    border-radius: 32px;
    padding: calc(93 / 375 * 100vw) 0 calc(87 / 375 * 100vw);
}
.p-my-deep-travel::before,
.p-my-deep-travel::after{
    content: '';
    width: 100%;
    height: 8px;
    display: inline-block;
    background: transparent url(../img/bg_rect.png) left -16px top repeat-x;
    background-size: contain;
    position: absolute;
    left: 0;
}
.p-my-deep-travel::before{
    top: calc(32 / 375 * 100vw);
}
.p-my-deep-travel::after{
    bottom: calc(32 / 375 * 100vw);
}
.p-my-deep-travel *:not(.p-mdt-list__log){
    color: #fff;
}
.p-mdt-contents{
    display: flex;
    flex-direction: column;
    padding: 0 8px;
}
.p-mdt-contents .c-heading.-lv2 .c-heading-sub{
    font-size: 1.6rem;
    margin-top: 28px;
}
.p-mdt-contents .p-mdt-right{
    margin-top: 34px;
}
.p-mdt-contents .p-mdt-vlog .c-heading.-lv3 .c-heading-title{
    font-size: 2.1rem;
    font-weight: 700;
    margin-top: 4px;
}
.p-mdt-contents .p-mdt-vlog .c-heading.-lv3 .c-heading-sub{
    font-size: 1.6rem;
}
.p-mdt-contents .p-mdt-vlog .c-heading.-lv3 + .p-mdt-text{
    margin-top: 20px;
}
.p-mdt-contents .p-mdt-vlog .c-button.p-mdt-movie{
    border-color: #fff;
    display: block;
    margin-top: 40px;
    width: 100%;
}
.p-mdt-list{
    margin-top: 32px;
}
.p-mdt-list .p-mdt-list__item{
    font-size: 1.8rem;
}
.p-mdt-list .p-mdt-list__item:not(:first-child){
    margin-top: 25px;
}
.p-mdt-list .p-mdt-list__item .p-mdt-list__log{
    display: block;
    margin-bottom: 4px;
}
.p-mdt-photos{
    margin-top: 40px;
}
.p-mdt-comming__soon{
    margin-top: 60px;
}
.p-mdt-comming__soon .c-heading.-lv3:not(:first-child){
    margin-top: 55px;
}
.p-mdt-author{
    margin-top: 60px;
    padding: 32px 0 60px;
    border-top: 1px solid #8a8482;
    border-bottom: 1px solid #8a8482;
    display: flex;
    flex-direction: column;
}
.p-mdt-profile{
    padding-top: 23px;
}
.p-mdt-profile .p-mdt-text dt{
    font-size: 1.2rem;
    color: #a1a1a1;
}
.p-mdt-profile .p-mdt-text dd{
    padding-top: 7px;
}
.p-mdt-profile .p-mdt-text:not(:first-child){
    margin-top: 54px;
}
.p-mdt-author .p-mdt-author__picture{
    max-width: 339px;
    margin: auto;
}
@media (min-width: 1024px) {
    .p-my-deep-travel{
        border-radius: 100px;
    }
    .p-my-deep-travel::before,
    .p-my-deep-travel::after{
        height: 16px;
        background-position: left -13px top;
        background-size: 41px 16px;
    }
    .p-my-deep-travel::before{
        top: 72px;
    }
    .p-my-deep-travel::after{
        bottom: 31px;
    }
    .p-mdt-contents{
        flex-direction: row;
        justify-content: space-between;
        padding: 0;
        /* gap: calc(164 / 1920 * 100vw); */
        position: relative;
    }
    .p-my-deep-travel .p-mdt-left{
        width: calc(479 / 1920 * 100vw);
        max-width: 479px;
    }
    .p-my-deep-travel .p-mdt-left.is-fixed{
        position: fixed;
        top: 50px;
    }
    .p-my-deep-travel .p-mdt-left.is-absolute{
        position: absolute;
        bottom: 0;
    }
    .p-my-deep-travel .p-mdt-left .c-heading.-lv2 .c-heading-sub{
        margin-top: 40px;
    }
    .p-my-deep-travel .p-mdt-right{
        width: calc(986 / 1920 * 100vw);
        max-width: 986px;
        margin: 0 0 0 auto;
    }
    .p-mdt-vlog .c-heading.-lv3 .c-heading-title{
        font-size: 3.2rem;
        margin-top: 8px;
    }
    .p-mdt-vlog .c-heading.-lv3 .c-heading-sub{
        font-size: 1.8rem;
    }
    .p-mdt-contents .p-mdt-right{
        margin-top: 0;
    }
    .p-mdt-contents .p-mdt-vlog .c-button.p-mdt-movie{
        width: 400px;
        margin-top: 85px;
        padding: 17px 23px 21px;
    }
    .p-mdt-vlog .c-heading.-lv3 + .p-mdt-text{
        margin-top: 23px;
    }
    .p-mdt-list{
        margin-top: 60px;
    }
    .p-mdt-list .p-mdt-list__item{
        font-size: 2.4rem;
    }
    .p-mdt-list .p-mdt-list__item:not(:first-child){
        margin-top: 84px;
    }
    .p-mdt-list .p-mdt-list__item .p-mdt-list__log{
        display: inline-block;
        font-size: 2rem;
        margin-right: 20px;
        margin-bottom: 0;
    }
    .p-mdt-photos{
        margin-top: 56px;
    }
    .p-mdt-comming__soon{
        margin-top: 80px;
    }
    .p-mdt-comming__soon .c-heading.-lv3:not(:first-child){
        margin-top: 80px;
    }
    .p-mdt-author{
        padding: 39px 0 43px;
        flex-direction: row;
        justify-content: space-between;
        gap: 32px;
    }
    .p-mdt-author .p-mdt-author__picture{
        width: calc(339 / 1920 * 100vw);
        height: 100%;
    }
    .p-mdt-profile .p-mdt-text:not(:first-child){
        margin-top: 72px;
    }
    .p-mdt-profile .p-mdt-text dt{
        font-size: 1.2rem;
        color: #a1a1a1;
    }
    .p-mdt-profile .p-mdt-text dd{
        padding-top: 8px;
        padding-left: 16px;
    }
}
@media (min-width: 1024px) {
    .p-my-deep-travel .p-mdt-left .c-heading.-lv2{
        position: sticky;
        top: 20px;
    }
    .p-my-deep-travel{
        padding: 235px 116px 103px;
        flex-direction: row;
    }
    .p-mdt-contents .p-mdt-vlog .c-heading.-lv3 .c-heading-title{
        font-size: 2.4rem;
    }
    .p-mdt-contents{
        width: calc(1600 / 1920 * 100vw);
        max-width: 1600px;
        margin: 0 0 0 auto;
    }
}

/* p-travels */
.p-travels{
    padding-top: calc(50 / 375 * 100vw);
}
.p-travels-section{
    position: relative;
    margin-top: calc(56 / 375 * 100vw);
    padding: calc(62 / 375 * 100vw) 0 calc(56 / 375 * 100vw);
}
.p-travels-section ~ .p-travels-section{
    margin-top: 0;
}
.p-travels-section::before{
    content: '';
    display: inline-block;
    position: absolute;
}
.p-travels-section .c-contents-inr{
    padding: 0 24px;
}
.p-travels .p-list-travels{
    display: grid;
    flex-direction: column;
    margin-top: calc(48 / 375 * 100vw);
    padding: 0 8px;
    gap: calc(17 / 375 * 100vw);
}
.p-travels .p-list-travels li{
    margin: auto;
}
.p-travels .p-list-travels li a{
    border-radius: 30px;
}
.p-travels .p-list-travels .p-anchor-travel{
    position: relative;
}
.p-travels .p-list-travels .p-anchor-travel a::after{
    content: '';
    display: inline-block;
    width: calc(33 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    mask-image: url(../img/icon_arrow_bottom.svg);
    background-color: #000;
    mask-size: cover;
    mask-position: 0 0;
    mask-repeat: no-repeat;
    position: absolute;
    z-index: 20;
    top: auto;
    left: 0;
    right: 0;
    bottom: calc(16 / 750 * 100vw);
    margin: auto;
    transition: all .3s;
}
.p-travels .p-list-travels .p-anchor-travel a:hover{
    box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
.p-anchor-frame{
    position: relative;
    z-index: 3;
}
.p-anchor-img{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
}
.p-travels .p-list-travels .p-anchor-travel a:hover .p-anchor-img{
    transform: scale(120%);
}
.p-travels .p-list-travels .p-anchor-travel a:hover::after{
    bottom: 5px;
}
.p-travels .p-list-travels li a,
.p-travels .p-list-travels li img{
    transition: all .3s;
    display: block;
}
.p-travels-section .p-travels-text{
    position: relative;
    padding-top: calc(222 / 375 * 100vw);
}
.p-travels-section .p-travels-text .p-travels-detail dt{
    font-weight: 700;
    font-size: 2.2rem;
    margin-top: 14px;
}
.p-travels-section .p-travels-text .p-travels-detail dd{
    margin-top: 24px;
}
.p-travels-section .p-travels-text .p-travels-detail .c-list-hash{
    margin-top: 26px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.p-travels-section .p-travels-text .p-travels-detail .c-list-hash .p-hash-tag{
    display: inline-block;
    background-color: transparent;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 6px 16px 5px;
    border-radius: 20px;
    border: 1px solid #000;
}
.p-travels-section .p-travels-text .p-travels-detail .c-list-hash + .c-button{
    margin-top: 32px;
}
.p-travels-section.--travel01{
    background: #8390ba url(../img/bg_travel_01_sp.jpg) center top no-repeat;
}
.p-travels-section.--travel01 .p-travels-text{
    background: transparent url(../img/bg_travel_01_pic_sp.png) center top /contain no-repeat;
}
.p-travels-section .p-travels-text .p-travels-detail .p-img-option{
    margin-top: 25px;
}
.p-travels-section .p-travels-text .p-travels-detail .p-img-option + .c-list-hash{
    margin-top: 16px;
}
.p-travels-section.--travel02{
    background: #bcbd7b url(../img/bg_travel_02_sp.jpg) center top no-repeat;
}
.p-travels-section.--travel02 .p-travels-text{
    background: transparent url(../img/bg_travel_02_pic_sp.png) center top /contain no-repeat;
}
.p-travels-section.--travel03{
    background: #dec8bb url(../img/bg_travel_03_sp.jpg) center top no-repeat;
}
.p-travels-section.--travel03 .p-travels-text{
    background: transparent url(../img/bg_travel_03_pic_sp.png) center top /contain no-repeat;
}
@media (min-width: 1024px) {
    .p-travels{
        padding-top: 105px;
    }
    .p-travels .c-heading.-lv2 .c-heading-title{
        width: 590px;
    }
    .p-travels .p-list-travels{
        flex-direction: row;
        justify-content: space-between;
        width: calc(100% - calc(224 / 1920 * 100vw));
        margin: 120px auto 0;
        padding: 0;
        gap: calc(32 / 1920 * 100vw);
        grid-template-columns: repeat(3, 1fr);
    }
    .p-travels .p-list-travels li{
        max-width: max-content;
    }
    .p-travels .p-list-travels li a{
        border-radius: 30px;
    }
    .p-travels .p-list-travels .p-anchor-travel a::after{
        width: calc(27 / 1920 * 100vw);
        max-width: 27px;
        height: calc(16 / 1920 * 100vw);
        max-height: 16px;
        bottom: calc(13 / 1920 * 100vw);
    }
    .p-travels .p-list-travels .p-anchor-travel a:hover::after{
        bottom: 5px;
    }
    .p-travels-section{
        margin-top: 81px;
        padding: 51px 0 109px;
        min-height: 1080px;
    }
    .p-travels-section .c-contents-inr{
        padding: 0;
    }
    .p-travels-section .c-heading-title img{
        width: auto;
    }
    .p-travels-section .p-travels-text{
        padding-top: 0;
    }
    .p-travels-section.--travel01 .p-travels-text,
    .p-travels-section.--travel02 .p-travels-text,
    .p-travels-section.--travel03 .p-travels-text{
        background: none;
    }
    .p-travels-section .p-travels-text .p-travels-detail{
        margin-top: 26px;
    }
    .p-travels-section .p-travels-text .p-travels-detail dt{
        font-size: 2.4rem;
        line-height: 1.6;
    }
    .p-travels-section .p-travels-text .p-travels-detail dd{
        margin-top: 34px;
    }
    .p-travels-section .p-travels-text .p-travels-detail dd p{
        line-height: 1.8;
    }
    .p-travels-section .p-travels-text .p-travels-detail .c-list-hash{
        margin-top: 40px;
        flex-direction: row;
    }
    .p-travels-section .p-travels-text .p-travels-detail .c-list-hash .p-hash-tag{
        padding: 8px 26px 6px;
        font-size: 1.4rem;
    }
    .p-travels-section .p-travels-text .p-travels-detail .c-list-hash + .c-button{
        margin-top: 44px;
    }
    .p-travels-section .p-travels-text .p-travels-detail .p-img-option{
        margin-top: 55px;
    }
    .p-travels-section .p-travels-text .p-travels-detail .p-img-option + .c-list-hash{
        margin-top: 32px;
    }
}
@media (min-width: 1024px) {
    .p-travels-section::before{
        top: 155px;
        left: 0;
        width: calc(1294 / 1920 * 100vw);
        max-width: 1294px;
        height: 100%;
    }
    .p-travels-section.--travel01{
        background-image: url(../img/bg_travel_01_pc.jpg);
    }
    .p-travels-section.--travel01::before{
        background: transparent url(../img/bg_travel_01_pic_pc.png) center top / contain no-repeat;
    }
    .p-travels-section.--travel02{
        background-image: url(../img/bg_travel_02_pc.jpg);
    }
    .p-travels-section.--travel02::before{
        background: transparent url(../img/bg_travel_02_pic_pc.png) center top / contain no-repeat;
        left: auto;
        right: 0;
    }
    .p-travels-section.--travel03{
        background-image: url(../img/bg_travel_03_pc.jpg);
    }
    .p-travels-section.--travel03::before{
        background: transparent url(../img/bg_travel_03_pic_pc.png) center top / contain no-repeat;
    }
    .p-travels-section.--travel01 .p-travels-text{
        width: calc(478 / 1920 * 100vw);
        max-width: 478px;
        margin-top: 131px;
        margin-right: calc(109 / 1920 * 100vw);
    }
    .p-travels-section.--travel02 .p-travels-text{
        width: calc(643 / 1920 * 100vw);
        max-width: 643px;
        margin-top: 125px;
        margin-left: calc(109 / 1920 * 100vw);
    }
    .p-travels-section.--travel02 .p-travels-text .p-travels-detail{
        width: calc(478 / 1920 * 100vw);
        max-width: 478px;
    }
    .p-travels-section.--travel03 .p-travels-text{
        width: calc(531 / 1920 * 100vw);
        max-width: 531px;
        margin-top: 125px;
        margin-right: calc(57 / 1920 * 100vw);
    }
    .p-travels-text.--right{
        margin-left: auto;
        margin-right: 0;
    }
    .p-travels-section{
        background-size: contain;
    }
}
@media (min-width: 1367px) {
    .p-travels .p-list-travels{
        max-width: 1704px;
        gap: 32px;
    }
    .p-travels-section.--travel01 .p-travels-text{
        margin-right: 109px;  
    }
    .p-travels-section.--travel02 .p-travels-text{
        margin-left: 109px;  
    }
    .p-travels-section.--travel03 .p-travels-text{
        margin-right: 57px;        
    }
}
/* p-more */
.p-more{
    position: relative;
}
.p-more{
    background-color: #ddc7bb;
}
.p-more .c-contents-inr{
    padding: calc(73 / 375 * 100vw) 24px calc(60 / 375 * 100vw);
    background-color: #fff;
}
.p-more .c-heading.-lv2 + p{
    margin-top: calc(22 / 375 * 100vw);
}
.p-more-link{
    display: grid;
    flex-direction: column;
    margin-top: calc(34 / 375 * 100vw);
    gap: calc(7 / 375 * 100vw);
    position: relative;
}
.p-more-link li::before{
    content: '';
    display: block;
    position: absolute;
    transition: all .3s;
}
.p-more-link li::before{
    width: calc(80 / 750 * 100vw);
    max-width: 80px;
    height: calc(80 / 750 * 100vw);
    max-height: 80px;
    background-color: rgba(255,255,255,.5);
    border-radius: 50%;
    top: 0;
    left: auto;
    right: calc(48 / 750 * 100vw);
    bottom: 0;
    margin: auto;
    z-index: 5;
}
.p-more-link li.c-icon .c-icon-arrow{
    z-index: 6;
    background-color: #fff;
    mask-size: cover;
    width: calc(36 / 750 * 100vw);
    max-width: 36px;
    height: calc(27 / 750 * 100vw);
    max-height: 27px;
    top: 0;
    left: auto;
    bottom: 0;
    right: calc(70 / 750 * 100vw);
}
.p-more-link li:hover::before{
    background-color: rgba(255,255,255,1);
}
.p-more-link li.c-icon:hover .c-icon-arrow{
    background-color: #000;
}
@media (min-width: 1024px) {
    .p-more .c-contents-inr{
        border-radius: 100px 100px 0 0;
        padding: 130px 0 144px;
        background-color: #fff;
    }
    .p-more .c-heading.-lv2 + p{
        margin-top: 43px;
    }
    .p-more-link{
        flex-direction: row;
        flex-wrap: wrap;
        width: calc(1703 / 1920 * 100vw);
        max-width: 1703px;
        gap: 32px;
        margin: 58px auto 0;
        grid-template-columns: repeat(3, 1fr);
    }
    .p-more-link li::before{
        width: 68px;
        height: 68px;
        top: auto;
        right: 15px;
        bottom: 15px;
    }
    .p-more-link li.c-icon .c-icon-arrow{
        z-index: 6;
        background-color: #fff;
        width: 30px;
        height: 23px;
        top: auto;
        left: auto;
        bottom: 37px;
        right: 34px;
    }
    .p-more-link li a{
        display: block;
        border-radius: 30px;
    }
    .p-more-link li a:hover{
        box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
    }
}

.p-iframe-wrap iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
}

/* MV Animation */
.l-header {
    transition: all .2s;
}
.l-header,
.l-footer {
    position: relative;
    z-index: 20;
}
body.is-active .l-header {
    z-index: 0;
}
.is-hidden {
    opacity: 0 !important; 
}
.l-section {
    z-index: 10;
}
.l-section.p-concept,
.l-section.p-travels {
    background-color: #fff;
}
.p-animation-mv {
    height: 100dvh;
}
.p-animation-mv .p-top-mv {
    background-color: transparent;
    background-image: none !important;
    height: 100%;
}
.p-animation-mv .p-top-title,
.p-animation-mv .p-top-lead {
    z-index: 100;
}
@media (min-width: 375px) and (max-width: 413px) {
    .p-animation-mv .p-top-title {
        bottom: calc(10vh + 30px);
    }
}
@media (min-width: 390px) and (max-width: 739px) {
    .p-animation-mv .p-top-title {
        top: calc(750 / 750 * 100vw);
        bottom: auto;
    }
}
@media (min-width: 740px) {
    .p-animation-mv .p-top-title {
        top: auto;
        bottom: calc(10vh + 30px);
    }
}
@media (min-width: 1921px) {
    .p-animation-mv .p-top-title {
        position: fixed;
        bottom: 32px;
    }
}
.p-animation-mv .p-top-lead {
    top: calc(156 / 750 *100vw);
    width: 100%;
    height: calc(450 / 750 * 100vw);
    right: calc(23 / 750 *100vw);

}
@media (min-width: 740px) {
    .p-animation-mv .p-top-lead {
        top: calc(57 / 1366* 100vh);
        width: calc(73 / 1920* 100vw);
        max-width: 73px;
        height: calc(767 / 1366* 100vh);
        max-height: 767px;
    }
}
@media (min-width: 1367px) and (max-width: 1536px){
    .p-animation-mv .p-top-lead {
        top: calc(57 / 1366* 100vh);
    }
}
@media (min-width: 1537px) {
    .p-animation-mv .p-top-lead {
        top: 57px;
    }
}
.p-fade-elm {
    opacity: 0;
    transition: all .3s ease-in-out;
    z-index: 111;
}
.p-fade-elm img {
    height: 100%;
    object-fit: contain;
}
.p-fade-elm[class*="js-fade"] {
    opacity: 1;
}
.js-fade-in {
    animation: fadeIn 1s ease .3s 1 normal backwards;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.js-fade-down {
    animation: fadeInDown 1s ease .3s 1 normal backwards;
}
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.js-fade-up {
    animation: fadeInUp 1s ease .3s 1 normal backwards;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.p-animation-mv--bg {
    background: #e1c7ca none center center no-repeat;
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 9;
    transition: all .2s;
}
.p-animation-mv--bg::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    /* background-color: #e1c7ca; */
    position: fixed;
    top: 0;
    opacity: 0;
    transition: all .4s;
}
.p-animation-mv--bg .p-img-mask {
    mask-image: url("../img/mask_sp.svg");
    -webkit-mask-image: url("../img/mask_sp.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: calc(50% - 16px) calc(50% - 60px);
    -webkit-mask-position: calc(50% - 16px) calc(50% - 60px);
    mask-size: 0%;
    -webkit-mask-size: 0%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    aspect-ratio: 16 / 9;
    transform: translateY(-8vh);
}
@media (min-width: 375px) and (max-width: 389px) {
    .p-animation-mv--bg .p-img-mask {
        transform: translateY(-1vh);
    }
}
@media (min-width: 390px) and (max-width: 667px) {
    .p-animation-mv--bg .p-img-mask {
        transform: translateY(-5vh);
    }
}
@media (orientation: landscape) {
    .p-animation-mv--bg .p-img-mask {
        mask-image: url("../img/mask.svg");
        -webkit-mask-image: url("../img/mask.svg");
        mask-position: center;
        -webkit-mask-position: center;
        transform: translateY(8vh);
    }
}
@media (min-width: 1025px) {
    .p-animation-mv--bg .p-img-mask {
        transform: translateY(calc(45 / 1920 * 100vw));
    }
}
.p-animation-mv--bg.is-load .p-img-mask {
    /* mask-size: 15%;
    -webkit-mask-size: 15%; */
    animation: maskSizeAnimation 2s cubic-bezier(0, 0.55, 0.45, 1) forwards;
}
.p-animation-mv--bg.is-open .p-img-mask {
    mask-size: 70.5%;
    -webkit-mask-size: 70.5%;
    transition: all .8s ease-in;
}
@keyframes maskSizeAnimation {
    0% {
        -webkit-mask-size: 0%;
        mask-size: 0%;
    }
    15% {
        -webkit-mask-size: 15%;
        mask-size: 15%;
    }
    /* 
    35% {
        -webkit-mask-size: 15%;
        mask-size: 15%;
    }
    */
    50% { /* 1s */
      -webkit-mask-size: 15%;
        mask-size: 15%;
    }
    75% { /* 1.5s */
        -webkit-mask-size: 7.5%;
        mask-size: 7.5%;
      }
    /* 75% {
        -webkit-mask-size: 10%;
        mask-size: 10%;
      } */
    100% {
        -webkit-mask-size: 70.5%;
        mask-size: 70.5%;
    }
  }
.p-animation-mv--bg.is-start {
    border-radius: 0 0 calc(100 / 1920 * 100vw) calc(100 / 1920 * 100vw);
    overflow: hidden;
}
@media (min-width: 1024px) {
    .p-animation-mv--bg.is-start {
        border-radius: 0 0 100px 100px;
    }
}
.p-animation-mv--bg picture:first-child .p-img-mask {
    z-index: 3;
}
.p-animation-mv--bg.is-start .p-img-mask {
    transition: all .4s ease-in;
    transform: translateY(0);
}
.p-animation-mv--bg.is-start picture:first-child .p-img-mask {
    opacity: 0;
}
.p-animation-mv--bg.is-start::before {
    opacity: 1;
}
.p-intro {
    padding-block: 100vh 192px;
}
.p-intro .p-top-intro {
    height: auto;
    position: static;
}
.l-header {
    max-height: calc(110 / 750 * 100vw);
}
.l-header-logo {
    max-height: 27px;
}
.l-header-logo a {
    display: block;
}
/* to landscape */
@media (orientation: landscape) and (max-width: 1024px) {
    .l-header {
        width: 100%;
        position: fixed;
    }
    .l-header-logo {
        width: calc(354 / 1080 * 100vw);
    }
    .p-animation-mv .c-nav-sticky .c-nav-header {
        top: 90px;
    }
    .c-nav-sticky.is-active .c-nav-header {
        top: 0;
    }
    .p-animation-mv .p-top-title {
        position: fixed;
        top: auto;
        bottom: calc(30 / 750* 100vw);
        width: calc(598 / 750* 100vw);
    }
    .p-animation-mv .p-top-lead {
        position: fixed;
        top: calc(145 / 750 *100vw);
        width: 100%;
        height: calc(200 / 750 * 100vw);
    }
}