*{
    margin: 0;
    font-family: "Mona Sans", sans-serif;
    font-weight: 200;
}
a{
    color: inherit;
    transition: 300ms;
}
a:hover{
    opacity: 0.7;
}
img{
    display: block;
}
.txt_table{
    width: calc(335% / 3.75);
    margin: 0 auto;
    padding-top: calc(4cqw / 3.75);
}
.txt_table td{
    color: #fff;
    border: none;
    padding: 0;
    font-size: calc(14cqw / 3.75);
    line-height: calc(25cqw / 3.75);
    vertical-align: top;
}
.txt_table td:nth-of-type(1) {
    white-space: nowrap;
    width: 1%;
    padding-right: 0.5em;
}
.txt_table td:nth-of-type(3){
    text-align: right;
}
.txt_table td a{
    text-decoration: underline;
    font-style: italic;
}
.txt_table td span {
    font-size: 80%;
    display: block;
    line-height: 1;
}



.dt_bg_area{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url(imgs/dt_bg.png);
    background-size: cover;
    background-position: center;
}
.dt_title_img{
    width: calc(262% / 14.4);
    padding-top: 65px;
    padding-left: calc(31% / 14.4);
}
.dt_logo_area{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: calc(50% - 250px);
}
.dt_logo{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: calc(240vw / 14.4);
}
.dt_logo img{
    width: 100%;
}
@media screen and (max-width: 1199px) {
    .dt_title_img, .dt_logo_area{
        display: none;
    }
}


.container{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    container-type: inline-size;
    background-color: #fff;
}



.header{
    display: block;
    width: 100cqw;
    height: 14.6666666667cqw;
    box-sizing: border-box;
    position: relative;
    z-index: 11;
    background-color: #fff;
}
.header-container{
    display: flex;
    justify-content: space-between;
}
.header-logo{
    width: 72cqw;
    padding-top: 4.2666666667cqw;
}
.header-logo__link{
    display: block;
    overflow: hidden;
    width: 56cqw;
    height: 0;
    padding-top: 6.9333333333cqw;
    background: url("imgs/header_logo.svg") center center no-repeat;
    background-size: 100% auto;
    margin-right: auto;
    margin-left: auto;
}
.header-lb{
    position: absolute;
    width: 28cqw;
    right: 0;
    top: 0;
    margin-top: 0;
    overflow: hidden;
    background: #eeece3;
    box-shadow: 1.6cqw -1.6cqw 1.0666666667cqw -1.6cqw rgba(0,0,0,.3) inset;
    font-size: 2.9333333333cqw;
}
.header-lb a{
    height: 14.6666666667cqw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: flex-start;
    text-decoration: none;
}
.header-lb .logo{
    width: 21.3333333333cqw;
    margin: 0 auto 0.8cqw;
    line-height: 1;
}
.header-lb .logo img{
    width: 100%;
    vertical-align: top;
}
.header-lb .copy{
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0.5333333333cqw 0 0.5333333333cqw 1.76cqw;
    font-weight: 500;
    text-align: center;
    background: #fff;
    box-shadow: 1.6cqw 0 1.0666666667cqw -1.6cqw rgba(0,0,0,.3) inset;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: normal !important;
}
.header-lb .copy span{
    display: block;
    transform: scale(0.7);
    font-size: 2.6666666667cqw;
    transform-origin: center center;
    word-break: keep-all;
    text-align: center;
    margin: auto;
}



.top_img{
    width: 100%;
    padding-bottom: calc(24cqw / 3.75);
}
.top_title_img{
    width: 100%;
    padding-bottom: calc(59cqw / 3.75);
}



.c01_01_img{
    width: 100%;
    padding-bottom: calc(60cqw / 3.75);
}
.c01_02_img{
    width: calc(280% / 3.75);
    margin: 0 auto;
}
.c01_03_img{
    width: calc(359% / 5.63);
}
.c01_04_img{
    width: calc(369% / 5.63);
    margin-left: calc(100% - 368.8% / 5.63);
}
.c01_05_img{
    width: 100%;
}

