@charset "UTF-8";

/* ============================================================
#home トップページ
============================================================ */


/* #collection
-------------------------------------------------- */
a img{
    transition:all 0.3s;
}
a:hover img{
    filter: saturate(50%);
    filter: brightness(50%);
}
img {
    width: 100%;
}
main {
    max-width: 1280px;
    margin: 0 auto;
}
#topInfo {
    aspect-ratio: 4 / 1;
    display: flex;
    align-items: stretch;
}
#topInfo .news {
    aspect-ratio: 2 / 1;
    width: 50%;
    color: #fff;
    padding: 10px;
    position: relative;
    border: 1px solid #000;
}
#topInfo .news h2 {
    font-size: 25px;
}
#topInfo .news ul li,
#topInfo .news ul li a {
    display: flex;
    font-size: clamp(12px, 15px, 20px);
    color: #fff;
    width: 100%;
}
#topInfo .news ul {
    margin-top: 20px;
}
#topInfo .news ul a {
}
#topInfo .news ul .date {
    width: 5em;
}
#topInfo .news ul .tit {
    font-family: 'Noto Sans Japanese';
}
#topInfo .news .link {
    display: block;
    position: absolute;
    right: 10px;
    top: 12px;
    padding: 20px 0 0;
    text-align: right;
    width: calc(100% - 20px);
    color: #fff;
    background: url(../img/home/bg_line01.png) no-repeat right -2px bottom -2px;
    border-bottom: 1px solid #fff;
}
#topInfo .news .link a{
    display: inline-block;
    margin-right: 70px;
    color: #fff;
}
#topInfo .info {
    aspect-ratio: 2 / 1;
    display: flex;
}
#topInfo .about {
    aspect-ratio: 1 / 1;
    background: #000;
}
#topInfo .about a {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    color: #FFF;
    text-align: center;
}
#topInfo .about h2 {
    font-size: clamp(13px, 16px, 30px);
    line-height: 1.2;
    padding: 10% 0 0;
}
#topInfo .about .min {
    font-size: clamp(9px, 10px, 12px);
}
#topInfo .about .logo {
    padding: 5% 27%;
}
#topInfo .catalogue {
    aspect-ratio: 1 / 1;
    text-align: center;
    border: solid 1px #000;
}
#topInfo .catalogue h2 {
    font-size: clamp(13px, 16px, 30px);
    line-height: 1.2;
    padding: 10% 0 0;
    color: #fff;
}
#topInfo .catalogue h2 .min {
    font-size: clamp(9px, 10px, 12px);
}
#topInfo .catalogue ul {
    padding: 0 10%;
}
#topInfo .catalogue li + li {
    margin-top: 10px;
}
#topInfo .catalogue li a {
    display: block;
    background: #000;
    color: #fff;
    text-align: center;
}
#topInfo .catalogue h3 {
    font-size: clamp(13px, 16px, 20px);
    line-height: 1.2;
    padding: 10px 0 5px;
}
#topInfo .catalogue h3 .min {
    font-size: clamp(10px, 12px, 14px);
}
#topInfo .catalogue .season {
    line-height: 1.2;
    font-size: clamp(10px, 10px, 14px);
}
#topNewItem ul {
    display: flex;
}
#topNewItem li {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 50%;
    border: 1px solid #000;
}
#topNewItem .img {
    position: absolute;
}
#topNewItem h2 {
    font-size: clamp(25px, 35px, 60px);
    line-height: 1.2;
    /* padding: 30px 0 0; */
    position: absolute;
    width: 100%;
    text-align: center;
    color: #fff;
    top: 33%;
}
#topNewItem .tit .min {
    font-size: clamp(10px, 11px, 20px);
}
#topNewItem .tit {
    font-size: clamp(12px, 16px, 30px);
    line-height: 1.2;
    position: absolute;
    width: 100%;
    text-align: center;
    color: #fff;
    top:60%;
}
#topLineup {
    display: flex;
}
#topLineup h2 {
    width: 25%;
    padding-top: 7%;
    background: #000;
    text-align: center;
    color: #fff;
    font-size: clamp(13px, 15px, 30px);
    line-height: 1.2;
}
#topLineup h2 .min{
    font-size: clamp(10px, 12px, 14px);
}

