@charset "UTF-8";
/* CSS Document */
html{
  background: #febd2b;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #ff2f5a, #febd2b);  /* Chrome 10-25, Safari 5.1-6 */
  /*background: linear-gradient(to right, #ff2f5a, #febd2b); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  width: 100%;
  font-family: 'Roboto', 'ヒラギノ角ゴ ProN W6';
  background: linear-gradient(-45deg,  #ff2f5a, #febd2b, #ff2f5a, #CC3366);
  animation: gradientBG 15s ease infinite;
  background-size: 400% 400%;
  height: 100vh;
 }

 @keyframes gradientBG {
     0% {
         background-position: 0% 50%;
     }
     50% {
         background-position: 100% 50%;
     }
     100% {
         background-position: 0% 50%;
     }
 }

body{
  color:#fff;
  flex-wrap:wrap;
  width: 100%;
  margin: 0;
  padding: 0;
}
span{
  font-size:80%;
}
#title{
  width: 90%;
  margin: 10px 5%;
}
.menu_type,.menu_name,.menu_calorie{
  position: absolute;
}
.menu_type {
    color: #fff;
    top: -7px;
    left: 10px;
    font-size: 50%;
    background-color: #932e42;
    border-radius: 100px;
    padding: 4px 10px;
}
.menu_name{
  bottom: 13px;
  font-size: 70%;
  left: 10px;
  text-align: left;
}
.menu_calorie {
  bottom: 4px;
  right: 10px;
  text-align: right;
  font-size: 150%;
}
.menu_calorie span{
font-size: 50%;
}
.menuarea {
  width: 100%;
  background-color: #fff;
  border-radius: 100px;
  height: 50px;
  position: relative;
  margin-bottom:10px;
  color: #932e42;
  display: none;
}

.totalCalo {
  width: 50%;
  position: absolute;
  color: #932e42;
  font-size: 230%;
  bottom: 45px;
  z-index: 10;
  right: 20px;
  text-align: right;
  display: none;
}
.totalCalo span {
  font-size: 60%;
}
.start:active,
.how:active,
#go:active
{
/*ボタンを押したとき*/
-webkit-transform: translateY(4px);
transform: translateY(4px);/*下に動く*/
border-bottom: none;/*線を消す*/
}
.start {
width: 90px;
display: inline-block;
background-color: #ff2f5a;
color: #fff;
z-index: 10;
position: absolute;
right: 110px;
bottom: 15px;
text-align: center;
border-radius: 100px;
font-size: 80%;
text-decoration: none;
padding: 5px 0;
border-bottom: solid 4px #c10027;
}
.how{
width: 90px;
display: inline-block;
background-color: #aaaaaa;
color: #fff;
z-index: 10;
position: absolute;
right: 10px;
bottom: 15px;
text-align: center;
border-radius: 100px;
font-size: 80%;
text-decoration: none;
padding: 5px 0;
border-bottom: solid 4px #333333;
}

/*キャラクターアニメーション*/
#risu{
    position: absolute;
    width: 40%;
    z-index: 10;
    bottom: 10px;
    left: 0px;
    max-width: 400px;
}
#usagi{
    position: fixed;
    width: 40%;
    z-index: -1;
    bottom: 0px;
    right: 0px;
    max-width: 400px;
    animation: updown 5s ease -2s infinite alternate;
}
@keyframes updown {
    0% {bottom:-300px}
    50%{bottom:-50px}
    100% {bottom:80px}
}
@-moz-keyframes anime1 {
    0% {bottom:-300px}
    50%{bottom:-50px}
    100% {bottom:80px}
}
@-webkit-keyframes anime1 {
    0% {bottom:-300px}
    50%{bottom:-50px}
    100% {bottom:80px}
}
@-o-keyframes anime1 {
    0% {bottom:-300px}
    50%{bottom:-50px}
    100% {bottom:80px}
}
@-ms-keyframes anime1 {
    0% {bottom:-300px}
    50%{bottom:-50px}
    100% {bottom:80px}
}

/*キャラクターリスアニメーション おわり*/
img.okashi {
position: absolute;
width: 100%;
bottom: 0;
max-width: 510px;
}
.bottomarea {
width: 100%;
margin: 0 auto;
padding: 0;
bottom: 0;
z-index: 10;
background-color: #fff;
position: fixed;
}
* {
box-sizing: border-box;
}
/* モーダルCSSここから */
section{
max-width: 640px;
margin: 0 auto;
padding: 0 10px;
height: 1000px;
scroll-behavior: smooth;
}
select{
width: 100%;
padding: 10px;
border-radius: 5px;
}
#goarea{

}
#go{
background-color: #ff2f5a;
border-radius: 100px;
padding: 10px;
height: auto;
width: 100%;
margin: 20px auto 0;
text-align: center;
display: inline-block;
text-decoration: none;
border-bottom: solid 4px #c10027;
color:#fff;
}
.kcal_list{
width: 100%;
margin: 20px 0
}
.kcal_list button{
display: inline-block;
text-decoration: none;
color: rgba(152, 152, 152, 0.8  );/*アイコン色*/
width: 40px;
height: 40px;
line-height: 40px;
font-size: 100%;
float: left;
border-radius: 50%;
text-align: center;
overflow: hidden;
font-weight: bold;
background-image: linear-gradient(#e8e8e8 0%, #d6d6d6 100%);
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
box-shadow: inset 0 2px 0 rgba(255,255,255,0.5), 0 2px 2px rgba(0, 0, 0, 0.19);
border-bottom: solid 2px #b5b5b5;
}
.kcal_list p{
display: inline-block;
float: left;
margin: 0 20px;
font-size: 200%;
}
.kcal_list p span{
font-size: 50%;
}
.modalArea {
visibility: hidden; /* displayではなくvisibility */
opacity : 0;
position: fixed;
z-index: 10; /* サイトによってここの数値は調整 */
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: .4s;
color:#932e42;
}

.modalBg {
width: 100%;
height: 100%;
background-color: rgba(254,189,43,0.8);
}

.modalWrapper {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 80%;
max-width: 600px;
background-color: #fff;
border-radius: 10px;
height: auto;
padding: 20px;
}
.closeModal {
position: absolute;
top: 0.5rem;
right: 1rem;
cursor: pointer;
}

.is-show { /* モーダル表示用クラス */
visibility: visible;
opacity : 1;
}
/* モーダルCSSここまで */

/* 以下ボタンスタイル */
button {
border-width: 0px;
cursor: pointer;
}
.plus{
  float: right;
}
.kcal_list span{
  float: right;
  margin-top: 10px;
}

#openModal {
}
@media screen and (min-width: 530px) and (max-width: 649px) {
.bottomarea {
  max-height: 143px;
  height: 143px;
}
}
@media screen and (min-width: 650px) {
  .bottomarea {
      max-height: 143px;
      height: 143px;
  }
  .totalCalo {
    width: 50%;
    font-size: 300%;
    bottom: 40px;
    right: 280px;
  }
  .start {
      width: 110px;
      right: 150px;
      bottom: 55px;
      font-size: 80%;
      padding: 15px 0;
  }
  .how{
    width: 110px;
    right: 30px;
    bottom: 55px;
    font-size: 80%;
    padding: 15px 0;
  }
}
