@charset "utf-8";
html {
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* ボディの基本設定 */

.max-width-wrapper {
    letter-spacing: 0.09em;
    margin: 0;
}

/* デフォルトの余白とパディングを削除 */

ul,
ol,
button,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
time,
small {
    margin: 0;
    padding: 0;
}

/* リストスタイルのリセット */

ul,
ol {
    list-style: none;
}

/* aタグのスタイルとトランジション */

a {
    -webkit-text-decoration: none;
    color: inherit;
    text-decoration: none;
}

button {
    color: inherit;
}

/* ホバー時のカーソル設定 */

/* タップ時のハイライトを透明に設定 */

a {
    -webkit-tap-highlight-color: transparent; /* リンクのハイライトを透明に */
}

button {
    -webkit-tap-highlight-color: transparent; /* ボタンのハイライトも透明に */
}

:root {
    --font-family-base: "Noto Sans JP", sans-serif;
    --font-family-second: "Century Gothic", "Montserrat", "Helvetica", sans-serif;
    --font-Montserrat: "Montserrat", sans-serif;
}

:root {
    --font-weight-regular: 400;
    --font-weight-normal: 500;
    --font-weight-bold: 700;
}

:root {
    --white-color: #ffffff;
    --red-color: #bc0602;
    --blue-color: #2251a2;
    --dark-blue: #003174;
    --yellow-color: #ca8b00;
    --green-color: #72B75E;
    --dark-brown:#391F1A;
    --light-blue-color:#00c5e9;
    --transition-default: 0.2s;
    
}

.max-width-wrapper {
    color: #000;
    color: var(--black);
    font-family: "Noto Sans JP", sans-serif;
    font-family: var(--font-family-base);
}

.u-desktop {
    display: none;
}

img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.flex {
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


/* Do not change --------------------------------------------------------- */
.center_column {
    width: 100%;
    margin: 0 auto;
    height: auto;
    z-index: 2;
    overflow: hidden;
}

.txt_mod a:not(.button)[href]:not([href=""]):not([href="#"]):not([href*="javascript"]) {
    font-size: 4vw;
    line-height: 1.2;
    border-bottom: 1px solid var(--white-color);
    transition: border-bottom 0.3s ease, opacity 0.3s ease;
    margin-bottom: 3vw;
    pointer-events: auto;
}

.txt_mod a:not(.button)[href]:not([href=""]):not([href="#"]):not([href*="javascript"]):hover {
    border-bottom: transparent;
    opacity: 0.5;
}

/* For links WITHOUT valid href - NO border and NO pointer events */
.txt_mod a:not(.button):not([href]), 
.txt_mod a:not(.button)[href=""], 
.txt_mod a:not(.button)[href="#"], 
.txt_mod a:not(.button)[href*="javascript:"] {
    font-size: 4vw;
    line-height: 1.2;
    margin-bottom: 3vw;
    border-bottom: none !important;
    pointer-events: none !important;
    cursor: default;
}

/* Common styles for ALL .txt_mod links */
.txt_mod a:not(.button) {
    color: var(--white-color);
}

a:not(.button).link_sidebar_breadcrumb,
.sidebar_breadcrumb_separator {
    font-weight: 500;
    margin-left: 3px;
    margin-right: 3px;
}

a:not(.button).link_sidebar_breadcrumb,
.sidebar_breadcrumb_separator,
.sidebar_breadcrumb_current {
    color: #000000;
    font-family: var(--font-family-base);
    font-size: 3vw;
    font-style: 400;
    letter-spacing: 0.04em;
    line-height: 1.58333;
    opacity: 1;
}

.ttl_modh2,
.ttl_modh3 {
  display: inline-block;
  position: relative;
  z-index: 2;
  overflow: hidden; 
  background: #ffffff; 
  opacity: 0;
  color: var(--white-color);
}

.ttl_modh2 .ttl_modh2_sub{
    font-size: 13vw;
    font-family: var(--font-Montserrat);
    font-weight: 700;
    /*color: var(--white-color);*/
    display: inline-block;
    line-height: 1.1;
}

.ttl_modh3 .ttl_modh3_sub{
    font-size: 3.8vw;
    font-family: var(--font-Montserrat);
    font-weight: 400;
    /*color: var(--white-color);*/
    display: inline-block;
    line-height: 1.1;
}

.ttl_modh2::before,
.ttl_modh3::before{
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  left: 0%;
  z-index: 1;
  background-color: var(--white-color);  /* Replaced $white-color */
  content: "";
  animation-fill-mode: forwards;
}

.jurassic_sec .ttl_modh2::before{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 100%;
  left: 0;
  z-index: 1;
  background-color: var(--green-color); 
  content: "";
  animation-fill-mode: forwards;
}

.denim_main_img .ttl_modh2:before{
     background-color: #94B3E7;
}


.ttl_modh2.start-wipe,
.ttl_modh3.start-wipe {
  animation: fadeInText .8s ease-in-out forwards;
}

.ttl_modh2.start-wipe::before,
.ttl_modh3.start-wipe::before  {
  animation: intro .8s ease-in-out forwards;
}

.jurassic_sec .ttl_modh2.start-wipe::before {
     animation: intro02 .8s ease-in-out forwards;
}

/* --- KEYFRAMES --- */

@keyframes fadeInText {
  0% {
    background: #ffffff; 
    color: transparent; 
    opacity: 0; 
  }

  50% {
    background: none; 
    color: transparent; 
    opacity: 1;
  }

  100% {
    background: transparent; 
    opacity: 1;
  }
}

@keyframes intro {
  0% {
    right: 100%;
    left: 0%;
  }

  50% {
    right: 0%;
    left: 0%;
  }

  100% {
    right: 0%;
    left: 100%;
  }
}


@keyframes intro02 {
  0% {
    top: 0%;
    bottom: 100%;
  }

  50% {
    top: 0%;
    bottom: 0%;
  }

  100% {
    top: 100%;
    bottom: 0%;
  }
}

.c_main_mv_text .ttl_modh2 .ttl_modh2_sub,
.vacation_content .ttl_modh2 .ttl_modh2_sub{
    font-size: 8vw;
}

.txt_mod{
    font-size: 4vw;
    font-weight: 700;
    font-family: var(--font-Montserrat);
    line-height: 1.6;
    margin-bottom: 4vw;
    color: var(--white-color);
}

.t_center{
    text-align: center;
}
.t_left{
    text-align: left;
}
.t_right{
    text-align: right;
}

.mod_mb {
    margin-bottom: 4.33vw;
}

/*c_main_mv*/
.c_main_mv{
    position: relative;
    height: auto;
    overflow: hidden;
}

.c_main_mv .splide__track {
    overflow: visible;
}

.c_main_mv .splide__list {
    position: relative;
}

.c_main_mv .splide__slide{
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-in-out; /* smooth fade */
}

.splide__slide.is-prev {
    visibility: visible;
    z-index: 2; 
}

.c_main_mv .splide__slide.is-active {
    visibility: visible;
    pointer-events: all;
    transition-delay: 0s;
    animation: heroItemAnime .6s cubic-bezier(0.785, 0.135, 0.15, 0.86) both;
    z-index:3;
}

@keyframes heroItemAnime {
    0% {
        clip-path: polygon(115% 0, 100% 0, 100% 100%, 100% 100%);
    }

    100% {
        clip-path: polygon(-1% 0, 100% 0, 100% 100%, -4% 100%);
    }
}

.c_main_mv .splide__slide.is-active .slide-media img{
    animation-delay: 1s; 
    transform-origin: left center;
    animation: figureImageAnime 6s linear alternate forwards;
}

.c_main_mv .splide__slide.is-prev .slide-media img{
    transform-origin: left center;
    animation: figureImageAnime 6s linear alternate forwards;
}

@keyframes figureImageAnime {
    0% {
        transform: translateX(0%) scale(1.1) rotateY(2deg);
    }

    100% {
        transform: translateX(-2%) scale(1.02) rotateY(-2deg);
    }
}

@media (max-width: 767px) {
    .c_main_mv .slide-media {
        perspective:51.28206vw
    }

    .c_main_mv .slide-media img {
        perspective: 51.28206vw
    }
}

@media (min-width: 768px) {
    .c_main_mv .slide-media {
        perspective:20.83334vw
    }

    .c_main_mv .slide-media img{
        perspective: 20.83334vw
    }
}
.c_main_mv_text{
    position: absolute;
    bottom: 24.53vw;
    left: 5.07vw;
}

.c_main_mv .db_logo{
    position: absolute;
    bottom: 2%;
    left: 50%;
    -webkit-transform: translateX(-50%);
         -moz-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
           -o-transform: translateX(-50%);
              transform: translateX(-50%);  
}

/*vacation_sec*/
/*vacation_sec*/
.vacation_sec{
    width: 100%;
}

.vacation_sec .vacation_cover{
    width: 100%;
    height: 100%;
    position: relative;
}

.vacation_cover img{
    width: 100%;
}

.vacation_content{
    position: absolute;
    width: 100%;
    top: 60%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
       -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
         -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
    text-align: center;
}

.vacation_content .ttl_modh2{
    text-align: center;
}


/*denim_sec*/
.parallax_layer{
  width: 100%; 
  overflow: hidden;  
}

.parallax_img{
  transform: translate3d(0, 0, 0); 
  will-change: transform;
  width: 100%;
  height: auto;
}

.parallax_layer.column_sub .parallax_img{
    height: 100%;
}

.parallax_layer.denim_top{
    height: 113vw;
}

.active_top .parallax_layer,
.active_top .img_fade_images{
    height: 69vw;
}


.active_top .img_fade_images {
    position: relative;
    width: 100%;
}

/* Slideshow images */
.img_fade_images img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

/* Active image class */
.img_fade_images img.is-active {
    opacity: 1;
}

.img_flip_container {
    width: 100%;
    height: 100%;
    perspective: 1000px;
}

/* 2. The flipper controls the rotation and speed */
.img_flipper {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* Set flip duration */
    transform-style: preserve-3d; /* Key to making children 3D */
}

/* 3. The images (front and back faces) */
.img_front,
.img_back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Key to hide the back side of the face during flip */
    backface-visibility: hidden;
    /* Ensure the parallax logic applies to the individual image faces */
    transform: translate3d(0, 0, 0); 
}

/* 4. Initial state of the back face (rotated 180deg) */
.img_back {
    transform: rotateY(180deg);
}

/* 5. The class toggled by JavaScript to perform the flip */
.img_flipper.is-flipped {
    transform: rotateY(180deg);
}

.denim_flipper {
    top: 6%;
    left: -10%;
    position: absolute;
    width: 100%;
    height: 100%;
}

.denim_main_img .bg_blue{
    width: 63%;
    max-width: 520px;
    height: 94vw;
    margin: 0 auto;
    background: var(--blue-color);
    position: relative;
}

.denim_main {
    width: 100%;
    height: 100%;
    top: 6%;
    left: -10%;
    position: absolute;
}

.parallax_icon {
    position: absolute;
    top: 0;
    right: -4%;
    width: 16.667vw;
}

.parallax_icon img{
    transition: 1s ease-in-out;
    animation: parallax-large-anim 2s ease-in-out infinite alternate;
}

@keyframes parallax-large-anim {
    0% {
        -webkit-transform: translate(0, 0) rotate(-7deg);
        -moz-transform: translate(0, 0) rotate(-7deg);
        -ms-transform: translate(0, 0) rotate(-7deg);
        -o-transform: translate(0, 0) rotate(-7deg);
        transform: translate(0, 0) rotate(-7deg);
    }

    50% {
        -webkit-transform: translate(0, -7px) rotate(0deg);
        -moz-transform: translate(0, -7px) rotate(0deg);
        -ms-transform: translate(0, -7px) rotate(0deg);
        -o-transform: translate(0, -7px) rotate(0deg);
        transform: translate(0, -7px) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(0, 0) rotate(7deg);
        -moz-transform: translate(0, 0) rotate(7deg);
        -ms-transform: translate(0, 0) rotate(7deg);
        -o-transform: translate(0, 0) rotate(7deg);
        transform: translate(0, 0) rotate(7deg);
    }
}

/*.denim_content{
    padding: 7vw 0;
    background: url(../../assets26ss/images/26ss/bg_denim_sec.png) no-repeat center;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
     background-attachment: fixed;
}*/

.denim_content {
    position: relative;
    /* Remove the original background properties */
    background: none;
    padding: 7vw 0;
    overflow: hidden;
}

/*.denim_content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../../assets26ss/images/26ss/bg_denim_sec.png) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    z-index: -1;
}*/

.denim_content .txt_mod{
    padding-left: 7vw;
}

.denim_main_img .ttl_modh2{
    position: absolute;
    bottom: 3%;
    left: -16vw;
   
}

.animate__animated.animate-on-scroll {
  visibility: hidden !important;
  opacity: 0; 
}

.animate__animated:not(.animate-on-scroll) {
    visibility: visible !important;
    opacity: 1;
}

.denim_main_img .bg_blue .ttl_modh2{
    color: #94B3E7;
}

.column_wrap{
    width: 100%;
    margin: 0 auto;
    z-index: 99;
    -webkit-justify-content: center;
            justify-content: center;
    position: relative;    
}

.denim_sec .column_wrap{
    margin-top: 10vw;
}

.column_wrap .column_sub{
    width: 45%;
    height: 69.87vw;
    margin: 0 2vw;
}

/*jurassic_sec*/

.jurassic_sec{
    position: relative;
}

.jurassic_top{
    height: 138.67vw;
    background: #ffffff;
}

.jurassic_sec .ttl_modh2{
    position: absolute;
    writing-mode: vertical-rl;
    bottom: -26%;
    right: 5.33vw;
    z-index: 3;
}

.jurassic_sec .ttl_modh2 {
    color: var(--green-color);
}

.jurassic_sec .parallax_icon{
    position: absolute;
    top: auto;
    bottom: -32vw;
    left: -1vw;
    width: 20vw;
    right: auto;
    z-index: 3;
}

.jurassic_slider_sec {
    position: relative;
    background: none;
    padding-bottom: 10vw;
    overflow: hidden;
}

.fixed-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.fixed-background.is-active {
    opacity: 1;
}

.fixed-background.denim-bg {
    background: url(../../assets26ss/images/26ss/bg_denim_sec.webp) no-repeat center;
    background-size: cover;
}

.fixed-background.jurassic-bg {
    background: url(../../assets26ss/images/26ss/bg_jurassic_slide.webp) no-repeat center;
    background-size: cover;
}

.card01{    
    padding: 10vw 0 0;
}

.card01 .splide-area,
.card02 .splide-area,
.card03 .splide-area,
.card04 .splide-area {
  position: relative;
}

a.splide__slide:hover{
    opacity: 1;
}

.card01 .slide-content,
.card02 .slide-content,
.card03 .slide-content,
.card04 .slide-content{
    opacity: 0;
}

.card01 .splide__slide.is-active .slide-content,
.card02 .splide__slide.is-active .slide-content,
.card03 .splide__slide.is-active .slide-content,
.card04 .splide__slide.is-active .slide-content{
    opacity: 1;
    transition: opacity 0s ease;
    /* width: 164%; */
}

.card01 .splide__track,
.card02 .splide__track,
.card03 .splide__track,
.card04 .splide__track{
     touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
}

.card01 .splide__slide,
.card02 .splide__slide,
.card03 .splide__slide,
.card04 .splide__slide{
    width: 75.2vw !important;
    margin: 0 3.47vw;
    -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
        backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.card01 .splide__slide .img-cover,
.card02 .splide__slide .img-cover,
.card03 .splide__slide .img-cover,
.card04 .splide__slide .img-cover{
    width: 100%;
    position: relative;
    margin-bottom: 8vw;
}

.active_sec{
    background: url(../../assets26ss/images/26ss/bg_active.webp) no-repeat top center;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    padding: 7vw 0 1vw;
}

.active_top{
    width: 70%;
    max-width: 640px;
    margin: 0 auto 8vw;
    position: relative;
}

.active_top .ttl_modh2{
    position: absolute;
    top: 54.5vw;
    left: 18%;
    font-size: 64px;
}

.active_top .ttl_modh2::before{
    background-color: var(--red-color);
}

.active_top .ttl_modh2{
    color: var(--red-color);
}  

/*retropop_sec*/
.retropop_sec{
    margin: 0;
}

/* Retro Pop Section - Fixed Background */
.retropop_content {
    position: relative;
    background: none;
    padding: 9.33vw 0 0;
    overflow: hidden;
}

.fixed-background.retropop-bg {
    background: url(../../assets26ss/images/26ss/bg_retro_pop.webp) no-repeat top center;
    background-size: 100% auto;
}


.retropop_main_img{
    margin-bottom: 10vw;
}

.retropop_main_img .bg_blue{
    width: 52%;
    max-width: 662px;
    height: 92vw;
    margin-left: 36%;
    /*background: var(--dark-blue);*/
    position: relative;
}

.retropop_main_img .bg_blue .parallax_icon{
    bottom: 0;
    width: 10vw;
    right: -7%;
    z-index: 4;
    top: auto;
}

.retropop_main01 {
    width: 87.47vw;
    z-index: 2;
    position: relative;
    margin: 0 auto;
}

.retropop_main_img .bg_light_blue{
    width: 60%;
    max-width: 512px;
    height: 106.4vw;
    margin: -60vw 0 0 10vw;
    background: var(--dark-brown);
    position: relative;
    z-index: 3;
}

.retropop_main02{
    width: 100%;
    height: 121.07vw;
    bottom: 6%;
    left: -10%;
    position: absolute;
    z-index: 3;
}

.retropop_main_img .bg_light_blue .ttl_modh2{
    position: absolute;
    bottom: 14%;
    right: -35%;
    z-index: 4;
    line-height: 1.1;
    color: #FC8709;
}

.retropop_main_img .bg_light_blue .ttl_modh2::before{
    background-color: #FC8709;
}

.retropop_main_img .bg_light_blue .ttl_modh2 .ttl_modh2_sub{
    line-height: 1;    
}

/*relax_sec*/
.relax_sec{
    padding: 0 0 5vw;
}

.relax02{
   background:var(--white-color);
   margin-top: -5vw;
   padding: 0 0 22vw;
}

.relax_content {
    position: relative;
    padding-bottom: 2vw;
}

.relax_sec .full_wrap,
.relax_content02 .column_wrap {
    position: relative;
    z-index: 2;
}

.relax_content02 .column_wrap{
    background: #ffffff;
}

.fixed-background.relax-bg.is-active{
    background: url(../../assets26ss/images/26ss/bg_relax.webp) no-repeat top center #ffffff;
    background-size: cover;
    z-index: -1 !important; /* Keep it behind content */
    opacity: 1 !important;
    pointer-events: none !important; /* Ensure it doesn't block clicks */
}

.relax_sec .full_wrap .ttl_modh2{
    position: absolute;
    top: 5%;
    left: 3%;
    z-index: 4;
    color: #00B56C;
}

.full_wrap .ttl_modh2 .ttl_modh2_sub{
    line-height: 1;   
}

.full_wrap .ttl_modh2::before{
    background-color: #00B56C;
}

.relax_content .column_wrap .column_sub,
.relax_content02 .column_wrap .column_sub{
    margin-bottom: 4vw;
}

.relax_content02 .column_wrap .column_sub.custom{
    margin-top: -65vw;
}

.relax_sec .full_wrap{
    position: relative;
}

.relax_content .column_wrap,
.relax_content02 .column_wrap {
    margin-bottom: 8vw;    
}

.relax_content .column_wrap{
    padding-top: 8vw;
}

.full_wrap .img_fade_container{
    height: 113.07vw;
}

.full_wrap .txt_mod{
    padding: 2vw 2vw 0;
}

.full_wrap .txt_mod.second{
    padding: 0 2vw;
}

/*d-basic_main01*/
.d-basic_sec{
    background: url(../../assets26ss/images/26ss/bg_d-basic.webp) no-repeat top center;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
        padding-bottom: 1vw;
}

.d-basic_main_img{
    position: relative;
}

.d-basic_content .full_wrap{
    margin-top: -27.8vw;
}



.d-basic_content .bg_yellow{
    width: 60%;
    max-width: 558px;
    height: 72vw;
    position: relative;
    margin-left: 38%;
    top: -16vw;
}

.d-basic_main01 {
    width: 100%;
    height: 100%;
    top: 7%;
    left: 0%;
    position: absolute;
    z-index: 2;
}

.d-basic_content .bg_light_blue{
    width: 60%;
    max-width: 460px;
    height: 68vw;
    margin-left: 2%;
    position: relative;
    top: -32vw;
}

.d-basic_main02{
    width: 100%;
    height: 100%;
    top: 6%;
    left: 3%;
    position: absolute;
    z-index: 3;
}

.d-basic_content  .parallax_icon {
    position: absolute;
    top: 56%;
    width: 20vw;
    right: -13vw;
    z-index: 3;
}

.d-basic_main_img .ttl_modh2{
    position: absolute;
    top: 5%;
    left: 2%;
    z-index: 4;
    color: #3A911F;
}

.d-basic_main_img .ttl_modh2::before{
    background: #3A911F;
}

.d-basic_content .full_wrap .parallax_layer{
    height: 100vw;
}

.c_swipeHint {
   position: absolute;
   padding: 16px;
   width: 30vw;
   aspect-ratio: 16/9;
   height: 20vw;
   background: rgba(0, 0, 0, .9);
   top: 35%;
   left: 50%;
   transform: translate(-50%, -50%);
   z-index: 99;
   display: grid;
   place-items: center;
   opacity: 1;
   transition: var(--transition-default);
   pointer-events: none !important;
   border-radius: 5px;
}

.c_swipeHint.hide_swipeHint {
  opacity: 0 !important;
  visibility: hidden;
}

.c_swipeHint_img {
   width: 50%;
}

.c_swipeHint_img img{
   width: 80%;
   animation: scroll-hint-appear 1.2s linear;
   animation-iteration-count: 5;
}

.sidebar_language {
    display: flex;
    justify-content: center;
    gap: 30px;
    background: #212332;
    padding: 1em 10px;
}

.sidebar_language_link {
    align-items: center;
    display: flex;
    gap: 5px;
}

.sidebar_language_link_text {
    color: #FFF;
    font-family: "Century Gothic", "Montserrat", "Helvetica", sans-serif;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
}

@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v290/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2) format('woff2');
}