#topLineup ul {
    aspect-ratio:5/1;
    display: flex;
}
#topLineup ul li {
    position: relative;
}
#topLineup ul h3 {
    text-align: center;
    width: 100%;
    background: #000;
    color: #fff;
    position: absolute;
    bottom:0;
}
#topCampaign {
    padding-top: 10px;
}
#topCampaign h2 {
    padding: 20px 010px;
    text-align: center;
    color: #fff;
    font-size: clamp(20px, 30px, 50px);
    line-height: 1;
}
#topCampaign h2 .min{
    font-size: clamp(10px, 15px, 25px);
}
#topCampaign .campaignPanel .slides{
    display: flex;
    justify-content: center;
    height: 33%;
    position: relative;
}
#topCampaign .campaignPanel .slides > div{
    aspect-ratio: 1 / 1;
    margin: 1px;
    height: 100%;
    overflow: hidden;
    border: 1px solid #000;
}
#topSnsPhoto {
    margin-top: 2em;
    display: flex;
}
#topSnsPhoto h2 {
    padding: 20px 0 10px;
    text-align: center;
    color: #fff;
    font-size: clamp(20px, 30px, 50px);
    line-height: 1;
}
#topSnsPhoto h2 .min{
    font-size: clamp(10px, 15px, 25px);
}
#topSnsPhoto .teamZD{
    width: 50%;
    box-sizing: border-box;
    padding: 5px;
}
#topSnsPhoto iframe {
    border: 1px solid #000;
}
@media all and (max-width: 959px) {
    #topInfo {
        display: block;
        aspect-ratio: 1 / 1;
    }
    #topInfo .news {
        aspect-ratio: 2 / 1;
        width: auto;
        overflow: scroll;
    }
    #topInfo .catalogue h3 {    
        padding:  0;
    }
    #topInfo .catalogue ul {    
        margin-top: 5px;
    }
    #topInfo .catalogue li+li {    
        margin-top: 5px;
    }
    #topLineup {
        display: block;
        overflow: hidden;
        position: relative;
    }
    #topLineup h2 {
        position: absolute;
        display: block;
        width: 33%;
        aspect-ratio: 1 / 1;
        left: 0;
        top: 0;
        padding-top: 0%;
        background: #000;
        text-align: center;
        color: #fff;
        font-size: clamp(13px, 15px, 30px);
        line-height: 1.2;
        padding-top: 10%;
    }
    #topLineup h2 .min{
        display: block;
        width: 100%;
        font-size: clamp(10px, 12px, 14px);
    }
    #topLineup ul {
        display: flex;
        flex-wrap: wrap;
        width: auto;
        aspect-ratio: 3 / 2;
    }
    #topLineup ul:before{
        content: '';
        width: 33%;
        aspect-ratio: 1 / 1;
    }
    #topLineup ul li {
        float: left;
        width: 33%;
        aspect-ratio: 1 / 1;
    }

    .campaignPanel {
        width: auto;
        text-align: center;
        overflow: hidden;
      }
       
      #topCampaign .campaignPanel .slides {
        justify-content:inherit;
        height: 33%;
        position: inherit;
      }

      .campaignPanel  .slides {
        display: flex;
        
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        
        
        
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        
        /*
        scroll-snap-points-x: repeat(300px);
        scroll-snap-type: mandatory;
        */
      }
      .campaignPanel  .slides::-webkit-scrollbar {
        width: 10px;
        height: 10px;
      }
      .campaignPanel  .slides::-webkit-scrollbar-thumb {
        background: black;
        border-radius: 10px;
      }
      .campaignPanel   .slides::-webkit-scrollbar-track {
        background: transparent;
      }
      .campaignPanel   .slides > div {
        scroll-snap-align: start;
        flex-shrink: 0;
        width: 300px;
        height: 300px;
        margin-right: 50px;
        border-radius: 10px;
        background: #eee;
        transform-origin: center center;
        transform: scale(1);
        transition: transform 0.5s;
        position: relative;
        
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 100px;
      }
      .campaignPanel   .slides > div:target {
      /*   transform: scale(0.8); */
      }
      .campaignPanel  .author-info {
        background: rgba(0, 0, 0, 0.75);
        color: white;
        padding: 0.75rem;
        text-align: center;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        margin: 0;
      }
      .campaignPanel   .author-info a {
        color: white;
      }
      .campaignPanel    img {
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
      /* Don't need button navigation */
    
    #collection .head {
        margin-bottom: 5px;
    }
    #collection .head .tit {
        padding-bottom: 5px;
    }
    #collection .head .label {
        text-align: center;
    }
    #collection .head .label img {
        max-width: 420px;
    }
}

@media all and (min-width: 960px) {
    #collection .head {
        position: relative;
    }
    #collection .head .label {
        position: absolute;
        top: 50%;
        right: 21px;
        width: 550px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

@media all and (min-width: 960px) and (max-width: 1350px) {
    #collection .head .label {
        width: 35%;
    }
}



/* #campaign
-------------------------------------------------- */

@media all and (min-width: 960px) {
    #campaign .special {
        padding: 20px 250px;
        background: #771115;
        display: flex
    }
    #campaign .special .bnr {
        background: none;
    }
}
@media all and (max-width: 960px) {
#campaign .special > div {
	margin-bottom: 20px;
	border: solid 10px #ab191e;
}
}
/* #pickup
-------------------------------------------------- */

#pickup .items {
    padding: 0 5px;
}

@media all and (min-width: 960px) {
    #pickup .items {
        margin: 0 -2px;
        padding: 0;
        overflow: hidden;
    }
    #pickup .items .item {
        float: left;
        width: 50%;
        border: solid #a91819;
        border-width: 0 2px;
        background: #fff;
        box-sizing: border-box;
    }
}


/* #news
-------------------------------------------------- */

#news .list {
    overflow: hidden;
}

#news .list .item {
    position: relative;
    float: left;
    width: 50%;
    height: 0;
    padding-top: 50%;
    border: 1px solid #a91819;
    box-sizing: border-box;
}

