@charset "utf-8";

@font-face {
    font-family: "frankgotcon";
    src: url("../fonts/FrankGotCon.ttf") format("truetype");
}

@font-face {
    font-family: "imporerom";
    src: url("../fonts/ImpreRom.ttf") format("truetype");
}

html {
    font-size:calc(1000px / 64);
    min-height: 0vw;
}
@media (max-width: 1000px) {
    html {
        font-size:calc(100vw / 64);
    }
}

@media (max-width: 768px) {
    html {
        font-size:calc(100vw / 48);
    }
}

@media (max-width: 480px) {
    html {
        font-size:calc(100vw / 36);
    }
}

* {
    box-sizing: border-box;
    font-family: sans-serif;
    -webkit-touch-callout:none;
    -webkit-tap-highlight-color:transparent;
}
a {
    color: inherit;
}

@media (max-width: 580px) {
    body,a {
        font-size:1rem;
    }
}

body,h1,h2,h3,h4,h5,h6,p {
    margin: 0;
    font-size: 1rem;
}

h1,h2,h3,h4,h5,h6 {
    line-height: 1;
    font-weight: normal;
}

.image{
    display:inline-block;
}
.image img{
    width:100%;
    vertical-align: bottom;
    /* opacity: 0; */
}
.body-inner{
    max-width:1920px;
    margin:0 auto;
}
.inner-width{
    max-width:1000px;
    padding:0 1rem;
    margin:0 auto;
}

@media (min-width:481px){ .show-S{ display:none !important; } }
@media (min-width:769px){ .show-MS{ display:none !important; } }
@media (min-width:769px) and (max-width:480px){ .show-M{ display:none !important; } }
@media (max-width:480px){ .show-LM{ display:none !important; } }
@media (max-width:768px){ .show-L{ display:none !important; } }

.space-5{
    height: 1rem;
    width:100%;
}

@media (max-width:480px){
    .space-5{
        height: 1rem;
    }   
}

.icons-box {
    display: flex;
    justify-content: space-between;
}
  

.h2-title h2{
    font-size:1.75rem;
    font-family:"frankgotcon";
    letter-spacing:0.1rem;
}
.h2-title{
    margin-bottom:0.5rem;
}

body{
    background-color:#000;
    color:#fff;
}
header{
    padding: 0.5rem 4rem;
}
header .header-inner{
    display:flex;
    align-items:center;
}


@media (min-width:769px){
    .logo-image{
        max-width: 17rem;
        padding: 0.225rem 1rem;
    }
}
.Slash{
    margin:0 2rem;
}
.Slash:before{
    content:"";
    display:block;
    height: 2.7rem;
    width:2px;
    background-color:#444;
    transform:rotate(45deg);
}
header .ul{
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
}
header .li{
    display:flex;
    
}
header .li a span,
header .li a{
    font-family: "frankgotcon";
    text-decoration:none;
    font-size: 1.15rem;
}
header .li a .font-imporerom{
    display:block;
    font-family: "imporerom";
    font-size:0.78em;
}

header .personal .li a{
    font-family:serif;
    line-height:1.3;
    font-size: 0.9rem;
}
header .personal .li a span{
    font-size:0.78em;
}


.menu-wrap{
    display:flex;
}

.menu_layer1{
    margin-left:auto;
}

@media (max-width:1390px){
    
    header{
        padding: 0.5rem 1rem;
    }
    .logo-image{
        max-width: 17rem;
    }
    .Slash{
        margin: 0 1.5rem;
    }
}

@media (max-width:1200px){
    
    header .li a span,
    header .li a{
        font-size:1rem;
    }
    header .personal .li a{
        font-size:0.8rem;
    }
    .Slash{
        margin:0 1rem;
    }
}



/*start menu_btn*/
.menu_btn{
    width:4rem;
    height:4rem;
    border:1px solid #000;
    position: relative;
    z-index: 11;
    /* margin-top: 300px; */
    /* display: none; */
    margin-left: 2rem;
    border-radius: 100%;
    background-color: #000;
    cursor: pointer;
}
.menu_btn > .menu_btn-inner{
    position:relative;
    padding-top:100%;
    pointer-events: none;
}
.menu_btn > .menu_btn-inner > div{
    width:60%;
    height:5%;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;

    transition:transform 0.3s ease, opacity 0.3s ease;
}
.menu_btn > .menu_btn-inner > div:nth-child(1){
    transform:translateY(0.8rem);
}
.menu_btn > .menu_btn-inner > div:nth-child(3){
    transform:translateY(-0.8rem);
}

[data-menuflag="on"] .menu_btn > .menu_btn-inner > div:nth-child(1){
    transform:translateY(0px) rotate(45deg);
}
[data-menuflag="on"] .menu_btn > .menu_btn-inner > div:nth-child(2){
    opacity:0;
}
[data-menuflag="on"] .menu_btn > .menu_btn-inner > div:nth-child(3){
    transform:translateY(0px) rotate(-45deg);
}

.skn-menu_btn{
    border-radius:10%;
}
.menu_btn > .menu_btn-inner > div{
    background-color:#fff;
}
/*end menu_btn*/

@media (max-width:768px){

    header{
        padding:1rem 1.5rem;
    }
    header .logo-image{
        width:40%;
    }

    .bag{
        max-width: 2.2rem;
        display: flex;
        align-items: center;
    }
    .bag a{
        display:block;
    }
    .menu-sp-box{
        display: flex;
        margin-left: auto;
        height: 4rem;
    }

    [data-menuflag="on"] .menu_btn{
        position:fixed;
        z-index: 10000;
        right: 1rem;
    }
    
    [data-menuflag="on"],
    [data-menuflag="on"] body{
        overflow:hidden;
    }

    .menu_layer1{
        position:fixed;
        top:0;
        left:0;
        z-index:1000;
        width:100%;
        height:0%;
        background-color:rgba(0,0,0,1);
        overflow:hidden;

        transition:height 0.5s ease;
    }
    .menu_layer2{
        height:100%;
        /* display: flex; */
        /* align-items: center; */
        /* justify-content: center; */
    }
    .menu_layer3{
        position:relative;
        max-height: 100%;
        width: 100%;
        height: 100%;
        /* padding: 5rem 0; */
        overflow:auto;
    }
    .menu_layer3 > .menu-wrap{
        display:block;
        width:100%;
        margin:auto;
        height: 100%;
    }
    [data-menuflag="on"] .menu_layer1{
        height:100%;
    }

    .Slash{
        display:none;
    }
    header .ul{
        display:block;
        padding: 0 2rem;
    }
    header .li a .font-imporerom{
        display:inline;
    }
    header .li a span,
    header .li a{
        font-size: 4.5rem;
    }
    header .li a{
        display:flex;
        align-items:center;
        line-height:1;
    }
    header .li a .small{
        font-size:0.75em;
        margin-left:1rem;
    }
    header .li{
        margin:2.5rem 0;
        align-items: center;
    }
    header .menu-top .li:before{
        content:"";
        display:block;
        width: 0;
        height: 0;
        margin-right:1rem;
        border-style: solid;
        border-width: 0.7rem 0 0.7rem 1.4rem;
        border-color: transparent transparent transparent #d7000f;
    }

    .menu-top{
        background-image:url(../img/menu_sp.jpg);
        background-size:cover;
        background-position:right bottom;
        height: 65%;
        width: 100%;
        color: #000;
        display: flex;
        align-items: center;
    }

    .menu-top a{
        -webkit-text-stroke:1px #fff;
        text-stroke:1px #fff;
    }
    header .personal{
        height:305;
        display:flex;
        align-items:center;
    }
    header .personal .ul{
        padding:0 5rem
    }
    header .personal .li a{
        font-size: 2.5rem;
    }
    header .personal .li a .font-imporerom{
        margin-left:1rem;
    }
}

@media (max-width:480px){
    header .menu-top{
        height:55%;
    }
    header .personal{
        height:45%;
    }
    
}



footer{
    background-color:#333333;
    text-align:center;
    padding:3rem 0;
}
footer .footer-inner{
    max-width:23rem;
    display: inline-block;
}
footer .logo-image{
}
footer .icons-box {
    display: flex;
    justify-content: space-between;
}
footer .icons{
    width:100%;
    max-width: 15rem;
    display:inline-block;
    margin-top: 1.5rem;
}
footer .icons .flex-item{
    width: 4rem;
}
footer .copy{
    margin-top:1rem;
}
@media (max-width:768px){
    footer .icons .flex-item .image{
        width: auto;
        height:2.5rem;
    }
    footer .icons .flex-item img{
        width:auto;
        height:100%;
    }
    footer .icons{
        max-width:17rem;
    }
}




section{
    overflow:hidden;
    padding: 2rem 0;
}
#first{
    padding:0;
    margin-bottom:2rem;
}
.movie-wrap{
    width:100%;
    padding-top: calc((100% / 16) * 9);
    position:relative;
    margin-top: calc((-100% / 16) * 1);
    margin-bottom: calc((-100% / 16) * 1);
    pointer-events: none;
}
.movie-wrap .movie{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-color:#fff;
    pointer-events: none;
}
@media (max-width:480px){
    .movie-wrap{
        /* width:100%; */
        /* padding-top:calc((100% / 1700) * 732); */
        /* position:relative; */
    }
}

.type1-image {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1rem;
}
.type1-image>.item1 {
    width: calc((100% / 3) * 2 - 0.01px);
    padding: 0 1rem;
}
.type1-image>.item2 {
    width: calc((100% / 3) * 1 - 0.01px);
    padding: 0 1rem;
}
@media (min-width:769px){
    .type1-image>.item2 .type1-text p{
        font-size: 0.87rem;
        line-height: 1.4rem;
    }
}

@media (max-width:480px){
    .type1-image{
        display:block;
    }
    .type1-image>.item1,
    .type1-image>.item2{
        width:auto;
    }
    .h2-title{
        display:none;
    }
    .type1-image>.item2{
/*         display:flex; */
        position:relative;
        margin-top:1rem;
    }
    .type1-image>.item2>.type1-text{
        width: 56%;
    }
    .type1-image>.item2>.type1-tan-image{
        position:absolute;
        top: -47%;
        right:-1%;
        width: 49%;
    }
}

.type2-image {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1rem;
}
.type2-image>.item1 {
    width: calc((100% / 3) * 1 - 0.01px);
    padding: 0 1rem;
}
.type2-image>.item2 {
    width: calc((100% / 3) * 2 - 0.01px);
    padding: 0 1rem;
}
@media (min-width:769px){
    .type2-image>.item1 .type2-text p{
        font-size: 0.87rem;
        line-height: 1.4rem;
    }
}
@media (max-width:480px){
    .type2-image{
        display:flex;
        flex-wrap:wrap
    }
    .type2-image>.item1{
        order:2;
    }
    .type2-image>.item2{
        order:1;
    }
    .type2-image>.item1,
    .type2-image>.item2{
        width:auto;
    }
    .h2-title{
        display:none;
    }
    .type2-image>.item1{
        /* display:flex; */
        position:relative;
        margin-top:1rem;
    }
    .type2-image>.item1>.type2-text{
        width: 65%;
        margin-left:auto;
        text-align:right;
    }
    .type2-image>.item1>.type2-tan-image{
        position:absolute;
        top: -70%;
        left:-1%;
        width: 40%;
        z-index: 10;
    }
}

.apparel-image{
    position:relative;
}

.goods-image{
    position:relative;
}
.goods-image a{
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    
    left: 0%;
    top: 0.3%;
    width: 42.2%;
    height: 21%;
}

.accessory-image{
    position:relative;
}
.accessory-image a{
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    
    left: 17%;
    top: 0.3%;
    width: 42.2%;
    height: 21%;
}



.more_link{
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    left: 17%;
    top: 0.3%;
    width: 42.2%;
    height: 21%;
    /* width: 100vw; */
}

.more_link > span{
    display:flex;
    align-items:center;
    font-size:1.3rem;
}
.more_link > span > span{
    position:relative;
    transform:rotate(-45deg);
    margin-left:1rem;
    width:0.7rem;
    height:0.7rem;
}
.more_link > span > span{
    border-right:1px solid #fff;
    border-bottom:1px solid #fff;
}
.more_link > span > span:before,
.more_link > span > span:after{
    width:100%;
    height:100%;
    border-right:1px solid #fff;
    border-bottom:1px solid #fff;
}

.more_link > span > span:before,
.more_link > span > span:after{
    content:"";
    position:absolute;
}
.more_link > span > span:before{
    left:-0.5rem;
    top:-0.5rem;
}
.more_link > span > span:after{
    left: 0.5rem;
    top: 0.5rem;
}

#accessory .more_link{
    color:#000;
}
#accessory .more_link > span > span:before,
#accessory .more_link > span > span:after,
#accessory .more_link > span > span{
    border-right:1px solid #000;
    border-bottom:1px solid #000;
}

.more_link > span{
    transition:transform 0.5s ease;
}
.more_link:hover > span{
    transform:scale(1.2);
}

.goods_personal-title h2{
    text-align:center;
}
.goods_personal-title h2 > span:first-child{
    display:block;
    font-size:3.5rem;
    font-family:"frankgotcon";
}
.goods_personal-title h2 > span:last-child{
    display:block;
    margin-top:0.3rem;
    font-size:0.9rem;
}

.goods_personal-title{
    margin-bottom: 1.5rem;
}
#goods_personal .inner-width{
    max-width:768px;
}

.goods-row{
    text-decoration:none;
}
#goods_personal .text{
    font-size:1rem;
}
.goods-row .text-rubi{
    line-height:1;
    font-size:1em;
    font-family: serif;
    letter-spacing:0.1rem;
}

.goods-row .text-name{
    line-height:1;
    font-size: 2.9em;
    font-family: serif;
    margin-top:0.25rem;
}
.goods-row .text-goods{
    line-height:1;
    font-size: 1.8em;
    font-family: "imporerom";
    margin-top:0.5rem;
}
.goods-row{
    display:flex;
    align-items:center;
}
.goods-row .item1{
    /* width:55%; */
}
.goods-row .item2{
    margin-left:2rem;
}

.border-white{
    height: 2.5rem;
    width:100%;
    /* background-color:#fff; */
}

.personal-image{
    position:relative;
}
.personal-image .goods_item{
    position:absolute;
    left: -3rem;
    bottom: -4rem;
    width: 55%;
}
@media (max-width:480px){
    #goods_personal .text{
        font-size:0.7rem;
    }
    .goods_personal-title h2 > span:first-child{
        font-size:3rem;
    }
}



footer a,
.goods-row,
header a{
    transition:opacity 0.2s ease;
}
footer a:hover,
header a:hover{
    opacity:0.7;
}

.goods-row:hover{
    opacity:0.8;
}