.material_symbols_outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.sidebar_language_icon {
    color: var(--white-color);
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* NEW ANIMATION KEYFRAMES */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}


@media only screen and (min-width:768px) {
    .u-desktop {
        display: block;
    }

    .u-mobile {
        display: none;
    }

    .sidebar_breadcrumb {
        opacity: 0;
        visibility: hidden;
    }

    .sidebar_breadcrumb.is-active {    
        opacity: 1;
        transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
        visibility: visible;
    }

    a:not(.button).link_sidebar_breadcrumb,
    .sidebar_breadcrumb_separator,
    .sidebar_breadcrumb_current {
        color: var(--white-color);
        font-size: 12px;
        opacity: .8;
    }

    .three_col_layout {
        position: relative;
        width: 100%;
        height: 100vh;
    }

    .left_column.sidebar {
        width: 30.47vw;
        height: 100vh;
        background: url(../../assets26ss/images/26ss/bg_siderbar_left.webp) no-repeat center;
        background-size: cover;
        position: fixed;
        padding: 1.563vw;
        padding-top: 129px;
        z-index: 5;
        left: 0;
        top: 0;
    }

    .sidebar_inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: space-between;
        padding-left: 30px;
        padding-right: 30px;
    }

    .sidebar_category {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .sidebar_category_title {
        color: #FFF;
        font-family: "Century Gothic", "Montserrat", "Helvetica", sans-serif;
        font-size: 23px;
        font-style: normal;
        font-weight: 400;
        letter-spacing: 0.04em;
        line-height: normal;
    }

    .sidebar_category_list {
        display: flex;
        flex-direction: column;
        gap: 21px;
    }

    .sidebar_category_link {
        align-items: center;
        display: flex;
        gap: 10px;
        transition: opacity 0.3s ease;
        width: -moz-fit-content;
        width: fit-content;
    }

    .sidebar_category_item {
        display: inline-block;
    }

    .sidebar_category_link_line {
        background-color: var(--white-color);
        height: 1px;
        width: 13.5px;
    }

    .sidebar_category_link_text {
        border-bottom: 1px dotted transparent;
        color: var(--white-color);
        font-family: var(--font-family-base);
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.04em;
        text-align: right;
        transition: border-bottom 0.3s ease;
    }

    /*end of left_col*/

    .right_column {
        width: 30.47vw;
        height: 100vh;
        position: fixed;
        right: 0;
        z-index: 5;
        top: 0;
    }

    .right_column_images {
        position: relative;
        width: 100%;
        height: 100%;
    }

    /* Slideshow images */
    .right_column_images_img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity 1.5s ease-in-out;
    }

    /* Active image class */
    .right_column_images_img.is-active {
        opacity: 1;
    }

    /*end of left_column*/

    .center_column {
        width: 39.06vw; 
        margin-top: -2vw;
        padding-top: 129px;
    }

    .ttl_modh2 .ttl_modh2_sub{
        font-size: 4.2vw;
    }

    .ttl_modh3 .ttl_modh3_sub{
        font-size: 0.84vw;
    }

  /*  .ttl_modh3{
        font-size: 1.563vw;
        margin-bottom: 1.953vw;
    }*/

    .txt_mod{
        font-size: 1vw;
        margin-bottom: 1.3vw;
    }

    .slide-content .txt_mod{
        font-size: 1.4rem;
        margin-bottom: 1.3vw;
    }

    .txt_mod a:not(.button)[href]:not([href=""]):not([href="#"]):not([href*="javascript"]){
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .txt_mod a:not(.button):not([href]), 
    .txt_mod a:not(.button)[href=""], 
    .txt_mod a:not(.button)[href="#"], 
    .txt_mod a:not(.button)[href*="javascript:"] {
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .mod_mb {
        margin-bottom: 0.953vw;
    }

    .parallax_icon {
        position: absolute;
        top: 2%;
        right: -8%;
        width: 6vw;
    }

   /* @keyframes parallax-large-anim {
      from {
         transform: translate3d(0, 70.063vw, 0) rotate(0deg);
      }
      to {
        transform: translate3d(0, 0, 0) rotate(30deg);
      }
    }*/

    .c_main_mv{
        height: 34.75vw;
    }

    .c_main_mv_text{
        bottom: 7.73vw;
        left: 5.22vw;
    }

    .c_main_mv .db_logo{
        bottom: 2%;
        left: 50%;
        width: 8vw;
    }

    .c_main_mv_text .ttl_modh2 .ttl_modh2_sub,
    .vacation_content .ttl_modh2 .ttl_modh2_sub{
        font-size: 2.09vw;
        line-height: 1.2;
    }

    /*vacation_sec*/
  /*  .vacation_sec{
        height: 52.188vw;
    }*/

    /*.vacation_content{
        top: 18.906vw
    }*/

    /*denim_sec*/
    .parallax_layer.denim_top{
        height: 48vw;
    }

    .active_top .parallax_layer,
    .active_top .img_fade_images{
        height: 29.8vw;
    }

    .denim_main_img .bg_blue{
        width: 27.08vw;
        max-width: 520px;
        height: 41.67vw;
    }

    .denim_main {
        top: 4%;
        left: -6%;
    }

    .denim_content{
        padding: 2vw 0;
    }

    
    .denim_content .txt_mod {
        padding-left: 2vw;
        font-size: 1.4rem;
    }

    .denim_main_img .ttl_modh2{
        bottom: 3%;
        left: -4.46vw;
    }    

    .denim_sec .column_wrap{
        margin-top: 5vw;
    }

    .column_wrap .column_sub{
        width: 16.71vw;
        height: 27.29vw;
        margin: 0 1.25vw ;
    }

    .column_wrap .column_sub:nth-child(odd){
        margin-right: 0.78vw;
    }

    .column_wrap .column_sub:nth-child(even){
        margin-left: 0.78vw;
    }

    /*jurassic_sec*/
    .jurassic_top{
        height: 56.04vw;
    }

    .jurassic_sec .ttl_modh2{
        bottom: -20%;
        right: 8%;
    }

    .jurassic_sec .parallax_icon{
        top: auto;
        left: -1%;
        width: 8vw;
        bottom: -13vw;
    }

    /* Add to your CSS */
    .jurassic_slider_sec{
        padding-bottom: 1vw;
    }

    .card01{
        padding: 4vw 0 3vw;
    }

    .card01 .splide__slide,
    .card02 .splide__slide,
    .card03 .splide__slide,
    .card04 .splide__slide{
        width: 28.75vw !important;
        margin: 0 1.46vw;
         -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
    }

    .card01 .splide__slide .img-cover,
    .card02 .splide__slide .img-cover,
    .card03 .splide__slide .img-cover,
    .card04 .splide__slide .img-cover{
        margin-bottom: 3.13vw;
    }

    .active_sec{
        padding: 2vw 0 1vw;
    }

    .active_top{
        width: 85.333%;
        max-width: 640px;
        margin: 0 auto 2vw;
    }

    .active_top .ttl_modh2{
        top: 45%;
        left: 27%;
        font-size: 64px;
    }  

    .retropop_sec {
        margin: 0;
    }

    .retropop_content{
        padding: 2vw 0;
    }

    .retropop_main_img{
        margin-bottom: 4vw;
    }

    .retropop_main_img .bg_blue{
        width: 60%;
        height: 34vw;
        margin-left: 36%;
    }

    .retropop_main_img .bg_blue .parallax_icon{
        top: auto;
        bottom: -7vw;
        width: 3.15vw;
        right: 26%;
        z-index: 3;
    }

    .retropop_main01 {
        width: 33.44vw;
    }

    .retropop_main_img .bg_light_blue{
        width: 24.79vw;
        max-width: 476px;
        height: 41.56vw;
        margin: -22vw 0 0 3.5vw;
    }

    .retropop_main02{
        width: 100%;
        bottom: 5%;
        left: -10%;
        height: 47.29vw;
    }

    .retropop_content .bg_light_blue .ttl_modh2{
        right: -32%;
        z-index: 4;
    }

    .retropop_content .column_wrap .column_sub{
        margin-bottom: 2vw;
    }


    /*relax_sec*/
    .relax_sec {
        padding: 0 0 3vw;
    }

    .relax02{
       margin-top: -5vw;
       padding: 0 0 5vw;
    }

    .relax_sec .full_wrap .ttl_modh2{
        z-index: 4;
    }

    .relax_content .column_wrap .column_sub,
    .relax_content02 .column_wrap .column_sub{
        margin-bottom: 2vw;
    }

    .relax_content02 .column_wrap .column_sub.custom {
        margin-top: -24vw;
    }

    .full_wrap .img_fade_container{
        height: 44.11vw;
    }

    .relax_content .column_wrap,
    .relax_content02 .column_wrap {        
        margin-bottom: 2vw;
    }

    .relax_content .column_wrap{
        padding-top: 3vw;
    }

    .relax_content .column_wrap.list_column_sub{
        padding-top: 0;
    }

    .full_wrap .txt_mod{
        padding: 2vw 2vw 0;
        margin-bottom: 0;
    }

    .full_wrap .txt_mod.second{
        padding: 0 2vw;
    }

    /*d-basic_main01*/
    .d-basic_sec{
        padding-bottom: 2vw;
    }

    .d-basic_content .full_wrap {
        margin-top: -8.3vw;
    }

    .d-basic_content .bg_yellow{
        width: 58%;
        height: 25vw;
        margin-left: 38%;
        top: -5vw;
    }

    .d-basic_main01 {
        top: 7%;
        left: 0;
    }

    .d-basic_content .bg_light_blue{
        height: 28vw;
        margin-left: 3%;
        top: -10vw;
    }

    .d-basic_content .parallax_icon {
        position: absolute;
        top: 45%;
        width: 7vw;
        right: -5vw;
        z-index: 3;
    }

    .d-basic_main02{
        top: 6%;
        left: 3%;
    }

    .d-basic_main_img .ttl_modh2{
        left: 2%;
    }

    .d-basic_content .full_wrap .parallax_layer{
        height: 38vw;
    }

    .c_swipeHint {
       position: absolute;
       padding: 16px;
       width: 12vw;
       aspect-ratio: 16/9;
       height: 8vw;
       background: rgba(0, 0, 0, .9);
       top: 40%;
       left: 50%;
       transform: translate(-50%, -50%);
       display: grid;
       place-items: center;
       opacity: 1;
       transition: var(--transition-default);
       pointer-events: none;
       border-radius: 5px;
    }

    .fixed-background.denim-bg {
        background: url(../../assets26ss/images/26ss/bg_denim_sec.webp) no-repeat center;
        background-size: 39% auto;
    }

    .fixed-background.jurassic-bg {
        background: url(../../assets26ss/images/26ss/bg_jurassic_slide.webp) no-repeat center;
        background-size: 39% auto;
    }

    .fixed-background.retropop-bg {
        background: url(../../assets26ss/images/26ss/bg_retro_pop.webp) no-repeat top center;
        background-size: 39% auto;
    }

    .fixed-background.relax-bg.is-active {
        background: url(../../assets26ss/images/26ss/bg_relax.webp) no-repeat top center #ffffff;
        background-size: 39% auto;
    }
}

.page_top {
    position: fixed;
    bottom: 3vw;
    right: 0;
    width: 12vw; /* Adjust for mobile visibility */
    height: 12vw;
    max-width: 100px; /* Limit size on PC */
    max-height: 106px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    cursor: pointer;
}

.page_top.is-visible {
    opacity: 1;
    visibility: visible;
}

.page_top_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: transparent;
    cursor: pointer;
    padding: 0;
    border: none;
}

.page_top_link:focus {
    outline: none;
}

@media only screen and (min-width:768px) {
    .page_top {
        bottom: 40px;
        right: 30.5%;
        width: 3.5vw;
        height: 3.5vw;
    }
}

.modal-overlay {
  /* Positioning */
  position: fixed;
  z-index: 1000;
  top: 3vw;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  display: flex;
  flex-direction: column; 
  align-items: center;
  justify-content: center;
  
  /* Initial State (Hidden) */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.modal-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.modal-contentdb {
  display: block;
  width: 90%;
  max-width: 780px;
  max-height: 55vh; 
  object-fit: contain;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}

.modal-overlay.is-visible .modal-contentdb {
  transform: scale(1);
}

.modal-close {
  margin-top: 15px; 
  color: #fff;
  font-size: 16px; 
  font-weight: normal;
  cursor: pointer;
  transition: color 0.2s;
}

.modal-close:hover {
  color: #bbb;
}
footer{
    background: #FFF;
}

.footer__links-login {
    text-align: center;
    padding: 30px 0;
}

.footer__links-login svg {
    display: inline-block;
}

a {text-decoration: none !important;}