@charset "UTF-8";

#product{
    text-align: center;
}
#product .cont02 {
    background-image: none;
    width: 100%;
    max-width: 900px;
    margin:auto;
}
#product .cont03 {
    background-image: none;
    width: 100%;
    max-width: 1000px;
    margin: 100px auto 0 auto;
}
#product .bnr {
    margin: 50px auto;
}
h1.visual{
    width: 100%;
    /*height:575px;*/
	background:url(../imgs/product/pc/mv_pro.png) no-repeat right top;
	background-size: cover;
	display: inline-block;
    position:relative;
    /*margin-top:110px;*/
	padding-top:45.51%;
	/*margin-top: 110px;*/
}
h1.visual img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    max-width:900px;
    width:70vw;
}
.product_mv{
    padding:50px;
}
main.mn article:first-of-type{
    margin-top:0;
}
article:first-of-type{
    margin-top:120px;
}
article:last-of-type{
    margin-bottom:40px;
}
article {
    text-align: left;
    margin-bottom: 150px;
}
article h3{
    font-size: 28px;
    color: #ff459f;
    line-height: 45px;
    letter-spacing: 3px;
    margin:0 0 60px;
}
article p{
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    line-height: 38px;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.mb50{
    margin-bottom: 50px;
}
.memo_txt{
    display: inline-block;
    text-align: left;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 1px;
    margin: 0 auto 20px 0;
}
.cont02 h5{
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
    letter-spacing: 1px;
    margin: 0;
}
.cont02 h4{
    text-align: left;
    background:url(../imgs/product/pc/ttl_item.png) no-repeat;
    background-size: contain;
    background-position:left;
    height:26px;
    text-indent:-900px;
    color:rgba(0,0,0,0);
    margin: 50px auto;
    border-bottom: solid 1px;
    border-color: #FFF;
}
.item_wrap{
    display: flex;
    justify-content: space-between;
    width:100%;
}
.item_01{
    width:47%;
    margin-right:4%;
}
.item_02{
    width:47%;
}
.item_03 img{
    width:50%;
    margin-bottom:10%;
}
.item_txt{
    width:100%;
}
.item_txt p{
    text-align: left;
    font-size: 14px;
    font-weight: normal;
    line-height: 30px;
    letter-spacing: 1px;
    margin: 30px 0;
}
.cassette_wrap {
    width:100%;
}
.cassette_wrap img{
    width:30%;
    margin:0 4% 4% 0;   
}
.cassette_wrap img:nth-child(3n){
    margin-right:0;
}
article .add_center{
    text-align: center;
}
a.add_item{
    font-size: 16px;
    color:#FFF;
    text-align:center;
    position:relative;
    text-decoration: none;
    margin:auto;
}
/*a.add_item:hover{
    color:rgba(255,255,255,0.6);
    transition: 0.3s ;
}*/
a.add_item::after{
    content:'▼';
    width:10px;
    height:10px;
    text-align:center;
    position:absolute;
    bottom:-12px;
    left:38%;
	font-size: 11px;
}

@media screen and (max-width: 768px) {
	h1.visual{
        width: 100%;
        /*height:575px;*/
        background:url(../imgs/product/sp/mv_pro_sp.png) no-repeat right top;
		padding-top: 132.89%;
		background-size: cover;
		/*margin-top: 100px;*/
    }
    h1.visual img{
        width: 90%;
    }
    #product .cont02 {
        width:92%;
    }
    #product .bnr {
        margin: 30px auto;
        padding: 0 20px;
    }
    article:last-of-type{
            margin-bottom:0;
    }
    article h3{
        font-size: 36px;
        line-height: 54px;
        letter-spacing: 4px;
        margin:0 0 60px;
    }
    article p{
        font-size: 28px;
        font-weight: normal;
        line-height: 52px;
        letter-spacing: 2px;
        margin-bottom: 20px;
        text-align: justify;
        text-justify:inter-character;
    }
    .mb50{
        margin-bottom: 60px;
    }
    .memo_txt{
        font-size: 26px;
        line-height: 46px;
        letter-spacing: 2px;
        margin: 0 auto 40px 0;
    }
    .cont02 h5{
        font-size: 28px;
        font-weight: bold;
        line-height: 54px;
        letter-spacing: 3px;
        margin: 0;
    }
    .cont02 h4{
        height:40px;
        margin:80px auto;
    }
    .item_wrap{
        display: block;
        text-align: center;
        width:100%;
    }
    .item_01{
        width:70%;
        margin:0 auto 60px;
    }
    .item_02{
        width:70%;
        margin:auto;
    }
    .item_03 img{
        width:100%;
        margin-bottom:10%;
    }
    .item_03 img:last-child{
        margin-bottom:0;
    }
    .item_txt{
        width:100%;
    }
    .item_txt p{
        text-align: left;
        font-size: 24px;
        font-weight: normal;
        line-height: 40px;
        letter-spacing: 1px;
        margin: 50px 0;
    }
    cassette_wrap {
        width:100%;
        text-align: center;
    }
    .cassette_wrap img{
        width:45%;
        margin:0 2% 4% 2%;
    }
    .cassette_wrap img:nth-child(3n){
        margin-right:2%;
    }
    article .add_center{
        margin-top:40px;
    }
    a.add_item{
        font-size: 26px;
    }
    /*a.add_item:hover{
        color:rgba(255,255,255,0.6);
        transition: 0.3s ;
    }*/
    a.add_item::after{
        content:'▼';
        width:10px;
        height:10px;
        text-align:center;
        position:absolute;
        bottom:-20px;
        left:38%;
    }
}

