@media screen and (max-width: 641px) {
  .btn {
    font-size: 13px;
    padding-right: 10px;
    padding-left: 40px;
    background-size: 20px;
    background-position-x: 7px;
    display: block;
  }
  #main {
    width: 100%;
  }
  #main header {
    text-align: center;
    overflow: hidden;
    background: url(../images/header_bg_sp.jpg) no-repeat center bottom;
    background-size: 100%;
    height: auto;
    line-height: 1;
  }
  #main header a {
    display: inline;
  }
  #main header a h1 {
    display: inline-block;
    background: url(../images/logo_sp.png) no-repeat center center;
    background-size: 100%;
    margin: 3% auto 19%;
    height: 0;
    padding-top: 15%;
    width: 35%;
  }
  #main > ul {
    padding: 20px ;
    margin: 10px auto;
  }
  #main > ul li {
    display: block;
    margin: 0 auto 20px;
    width: 100%;
  }
  #list h2 {
    font-size: 15px;
    margin: 20px;
  }
  #list p {
    font-size: 12px;
    margin: 20px;
  }
  #list p.icon {
    font-size: 11px;
    height: auto;
  }
  #list .recipe {
    padding: 20px 10px;
  }
  #list .recipe li {
    width: auto;
    float: none;
    padding-bottom: 20px;
    margin-top: 20px;
  }
  #list .recipe li a h3 {
    height: auto;
  }
  #list .recipe li a p {
    margin: 10px;
  }
  #list .info.on {
    display: block;
  }
  #list .info li {
    padding: 20px;
    box-sizing: border-box;
  }
  #list .info li.on {
    display: block;
  }
  #list .info li .outer {
    width: auto;
    height: 100%;
  }
  #list .info li .outer .inner {
    height: 100%;
  }
  #list .info li .outer .btn {
    margin: 15px;
  }
  #main > .intro > .img {
    background: url(../images/frw2015_banner_sp.jpg) no-repeat center center;
    background-size: 100%;
    height: 0;
    width: 100%;
    padding-top: 50%;
  }
  #main > .intro > .img img {
    display: none;
  }
  #main > .intro.frw {
    padding-bottom: 42%;
    background: #edf6f7;
  }
  #main > .intro.frw .col2 .img {
    float: none;
  }
  #main > .intro.frw .col2 .img img {
    display: none;
  }
  #main > .intro.frw .col2 .text_box a.banner {
    padding-top: 39%;
    width: 100%;
    background: url(../images/banner_sp.jpg) no-repeat center center;
    background-size: 100%;
    display: block;
  }
  #main > .intro.frw .col2 .text_box a.banner img {
    display: none;
  }
  #main > .intro.cherry .col2 .img {
    float: none;
    background: url(../images/cherry-terrace_img_sp.jpg) no-repeat center center;
    background-size: 100%;
    height: 0;
    width: 100%;
    padding-top: 46%;
  }
  #main > .intro.cherry .col2 .img img {
    display: none;
  }
  .intro .col2 .text_box h2 {
    font-size: 15px;
  }
  .intro .col2 .text_box p {
    font-size: 12px;
  }
  .intro.frw .col2 .text_box {
    float: none;
    margin: 0 auto;
    padding: 15px;
  }
  .intro.frw.top .col2.btns {
    padding: 0;
  }
  .intro.frw.top .col2.btns a {
    width: auto;
  }
  .intro.frw.top .col2 .text_box,
  .intro.frw.top .col2 .img {
    float: none;
    width: auto;
  }
  .intro.cherry .col2 .text_box {
    float: none;
    margin: 0 auto;
    padding: 15px;
  }
  .intro.cherry .col2.banners a {
    width: 100%;
  }
  .intro.cherry.bottom .col2.btns {
    padding: 0;
  }
  .intro.cherry.bottom .col2.btns a {
    width: auto;
  }
  .intro.cherry.bottom .col2 .text_box,
  .intro.cherry.bottom .col2 .img {
    float: none;
    width: auto;
  }
  footer .copy {
    margin: 20px auto;
    font-size: 10px;
  }
}