.c01_wrapper{
    position: relative;
}
.c01_slider{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100%;
    max-width: 500px;
    transform: translateX(-50%);
    z-index: -1;
    overflow: hidden;
    background-color: #fff;
}
.c01_slide{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    opacity: 0;
}
.c01_above_content,
.c01_below_content{
    background-color: #fff;
}
.c01_hole{
    height: 100vh;
    pointer-events: none;
}
.c01_txt_area{
    background-color: #15367E;
    padding-bottom: calc(73cqw / 3.75);
}



.c02_01_img{
    width: 100%;
}
.c02_02_img{
    width: 100%;
}
.c02_03_img{
    width: calc(187% / 3.75);
    margin: 0 auto;
    padding-top: calc(67cqw / 3.75);
    padding-bottom: calc(67cqw / 3.75);
}
.c02_04_img{
    width: 100%;
}
.c02_05_img{
    width: 100%;
}
.c02_txt_area{
    background-color: #8B2527;
    padding-bottom: calc(73cqw / 3.75);
}
.c02_06_img{
    width: calc(259% / 3.75);
    margin-left: calc(96% / 3.75);
    padding-top: calc(73cqw / 3.75);
}




.c03_01_img{
    width: 100%;
}
.c03_02_img{
    width: 100%;
}
.c03_03_img,
.c03_04_img{
    width: 100cqw;
    flex-shrink: 0;
}
.c03_txt_area{
    background-color: #3D312D;
    padding-bottom: calc(73cqw / 3.75);
}
.c03_wrapper{
    position: relative;
}
.c03_slider{
    width: 100%;
    overflow: hidden;
}
.c03_slider_track{
    display: flex;
    width: max-content;
    animation: c03_marquee 5.4s linear infinite;
}
@keyframes c03_marquee{
    0%{
        transform: translateX(0);
    }
    45%{
        transform: translateX(0);
    }
    50%{
        transform: translateX(-100cqw);
    }
    95%{
        transform: translateX(-100cqw);
    }
    100%{
        transform: translateX(-200cqw);
    }
}




.c04_01_img{
    width: 100%;
    padding-bottom: calc(20cqw / 3.75);
}
.c04_02_img{
    width: 100%;
    padding-bottom: calc(20cqw / 3.75);
}
.c04_03_flex{
    display: flex;
    padding-bottom: calc(20cqw / 3.75);
}
.c04_03_img{
    width: 50%;
}
.c04_04_img{
    width: 100%;
}
.c04_txt_area{
    background-color: #8A95A0;
}
.c04_05_img{
    width: calc(259% / 3.75);
    margin-left: calc(20% / 3.75);
    padding-top: calc(73cqw / 3.75);
}
.credit_p{
    font-size: calc(10cqw / 3.75);
    line-height: 1.5;
    padding-left: calc(20cqw / 3.75);
    padding-right: calc(20cqw / 3.75);
    padding-top: calc(48cqw / 3.75);
    padding-bottom: 0.7em;
    text-align: justify;
}