.box_collabo{
    width:100%;
    max-width: 1100px;
    background-color: #000;
    border: solid 1px #ff459f;
    padding: 60px 0;
    position: relative;
    text-align: center;
}
.box_collabo h3{
    font-size: 32px;
    color: #ff459f;
    line-height: 40px;
    letter-spacing: 3px;
    margin-bottom:60px;
    text-align: center;
    margin:0 auto 60px;
}
.box_collabo h3 span{
    font-size: 0.7em;
    font-weight: normal;
}
.flex_col{
    width: 88%;
    /*margin:auto;*/
    display:flex;
    justify-content: space-between;
    align-items: center;
    margin:0 auto 120px;
}
.flex_col:last-of-type{
    margin-bottom:60px;
}
.flex_col h5{
    font-size: 23px;
    color: #fff;
    line-height: 40px;
    letter-spacing: 3px;
    text-align: left;
    margin-bottom:20px;
}
.flex_col h5 span{
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    /* color: #000; */
    text-align: center;
    display: inline;
    padding: 7px 7px;
    margin: 0 0 0 15px;
    background-color: #008cdc;
    vertical-align: top;
}
.flex_col p{
    display: inline-block;
    position: relative;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 1px;
    margin: 0 auto 40px 0;
    text-align: justify;
    text-justify:inter-character;
}
.flex_col p span.txt_small {
    font-size: 11px;
    line-height: 22px;
	display: inline-block;
}

.flex_c_txt{
    width: 50%;
    text-align: left;
}
.flex_c_logo{
    width:100%;
    text-align: left;
}
.flex_c_logo img{
    margin-bottom:7px;
}
img.collabo_01{
    width:22%;
}
img.collabo_02{
    width:32%;
}
img.collabo_03{
    width:38%;
}
img.collabo_04{
    width:25%;
}
img.collabo_05{
    width:28%;
}
img.collabo_10{
    width:60%;
}
.flex_col dl{
    width:100%;
}
.flex_col dt{
    font-size: 14px;
    line-height: 32px;
    letter-spacing: 2px;
}
.flex_col dd{
    font-size: 12px;
    line-height: 30px;
    letter-spacing: 1.5px;
    position: relative;
}
.flex_col dd span{
    font-size: 12px;
    line-height: 26px;
    background-color: #008cdc;
    padding:4px 6px;
    border-radius: 3px;
    margin-right:7px;
}
.flex_c_logo a img, .flex_c_logo a:visited img{
    display: block;
    opacity:1;
    transition: 0.2s;
}
.flex_c_logo a:hover img, .flex_c_logo a:active img{
    display: block;
    opacity:0.6;
    transition: 0.2s;
}
.flex_c_logo dd a:hover{
    color:#FFF;
    background-color: #ff459f;
    padding:2px;
}
.flex_c_logo dd a, .flex_c_logo dd a:visited{
    color:#FFF;
    padding:2px;
	word-break: break-all;
}

