/*SP*/
html{
    font-size: 62.5%;
}
body {
display:grid;
height:100vh;
font-size:1.6rem;
line-height: 1.4;
}
main{
    margin: 0 2%;
}
header{
    position:sticky;
    top:0;
    width:100vw;
    background:#fff;
    height:5rem;
    display:flex;
    align-items: center;
    z-index: 999;
}
header p.logo a{
    display: flex;
    align-items: center;
    padding-left:1rem;
}
header p.logo img{
    width: 50%;
    min-width: 100px;
}
header .menu-box{
    margin-left:auto;
    display: flex;
    align-items: center;
}
header .menu-box .icon-cart{
    margin-right:1.5rem;
}
.pin{
    display:none;
}
h2{
    font-size:2rem;
    text-align: center;
    margin-bottom: 2rem;
}
.pc{
    display:none;
}
.sp{
    display: block;
}

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn4{
    position: relative;/*ボタン内側の基点となるためrelativeを指定*/
    background:#e74343;
    cursor: pointer;
      width: 50px;
      height:50px;
  }
  
  /*ボタン内側*/
  .openbtn4 span{
      display: inline-block;
      transition: all .4s;/*アニメーションの設定*/
      position: absolute;
      left: 14px;
      height: 2px;
      border-radius: 5px;
    background: #fff;
      width: 45%;
    }
  
  .openbtn4 span:nth-of-type(1) {
    top:13px; 
  }
  
  .openbtn4 span:nth-of-type(2) {
    top:19px;
  }
  
  .openbtn4 span:nth-of-type(3) {
    top:25px;
  }
  
  .openbtn4 span:nth-of-type(3)::after {
    content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
    position: absolute;
    top:5px;
    left:-2px;
    color: #fff;
    font-size: 0.8rem;
    text-transform: uppercase;
  }
  
  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
  
  .openbtn4.active span:nth-of-type(1) {
      top: 14px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 30%;
  }
  
  .openbtn4.active span:nth-of-type(2) {
    opacity: 0;
  }
  
  .openbtn4.active span:nth-of-type(3){
      top: 26px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 30%;
  }
  
  .openbtn4.active span:nth-of-type(3)::after {
      content:"Close";/*3つ目の要素のafterにClose表示を指定*/
      transform: translateY(0) rotate(-45deg);
      top:5px;
      left:4px;
  }
  /*========= レイアウトのためのCSS ===============*/

.mainvisual{
    position:relative;
}
.mainvisual img{
    width:100%;
}
.mainvisual .central-box{
    width: 80%;
    min-height: 300px;
    margin:0 auto 1.5rem;
    border:10px solid #FF89C9;
    background-color: #fff;
    padding-top: 1.5rem;
}
.mainvisual p.mainvisual-text{
    position: absolute;
    bottom: 8%;
    width:100%;
    text-align: center;
}
.mainvisual p.mainvisual-text span{
    width:75%;
    margin:0 auto;
}
button.btn-01{
    width:20rem;
    color:#fff;
    background:#333;
    padding:1rem;
    border-radius:5px;
    display:flex;
    justify-content: center;
    margin: 0 auto;
}
button.btn-01 img{
    width:2rem;
    height:2rem;
    margin-right:.5rem;
}

.content-recommend_goods{
    background-image:url(../images/bg_sakura01.png),url(../images/bg_sakura02.png),url(../images/bg_sakura03.png);
    background-size: auto;
    background-position:left -72px top -50px, right -120px top 50%, left -100px bottom;
    background-repeat: no-repeat;
    background-color: #E7F8FF;  
}

.content-other-goods{
    background-color:#FFEFF1 ;
}
.content-recommend_goods,.content-other-goods{
    padding:3rem 2.4rem;
}
.rc-goods_item{
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-bottom: 4rem;
}
.rc-goods_item:last-child{
    margin-bottom: 0;
}
.rc-goods_item .item_detail_area > p{
    margin-bottom:2rem;
}
.other-goods_item .item_detail_area p.item_title{
    margin-bottom:1.5rem;
}
.rc-goods_item img{
    width:242px;
    height:auto;
}
.content-recommend_goods div.rc-goods_item:nth-of-type(2) > img{
    margin-bottom:1rem;
}
.item_detail_area{
    max-width: 400px;
    margin:0 auto;
}
.item_detail_area{
    max-width: 250px;
    margin:0 auto;
}
p.item_title{
    font-size: 2.4rem;
    line-height: 1;
}
p.item_title span.title-text{
    display: inline-block;
    margin-bottom: .5rem;
}
p.item_title span.price{
    font-weight: bold;
    font-size:1.6rem;
}

