@charset "UTF-8";
/******************************************************
        スマホサイト用
******************************************************/
@media screen and (max-width: 767px) {
  #first_view {
    position: relative;
    background: url("../images/sp/mv.jpg") center;
    background-size: cover;
    width: 100%;
  }
  #first_view h1 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #first_view h1 img {
    width: 327px;
    height: auto;
  }
  #first_view .first_view_under {
    position: absolute;
    bottom: 40px;
    left: 24px;
    right: 24px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  #first_view .first_view_under p {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.3;
    color: #fff;
    display: flex;
    align-items: flex-end;
  }
  #first_view .first_view_under img {
    width: 82px;
    height: auto;
  }
  #top_concept {
    padding: 95px 24px 90px;
  }
  #top_concept h2 {
    text-align: left;
    font-size: 3rem;
    line-height: 2.2;
    letter-spacing: 0.2em;
    margin-bottom: 38px;
  }
  #top_concept h2 .sub {
    letter-spacing: normal;
    display: block;
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 30px;
  }
  #top_concept p {
    text-align: left;
    font-size: 1.4rem;
    line-height: 2.86;
  }
  #image_only img {
    width: 100%;
    height: auto;
  }
  #top_about {
    padding: 83px 0;
    position: relative;
  }
  #top_about .explanation_area {
    position: relative;
  }
  #top_about .explanation_area .decoration {
    position: absolute;
    z-index: -1;
    left: calc(50% - 108px);
  }
  #top_about .explanation_area .decoration p {
    color: #fff;
    letter-spacing: 0.2em;
    font-size: 10.8rem;
    text-shadow: 1px 1px 0 #e6e6e6, -1px -1px 0 #e6e6e6, -1px 1px 0 #e6e6e6, 1px -1px 0 #e6e6e6, 0px 1px 0 #e6e6e6, -1px 0 #e6e6e6, -1px 0 0 #e6e6e6, 1px 0 0 #e6e6e6;
  }
  #top_about .explanation_area .explanation_area_inner_1 {
    position: relative;
  }
  #top_about .explanation_area .explanation_area_inner_1 h2 {
    padding-left: 24px;
    font-size: 3.5rem;
    letter-spacing: 0.2em;
    margin-bottom: 66px;
  }
  #top_about .explanation_area .explanation_area_inner_1 h2 .sub {
    font-size: 1.2rem;
    display: block;
    letter-spacing: normal;
    margin-bottom: 24px;
  }
  #top_about .explanation_area .explanation_area_inner_1 .explanation_wrap {
    padding-left: 24px;
  }
  #top_about .explanation_area .explanation_area_inner_1 .explanation_wrap .txt {
    padding-right: 24px;
    margin-bottom: 50px;
  }
  #top_about .explanation_area .explanation_area_inner_1 .explanation_wrap .txt h3 {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.55;
    margin-bottom: 25px;
  }
  #top_about .explanation_area .explanation_area_inner_1 .explanation_wrap .txt p {
    font-size: 1.4rem;
    line-height: 2.29;
  }
  #top_about .explanation_area .explanation_area_inner_1 .explanation_wrap .image_wrap {
    width: 100%;
    position: relative;
    margin-bottom: 70px;
  }
  #top_about .explanation_area .explanation_area_inner_2 {
    display: flex;
    flex-direction: column;
    position: relative;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap {
    order: 2;
    position: relative;
    width: 100%;
    background: #eeeeee;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap .bigger {
    position: relative;
    width: 70%;
    z-index: 1;
    padding-left: 24px;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap .bigger img {
    width: 100%;
    height: auto;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap .smaller {
    position: relative;
    width: 31%;
    left: 57.6%;
    top: -11vw;
    z-index: 1;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap .smaller img {
    width: 100%;
    height: auto;
  }
  #top_about .explanation_area .explanation_area_inner_2 .image_wrap::after {
    content: "";
    width: 100%;
    height: 64vw;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  #top_about .explanation_area .explanation_area_inner_2 .explanation_wrap {
    padding: 57px 24px 90px;
    order: 1;
    background: #eeeeee;
    text-align: center;
  }
  #top_about .explanation_area .explanation_area_inner_2 .explanation_wrap h3 {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.55;
    margin-bottom: 36px;
    text-align: left;
  }
  #top_about .explanation_area .explanation_area_inner_2 .explanation_wrap p {
    font-size: 1.4rem;
    line-height: 2.29;
    margin-bottom: 47px;
    text-align: left;
  }
  #top_about .explanation_area .explanation_area_inner_3 {
    padding: 5vw 24px 0;
  }
  #top_about .explanation_area .explanation_area_inner_3 .explanation_wrap {
    margin-bottom: 40px;
  }
  #top_about .explanation_area .explanation_area_inner_3 .explanation_wrap h3 {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.55;
    margin-bottom: 26px;
  }
  #top_about .explanation_area .explanation_area_inner_3 .explanation_wrap p {
    font-size: 1.4rem;
    line-height: 2.29;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap > .image_content {
    text-align: center;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap > .image_content img {
    width: 161px;
    height: auto;
    margin-bottom: 20px;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap > .image_content p {
    font-size: 1.7rem;
    font-weight: bold;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap > .image_content p span {
    font-size: 1.3rem;
    font-weight: 500;
    display: block;
    margin-bottom: 10px;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .equal {
    font-size: 4rem;
    transform: rotate(90deg);
    padding-bottom: 10px;
    margin: 12px auto;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .under {
    display: flex;
    width: 327px;
    justify-content: space-between;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .under > .image_content {
    text-align: center;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .under > .image_content img {
    width: 100px;
    height: auto;
    margin-bottom: 17px;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .under > .image_content p {
    font-size: 1.7rem;
    font-weight: bold;
  }
  #top_about .explanation_area .explanation_area_inner_3 .image_wrap .under > .image_content p span {
    font-size: 1.3rem;
    font-weight: 500;
    display: block;
    margin-bottom: 10px;
  }
  #top_feature {
    width: 100%;
    position: relative;
    padding-bottom: 48px;
  }
  #top_feature h2 {
    margin-left: 24px;
    font-size: 3.5rem;
    letter-spacing: 0.2em;
    margin-bottom: 62px;
  }
  #top_feature h2 .sub {
    display: block;
    margin-bottom: 20px;
    font-size: 1.2rem;
    letter-spacing: normal;
  }
  #top_feature .decoration {
    position: absolute;
    top: -16px;
    left: calc(50% - 106px);
    z-index: -1;
  }
  #top_feature .decoration p {
    color: #fff;
    letter-spacing: 0.2em;
    font-size: 10rem;
    text-shadow: 1px 1px 0 #e6e6e6, -1px -1px 0 #e6e6e6, -1px 1px 0 #e6e6e6, 1px -1px 0 #e6e6e6, 0px 1px 0 #e6e6e6, -1px 0 #e6e6e6, -1px 0 0 #e6e6e6, 1px 0 0 #e6e6e6;
  }
  #top_feature .sp_feature_wrap {
    display: flex;
    flex-direction: column;
  }
  #top_feature .sp_feature_wrap .message_area_wrap {
    order: 2;
    padding: 27px 24px 51px;
  }
  #top_feature .sp_feature_wrap .message_area_wrap .message_area h3 {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.55;
    margin-bottom: 20px;
  }
  #top_feature .sp_feature_wrap .message_area_wrap .message_area p {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  #top_feature .sp_feature_wrap .image_area {
    order: 1;
  }
  #top_product {
    padding: 110px 24px 100px;
    background: #eeeeee;
  }
  #top_product .product_inner_1 {
    position: relative;
    text-align: center;
    margin-bottom: 46px;
  }
  #top_product .product_inner_1 .decoration {
    width: 327px;
    margin: 0 auto;
    position: absolute;
    transform: rotate(-90deg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    left: 0;
    right: 0;
    top: 46px;
    height: 437px;
  }
  #top_product .product_inner_1 .decoration span {
    color: #eeeeee;
    letter-spacing: 0.2em;
    font-size: 10.8rem;
    text-shadow: 1px 1px 0 #cecece, -1px -1px 0 #cecece, -1px 1px 0 #cecece, 1px -1px 0 #cecece, 0px 1px 0 #cecece, -1px 0 #cecece, -1px 0 0 #cecece, 1px 0 0 #cecece;
  }
  #top_product .product_inner_1 h3 {
    font-size: 3.5rem;
    letter-spacing: 0.1em;
    line-height: 1.4;
    position: relative;
    left: calc(50% - 163px);
    z-index: 20;
    text-align: left;
  }
  #top_product .product_inner_1 h3 .sub {
    display: block;
    font-size: 1.2rem;
    letter-spacing: normal;
    margin-bottom: 5px;
  }
  #top_product .product_inner_1 img {
    width: 277px;
    height: auto;
    position: relative;
    top: -19px;
    z-index: 10;
    margin: 0 auto;
  }
  #top_product .product_inner_2 dl {
    margin: 0 auto 73px;
    width: 327px;
  }
  #top_product .product_inner_2 dl dt {
    margin-bottom: 52px;
  }
  #top_product .product_inner_2 dl dt .product_ja {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 15px;
    font-weight: 400;
  }
  #top_product .product_inner_2 dl dt .product_en {
    display: block;
    font-size: 2.5rem;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  #top_product .product_inner_2 dl dt .product_sub {
    font-weight: 500;
    font-size: 1.4rem;
  }
  #top_product .product_inner_2 dl dd.price {
    font-size: 1.3rem;
    margin-bottom: 68px;
  }
  #top_product .product_inner_2 dl dd.price .number {
    font-weight: 500;
    font-size: 2.5rem;
  }
  #top_product .product_inner_2 dl dd.ingredients table {
    width: 100%;
  }
  #top_product .product_inner_2 dl dd.ingredients table tr {
    border-top: 1px solid #d6d6d6;
  }
  #top_product .product_inner_2 dl dd.ingredients table tr.main_ingredients {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    font-size: 1.4rem;
    font-weight: 500;
  }
  #top_product .product_inner_2 dl dd.ingredients table tr.other_ingredients {
    display: block;
    padding-top: 22px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  #top_product .product_inner_2 .link_to_amazon {
    display: block;
    width: 327px;
    margin: 0 auto;
    border: 1px solid #000;
    padding: 25px 0;
    border-radius: 2.5em;
    font-size: 1.4rem;
    text-align: center;
    position: relative;
  }
  #top_product .product_inner_2 .link_to_amazon:after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    position: absolute;
    right: 29px;
    top: 25px;
  }
  #top_product .product_inner_2 .link_to_amazon:before {
    content: "";
    width: 23px;
    height: 1px;
    transform: rotate(-45deg);
    position: absolute;
    top: 33px;
    right: 26px;
    border-top: 1px solid #000;
  }
}