.btn a {
	border: 1px solid #ff459f;
	background-color: #ff459f;
	border-radius: 3px;
	display: inline-block;
	color: #fff;
	padding: 5px 20px;
	font-size: 15px;
	font-weight: bold;
}
.btn a:hover {
	background-color: inherit;
	color: #ff459f;
}

.c_logo_05{
    display:flex;
    justify-content: flex-start;
    align-items: center;
}
.c_logo_05 img{
    margin-right:10px;
}

.flex_c_img{
    width: 45%;
}
.flex03{
    display:flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 85%;
    margin:auto;
}
.w_smal{
    max-width:30%;
}

@media screen and (max-width: 768px) {
    #product .cont03 {
        width: 92%;
        margin: 30px auto 0 auto;
    }
    .box_collabo{
        width:100%;
        max-width: 1100px;
        background-color: #000;
        border: solid 1px #ff459f;
        padding: 60px 0;
        position: relative;
        text-align: center;
    }
    .box_collabo h3{
        font-size: 45px;
        line-height: 50px;
    }
    .box_collabo h3 span{
        font-size: 0.7em;
    }
    .flex_col{
        width:92%;
        flex-flow: column-reverse nowrap; 
        align-items: center;
        margin:0 auto 130px;
    }
    .flex_col:last-of-type{
        margin-bottom:0;
    }
    .flex_c_txt{
        width:100%;
        text-align: left;
    }
    img.collabo_01{
        width:32%;
    }
    img.collabo_02{
        width:40%;
    }
    img.collabo_03{
        width:48%;
    }
    img.collabo_04{
        width:32%;
    }
    img.collabo_05{
        width:40%;
    }
    img.collabo_01, img.collabo_02, img.collabo_03, img.collabo_04, img.collabo_05{
        margin-bottom:20px;
    }
    .c_logo_05 img{
        margin-right:20px;
    }
    .flex_col h5{
        font-size: 36px;
        line-height: 54px;
        letter-spacing: 4px;
    }
    .flex_col p{
        display: inline-block;
        position: relative;
        font-size: 26px;
        line-height: 50px;
        letter-spacing: 1px;
        margin: 0 auto 40px 0;
        text-align: justify;
        text-justify:inter-character;
    }
	.flex_col p span.txt_small {
        font-size: 22px;
        line-height: 36px;
	}
    .flex_col dl{
        width:100%;
    }
    .flex_col dt{
        font-size: 28px;
        line-height: 40px;
        letter-spacing: 2px;
    }
    .flex_col dd{
        font-size: 26px;
        line-height: 60px;
        letter-spacing: 1.5px;
        position: relative;
    }
    .flex_col dd span{
        font-size: 26px;
        background-color: #008cdc;
        padding:7px 10px;
        border-radius: 5px;
        margin-right:7px;
    }
    .flex_c_logo dd a:hover{
        color:#FFF;
        background-color:none;
        padding:3px;
    }
    .flex_c_img{
        width:100%;
        margin-bottom:40px;
    }
	.btn {
    	width: 100%;
	}
	.btn a {
		font-size: 30px;
		display: block;
		padding: 20px 20px;
    	text-align: center;
	}
}


/*==========margay==========*/


h1.visual_2{
    width: 100%;
    /*height:575px;*/
	background:url(../imgs/product/pc/mv_margay.png) no-repeat top;
	background-size:contain;
	display: inline-block;
    position:relative;
    /*margin-top:110px;*/
	padding-top:33%;
	/*margin-top: 110px;*/
}
h1.visual_2 img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    max-width:900px;
    width:70vw;
}
.ttl_margay{
    text-align: center;
}
.ttl_margay h2{
    font-size: 28px;
    line-height: 40px;
    color: #FFF;
    text-align: center;
    letter-spacing: 5px;
    margin: 0 0 40px 0;
}
.ttl_margay p{
    text-align: center;
}
.ttl_margay {
    max-width:1000px;
    width:100%;
}
.ttl_margay img{
    width:100%;
    margin:30px auto;
}
.quality p{
    width:80%;
    margin:auto;
}
.quality h2{
    width:165px;
    text-align: center;
    margin:auto;
}
.flex_q{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.flex_q_inner{
    width:29%;
    margin: 60px 20px 0;
}
.flex_q_inner dt{
    margin-top:20px;
    font-size:20px;
    font-weight:bold;
    margin-bottom: 5px;
}
.flex_q_inner dd{
    font-size:14px;
    line-height: 1.7em;
}
.recommend h2{
    width:282.5px;
    text-align: center;
    margin:auto;
}
.recommend p{
    text-align: center;
}
.recommend ul{
    width:340px;
    margin:0 auto 60px;
}
.about h2{
    width:157px;
    text-align: center;
    margin:auto;
}
.about .a_img{
    max-width:800px;
    margin:auto;
    margin-bottom:40px;
}
.about p{
    max-width:800px;
    margin:auto;
}
.logo_m{
    max-width:800px;
    width:100%;
    margin:auto;
}
.flex_logo{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom:100px;
}
.f_l_box{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom:40px;
}
.flex_l_inner{
    width:30%;
    margin: 60px 60px 0;
}
.flex_l_inner dt{
    margin-top:20px;
    font-size:20px;
    font-weight:bold;
    margin-bottom: 5px;
}
.flex_l_inner dd{
    font-size:14px;
    line-height: 1.7em;
}
.logo_01 img, .logo_02 img, .logo_03 img{
    width:100%;
}
.logo_01, .logo_02, .logo_03{
    margin-top:20px;
}
.logo_01{
    width:150px;
}
.logo_02{
    width:158px;
}
.logo_03{
    width:97.5px;
}
.box_nyanco h2{
    width:361px;
    text-align: center;
    margin:auto;
}
.box_nyanco{
    background-color:#fffce3;
    padding:80px auto;
}
.box_nyanco p{
    max-width:800px;
    margin:0 auto 40px;
    color:#000;
}
.box_n_img{
    width:60%;
    margin:0 auto;
}
.box_nyanco{
    width:100%;
    max-width: 1100px;
    background-color: #fffce3;
    padding: 60px 0;
    text-align: center;
}
.lineup{
    max-width:800px;
    width:100%;
    margin:auto;
}
.lineup h2{
    width:169px;
    text-align: center;
    margin:auto;
}
.flex_lu{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom:100px;
}
.flex_lu_inner{
    width:30%;
    margin: 60px 60px 0;
}
.flex_lu_inner dt{
    margin-top:20px;
    font-size:15px;
    font-weight:bold;
    line-height:1.5em;
    margin-bottom: 7px;
}
.flex_lu_inner dd{
    font-size:14px;
    line-height: 1.7em;
}
.flex_lu p{
    font-size:14px;
    line-height: 1.7em;
    margin:20px 0;
    width:calc(60% + 120px)
}
.button_buy{
    margin:20px 0 ;
    width:70%;
    cursor: pointer;
    transition: 0.2s;
}
.button_buy:hover, .button_buy:active{
    opacity: 0.7;
    transition: 0.2s;
}
.shopping{
    text-align:center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.shopping a{
    display:block;
    width:475px;
    color:#FFF;
    background-color:#aaaaaa;
    padding:15px;
    margin:auto;
    cursor: pointer;
    transition: 0.2s;
}
.shopping a:hover, .shopping a:active{
    opacity: 0.7;
    transition: 0.2s;
}
 .shopping_p{
        display:inline;
        width:100%;
        color:#FFF;
        padding:15px;
        margin:0 auto 100px;
        font-size: 24px;
        text-align: center;
    }
.f_l_box{
    border:solid 2px #FFF;
    margin:40px auto;
}
.logo_nyanco_center{
    display: block;
    margin: 40px auto;
    text-align: center;
}
.logo_nyanco_center img{
    width:60%;
}
.f_l_box p{
    width:100%;
    display: block;
    margin:auto;
    text-align: center;
}
.f_l_flex{
    width:85%;
    display: flex;
    justify-content: space-between;
    margin-top:40px;
    align-items:center;
}
.f_l_flex_inner{
    width:40%;
}
.f_l_nyanco{
    width:50%;
}
.f_l_nyanco dt{
    font-size:20px;
    font-weight:bold;
    margin-bottom: 7px;
}
.f_l_nyanco dd{
    font-size:14px;
    line-height: 1.7em;
}
.product_sns {
    text-align: center;
}
.product_sns img {
    width: 50px;
    margin: 0 10px;
}


@media screen and (max-width: 768px) {
    h1.visual_2{
        width: 100%;
        /*height:575px;*/
        background:url(../imgs/product/sp/mv_margay_sp.png) no-repeat top;
		padding-top: 90%;
		background-size: contain;
		/*margin-top: 100px;*/
    }
    h1.visual_2 img{
        width: 90%;
    }
    .ttl_margay h2{
        font-size: 36px;
        line-height: 54px;
        margin: 0 0 40px 0;
    }
    .quality p{
        width:100%;
    }
    .flex_q{
        display: block;
        justify-content: center;
        flex-wrap: wrap;
    }
    .flex_q_inner{
        width:100%;
        margin: 60px auto ;
    }
    .flex_q_inner dt{
        margin-top:20px;
        font-size:32px;
        font-weight:bold;
        margin-bottom: 10px;
    }
    .flex_q_inner dd{
        font-size:28px;
        line-height: 1.7em;
    }
    .flex_q_inner dd:nth-child(1){
        margin:auto;
        text-align: center;
    }
    .recommend ul{
        width:100%;
        margin:0 auto 60px;
        font-size: 28px;
        line-height: 1.7em;
    }
    .flex_logo{
        display: block;
        margin-bottom:100px;
    }
    .flex_l_inner{
        width:100%;
        margin: 60px 0 0;
    }
    .flex_l_inner dt{
        margin-top:20px;
        font-size:32px;
        font-weight:bold;
        margin-bottom: 10px;
    }
    .flex_l_inner dd{
        font-size:28px;
        line-height: 1.7em;
    }
    .flex_l_inner dd:nth-child(1){
        margin:auto;
        text-align: center;
    }
    .box_nyanco p{
        width:92%;
        margin:0 auto 40px;
        color:#000;
    }
    .flex_lu{
        display: block;
        margin-bottom:100px;
    }
    .flex_lu_inner{
        width:100%;
        margin: 80px 0 0;
    }
    .flex_lu_inner dt{
        margin-top:20px;
        font-size:32px;
        font-weight:bold;
        line-height:1.5em;
        margin-bottom: 10px;
        text-align: center;
    }
    .flex_lu_inner dd{
        font-size:28px;
        line-height: 1.7em;
    }
    .flex_lu_inner dd:nth-child(1){
        margin:auto;
        text-align: center;
    }
    .flex_lu p{
        font-size:28px;
        line-height: 1.7em;
        margin:40px 0;
        width:100%;
    }
    .shopping a{
        display:block;
        width:100%;
        color:#FFF;
        background-color:#aaaaaa;
        padding:15px;
        margin:0 auto 100px;
        cursor: pointer;
        transition: 0.2s;
        font-size: 30px;
    }
    .shopping_p{
        font-size: 36px;
    }
    .f_l_box{
        border:solid 2px #FFF;
        margin:40px auto;
        padding:30px;
    }
    .f_l_flex{
        display:block;
    }
    .f_l_nyanco{
        width:100%;
    }
    .f_l_flex_inner{
        width:100%;
        margin:auto;
        text-align: center;
    }
    .f_l_nyanco dt{
        font-size:32px;
        margin-top:30px;
        margin-bottom: 10px;
    }
    .f_l_nyanco dd{
        font-size:28px;
    }
    .f_l_flex{
        width:100%;
    }
    .logo_nyanco_center img{
        width:100%;
    }
    .product_sns img {
        width: 100px;
        margin: 50px 30px;
    }

}
    