.content-other-goods{
    padding:3rem 0;
    margin-bottom: 4rem;
}
.content-other-goods h2{
    margin-bottom:3rem;
}
.content-other-goods .other-goods_item{
    display:flex;
    align-items: center;
    margin-bottom:4rem;
}
.content-other-goods .other-goods_item:last-child{
    margin-bottom:4rem;
}
.content-other-goods .other-goods_item:nth-child(even) img{
    margin-right:1rem;
}
.content-other-goods .other-goods_item:nth-child(odd){
    order:1;
}
.content-other-goods .other-goods_item:nth-child(odd) img{
    margin-left:1rem;
    order:2;
}
.content-other-goods .other-goods_item > div{
    height:175px;
    padding:0 .5rem;
}
.content-banner,.footer-navi{
    margin-bottom:4rem;
}
.content-other-goods .other-goods_item .item_title{
    margin-bottom:1.5rem;

}
.content-banner img{
    display:block;
    min-width:300px;
    max-width:400px;
    width:60%;
    margin: 2.4rem auto 0;
    border: 1px solid #ccc;
    border-radius: 3px;
}
.footer-navi{
    margin: 0 2% 4rem;
    display:flex;
    flex-flow: column;
    justify-content: center;
}
.footer-navi p{
    border:1px solid #ccc;
    border-top:none;
}
.footer-navi p:first-child{
    border-top:1px solid #ccc;
}
.footer-navi p a{
    display: block;
    padding: 1rem;
}
footer p.copyright{
    padding:20px 0;
    background-color: #ccc;
    margin:0 auto;
    text-align:center;
    font-size:1.2rem;
}
/*767以下の記述。（スマホ）*/


/*768以上の場合(タブレット)*/
@media (min-width: 768px){

}

/*961px以上の記述(デスクトップ)*/
@media (min-width: 961px){
    .sp{
        display:none;
    }
    .pc{
        display: block;
    }
    header{
        height:6rem;
    }
    header p.logo {
        padding-left: 1.5rem;
    }
    header p.logo img{
        width:80%;
    }
    .pin{
        display: block;
    }
    .pin img{
        width:28px;
        margin-right:1rem;
    }
    .icon-cart img{
        width:2.5rem;
    }
    .mainvisual p.mainvisual-text{
        font-size:2.4rem;
    }
    .mainvisual p.mainvisual-text {
        bottom:7%;
    }
    .openbtn4{
        display:none;
    }
    main{
        width: 1080px;
        margin: 0 auto;
    }
    .contents_area .rc-goods_item:nth-child(2) img{
        order:2;
    }
    .rc-goods_item{
        width:70%;
        margin:0 auto 4rem;
        flex-flow:unset;
        justify-content:center;
    }
    .rc-goods_item:last-child{
        margin-bottom:0;
    }
    .rc-goods_item .item_detail_area{
        margin: 0 0 0 4rem;
    }
    .content-other-goods .contents_area{
        display:flex;
        justify-content: center;
        margin: 0 4rem;
    }
    .contents_area .other-goods_item{
        display: flex;
        flex-flow: column;
        width: 33.3%;
        padding:0 1rem;
    }
    .contents_area .other-goods_item:last-child{
        margin-right:0;
    }
    .contents_area .rc-goods_item:nth-child(2) .item_detail_area{
        margin: 0 4rem 0 0;
    }
    .content-recommend_goods div.rc-goods_item:nth-of-type(2) > img {
        margin-bottom:0;
    }
    .content-other-goods .other-goods_item:nth-child(even) img,
    .content-other-goods .other-goods_item:nth-child(odd) img{
        margin:0 0 2rem;
        order:unset;
    }
    .content-other-goods .other-goods_item > div{
        height:auto;
    }
    .content-other-goods{
        position:relative;

    }
     .content-other-goods:before{
        position:absolute;
        background-image:url(../images/bg_sakura01.png);
        height: 100vh;
        background-repeat: no-repeat;
        background-position: 20px 30px; 

     }
     /*
    .bg{
        background-size:30%;
        background-image:url(../images/bg_sakura01.png);
        background-image:url(../images/bg_sakura02.png);
        background-image:url(../images/bg_sakura03.png);
        height: 100vh;
        background-repeat: no-repeat;
        background-position: 20px 30px; 
    }*/
    .footer-navi{
        flex-flow:unset;
    }
    .footer-navi p,.footer-navi p:first-child{
        border:none;
    }
}