#news .list .item a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s;
}

#news .list .item a:hover {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffe4e4;
    text-align: center;
    text-decoration: none;
}

#news .list .item .txt {
    position: relative;
    padding: 10px;
}

#news .list .item .cat {
    width: 120px;
    margin: 0 auto 8px;
    padding: 5px 0;
    background: #a91819;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: .5em;
}

#news .list .item .date {
    position: relative;
    margin-bottom: 8px;
    padding-bottom: 8px;
    color: #a91819;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

#news .list .item .date:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100px;
    height: 2px;
    content: '';
    background: #a91819;
    margin-left: -50px;
}

#news .list .item .tit {
    color: #a91819;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
}

#news .list .item .tit.is_largetit {
    font-size: 1.5rem;
}

#news .list .item.is_largepost {
    float: left;
    width: 100%;
    height: 0;
    padding-top: 50%;
    border: 1px solid #a91819;
}

#news .list .item.is_largepost a {
    overflow: hidden;
}

#news .list .item.is_largepost .pic {
    float: left;
    width: 50%;
}

#news .list .item.is_largepost .pic img {
    width: 100%;
}

#news .list .item.is_largepost a:not(.pic) {
    pointer-events: none;
}

#news .list .item.is_largepost a .txt {
    pointer-events: auto;
}

#news .list .item.is_largepost .txt {
    float: left;
    width: 50%;
    box-sizing: border-box;
}

@media all and (min-width: 600px) and (max-width: 959px) {
    #news .list .item .txt {
        padding: 20px 10px;
    }
    #news .list .item .date {
        margin-bottom: 15px;
        padding-bottom: 10px;
        font-size: 1.2rem;
    }
    #news .list .item .tit {
        font-size: 1.5rem;
    }
    #news .list .item .tit.is_largetit {
        font-size: 1.7rem;
    }
}

@media all and (min-width: 960px) {
    #news .list .item {
        width: 25%;
        padding-top: 25%;
    }
    #news .list .item .date {
        margin-bottom: 5px;
        padding-bottom: 5px;
    }
    #news .list .item .tit {
        font-size: 1.1rem;
    }
    #news .list .item .tit.is_largetit {
        margin-top: 20px;
        font-size: 1.6rem;
    }
    #news .list .item .ex {
        margin-top: 5px;
        color: #a91819;
        font-size: 1rem;
        line-height: 1.4;
        font-weight: 700;
    }
    #news .list .item.is_largepost {
        width: 50%;
        padding-top: 25%;
    }
}

@media all and (min-width: 1240px) {
    #news .list .item .txt {
        padding: 20px 10px;
    }
    #news .list .item .date {
        margin-bottom: 8px;
        padding-bottom: 8px;
        font-size: 1.4rem;
    }
    #news .list .item .tit {
        font-size: 1.5rem;
    }
    #news .list .item .tit.is_largetit {
        margin-top: 35px;
        font-size: 2rem;
    }
    #news .list .item .ex {
        margin-top: 8px;
        font-size: 1.4rem;
        line-height: 1.5;
    }
}

F
/* #subcampaign
-------------------------------------------------- */

#subcampaign .bnrs {
    margin: 0 -5px;
    letter-spacing: -.5em;
    text-align: center;
    display: flex;
    justify-content: center;
}

#subcampaign .bnrs .bnr {
    display: inline-block;
    width: 50%;
    padding: 0 5px;
    letter-spacing: 0;
    box-sizing: border-box;
}

#subcampaign .bnrs .snscampaign {
    position: relative;
    max-width: 740px;
}

#subcampaign .bnrs .snscampaign ul {
    display: flex;
    position: absolute;
    bottom: 60px;
    right: 7%;
    width: 330px;
}

@media all and (max-width: 481px) {
    #subcampaign .bnrs {
        margin: 0 -5px;
        letter-spacing: -.5em;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    #subcampaign .bnrs .snscampaign {
        position: relative;
        max-width: 740px;
        margin-bottom: 1rem;
    }
    #subcampaign .bnrs .snscampaign ul {
        display: flex;
        position: absolute;
        bottom: 28px;
        right: 4%;
        width: 195px;
    }
    #subcampaign .bnrs .snscampaign ul li:first-child {
        margin-right: 17px;
    }
}
#mainVisual {
    aspect-ratio: 2 / 1;
}
#mainVisual .cover {
    position: absolute;
    z-index: 999;
}
@media all and (min-width: 960px) {
    #subcampaign .bnrs .bnr {
        width: 25%;
    }
}

#mainVisual .slider {
    -webkit-background-size: 100%;
    background-size: 100%;
}

#mainVisual .moviecam {
    -webkit-background-size: 100%;
    background-size: 100%;
}

#mainVisual .slider a img {
    transition: all 0.3s;
}


/* #mainVisual .slider a:hover img {
	opacity: 0.7;
} */

.slider img,
.bnr img {
    width: 100%;
}

#subcampaign .bnrs {
    margin: 0 -5px;
    letter-spacing: -.5em;
    text-align: center;
    display: flex;
    justify-content: center;
}