video{
  width: 100%;
  height: 100%;
}

img{
  width: 100%;
}

body{
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

.container {
  width: 94%;
  margin: 0 auto;
}

.fsz_xs {
  font-size: min(2.667vw, 20px);
}

.fsz_s {
  font-size: min(3.2vw, 24px);
}

.fsz_m {
  font-size: min(3.733vw, 28px);
}

.fsz_l {
  font-size: min(4.8vw, 36px);
  font-weight: bold;
}

.c_gray {
  color: #888;
}

header {
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  max-width: 500px;
  position: fixed;
  top: 0;
  z-index: 100;
  padding: min(3.2vw, 24px) 0;
  -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
          box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.fixed{
  width: 100vw;
  max-width: 750px;
}

header .flex {
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-icon {
  width: 22%;
  margin-right: 3%;
}

.header-right {
  white-space: nowrap;
  background: #ff93c0;
  padding: min(3.2vw, 24px) min(3.4vw, 26px);
  color: #fff;
  border-radius: min(2.667vw, 20px);
  font-weight: 500;
}

.header-logo{
  width: 70%;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.star5_rating{
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #CCCCCC; /* グレーカラー 自由に設定化 */
}

.star5_rating:before, .star5_rating:after{
  content: '★★★★★';
}

.star5_rating:after{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #fa83cb; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */