@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap');


html {
	font-size: 60%;
    height: 100%;
}

body {
	margin: 0;
	padding: 0;
	min-width: 100%;
    height: 100%;
	color: #000000;
	font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: .05em;
	font-family: "Noto Sans Japanese","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","YuGothic","游ゴシック体","メイリオ","Meiryo",sans-serif;
	-webkit-text-size-adjust: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {
    margin: 0;
    padding: 0;
    font-weight: normal;
}
ul {
    list-style-type: none;
}
img {
    border: none;
    max-width: 100%!important;
    vertical-align: middle;
}
table {
    border-collapse:collapse;
    border-spacing: 0;
}
a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
	text-decoration: none;
    outline: none;
    letter-spacing: .05em;
}
input,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
    letter-spacing: .05em;
}
button:focus {
	outline:0;
}

@media screen and (min-width:600px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}







/* ------------------------ */
.flame {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 15px #a7192f;
    z-index: 999;
    pointer-events: none;
}
@media screen and (max-width: 600px) {
    .flame {
        border: solid 10px #a7192f;
    }
}





.upperLeft {
    position: fixed;
    top: 5rem;
    left: 3.5rem;
    font-size: 2.25rem;
    font-family: 'DM Serif Display', serif;
    writing-mode: vertical-rl;
    opacity: 0;
    transform:translateX(-100px);
    transition:opacity 1s,transform 1s;
    z-index: 9999;
}
.upperLeft b {
    position: relative;
    top: 1rem;
    left: -3px;
    font-size: 1.5rem;
    font-weight: normal;
}
.upperRight {
    position: fixed;
    top: 5rem;
    right: 3.5rem;
    opacity: 0;
    transform:translateX(100px);
    transition:opacity 1s,transform 1s;
    z-index: 9999;
}
.upperRight img {
    width: 14px;
}


.lowerLeft {
    position: fixed;
    bottom: 5rem;
    left: 3.5rem;
    font-size: 2rem;
    font-family: 'DM Serif Display', serif;
    writing-mode: vertical-rl;
    opacity: 0;
    transform:translateX(-100px);
    transition:opacity 1s,transform 1s;
    z-index: 9999;
}
.lowerLeft-on-footer {
    color: #FFFFFF!important;
}


.lowerRight {
    position: fixed;
    bottom: 2.5rem;
    right: 3.5rem;
    opacity: 0;
    transform:translateX(100px);
    transition:opacity 1s,transform 1s;
    z-index: 9999;
}
.lowerRight .twitter ,
.lowerRight .facebook ,
.lowerRight .instagram {
    display: block;
    margin: 0 0 1.5rem 0;
}
.lowerRight .twitter::after ,
.lowerRight .facebook::after ,
.lowerRight .instagram::after {
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 26px;
}
.lowerRight .twitter::after {
    content: url(https://bcor.itembox.design/item/icon-newx.svg);
}
.lowerRight .facebook::after {
    content: url(https://bcor.itembox.design/item/icon-facebook-blk.svg);
}
.lowerRight .instagram::after {
    content: url(https://bcor.itembox.design/item/icon-instagram-blk.svg);
}
.lowerRight .twitter-on-footer::after {
    content: url(https://bcor.itembox.design/item/icon-newxwht.svg);
}
.lowerRight .facebook-on-footer::after {
    content: url(https://bcor.itembox.design/item/icon-facebook-wh.svg);
}
.lowerRight .instagram-on-footer::after {
    content: url(https://bcor.itembox.design/item/icon-instagram-wh.svg);
}

.fixed-view {
    opacity: 1;
    transform: translate(0);
}

@media screen and (max-width: 600px) {
    .upperLeft ,
    .lowerLeft ,
    .upperRight ,
    .lowerRight {
        display: none;
    }
}





.fdin {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
@keyframes fadein {
    100% {  opacity: 1;}
}
.fdin1 {animation-delay: .5s;}
.fdin2 {animation-delay: 1s;}
.fdin3 {animation-delay: 1.5s;}
.fdin4 {animation-delay: 2s;}
.fdin5 {animation-delay: 2.5s;}
.fdin6 {animation-delay: 3s;}
.fdin7 {animation-delay: 3.01s;}
.fdin8 {animation-delay: 3s;}
@media screen and (max-width: 600px) {
    .fdin {
        opacity: 0;
        animation: fadein 2s ease forwards;
    }
    @keyframes fadein {
        100% {  opacity: 1;}
    }
    .fdin1 {animation-delay: 1.5s;}
    .fdin2 {animation-delay: 1.5s;}
    .fdin3 {animation-delay: 1.5s;}
    .fdin4 {animation-delay: 1.5s;}
    .fdin5 {animation-delay: 1.5s;}
    .fdin6 {animation-delay: .5s;}
    .fdin7 {animation-delay: 1.5s;}
	.fdin8 {animation-delay: 1.5s;}
}

/* ------------------------ */
.container {
    margin: 0;
    padding: 0;
}

/* ------------------------ */
main {
    margin: 0;
    padding: 0;
}

/* ------------------------ */
.mv {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 15rem 0;
    padding: 0;
    height: 100vh;
}
@media screen and (max-width: 600px) {
    .mv {
        margin: 0 0 2.5rem 0;
        height: 100%;
    }
}
.mv .lead {
    margin: 0;
    padding: 0;
    width: 50%;
    min-height: 100%;
}
@media screen and (max-width: 600px) {
    .mv .lead {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        min-height: auto;
    }
}

.mv .lead .inner {
    position: relative;
    margin: 0 0 0 auto;
    padding: 0;
    width: 85%;
    height: 100%;
    background: #FFFFFF;
}
@media screen and (max-width: 600px) {
    .mv .lead .inner {
        position: relative;
        margin: 0;
        padding: 0 4rem;
        width: 100%;
        height: auto;
    }
}
.mv .lead .inner .desc {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: 0;
    padding: 0;
    width: 60%;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .mv .lead .inner .desc {
        position: relative;
        top: 0;
        left: 0;
        transform: translateY(0) translateX(0);
        margin: 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
}

.mv .lead .bg {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-image: url(https://bcor.itembox.design/item/top1-24-25c.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;
}
@media screen and (max-width: 600px) {
    .mv .lead .bg {
        background-image: unset;
    }
}


.mv .lead .inner .desc .primary {
    margin: 0 0 2.5rem 0;
    padding: 0;
    line-height: 1;
    font-size: 5rem;
    font-family: 'DM Serif Display', serif;
}
@media screen and (min-width: 601px) and ( max-width: 1025px) {
    .mv .lead .inner .desc .primary {
        margin: 0 0 3rem 0;
        font-size: 5rem;
    }
}
@media screen and (max-width: 600px) {
    .mv .lead .inner .desc .primary {
        margin: 0 0 3rem 0;
        font-size: 4rem;
    }
}
.mv .lead .inner .desc .primary .sub {
    display: block;
    margin: 1rem 0 0 0;
    padding: 0;
    font-size: 2rem;
    font-family: 'DM Serif Display', serif;
}
.mv .lead .inner .desc .secondary {
    position: relative;
    display: block;
    margin: 0 auto 2rem auto;
    padding: 2.5rem 0;
    width: 75%;
    line-height: 1;
    font-size: 1.7rem;
    font-family: 'DM Serif Display', serif;
    border-top: solid 1px #808080;
    border-bottom: solid 1px #808080;
}
.mv .lead .inner .desc .secondary::after {
    display: inline-block;
    position: absolute;
    top: -10px;
    left: 10px;
    content: url(https://bcor.itembox.design/item/icon-tag.svg);
    margin: 0;
    padding: 0;
    width: 14px;
}
.mv .lead .inner .desc .secondary .sub {
    display: block;
    margin: 1rem 0 0 0;
    padding: 0;
    font-size: 1.3rem
}
.mv .lead .inner .desc .text {
    display: block;
    margin: 0 0 2.5rem 0;
    padding: 0;
    line-height: 1.7;
}
.mv .lead .inner .desc .go {
    position: relative;
    display: block;
    margin: 0 0 2.5rem 0;
    padding: 0;
    font-family: 'DM Serif Display', serif;
}
.mv .lead .inner .desc .go::after{
    display: inline-block;
    position: absolute;
    top: 2rem;
    left: calc(50% - 5px);
    transform: rotate(-45deg);
    width: 10px;
    height: 10px;
    content: '';
    border-left: solid 1px #000000;
    border-bottom: solid 1px #000000;
    -webkit-animation: updown 2s infinite ease-in-out;
    animation: updown 2s infinite ease-in-out;
}
@-webkit-keyframes updown {
    0% {
        transform: translate(0, 0) rotate(-45deg);
    }
    50% {
        transform: translate(0, 10px) rotate(-45deg);
    }
    100% {
        transform: translate(0, 0) rotate(-45deg);
    }
}
@keyframes updown {
    0% {
        transform: translate(0, 0) rotate(-45deg);
    }
    50% {
        transform: translate(0, 10px) rotate(-45deg);
    }
    100% {
        transform: translate(0, 0) rotate(-45deg);
    }
}
@media screen and (max-width: 600px) {
    .mv .lead .inner .desc .go{
        display: none;
    }
}
.mv .lead .inner .desc .go-sp {
    margin: 0 auto;
    font-size: 3rem
}
@media screen and (min-width:601px) {
    .mv .lead .inner .desc .go-sp{
        display: none;
    }
}

.mv .photo {
    margin: 0;
    padding: 0;
    width: 50%;
    min-height: 100vh;
    background-image: url(https://bcor.itembox.design/item/top1-24-25c.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}
@media screen and (max-width: 600px) {
    .mv .photo {
        padding: 0;
        width: 100%;
        min-height: auto;
        padding-top: 0;
        border: solid 25px #FFFFFF;
        background-image: initial;
    }
}

@media screen and (min-width: 600px) {
    .mv .photo img {
        display: none;
    }
}

@media screen and (max-width: 600px) {
.orderNo1 { -webkit-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1; }
.orderNo2 { -webkit-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2; }
}





/* ------------------------ */
.expl-dnm {
    margin: 0;
    padding: 0;
}
.expl-dnm .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
    width: 75%;
}
.expl-dnm .inner .lead {
    margin: 0 auto 10rem auto;
    padding: 0;
    width: 75%;
}
@media screen and (min-width: 601px) and ( max-width: 1025px) {
    .expl-dnm .inner {
        width: calc(100% - 30px);
    }
    .expl-dnm .inner .lead {
        width: calc(100% - 100px);
    }
}
@media screen and (max-width: 600px) {
    .expl-dnm .inner {
        width: 100%;
    }
    .expl-dnm .inner .lead {
        margin: 0 auto 5rem auto;
        width: calc(100% - 80px);
    }
}
.expl-dnm .inner .lead .title {
    margin: 0 0 2.5rem 0;
    padding: 0;
    font-size: 2.5rem;
    font-weight: bold;
}
@media screen and (max-width: 600px) {
    .expl-dnm .inner .lead .title {
        font-size: 1.75rem;
        text-align: center;
    }
}
.expl-dnm .inner .lead .text {
    margin: 0 0 2.5rem 0;
    padding: 0;
    line-height: 1.6;
    font-size: 1.5rem;
}
@media screen and (max-width: 600px) {
    .expl-dnm .inner .lead .text {
        font-size: 1.4rem;
    }
}
.expl-dnm .inner .product {
    margin: 0 0 10rem 0;
    padding: 0;
    width: calc(50% - 2.5rem);
}
@media screen and (max-width: 600px) {
    .expl-dnm .inner .product {
        margin: 0 auto 5rem auto;
        padding: 0;
        width: calc(100% - 8rem);
    }
}
.expl-dnm .inner .product-center {
    margin: 0 auto 10rem auto;
}
@media screen and (max-width: 600px) {
    .expl-dnm .inner .product-center {
        margin: 0 auto 2.5rem auto;
    }
}
.expl-dnm .inner .product img {
    margin: 0 0 2.5rem 0;
}
.expl-dnm .inner .product .product-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 0 0 1.5rem 0;
    padding: 0;
    font-size: 1.2rem;
}
.expl-dnm .inner .product .product-info:last-child {
    margin: 0 0 0 0;
}
.expl-dnm .inner .product .product-info .name {
    margin: 0;
    padding: 0;
    width: calc(100% - 11rem);
    text-align: left;
}
.expl-dnm .inner .product .product-info a {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: .5rem;
    width: 10rem;
    text-align: center;
    font-size: 1.2rem;
    font-family: 'DM Serif Display', serif;
    background: #0F2C59;
    border: solid 1px #0F2C59;
    outline: none;
    transition: ease .2s;
}

.expl-dnm .inner .product .product-info a span {
    position: relative;
    z-index: 3;
    color: #FFFFFF;
}
.expl-dnm .inner .product .product-info a:hover span {
    color: #a7192f;
}
.expl-dnm .inner .product .product-info a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #FFFFFF;
    width: 100%;
    height: 100%;
    transition: transform .4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}
.expl-dnm .inner .product .product-info a:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}


/* ------------------------ */
.sns {
    margin: 0 0 10rem 0;
    padding: 0;
    text-align: center;
}
@media screen and (min-width: 600px) {
    .sns {
        display: none;
    }
}
.sns .title {
    display: block;
    margin: 0 0 3rem 0;
    padding: 0;
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    font-family: 'DM Serif Display', serif;
}
.sns .sns-wrap a img {
    position: relative;
    margin: 0 1.5rem;
    padding: 0;
    width: 35px;
    text-align: center;
    color: #FFFFFF;
}


/* ------------------------ */
.btns {
    margin: 0 0 10rem 0;
    padding: 0;
    text-align: center;
}
.btns .title {
    display: block;
    margin: 0 0 3rem 0;
    padding: 0;
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    font-family: 'DM Serif Display', serif;
}
.btns .title span {
    display: block;
    font-size: 1.2rem;
    font-weight: normal;
}
.btns .btns-wrap {
    display: block;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    width: 40%;
}
@media screen and (min-width: 601px) and ( max-width: 1025px) {
    .btns .btns-wrap {
        width: 75%;
    }
}
@media screen and (max-width: 600px) {
    .btns .btns-wrap {
        width: 85%;
    }
}
.btns .btns-wrap a {
    position: relative;
    margin: 0;
    padding: 2rem;
    width: calc(50% - 1rem);
    text-align: center;
    color: #FFFFFF;
    font-size: 1.75rem;
    font-weight: bold;
    font-family: 'DM Serif Display', serif;
    background: #a7192f;
    border-radius: 5px;
}
@media screen and (max-width: 600px) {
    .btns .btns-wrap a {
        width: calc(50% - .5rem);
    }
}
.btns .btns-wrap a:hover {
    opacity: .75;
}


/* ------------------------ */
.list {
    margin: 0 0 10rem 0;
    padding: 0;
}
.list .inner {
    margin: 0 auto;
    padding: 0;
    width: 60%;
}
@media screen and (min-width: 601px) and ( max-width: 1025px) {
    .list .inner {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
}
@media screen and (max-width: 600px) {
    .list .inner {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
}
.list .inner .title {
    margin: 0 0 3rem 0;
    padding: 0;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    font-family: 'DM Serif Display', serif;
}
@media screen and (max-width: 600px) {
    .list .inner .title {
        margin: 0 0 2.5rem 0;
    }
}
.list .inner ul.row3 ,
.list .inner ul.row4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
    font-family: 'DM Serif Display', serif;
    font-weight: bold;
}
.list .inner ul.row3 li {
    margin: 0;
    padding: 0;
    width: calc(33.333% - 1.5rem);
}
@media screen and (max-width: 600px) {
    .list .inner ul.row3 li {
        margin: 0 auto 5rem auto;
        width: 90%;
    }
    .list .inner ul.row3 li:last-child {
        margin: 0 auto 2rem auto;
    }
}
.list .inner ul.row4 li {
    margin: 0;
    padding: 0;
    width: calc(25% - 1.5rem);
    text-align: center;
}
@media screen and (max-width: 600px) {
    .list .inner ul.row4 li {
        margin: 0 0 2rem 0;
        padding: 0;
        width: calc(50% - .5rem);
        text-align: center;
    }
}
.list .inner ul.row3 li a ,
.list .inner ul.row4 li a {
    margin: 0;
    color: #000000;
    text-decoration: none;
}
.list .inner ul.row3 li a figure ,
.list .inner ul.row4 li a figure {
    margin: 0 0 0 0;
    width: 100%;
    overflow: hidden;
}
.list .inner ul.row3 li a figure img ,
.list .inner ul.row4 li a figure img {
    display: block;
    width: 100%;
    height: 100%;
    transition: 1.7s;
}
.list .inner ul.row3 li a:hover figure img ,
.list .inner ul.row4 li a:hover figure img {
    transform: scale(1.1);
}
.list .inner ul.row3 li p ,
.list .inner ul.row4 li p {
    margin: 1rem 0 0 0;
}

.list .inner .more {
    display: block;
    position: relative;
    margin: 7.5rem auto 0 auto;
    padding: 1.5rem 0;
    width: 300px;
    color: #000000;
    text-align: center;
    font-size: 1.1rem;
    border-top: solid 1px #000000;
    border-bottom: solid 1px #000000;
}
@media screen and (max-width: 600px) {
    .list .inner .more {
        margin: 2.5rem auto 0 auto;
    }
}
.list .inner .more b {
    display: block;
    margin: 0 0 .5rem 0;
    font-size: 1.7rem;
    font-family: 'DM Serif Display', serif;
}
.list .inner .more::after{
    display: inline-block;
    position: absolute;
    top: calc(50% - .75rem);
    right: 2rem;
    transform: rotate(-135deg);
    transition: all 1s;
    width: 10px;
    height: 10px;
    content: '';
    border-left: solid 1px #a7192f;
    border-bottom: solid 1px #a7192f;
}
.list .inner .more:hover::after{
    right: 0;
    transition: all 1s;
}




/* ------------------------ */
footer {
    position: relative;
    margin: 0 0 10rem 0;
    padding: 0;
    height: 450px;
    color: #FFFFFF;
    text-align: center;
    background: #a7192f;
}
footer .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    color: #FFFFFF;
}
footer .inner a {
    color: #FFFFFF;
}
footer .inner .text1 {
    margin: 0 0 5rem 0;
    padding: 0;
    font-size: 1.2rem
}
footer .inner .text1 span {
    display: block;
    margin: 0 0 .5rem 0;
    padding: 0;
}
footer .inner .text2 {
    margin: 0 0 5rem 0;
    padding: 0;
}
footer .inner .text3 {
    margin: 0 0 5rem 0;
    padding: 0;
}
footer .inner .copy {
    margin: 0;
    padding: 0;
    font-size: 1rem
}



/* ------------------------ */
.fdctt {
    opacity: 0;
    transition: all 1s;
    transition-duration: 1s;
    transition-property: opacity, transform;
}
.fdctt.is-in {
    opacity: 1;
}