.items_title{
    font-size: calc(18cqw / 3.75);
    line-height: calc(25cqw / 3.75);
    font-family: "Parkinsans", sans-serif;
    text-align: center;
    padding-top: calc(53cqw / 3.75);
    padding-bottom: calc(24cqw / 3.75);
    font-weight: normal;
}
.items_flex{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.item_card{
    width: calc(162cqw / 3.75);
    margin: 0 calc(5.5cqw / 3.75) calc(35cqw / 3.75);
}
.item_img{
    width: 100%;
}
.item_txt_flex{
    display: flex;
    justify-content: space-between;
}
.item_txt_flex p:nth-of-type(1){
    font-size: calc(14cqw / 3.75);
    text-align-last: left;
    line-height: 1;
    padding-top: calc(5.5cqw / 3.75);
}
.item_txt_flex p:nth-of-type(2){
    font-size: calc(14cqw / 3.75);
    text-align-last: right;
    line-height: 1;
    padding-top: calc(5.5cqw / 3.75);
}
.item_buy_area{
    position: relative;
    text-align: center;
}
.item_buy_area::after{
    content: "BUY";
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    font-size: calc(14cqw / 3.75);
    line-height: 1.2;
    font-style: italic;
    background-color: #fff;
    color: white;
    padding: 0 0.5em;
}
.item_buy_area hr{
    width: 100%;
    border: none;
    border-top: solid 0.3px black;
    position: absolute;
    top: 50%;
    left: 0;
    height: 0;
}
.item_buy_area a {
    font-size: calc(14cqw / 3.75);
    line-height: 1.2;
    font-style: italic;
    text-decoration: underline;
    text-decoration-color: black;
    text-decoration-thickness: 0.3px;
    background-color: #fff;
    display: inline-block;
    padding: 0 0.5em;
    position: relative;
    z-index: 1;
}
.item_ce{
    font-size: calc(14cqw * 0.8 / 3.75);
    line-height: 1.2;
    text-align: center;
}
.all_items_area{
    text-align: center;
}
.all_items_btn {
    font-size: calc(21cqw / 3.75);
    line-height: calc(35cqw / 3.75);
    display: inline-block;
    width: calc(240cqw / 3.75);
    margin-bottom: calc(28cqw / 3.75);
    border: solid 1px black;
    text-decoration: none;
}
.arrival_calendar_area{
    text-align: center;
}
.arrival_calendar_banner{
    display: inline-block;
    width: calc(240cqw / 3.75);
}
.arrival_calendar_banner img{
    width: 100%;
}



.mx_auto{
    margin-left: auto;
    margin-right: auto;
}
.disp_flex{
    display: flex;
    flex-wrap: wrap;
}
.disp_block{
    display: block;
}
.posi_relative{
    position: relative;
}
.fs18{
    font-size: 4.8cqw;
}
.fw700{
    font-weight: 700;
}

.footer{
    margin-top: 19.2cqw;
    padding: 10.4cqw 0 17.8666666666cqw;
    background: #eae8e9;
    width: 90%;
}
.footer ul{
    list-style: none;
    padding: 0;
}
.footer a{
    text-decoration: none;
    font-weight: normal;
}
.footer img{
    width: 100%;
    height: auto;
}
.footer_logo_picnic{
    width: 35.2cqw;
}
.footer_sns{
    width: 44.8cqw;
    margin-top: 11.46cqw;
    justify-content: space-between;
}
.footer_sns_line{
    width: 12.2666666666cqw;
}
.footer_sns_ig{
    width: 10.4cqw;
}
.footer_sns_x{
    width: 9.0666666666cqw;
}
.footer_sns_fb{
    width: 11.2cqw;
    margin-top: -1cqw;
}
.footer_nav{
    width: 76cqw;
    margin-top: 13.3cqw;
    padding-top: 15.46cqw;
    border-top: 0.2666666667cqw solid #000;
}
.footer_nav_inner{
    margin-top: 17.33cqw;
    gap: 13.3cqw 0;
}
.footer_nav_category{
    margin-bottom: 7.73cqw;
    letter-spacing: 0.05em;
    font-family: fot-cezanne-pron, sans-serif;
}
.footer_nav_share{
    width: 100%;
}
.footer_nav_share .footer_sns{
    width: 62.1333333333cqw;
    margin: 0 auto;
}
.footer_nav_onlinestore{
    width: 100%;
}
.footer_nav_onlinestore li,
.footer_nav_help li{
    font-size: 3.7333333333cqw;
    line-height: 2.07;
}
.footer_nav_onlinestore li::before,
.footer_nav_help li::before{
    content: "・ ";
}
.footer_help{
    gap: 14.13cqw 0;
}
.footer_help01,
.footer_help02{
    width: 100%;
}
.footer_tagwrapper{
    width: 76cqw;
    margin-top: 25.33cqw;
}
.footer_tag{
    width: 100%;
}
.footer_copyright{
    margin-top: 6.13cqw;
    letter-spacing: 0.03em;
    font-size: 2.9333333333cqw;
    font-weight: normal;
}