[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}
@charset "UTF-8";
* {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  text-decoration: none;
}
html,
body {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #FFFFFF;
}
h1,
h2,
h3,
h4,
h5,
h6,
header,
footer,
section,
article,
nav,
p,
figure,
dl,
dt,
dd,
ul,
ol,
li,
th,
td,
img,
address,
form,
input,
textarea,
select,
option,
span {
  margin: 0;
  padding: 0;
  font-weight: normal;
  line-height: 1em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-text-size-adjust: none;
}
ul,
ol {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
label {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a {
  color: #333;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
i {
  font-style: normal;
}
img,
a {
  border: none;
}
img {
  vertical-align: bottom;
}
select {
  padding: 0.5em 1em;
  border: 0.1em solid #ccc;
  background: none;
  display: inline-block;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  font-size: 6vw;
}
input[type="password"],
input[type="text"],
textarea {
  padding: 0.2em;
  border: 0.1em solid #ccc;
  vertical-align: bottom;
  font-size: 7vw;
  line-height: 1.4em;
  -webkit-appearance: none;
}
input[type="radio"],
input[type="checkbox"] {
  margin-right: 1vw;
  position: relative;
  top: 0.2vw;
  cursor: pointer;
  width: 4.7vw;
  height: 4.7vw;
}
label {
  margin-right: 0;
  cursor: pointer;
}
input.narrow {
  width: 4em!important;
}
div {
  display: inline-block;
}
section.full_nav.active {
  height: 100%;
  display: inline-block;
}
section.full_nav.active.animation {
  opacity: 1;
}
section.full_nav.fade_in {
  opacity: 1;
}
section.full_nav {
  position: absolute;
  left: 0;
  height: 0;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: transparent;
  z-index: 50;
  overflow: hidden;
  transition: 0.4s;
  display: none;
  opacity: 0;
}
section.full_nav footer {
  text-align: right;
}
section.full_nav footer ul {
  font-size: 0;
  padding: 3vw;
}
section.full_nav footer ul li {
  display: inline-block;
  width: 15vw;
  padding: 0 1vw;
}
section.full_nav footer ul li img {
  width: 100%;
  height: auto;
}
main.start_bg {
  background-image: url(https://oshimemo.com/api/img/start/start_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
section.start_menu.active {
  display: flex;
  animation: s_fade_in 0.5s ease-in-out forwards;
}
section.start_menu.active.inactive {
  animation: s_fade_out 0.5s ease-in-out forwards;
}
section.start_menu {
  height: 100vh;
  width: 100%;
  background-color: rgba(82, 56, 56, 0.8);
  overflow: hidden;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  z-index: 30;
  font-size: 3vw;
  display: none;
  opacity: 0;
  transition: all 0.4s;
}
section.start_menu ul.gloval-nav {
  height: auto;
  width: 100vw;
}
section.start_menu ul.gloval-nav li {
  color: #fff;
  width: 100%;
  font-size: 4vw;
  padding: 5vw 0 5vw 10vw;
  display: block;
}
section.start_menu ul.gloval-nav li p.check {
  display: inline-block;
  margin-left: 2vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3.5vw;
  line-height: 3.5vw;
  padding: 1.5vw 1.5vw;
  animation: sc_anime2 1.5s ease-in-out infinite;
}
section.start_menu ul.gloval-nav li a {
  color: #fff;
}
section.start_menu ul.gloval-nav li:nth-child(even) {
  background-image: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.089));
}
section.start.active {
  display: flex;
  animation: s_fade_in 0.5s ease-in-out forwards;
}
section.start {
  background-color: #ffdfea;
  background-image: url(https://oshimemo.com/api/img/start/start_img.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 100vh;
  width: 100%;
  flex-direction: column;
  margin: 0;
  padding: 0;
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  display: none;
  opacity: 0;
  z-index: 2;
}
section.start .sd {
  position: absolute;
  bottom: -5vw;
  left: 0vw;
}
section.start .sd img {
  width: 24vw;
  height: auto;
}
section.start .sd_message {
  position: absolute;
  bottom: 5vw;
  left: 24vw;
  width: 60vw;
  background-color: #ffffff;
  font-size: 3.4vw;
  padding: 2.5vw 2vw;
  text-align: center;
  border-radius: 3vw;
  margin: 0;
  letter-spacing: 0em;
}
section.start .sd_message:before {
  content: "";
  position: absolute;
  top: 30%;
  right: 98%;
  margin-top: 0;
  border: 2vw solid transparent;
  border-right: 3.5vw solid #ffffff;
}
section.start .logo {
  padding-top: 20vw;
  position: relative;
  width: 55vw;
  text-align: center;
}
section.start .logo img {
  width: 55vw;
  height: auto;
}
section.start .logo .start_bt {
  padding: 0;
  margin: 0;
}
section.start .logo .start_bt img {
  width: 30vw;
}
section.start .logo .start_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
section.start div.login {
  padding-top: 14vw;
  position: relative;
  width: 68vw;
  text-align: center;
}
section.start div.login img {
  width: 45vw;
  height: auto;
}
section.start div.login .login_form {
  padding: 4vw;
  border-radius: 2vw;
  background-color: rgba(255, 255, 255, 0.486);
  margin-top: -3vw;
}
section.start div.login .login_form input {
  width: 100%;
  padding: 2.5vw 2vw;
  border-radius: 2vw;
  border: none;
  vertical-align: bottom;
  line-height: 1.4em;
  -webkit-appearance: none;
  margin-bottom: 1.5vw;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0px 0px 1vw 0.5vw #f1f1f1 inset;
}
section.start div.login .login_form input[type="password"],
section.start div.login .login_form input[type="email"],
section.start div.login .login_form input[type="text"] {
  font-size: 3vw;
}
section.start div.login .login_form input:focus {
  outline: 0;
}
section.start div.login .login_form ::placeholder {
  color: #afafaf;
}
section.start div.login .login_form img {
  width: 25vw;
}
section.start div.login .login_form img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
section.start div.login .login_form p.s_caption {
  color: #696969;
  text-align: right;
  font-size: 3vw;
  padding: 3vw 0 2vw;
}
section.start div.login .login_form ul.social_bt li {
  font-size: 3.2vw;
  margin-left: 3vw;
  display: inline-block;
  width: 31vw;
  border-radius: 1vw;
}
section.start div.login .login_form ul.social_bt li a {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-decoration: none;
  text-align: center;
  line-height: 8vw;
}
section.start div.login .login_form ul.social_bt li a img {
  width: 8vw;
  padding: 1vw 2vw 1vw 0;
}
section.start div.login .login_form ul.social_bt li:first-child {
  margin-left: 0%;
}
section.start div.login .login_form ul.social_bt li.apple_id {
  background: #000000;
}
section.start div.login .login_form ul.social_bt li.apple_id a {
  color: #ffffff;
}
section.start div.login .login_form ul.social_bt li.google_id {
  background: #ffffff;
}
section.start div.login .login_form ul.social_bt li.google_id a {
  color: #000000;
}
section.start div.login .login_form p.pwreminder {
  color: #696969;
  text-align: right;
  font-size: 3vw;
  padding: 1vw 0;
  cursor: pointer;
  text-shadow: 0 0 8px #ffffff, 0 0 8px #ffffff, 0 0 14px #ffffff, 0 0 14px #ffffff;
}
section.start div.login .login_form p.pwreminder span {
  color: #b9b9b9;
}
section.start div.login .login_form p.login_bt {
  display: inline-block;
  cursor: pointer;
}
section.start div.login .login_form p.login_bt img {
  border-radius: 10vw;
  width: 35vw;
}
section.start div.login .login_form p.entry_caption {
  font-size: 3vw;
  color: #3f3f3f;
  padding: 8vw 0 2vw;
}
section.start div.login .login_form input[type=checkbox] {
  display: none;
}
section.start div.login .login_form .checkbox01 {
  color: #3f3f3f;
  font-size: 3.3vw;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 1vw 5vw 1vw 3vw;
  position: relative;
  width: auto;
  margin: 2vw 0 4vw 3vw;
  text-shadow: 0 0 8px #ffffff, 0 0 8px #ffffff, 0 0 14px #ffffff, 0 0 14px #ffffff;
}
section.start div.login .login_form .checkbox01::before {
  background-color: rgba(255, 255, 255, 0.7);
  content: '';
  display: block;
  height: 3.2vw;
  left: -1vw;
  margin-top: -1.6vw;
  position: absolute;
  top: 50%;
  width: 3.2vw;
}
section.start div.login .login_form .checkbox01::after {
  border-right: 0.6vw solid #ed7a9c;
  border-bottom: 0.6vw solid #ed7a9c;
  content: '';
  display: block;
  height: 1.8vw;
  left: 0px;
  margin-top: -1.4vw;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 1vw;
}
section.start div.login .login_form input[type=checkbox]:checked + .checkbox01::after {
  opacity: 1;
}
section.introduction {
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  z-index: 1;
  animation: fade_in3 3.5s ease-in-out forwards;
}
section.introduction div.desc {
  width: 90vw;
}
section.introduction div.desc img {
  width: 100%;
}
section.introduction div.meme {
  width: 80vw;
}
section.introduction div.meme img {
  width: 100%;
}
.talk_log.active {
  display: flex;
  opacity: 1;
}
.talk_log.active div.talk_log_inner.active {
  top: 0;
}
.talk_log.active.fadeout {
  opacity: 0;
}
.talk_log {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
.talk_log div.talk_log_inner {
  width: 100vw;
  height: 75vh;
  border-radius: 5vw;
  transition: all 0.5s;
  position: relative;
  top: 250vw;
  padding: 4vw;
}
.talk_log div.talk_log_inner p.log_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  top: -10vw;
  left: 36vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
.talk_log div.talk_log_inner ul::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.talk_log div.talk_log_inner ul {
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  height: 75vh;
}
.talk_log div.talk_log_inner ul li {
  position: relative;
  margin-bottom: 5vw;
  padding: 3vw 4vw;
  border-radius: 3vw;
  overflow: hidden;
  clear: both;
}
.talk_log div.talk_log_inner ul li p {
  line-height: 7vw;
  font-size: 4vw;
}
.talk_log div.talk_log_inner ul li figure {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 23vw;
}
.talk_log div.talk_log_inner ul li figure img {
  width: 100%;
}
.talk_log div.talk_log_inner ul li.talk {
  background-color: #fff1f9;
  min-height: 25vw;
  padding: 3vw 4vw 11vw;
}
.talk_log div.talk_log_inner ul li.talk p {
  width: 65vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area {
  position: absolute;
  bottom: 2vw;
  right: 21vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.log_read {
  display: none;
  margin: 0 0.5vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.log_read img {
  position: relative;
  width: 28vw;
  border-radius: 2vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.img_open {
  display: none;
  margin: 0 0.5vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.img_open img {
  position: relative;
  width: 28vw;
  border-radius: 2vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.unopened {
  display: none;
  margin: 0 0.5vw;
}
.talk_log div.talk_log_inner ul li.talk div.bt_area div.unopened img {
  position: relative;
  width: 31vw;
  border-radius: 2vw;
}
.talk_log div.talk_log_inner ul li.img_unopened div.bt_area div.unopened {
  display: inline-block;
}
.talk_log div.talk_log_inner ul li.talk_unopened div.bt_area div.log_read {
  display: inline-block;
}
.talk_log div.talk_log_inner ul li.img_open div.bt_area div.img_open {
  display: inline-block;
}
.talk_log div.talk_log_inner ul li.free div.bt_area div.log_read:before {
  content: "";
  position: absolute;
  bottom: -1vw;
  left: -10.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/talk/free.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 10.8vw;
  height: 9vw;
  z-index: 10;
}
.talk_log div.talk_log_inner ul li.story {
  color: #FFF;
}
.talk_log div.talk_log_inner ul li.send {
  float: right;
  background-color: #e9ffee;
  width: 85%;
}
.talk_log div.talk_log_inner ul .img_unopened:after {
  content: "";
  position: absolute;
  bottom: 0.5vw;
  right: 0.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 7vw;
  height: 7vw;
  animation: sc_anime2 1.5s ease-in-out infinite;
}
.talk_log div.talk_log_inner ul .talk_unopened:before {
  content: "";
  position: absolute;
  top: 1vw;
  right: 1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/talk/unopened.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 17.2vw;
  height: 5.68vw;
  border-radius: 2vw;
  z-index: 10;
}
.talk_log div.talk_log_inner .text_area {
  width: 100%;
  z-index: 20;
  background-image: url(https://oshimemo.com/api/img/talk/textarea_bg.png?20220831);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  height: 50vw;
}
.date_link.active,
.reminder.active,
.entry_form.active {
  display: flex;
  animation: s_fade_in 0.3s ease-in-out forwards;
}
.date_link.active.inactive,
.reminder.active.inactive,
.entry_form.active.inactive {
  animation: s_fade_out 0.3s ease-in-out forwards;
}
.date_link,
.reminder,
.entry_form {
  background-color: rgba(0, 0, 0, 0.85);
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  display: none;
  opacity: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  z-index: 60;
  font-size: 3vw;
  color: #ffffff;
}
.date_link .rem_wrapper,
.reminder .rem_wrapper,
.entry_form .rem_wrapper {
  width: 90vw;
  height: auto;
  text-align: center;
  position: relative;
}
.date_link .rem_wrapper p.s_caption,
.reminder .rem_wrapper p.s_caption,
.entry_form .rem_wrapper p.s_caption {
  color: #ffffff;
  text-align: center;
  font-size: 3vw;
  padding: 6vw 0 3vw;
}
.date_link .rem_wrapper ul.social_bt li,
.reminder .rem_wrapper ul.social_bt li,
.entry_form .rem_wrapper ul.social_bt li {
  font-size: 3.2vw;
  margin-left: 3vw;
  display: inline-block;
  width: 31vw;
  border-radius: 1vw;
}
.date_link .rem_wrapper ul.social_bt li a,
.reminder .rem_wrapper ul.social_bt li a,
.entry_form .rem_wrapper ul.social_bt li a {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-decoration: none;
  text-align: center;
  line-height: 8vw;
}
.date_link .rem_wrapper ul.social_bt li a img,
.reminder .rem_wrapper ul.social_bt li a img,
.entry_form .rem_wrapper ul.social_bt li a img {
  width: 8vw;
  padding: 1vw 2vw 1vw 0;
}
.date_link .rem_wrapper ul.social_bt li:first-child,
.reminder .rem_wrapper ul.social_bt li:first-child,
.entry_form .rem_wrapper ul.social_bt li:first-child {
  margin-left: 0%;
}
.date_link .rem_wrapper ul.social_bt li.apple_id,
.reminder .rem_wrapper ul.social_bt li.apple_id,
.entry_form .rem_wrapper ul.social_bt li.apple_id {
  background: #000000;
}
.date_link .rem_wrapper ul.social_bt li.apple_id a,
.reminder .rem_wrapper ul.social_bt li.apple_id a,
.entry_form .rem_wrapper ul.social_bt li.apple_id a {
  color: #ffffff;
}
.date_link .rem_wrapper ul.social_bt li.google_id,
.reminder .rem_wrapper ul.social_bt li.google_id,
.entry_form .rem_wrapper ul.social_bt li.google_id {
  background: #ffffff;
}
.date_link .rem_wrapper ul.social_bt li.google_id a,
.reminder .rem_wrapper ul.social_bt li.google_id a,
.entry_form .rem_wrapper ul.social_bt li.google_id a {
  color: #000000;
}
.date_link .rem_wrapper p.title,
.reminder .rem_wrapper p.title,
.entry_form .rem_wrapper p.title {
  display: inline-block;
  font-size: 4.5vw;
  padding: 2vw 4vw;
  border-bottom: 1px solid #ffffff;
  color: #ffffff;
  font-weight: bold;
}
.date_link .rem_wrapper p.text,
.reminder .rem_wrapper p.text,
.entry_form .rem_wrapper p.text {
  text-align: left;
  font-size: 3.3vw;
  padding: 6vw 10vw;
  line-height: 1.8em;
}
.date_link .rem_wrapper input,
.reminder .rem_wrapper input,
.entry_form .rem_wrapper input {
  width: 70%;
  padding: 2.5vw 2vw;
  border-radius: 2vw;
  font-size: 3.3vw;
  border: none;
  vertical-align: bottom;
  line-height: 1.4em;
  -webkit-appearance: none;
  margin-bottom: 1.5vw;
  text-align: center;
  background-color: #ffffff;
  box-shadow: 0px 0px 1vw 0.5vw #f1f1f1 inset;
}
.date_link .rem_wrapper input:focus,
.reminder .rem_wrapper input:focus,
.entry_form .rem_wrapper input:focus {
  outline: 0;
}
.date_link .rem_wrapper ::placeholder,
.reminder .rem_wrapper ::placeholder,
.entry_form .rem_wrapper ::placeholder {
  color: #afafaf;
}
.date_link .rem_wrapper p#rem-send,
.reminder .rem_wrapper p#rem-send,
.entry_form .rem_wrapper p#rem-send,
.date_link .rem_wrapper p#link-send,
.reminder .rem_wrapper p#link-send,
.entry_form .rem_wrapper p#link-send,
.date_link .rem_wrapper p#entry-send,
.reminder .rem_wrapper p#entry-send,
.entry_form .rem_wrapper p#entry-send {
  padding-top: 4vw;
}
.date_link .rem_wrapper p#rem-send img,
.reminder .rem_wrapper p#rem-send img,
.entry_form .rem_wrapper p#rem-send img,
.date_link .rem_wrapper p#link-send img,
.reminder .rem_wrapper p#link-send img,
.entry_form .rem_wrapper p#link-send img,
.date_link .rem_wrapper p#entry-send img,
.reminder .rem_wrapper p#entry-send img,
.entry_form .rem_wrapper p#entry-send img {
  width: 30vw;
}
.date_link .rem_wrapper p#rem-close,
.reminder .rem_wrapper p#rem-close,
.entry_form .rem_wrapper p#rem-close,
.date_link .rem_wrapper p#link-close,
.reminder .rem_wrapper p#link-close,
.entry_form .rem_wrapper p#link-close,
.date_link .rem_wrapper p#entry-close,
.reminder .rem_wrapper p#entry-close,
.entry_form .rem_wrapper p#entry-close {
  position: absolute;
  top: -6vw;
  right: 5vw;
}
.date_link .rem_wrapper p#rem-close img,
.reminder .rem_wrapper p#rem-close img,
.entry_form .rem_wrapper p#rem-close img,
.date_link .rem_wrapper p#link-close img,
.reminder .rem_wrapper p#link-close img,
.entry_form .rem_wrapper p#link-close img,
.date_link .rem_wrapper p#entry-close img,
.reminder .rem_wrapper p#entry-close img,
.entry_form .rem_wrapper p#entry-close img {
  width: 7vw;
}
nav.global.active {
  display: flex;
}
nav.global.active.fade_in {
  opacity: 1;
  transition: 0.4s;
}
nav.global.active.fade_in.fade_out {
  opacity: 0;
  transition: 0.4s;
}
nav.global.n_home section.menu_inner header .i_nav_bt {
  top: 13vw;
  right: 1.5vw;
}
nav.global {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 50;
  overflow: auto;
  display: none;
  opacity: 0;
}
nav.global section.menu_inner {
  max-height: 80vh;
}
nav.global section.menu_inner header {
  position: absolute;
  top: 0;
  left: 0;
}
nav.global section.menu_inner header .i_nav_bt {
  background-image: none;
  float: right;
  position: relative;
  width: 13vw;
  height: 13vw;
}
nav.global section.menu_inner header .i_nav_bt .c-trig.active {
  transform: rotate(-360deg);
}
nav.global section.menu_inner header .i_nav_bt .c-trig,
nav.global section.menu_inner header .i_nav_bt .c-trig span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
nav.global section.menu_inner header .i_nav_bt .c-trig span {
  position: absolute;
  left: 1.7vw;
  width: 9vw;
  height: 2px;
  background-color: #ffffff;
  border-radius: 4px;
}
nav.global section.menu_inner header .i_nav_bt .c-trig span:nth-of-type(1) {
  top: 6vw;
  transform: rotate(45deg);
}
nav.global section.menu_inner header .i_nav_bt .c-trig span:nth-of-type(2) {
  top: 6vw;
  transform: rotate(-45deg);
}
nav.global section.menu_inner header .i_nav_bt .m-trigger,
nav.global section.menu_inner header .i_nav_bt .m-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
nav.global section.menu_inner header .i_nav_bt .m-trigger span {
  position: absolute;
  left: 2.2vw;
  width: 8vw;
  height: 2px;
  background-color: #1963b2;
  border-radius: 4px;
}
nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(1) {
  top: 3.2vw;
}
nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(2) {
  top: 6vw;
}
nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(3) {
  bottom: 3.2vw;
}
nav.global section.menu_inner ul.gloval-nav {
  height: auto;
  width: 100vw;
}
nav.global section.menu_inner ul.gloval-nav li.nonset::before {
  content: "";
  width: 5px;
  height: 5px;
  background-color: #db274e;
  position: absolute;
  border-radius: 50%;
  top: 0.5em;
  left: 5vw;
}
nav.global section.menu_inner ul.gloval-nav li {
  color: #fff;
  width: 100%;
  font-size: 3.5vw;
  padding: 3vw 0 3vw 7vw;
  display: block;
  position: relative;
  cursor: pointer;
}
nav.global section.menu_inner ul.gloval-nav li p.check {
  display: inline-block;
  margin-left: 2vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
  animation: sc_anime2 1.5s ease-in-out infinite;
}
nav.global section.menu_inner ul.gloval-nav li a {
  color: #fff;
}
nav.global section.menu_inner ul.gloval-nav li:nth-child(even) {
  background-image: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.089));
}
nav.global section.menu_inner .nav_contact {
  position: relative;
  width: 100%;
  height: 30vw;
}
nav.global section.menu_inner .nav_contact img {
  height: auto;
  width: 24vw;
  position: absolute;
  right: 0;
  top: 0;
}
nav.global section.menu_inner .nav_contact p.c_caption {
  background-color: #fff;
  position: absolute;
  text-align: center;
  top: 5vw;
  right: 26vw;
  width: auto;
  padding: 2vw 2vw 2vw 3vw;
  border-radius: 4vw;
  font-size: 3.2vw;
  line-height: 1.5em;
}
nav.global section.menu_inner .nav_contact p.c_caption:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 99%;
  margin-top: 0;
  border: 2vw solid transparent;
  border-left: 3vw solid #ffffff;
}
.ts_inner,
.ti_inner {
  width: 100vw;
  height: 77vw;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/common/main/home_shop_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  display: none;
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.8));
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.8));
  top: 8vw;
  text-align: center;
}
.ts_inner .title,
.ti_inner .title {
  height: 13vw;
  padding: 6vw 0 1.5vw;
}
.ts_inner .title img,
.ti_inner .title img {
  height: 100%;
}
.ts_inner .close_bt,
.ti_inner .close_bt {
  position: absolute;
  top: -0.5vw;
  right: 1.5vw;
  height: 12vw;
  padding: 4vw 0 2vw;
}
.ts_inner .close_bt img,
.ti_inner .close_bt img {
  height: 100%;
}
.ts_inner .tm_bt,
.ti_inner .tm_bt {
  width: 26vw;
  margin: 2vw auto 0;
}
.ts_inner .tm_bt img,
.ti_inner .tm_bt img {
  width: 100%;
}
.ts_inner div.option_bt,
.ti_inner div.option_bt {
  position: absolute;
  bottom: 3.5vw;
  right: 2vw;
  font-size: 0;
}
.ts_inner div.option_bt img,
.ti_inner div.option_bt img {
  width: 9vw;
  padding-left: 0.5vw;
}
.ts_inner ul.shop_list::-webkit-scrollbar,
.ti_inner ul.shop_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.ts_inner ul.shop_list,
.ti_inner ul.shop_list {
  width: 100vw;
  height: 46vw;
  padding: 2vw 2.5vw 2vw;
  font-size: 0;
  white-space: nowrap;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
.ts_inner ul.shop_list li,
.ti_inner ul.shop_list li {
  display: inline-block;
  width: 27vw;
  height: 40vw;
  margin: 0 2vw;
  position: relative;
  white-space: normal;
}
.ts_inner ul.shop_list li input[type="radio"],
.ti_inner ul.shop_list li input[type="radio"] {
  display: none;
}
.ts_inner ul.shop_list li figure,
.ti_inner ul.shop_list li figure {
  width: 100%;
  height: 33vw;
  background-color: #ffdfe7;
  border-radius: 3vw;
  margin-bottom: 1vw;
  position: relative;
}
.ts_inner ul.shop_list li figure img,
.ti_inner ul.shop_list li figure img {
  width: 100%;
  height: auto;
  border-radius: 3vw;
}
.ts_inner ul.shop_list li p.price,
.ti_inner ul.shop_list li p.price,
.ts_inner ul.shop_list li .poss,
.ti_inner ul.shop_list li .poss {
  position: absolute;
  top: 26vw;
  right: 1vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
}
.ts_inner ul.shop_list li p.price img,
.ti_inner ul.shop_list li p.price img,
.ts_inner ul.shop_list li .poss img,
.ti_inner ul.shop_list li .poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
.ts_inner ul.shop_list li input[type="radio"]:checked + figure,
.ti_inner ul.shop_list li input[type="radio"]:checked + figure {
  background: #fff0c7;
}
.ts_inner ul.shop_list li input[type="radio"]:checked + figure::before,
.ti_inner ul.shop_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: 0.5vw;
  background: url(https://oshimemo.com/api/img/common/main/check.png) top left no-repeat;
  background-size: 7vw 7vw;
  z-index: 10;
}
.ts_inner ul.shop_list li p,
.ti_inner ul.shop_list li p {
  height: auto;
  font-size: 3vw;
  color: #c27386;
  padding: 1vw;
  line-height: 1.3em;
  text-align: center;
}
header.home_head {
  position: absolute;
  top: 0;
  left: 0;
}
header.home_head img.topboder {
  width: 100%;
}
header.home_head div.title_img {
  width: 46vw;
  position: absolute;
  top: 1.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.home_head div.title_img img {
  width: 100%;
}
header.startup_head {
  position: absolute;
  top: 0;
  left: 0;
}
header.startup_head p.select_title {
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 14;
  bottom: 30vw;
  text-align: center;
  transition: 0.4s;
}
header.startup_head p.select_title img {
  width: 100%;
}
header.startup_head p.select_title.active {
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 14;
  bottom: -6vw;
  text-align: center;
}
header.startup_head p.select_title.active img {
  width: 100%;
}
header.startup_head p.title_img {
  position: relative;
  width: 54vw;
  left: 23vw;
  z-index: 13;
  top: 3vw;
  text-align: center;
}
header.startup_head p.title_img img {
  width: 100%;
}
header.startup_head .back_bt {
  float: left;
  position: relative;
  z-index: 15;
}
header.startup_head .back_bt p {
  position: absolute;
  top: 5vw;
  left: 5vw;
  width: 5vw;
  height: 5vw;
  border-top: 2px solid #350808;
  border-left: 2px solid #350808;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: all 0.4s;
}
header.startup_head .back_bt.active p {
  border-top: 2px solid #FFFFFF;
  border-left: 2px solid #FFFFFF;
}
header.startup_head .back_bt:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main.mamorial_main {
  z-index: 31;
}
main section.startup {
  position: relative;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-image: url(https://oshimemo.com/api/img/startup/startup_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 5vw;
  align-items: center;
  justify-content: center;
  display: flex;
  overflow: hidden;
}
main section.startup .inherit_inner {
  width: 81vw;
  height: 114.9vw;
  border-radius: 5vw;
  background-image: url(https://oshimemo.com/api/img/startup/inherit_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding: 15vw 4vw 3vw;
  transition: all 0.5s;
  font-size: 3vw;
  color: #404555;
}
main section.startup .inherit_inner p {
  text-align: center;
  font-size: 4vw;
  padding: 2vw 0;
  color: #2f3b5e;
}
main section.startup .inherit_inner p img {
  width: 100%;
}
main section.startup .inherit_inner p input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 90%;
  height: 12.2vw;
  font-size: 4vw;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  margin-bottom: 3vw;
  text-align: center;
  position: relative;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
main section.startup .inherit_inner p input:focus {
  outline: 0;
}
main section.startup .inherit_inner p.caption {
  text-align: center;
  font-size: 3vw;
  padding: 0 0 3vw;
}
main section.startup .inherit_inner p.start_bt {
  text-align: center;
  padding: 3vw;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  width: 60%;
  margin: 0 auto 5vw;
}
main section.startup .wrapper {
  position: relative;
  width: 100vw;
  height: 80vh;
  transition: all 0.5s;
}
main section.startup .wrapper section.select_girl {
  position: absolute;
  top: 80vh;
  left: 0vw;
  width: 100vw;
  z-index: 10;
  text-align: center;
  opacity: 0;
  transition: all 0.5s;
}
main section.startup .wrapper section.select_girl img.caption {
  width: 60%;
}
main section.startup .wrapper section.select_girl img {
  width: 100%;
  vertical-align: bottom;
}
main section.startup .wrapper section.select_girl div.thumbnail div {
  position: relative;
}
main section.startup .wrapper section.select_girl div.thumbnail div img {
  width: 250%;
  position: relative;
  left: -75%;
  z-index: 12;
}
main section.startup .wrapper section.select_girl div.thumbnail div img.start_caption {
  top: 2vw;
  opacity: 1;
  transition: all 0.2s;
}
main section.startup .wrapper section.select_girl div.thumbnail div img.yukariko {
  top: 2vw;
}
main section.startup .wrapper section.select_girl div.thumbnail div img.message {
  position: absolute;
  left: 25vw;
  width: 37vw;
  top: 23vw;
  transition: all 0.3s;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
main section.startup .wrapper section.select_girl div.thumbnail2 {
  position: relative;
  top: -160vw;
  z-index: 13;
}
main section.startup .wrapper section.select_girl div.thumbnail2 div {
  position: relative;
  width: 38vw;
  height: 120vw;
}
main section.startup .wrapper section.select_girl div.thumbnail2 div a {
  position: absolute;
  top: 58vw;
  left: -10vw;
  width: 60vw;
  height: 40vw;
  z-index: 14;
  text-align: center;
}
main section.startup .wrapper section.select_girl div.thumbnail2 div a img {
  width: 100%;
}
main section.startup .wrapper section.select_girl div.thumbnail2 .slick-slide:not(.slick-center) a {
  display: none;
}
main section.startup .wrapper section.select_girl div.thumbnail2 .slick-slide:not(.slick-center) p {
  display: none;
}
main section.startup .wrapper section.select_girl .thumbnail {
  width: 100%;
  margin: 0 auto 5px;
  padding: 0;
}
main section.startup .wrapper section.select_girl .thumbnail-nav img {
  width: 100%;
}
main section.startup .wrapper section.select_girl .thumbnail-thumb .slick-current {
  opacity: 0.5;
}
main section.startup .wrapper section.select_girl .thumbnail-thumb div div div {
  cursor: pointer;
}
main section.startup .wrapper section.select_girl .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(40%);
  -moz-filter: opacity(40%);
  -o-filter: opacity(40%);
  -ms-filter: opacity(40%);
  filter: opacity(40%);
  transition: 0.2s linear;
  z-index: 1;
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
}
main section.startup .wrapper section.select_girl .slick-slide:not(.slick-center) .start_caption {
  opacity: 0;
}
main section.startup .wrapper section.select_girl .slick-slide:not(.slick-center) .message {
  opacity: 0;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
}
main section.startup .wrapper p.girl1_img {
  position: absolute;
  top: 0;
  right: -30vw;
  width: 100%;
  height: 100%;
  z-index: 2;
}
main section.startup .wrapper p.girl1_img img {
  position: relative;
  height: auto;
  width: 100%;
  animation: st1_anime1 0.6s ease-in-out forwards;
}
main section.startup .wrapper p.girl2_img {
  position: absolute;
  top: 16vw;
  left: 1vw;
  width: 100%;
  height: 100vw;
  opacity: 0.7;
  -webkit-transform: rotate(-7.7deg);
  transform: rotate(-7.7deg);
  z-index: 1;
}
main section.startup .wrapper p.girl2_img img {
  position: relative;
  height: 100vw;
  width: auto;
  animation: st1_anime2 0.6s ease-in-out forwards;
}
main section.startup .wrapper p.girl3_img {
  position: absolute;
  top: 0;
  right: -140vw;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: all 0.5s;
}
main section.startup .wrapper p.girl3_img img {
  position: relative;
  height: auto;
  width: 100%;
}
main section.startup .wrapper p.girl4_img {
  position: absolute;
  top: 16vw;
  left: -100vw;
  width: 100%;
  height: 100vw;
  opacity: 0.7;
  -webkit-transform: rotate(-7.7deg);
  transform: rotate(-7.7deg);
  z-index: 1;
  transition: all 0.5s;
}
main section.startup .wrapper p.girl4_img img {
  position: relative;
  height: 100vw;
  width: auto;
}
main section.startup .wrapper p.girl5_img {
  position: absolute;
  top: 0;
  right: -140vw;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: all 0.8s;
}
main section.startup .wrapper p.girl5_img img {
  position: relative;
  height: auto;
  width: 100%;
}
main section.startup .wrapper p.girl6_img {
  position: absolute;
  top: 16vw;
  left: -100vw;
  width: 100%;
  height: 100vw;
  opacity: 0.7;
  -webkit-transform: rotate(-7.7deg);
  transform: rotate(-7.7deg);
  z-index: 1;
  transition: all 0.8s;
}
main section.startup .wrapper p.girl6_img img {
  position: relative;
  height: 100vw;
  width: auto;
}
main section.startup .wrapper div.center_area {
  position: relative;
  top: 20vw;
  left: -50vw;
  width: 200vw;
  height: 100vw;
  z-index: 3;
}
main section.startup .wrapper div.center_area img.bg {
  position: absolute;
  width: 200vw;
  height: 100vw;
  opacity: 0;
  animation: st1_anime3 1s ease-in-out 0.6s forwards;
  z-index: 4;
}
main section.startup .wrapper div.center_area div.innar_1 {
  position: relative;
  width: 200vw;
  height: 100vw;
  transition: all 0.2s;
}
main section.startup .wrapper div.center_area div.innar_1 img.text1 {
  position: absolute;
  top: 30vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.6s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1 img.text2 {
  position: absolute;
  top: 40vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 2.2s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1 img.text3 {
  position: absolute;
  top: 55vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 3s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1 img.text4 {
  position: absolute;
  top: 65vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 3.6s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1 p.next_img {
  position: absolute;
  top: 78vw;
  left: 95vw;
  width: 10vw;
  animation: next_anime 2s ease-in-out infinite;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1 p.next_img img {
  width: 100%;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 4s forwards;
}
main section.startup .wrapper div.center_area div.innar_1 p.next_img img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main section.startup .wrapper div.center_area div.innar_1a {
  position: relative;
  width: 200vw;
  height: 100vw;
  display: none;
}
main section.startup .wrapper div.center_area div.innar_1a img.text1a {
  position: absolute;
  top: 40vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 0.6s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1a img.text2a {
  position: absolute;
  top: 50vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.2s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1a img.text3a {
  position: absolute;
  top: 60vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.8s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1a p.next_img {
  position: absolute;
  top: 78vw;
  left: 95vw;
  width: 10vw;
  animation: next_anime 2s ease-in-out infinite;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_1a p.next_img img {
  width: 100%;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 2s forwards;
}
main section.startup .wrapper div.center_area div.innar_1a p.next_img img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main section.startup .wrapper div.center_area div.innar_2 {
  position: relative;
  width: 200vw;
  height: 100vw;
  display: none;
}
main section.startup .wrapper div.center_area div.innar_2 img.text5 {
  position: absolute;
  top: 40vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.3s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_2 img.text6 {
  position: absolute;
  top: 52vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.9s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_2 p.name {
  position: absolute;
  top: 62vw;
  left: 56vw;
  animation: st1_anime4 1s ease-in-out 2.5s forwards;
  opacity: 0;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_2 p.name input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 88vw;
  height: 12.2vw;
  font-size: 4.6vw;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  text-align: center;
  position: relative;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
main section.startup .wrapper div.center_area div.innar_2 p.name input:focus {
  outline: 0;
}
main section.startup .wrapper div.center_area div.innar_2 p.next_img {
  position: absolute;
  top: 78vw;
  left: 95vw;
  width: 10vw;
  animation: next_anime 2s ease-in-out infinite;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_2 p.next_img img {
  width: 100%;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 3s forwards;
}
main section.startup .wrapper div.center_area div.innar_2 p.next_img img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main section.startup .wrapper div.center_area div.innar_3 {
  position: relative;
  width: 200vw;
  height: 100vw;
  display: none;
}
main section.startup .wrapper div.center_area div.innar_3 img.text7 {
  position: absolute;
  top: 40vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.3s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3 img.text8 {
  position: absolute;
  top: 52vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.9s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3 p.name {
  position: absolute;
  top: 62vw;
  left: 60vw;
  animation: st1_anime4 1s ease-in-out 2.5s forwards;
  opacity: 0;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3 p.name select {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 80vw;
  height: 12.2vw;
  font-size: 4.6vw;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  text-align: center;
  position: relative;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
main section.startup .wrapper div.center_area div.innar_3 p.name select option {
  text-align: center;
}
main section.startup .wrapper div.center_area div.innar_3 p.name select:focus {
  outline: 0;
}
main section.startup .wrapper div.center_area div.innar_3 p.name:after {
  content: "";
  position: absolute;
  right: 4vw;
  top: 5.5vw;
  width: 2vw;
  height: 2vw;
  border-top: 0.75vw solid #272727;
  border-left: 0.75vw solid #272727;
  transform: translateY(-50%) rotate(-135deg);
  font-size: 4vw;
  pointer-events: none;
}
main section.startup .wrapper div.center_area div.innar_3 p.next_img {
  position: absolute;
  top: 78vw;
  left: 95vw;
  width: 10vw;
  animation: next_anime 2s ease-in-out infinite;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3 p.next_img img {
  width: 100%;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 3s forwards;
}
main section.startup .wrapper div.center_area div.innar_3 p.next_img img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main section.startup .wrapper div.center_area div.innar_3a {
  position: relative;
  width: 200vw;
  height: 100vw;
  display: none;
}
main section.startup .wrapper div.center_area div.innar_3a img.text7a {
  position: absolute;
  top: 40vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 0.5s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3a img.text8a {
  position: absolute;
  top: 52vw;
  left: 50vw;
  width: 100vw;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 1.1s forwards;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3a p.name {
  position: absolute;
  top: 62vw;
  left: 56vw;
  animation: st1_anime4 1s ease-in-out 1.7s forwards;
  opacity: 0;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3a p.name input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 88vw;
  height: 12.2vw;
  font-size: 4.6vw;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  text-align: center;
  position: relative;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
main section.startup .wrapper div.center_area div.innar_3a p.name input:focus {
  outline: 0;
}
main section.startup .wrapper div.center_area div.innar_3a p.next_img {
  position: absolute;
  top: 78vw;
  left: 95vw;
  width: 10vw;
  animation: next_anime 2s ease-in-out infinite;
  z-index: 5;
}
main section.startup .wrapper div.center_area div.innar_3a p.next_img img {
  width: 100%;
  opacity: 0;
  animation: st1_anime4 1s ease-in-out 3s forwards;
}
main section.startup .wrapper div.center_area div.innar_3a p.next_img img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
.bt_anime {
  animation: bt_anime1 0.3s ease-in-out;
}
@keyframes bt_anime1 {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes st1_anime1 {
  0% {
    opacity: 0;
    right: -60vw;
  }
  100% {
    opacity: 1;
    right: 0vw;
  }
}
@keyframes st1_anime2 {
  0% {
    opacity: 0;
    left: -50vw;
  }
  100% {
    opacity: 1;
    left: 1vw;
  }
}
@keyframes st1_anime3 {
  0% {
    opacity: 0;
    left: -150vw;
    top: -20vw;
  }
  100% {
    opacity: 1;
    left: 0;
    top: 8vw;
  }
}
@keyframes st1_anime4 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
section.tutorial.fade_out {
  transition: all 0.4s;
  opacity: 0;
}
section.tutorial.active {
  display: flex;
}
section.tutorial {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.815);
  z-index: 51;
  overflow: hidden;
  opacity: 1;
  animation: clear_bg 0.5s ease-in-out;
}
section.tutorial div.tutorial_inner {
  width: 90%;
  border-radius: 5vw;
  transition: all 0.2s;
  position: relative;
}
section.tutorial div.tutorial_inner .tutorial_step {
  width: 100%;
}
section.tutorial div.tutorial_inner .tutorial_step p {
  position: relative;
  animation-timing-function: ease;
  top: -10vh;
  display: none;
  opacity: 0;
}
section.tutorial div.tutorial_inner .tutorial_step p img {
  width: 100%;
  border-radius: 2vw;
}
section.tutorial div.tutorial_inner .tutorial_step .step_1.active,
section.tutorial div.tutorial_inner .tutorial_step .step_2.active,
section.tutorial div.tutorial_inner .tutorial_step .step_3.active {
  display: block;
}
section.tutorial div.tutorial_inner .tutorial_step .step_1.active.tutorial_fade_in,
section.tutorial div.tutorial_inner .tutorial_step .step_2.active.tutorial_fade_in,
section.tutorial div.tutorial_inner .tutorial_step .step_3.active.tutorial_fade_in {
  top: 0;
  opacity: 1;
  transition: all 0.4s;
}
section.tutorial div.tutorial_inner .tutorial_step .step_1.active.tutorial_fade_in.tutorial_fade_out,
section.tutorial div.tutorial_inner .tutorial_step .step_2.active.tutorial_fade_in.tutorial_fade_out,
section.tutorial div.tutorial_inner .tutorial_step .step_3.active.tutorial_fade_in.tutorial_fade_out {
  top: 10vh;
  opacity: 0;
  transition: all 0.2s;
}
@keyframes clear_contants_anime {
  0% {
    top: 0;
  }
  100% {
    top: 200vw;
  }
}
@keyframes clear_contants_m_anime {
  0% {
    top: -30vw;
  }
  100% {
    top: 170vw;
  }
}
.levelup.fade_out {
  transition: all 0.4s;
  opacity: 0;
}
.levelup.fade_out.inactive {
  display: none;
}
.scenario_clear,
.levelup {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background: hsla(340, 64%, 49%, 0.815);
  z-index: 51;
  overflow: hidden;
  opacity: 1;
  animation: clear_bg 1s ease-in-out;
}
.scenario_clear div.clear_inner_anime,
.levelup div.clear_inner_anime,
.scenario_clear .levelup_inner_anime,
.levelup .levelup_inner_anime {
  opacity: 0;
  width: 80%;
  animation: clear_caption 2.5s ease-in-out 1s forwards;
}
.scenario_clear div.clear_inner_anime img.meme,
.levelup div.clear_inner_anime img.meme,
.scenario_clear .levelup_inner_anime img.meme,
.levelup .levelup_inner_anime img.meme {
  width: 100%;
}
.scenario_clear div.clear_inner,
.levelup div.clear_inner,
.scenario_clear div.levelup_inner,
.levelup div.levelup_inner {
  border-radius: 5vw;
  transition: all 0.5s;
  position: relative;
  top: -250vw;
  width: 0;
  opacity: 0;
  padding: 0;
  animation: clear_inner 2s ease-in-out 3.5s forwards;
}
.scenario_clear div.clear_inner img.meme.active,
.levelup div.clear_inner img.meme.active,
.scenario_clear div.levelup_inner img.meme.active,
.levelup div.levelup_inner img.meme.active {
  animation: clear_contants_m_anime 0.4s ease-in-out forwards;
}
.scenario_clear div.clear_inner img.meme,
.levelup div.clear_inner img.meme,
.scenario_clear div.levelup_inner img.meme,
.levelup div.levelup_inner img.meme {
  position: absolute;
  z-index: 200;
  top: -30vw;
  left: 12vw;
  width: 60vw;
}
.scenario_clear div.clear_inner div.clear_contants.active,
.levelup div.clear_inner div.clear_contants.active,
.scenario_clear div.levelup_inner div.clear_contants.active,
.levelup div.levelup_inner div.clear_contants.active,
.scenario_clear div.clear_inner .levelup_contants.active,
.levelup div.clear_inner .levelup_contants.active,
.scenario_clear div.levelup_inner .levelup_contants.active,
.levelup div.levelup_inner .levelup_contants.active {
  animation: clear_contants_anime 0.4s ease-in-out forwards;
}
.scenario_clear div.clear_inner div.clear_contants,
.levelup div.clear_inner div.clear_contants,
.scenario_clear div.levelup_inner div.clear_contants,
.levelup div.levelup_inner div.clear_contants,
.scenario_clear div.clear_inner .levelup_contants,
.levelup div.clear_inner .levelup_contants,
.scenario_clear div.levelup_inner .levelup_contants,
.levelup div.levelup_inner .levelup_contants {
  position: relative;
  top: 0;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1.2em;
  text-align: center;
  z-index: 201;
}
.scenario_clear div.clear_inner div.clear_contants p.clear_title,
.levelup div.clear_inner div.clear_contants p.clear_title,
.scenario_clear div.levelup_inner div.clear_contants p.clear_title,
.levelup div.levelup_inner div.clear_contants p.clear_title,
.scenario_clear div.clear_inner .levelup_contants p.clear_title,
.levelup div.clear_inner .levelup_contants p.clear_title,
.scenario_clear div.levelup_inner .levelup_contants p.clear_title,
.levelup div.levelup_inner .levelup_contants p.clear_title,
.scenario_clear div.clear_inner div.clear_contants p.levelup_title,
.levelup div.clear_inner div.clear_contants p.levelup_title,
.scenario_clear div.levelup_inner div.clear_contants p.levelup_title,
.levelup div.levelup_inner div.clear_contants p.levelup_title,
.scenario_clear div.clear_inner .levelup_contants p.levelup_title,
.levelup div.clear_inner .levelup_contants p.levelup_title,
.scenario_clear div.levelup_inner .levelup_contants p.levelup_title,
.levelup div.levelup_inner .levelup_contants p.levelup_title {
  color: #e63063;
  padding-top: 5vw;
  font-size: 6vw;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.scenario_clear div.clear_inner div.clear_contants p.send_a_note,
.levelup div.clear_inner div.clear_contants p.send_a_note,
.scenario_clear div.levelup_inner div.clear_contants p.send_a_note,
.levelup div.levelup_inner div.clear_contants p.send_a_note,
.scenario_clear div.clear_inner .levelup_contants p.send_a_note,
.levelup div.clear_inner .levelup_contants p.send_a_note,
.scenario_clear div.levelup_inner .levelup_contants p.send_a_note,
.levelup div.levelup_inner .levelup_contants p.send_a_note {
  position: relative;
  display: inline-block;
  color: #8f5d5d;
  padding-top: 4vw;
  font-size: 3vw;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: left;
  width: auto;
}
.scenario_clear div.clear_inner div.clear_contants div.levelup_list,
.levelup div.clear_inner div.clear_contants div.levelup_list,
.scenario_clear div.levelup_inner div.clear_contants div.levelup_list,
.levelup div.levelup_inner div.clear_contants div.levelup_list,
.scenario_clear div.clear_inner .levelup_contants div.levelup_list,
.levelup div.clear_inner .levelup_contants div.levelup_list,
.scenario_clear div.levelup_inner .levelup_contants div.levelup_list,
.levelup div.levelup_inner .levelup_contants div.levelup_list {
  margin-top: 5vw;
  max-height: 55vw;
  overflow: auto;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
.scenario_clear div.clear_inner div.clear_contants div.levelup_list::-webkit-scrollbar,
.levelup div.clear_inner div.clear_contants div.levelup_list::-webkit-scrollbar,
.scenario_clear div.levelup_inner div.clear_contants div.levelup_list::-webkit-scrollbar,
.levelup div.levelup_inner div.clear_contants div.levelup_list::-webkit-scrollbar,
.scenario_clear div.clear_inner .levelup_contants div.levelup_list::-webkit-scrollbar,
.levelup div.clear_inner .levelup_contants div.levelup_list::-webkit-scrollbar,
.scenario_clear div.levelup_inner .levelup_contants div.levelup_list::-webkit-scrollbar,
.levelup div.levelup_inner .levelup_contants div.levelup_list::-webkit-scrollbar {
  display: none;
}
.scenario_clear div.clear_inner div.clear_contants p.clear_item,
.levelup div.clear_inner div.clear_contants p.clear_item,
.scenario_clear div.levelup_inner div.clear_contants p.clear_item,
.levelup div.levelup_inner div.clear_contants p.clear_item,
.scenario_clear div.clear_inner .levelup_contants p.clear_item,
.levelup div.clear_inner .levelup_contants p.clear_item,
.scenario_clear div.levelup_inner .levelup_contants p.clear_item,
.levelup div.levelup_inner .levelup_contants p.clear_item,
.scenario_clear div.clear_inner div.clear_contants p.levelup_item,
.levelup div.clear_inner div.clear_contants p.levelup_item,
.scenario_clear div.levelup_inner div.clear_contants p.levelup_item,
.levelup div.levelup_inner div.clear_contants p.levelup_item,
.scenario_clear div.clear_inner .levelup_contants p.levelup_item,
.levelup div.clear_inner .levelup_contants p.levelup_item,
.scenario_clear div.levelup_inner .levelup_contants p.levelup_item,
.levelup div.levelup_inner .levelup_contants p.levelup_item {
  position: relative;
  display: inline-block;
  color: #242424;
  padding-top: 4vw;
  font-size: 4.7vw;
  letter-spacing: 0;
  line-height: 1.3em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  height: 12vw;
}
.scenario_clear div.clear_inner div.clear_contants p.clear_item span,
.levelup div.clear_inner div.clear_contants p.clear_item span,
.scenario_clear div.levelup_inner div.clear_contants p.clear_item span,
.levelup div.levelup_inner div.clear_contants p.clear_item span,
.scenario_clear div.clear_inner .levelup_contants p.clear_item span,
.levelup div.clear_inner .levelup_contants p.clear_item span,
.scenario_clear div.levelup_inner .levelup_contants p.clear_item span,
.levelup div.levelup_inner .levelup_contants p.clear_item span,
.scenario_clear div.clear_inner div.clear_contants p.levelup_item span,
.levelup div.clear_inner div.clear_contants p.levelup_item span,
.scenario_clear div.levelup_inner div.clear_contants p.levelup_item span,
.levelup div.levelup_inner div.clear_contants p.levelup_item span,
.scenario_clear div.clear_inner .levelup_contants p.levelup_item span,
.levelup div.clear_inner .levelup_contants p.levelup_item span,
.scenario_clear div.levelup_inner .levelup_contants p.levelup_item span,
.levelup div.levelup_inner .levelup_contants p.levelup_item span {
  position: relative;
  top: 2vw;
  font-weight: bold;
}
.scenario_clear div.clear_inner div.clear_contants p.clear_item_text,
.levelup div.clear_inner div.clear_contants p.clear_item_text,
.scenario_clear div.levelup_inner div.clear_contants p.clear_item_text,
.levelup div.levelup_inner div.clear_contants p.clear_item_text,
.scenario_clear div.clear_inner .levelup_contants p.clear_item_text,
.levelup div.clear_inner .levelup_contants p.clear_item_text,
.scenario_clear div.levelup_inner .levelup_contants p.clear_item_text,
.levelup div.levelup_inner .levelup_contants p.clear_item_text,
.scenario_clear div.clear_inner div.clear_contants p.levelup_item_text,
.levelup div.clear_inner div.clear_contants p.levelup_item_text,
.scenario_clear div.levelup_inner div.clear_contants p.levelup_item_text,
.levelup div.levelup_inner div.clear_contants p.levelup_item_text,
.scenario_clear div.clear_inner .levelup_contants p.levelup_item_text,
.levelup div.clear_inner .levelup_contants p.levelup_item_text,
.scenario_clear div.levelup_inner .levelup_contants p.levelup_item_text,
.levelup div.levelup_inner .levelup_contants p.levelup_item_text {
  position: relative;
  display: inline-block;
  color: #353535;
  background-color: #ffe8e8;
  padding: 3vw;
  font-size: 4vw;
  letter-spacing: 0;
  line-height: 1.8em;
  text-align: left;
  max-height: 50vw;
  overflow: auto;
  width: 80%;
  margin: 0 auto;
  border-radius: 2vw;
}
.scenario_clear div.clear_inner div.clear_contants p.clear_item_text span,
.levelup div.clear_inner div.clear_contants p.clear_item_text span,
.scenario_clear div.levelup_inner div.clear_contants p.clear_item_text span,
.levelup div.levelup_inner div.clear_contants p.clear_item_text span,
.scenario_clear div.clear_inner .levelup_contants p.clear_item_text span,
.levelup div.clear_inner .levelup_contants p.clear_item_text span,
.scenario_clear div.levelup_inner .levelup_contants p.clear_item_text span,
.levelup div.levelup_inner .levelup_contants p.clear_item_text span,
.scenario_clear div.clear_inner div.clear_contants p.levelup_item_text span,
.levelup div.clear_inner div.clear_contants p.levelup_item_text span,
.scenario_clear div.levelup_inner div.clear_contants p.levelup_item_text span,
.levelup div.levelup_inner div.clear_contants p.levelup_item_text span,
.scenario_clear div.clear_inner .levelup_contants p.levelup_item_text span,
.levelup div.clear_inner .levelup_contants p.levelup_item_text span,
.scenario_clear div.levelup_inner .levelup_contants p.levelup_item_text span,
.levelup div.levelup_inner .levelup_contants p.levelup_item_text span {
  position: relative;
  top: 2vw;
  font-weight: bold;
}
.scenario_clear div.clear_inner div.clear_contants p.buttom,
.levelup div.clear_inner div.clear_contants p.buttom,
.scenario_clear div.levelup_inner div.clear_contants p.buttom,
.levelup div.levelup_inner div.clear_contants p.buttom,
.scenario_clear div.clear_inner .levelup_contants p.buttom,
.levelup div.clear_inner .levelup_contants p.buttom,
.scenario_clear div.levelup_inner .levelup_contants p.buttom,
.levelup div.levelup_inner .levelup_contants p.buttom {
  font-size: 0;
  letter-spacing: 0;
  padding-bottom: 8vw;
  height: auto;
}
.scenario_clear div.clear_inner div.clear_contants p.buttom span.c_next,
.levelup div.clear_inner div.clear_contants p.buttom span.c_next,
.scenario_clear div.levelup_inner div.clear_contants p.buttom span.c_next,
.levelup div.levelup_inner div.clear_contants p.buttom span.c_next,
.scenario_clear div.clear_inner .levelup_contants p.buttom span.c_next,
.levelup div.clear_inner .levelup_contants p.buttom span.c_next,
.scenario_clear div.levelup_inner .levelup_contants p.buttom span.c_next,
.levelup div.levelup_inner .levelup_contants p.buttom span.c_next {
  position: relative;
  top: 4vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #e63063;
  margin-right: 3vw;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 34vw;
  cursor: pointer;
}
.scenario_clear div.clear_inner div.clear_contants p.buttom span.c_close,
.levelup div.clear_inner div.clear_contants p.buttom span.c_close,
.scenario_clear div.levelup_inner div.clear_contants p.buttom span.c_close,
.levelup div.levelup_inner div.clear_contants p.buttom span.c_close,
.scenario_clear div.clear_inner .levelup_contants p.buttom span.c_close,
.levelup div.clear_inner .levelup_contants p.buttom span.c_close,
.scenario_clear div.levelup_inner .levelup_contants p.buttom span.c_close,
.levelup div.levelup_inner .levelup_contants p.buttom span.c_close {
  position: relative;
  top: 4vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 34vw;
  cursor: pointer;
}
.scenario_clear div.clear_inner div.clear_contants::before,
.levelup div.clear_inner div.clear_contants::before,
.scenario_clear div.levelup_inner div.clear_contants::before,
.levelup div.levelup_inner div.clear_contants::before,
.scenario_clear div.clear_inner div.levelup_contants::before,
.levelup div.clear_inner div.levelup_contants::before,
.scenario_clear div.levelup_inner div.levelup_contants::before,
.levelup div.levelup_inner div.levelup_contants::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4.4vw;
  left: 0;
}
.scenario_clear div.clear_inner div.clear_contants::after,
.levelup div.clear_inner div.clear_contants::after,
.scenario_clear div.levelup_inner div.clear_contants::after,
.levelup div.levelup_inner div.clear_contants::after,
.scenario_clear div.clear_inner div.levelup_contants::after,
.levelup div.clear_inner div.levelup_contants::after,
.scenario_clear div.levelup_inner div.levelup_contants::after,
.levelup div.levelup_inner div.levelup_contants::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4.4vw;
  left: 0;
}
section.overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: auto;
}
section.overlay section.overlay_wrapper.active {
  display: flex;
}
section.overlay section.overlay_wrapper.active.fade_in {
  opacity: 1;
  transition: all 0.3s;
}
section.overlay section.overlay_wrapper.active.fade_in.fade_out {
  opacity: 0;
  transition: all 0.3s;
}
section.overlay section.overlay_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(8, 42, 104, 0.77);
  z-index: 100;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner.active {
  display: block;
}
section.overlay section.overlay_wrapper div.overlay_inner.active.fade_in {
  opacity: 1;
  transition: all 0.4s;
}
section.overlay section.overlay_wrapper div.overlay_inner.active.fade_in.fade_out {
  opacity: 0;
  transition: all 0.4s;
}
section.overlay section.overlay_wrapper div.overlay_inner {
  height: auto;
  width: 92%;
  transition: all 0.4s;
  position: relative;
  font-size: 4vw;
  border-radius: 3vw;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner p.title_head {
  position: relative;
  background-color: #1963b2;
  height: 13vw;
  width: 100%;
  line-height: 13vw;
  text-align: center;
  color: #ffffff;
  font-size: 5vw;
}
section.overlay section.overlay_wrapper div.overlay_inner p.title_head i {
  display: inline-block;
  position: absolute;
  top: 2.5vw;
  right: 2.5vw;
  height: 8vw;
  width: 8vw;
}
section.overlay section.overlay_wrapper div.overlay_inner p.title_head i span {
  display: inline-block;
  width: 3px;
  height: 8vw;
  background: #FFF;
  transform: rotate(45deg);
}
section.overlay section.overlay_wrapper div.overlay_inner p.title_head i span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 3px;
  height: 8vw;
  background: #FFF;
  transform: rotate(90deg);
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details::-webkit-scrollbar {
  display: none;
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details {
  max-height: 66vh;
  background: #FFF;
  font-size: 3.5vw;
  line-height: 4.5vw;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  padding: 2vh 4vw;
  color: #333;
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details span {
  padding: 1.5em 0 0.5em 0;
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: bold;
  color: #333;
  display: block;
  border-bottom: 1px solid #eee;
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 90%;
  height: 12.2vw;
  font-size: 4vw;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  margin-bottom: 3vw;
  text-align: center;
  position: relative;
  margin: 3vw auto;
  display: block;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details input:focus {
  outline: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details span.set_bt {
  margin: 0.5em 20vw 2em;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 5vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  width: 40vw;
  text-align: center;
  display: inline-block;
}
section.overlay section.overlay_wrapper div.overlay_inner div.overlay_details {
  max-height: 66vh;
  background: #FFF;
  font-size: 3.5vw;
  line-height: 4.5vw;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 0;
  color: #333;
}
section.overlay section.overlay_wrapper div.overlay_inner div.overlay_details .accbox label {
  padding: 3.5vw 8.5vw 3.5vw 8.5vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details {
  max-height: 66vh;
  width: 100%;
  background: #FFF;
  font-size: 3.5vw;
  line-height: 4.5vw;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  padding: 2vh 0;
  color: #333;
  text-align: center;
  position: relative;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting.active,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting.active {
  display: block;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting.active.fade_in,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting.active.fade_in {
  opacity: 1;
  transition: all 0.3s;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  text-align: center;
  display: none;
  opacity: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting input,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting input {
  width: 80%;
  margin: 1em auto 1.5em;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.caption,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.caption {
  color: #696969;
  text-align: center;
  font-size: 4vw;
  padding: 12vw 0 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.set_bt,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.set_bt {
  margin: 1em auto 2em;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 3vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  width: 30vw;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.age_cancel_bt,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.age_cancel_bt,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.name_cancel_bt,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.name_cancel_bt {
  margin: 1em 1em 2em 0;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 3vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #aaaaaa;
  color: #FFF;
  width: 30vw;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.age_caption,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.age_caption {
  color: #ff3131;
  text-align: center;
  font-size: 3vw;
  padding: 1vw 0 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting .birthday,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting .birthday {
  margin: 3vw 0;
  width: 100%;
  text-align: center;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting .birthday select,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting .birthday select {
  display: inline-block;
  width: auto;
  text-align: center;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  height: 12.2vw;
  font-size: 4vw;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 4vw;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user {
  display: inline-block;
  position: relative;
  border-radius: 50%;
  background-color: #89baeb;
  width: 1em;
  height: 1em;
  font-size: 20vw;
  overflow: hidden;
  margin: 5vw 0 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user::before,
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  background-color: #3388dd;
  content: "";
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user::before {
  top: 0.15em;
  width: 0.4em;
  height: 0.4em;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user::after {
  bottom: -0.4em;
  width: 0.8em;
  height: 0.8em;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile {
  text-align: center ;
  max-height: 27vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li.name:before {
  content: "ユーザーネーム";
  position: absolute;
  top: -1.5vw;
  width: 40vw;
  left: 0;
  text-align: left;
  color: #7c7c7c;
  line-height: 3.5vw;
  font-size: 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li.age:before {
  content: "生年月日";
  position: absolute;
  top: -1.5vw;
  width: 40vw;
  left: 0;
  text-align: left;
  color: #7c7c7c;
  line-height: 3.5vw;
  font-size: 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li {
  display: inline-block;
  width: 90%;
  text-align: left;
  border-radius: 1vw;
  margin-bottom: 2vw;
  background-color: #fff;
  line-height: 9vw;
  color: #000000;
  padding: 2vw 0 1vw 3vw;
  font-size: 4.2vw;
  position: relative;
  border-bottom: 1px solid #eeeeee;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li img {
  margin: 0 2vw;
  width: 9vw;
  border-radius: 50%;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li p.status {
  display: inline-block;
  line-height: 9vw;
  padding: 0.5vw 3vw;
  border-radius: 2vw;
  margin: 0 1vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li p.notlink {
  color: #da2424;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li p.bt {
  display: block;
  float: right;
  background-color: #2f3b5e;
  color: #FFF;
  line-height: 9vw;
  padding: 0 3vw;
  border-radius: 2vw;
  margin: 0 1vw;
  font-size: 3.7vw;
  cursor: pointer;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li:first-child {
  margin-left: 0%;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details span {
  padding: 1.5em 0 0.5em 0;
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: bold;
  color: #333;
  display: block;
  border-bottom: 1px solid #eee;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 90%;
  height: 12.2vw;
  font-size: 4vw;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  text-align: center;
  position: relative;
  margin: 3vw auto;
  display: block;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details input:focus {
  outline: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details p.s_caption {
  color: #696969;
  text-align: center;
  font-size: 3vw;
  padding: 3vw 0 6vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details p.e_caption {
  color: #696969;
  text-align: center;
  font-size: 3vw;
  padding: 1vw 0 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details {
  max-height: 66vh;
  width: 100%;
  background: #FFF;
  font-size: 3.5vw;
  line-height: 4.5vw;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  padding: 2vh 0;
  color: #333;
  text-align: center;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.text {
  padding: 3vw 4vw;
  text-align: left;
  line-height: 4.5vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.f_text {
  padding: 3vw 4vw;
  text-align: left;
  line-height: 4.5vw;
  line-break: anywhere;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.reminder_bt {
  padding: 1vw 0 2vw;
  text-decoration: underline;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt::-webkit-scrollbar {
  display: none;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt {
  text-align: center ;
  max-height: 27vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li {
  display: inline-block;
  width: 90%;
  text-align: left;
  border-radius: 1vw;
  margin-bottom: 2vw;
  line-height: 9vw;
  color: #000000;
  padding-bottom: 1vw;
  font-size: 3.7vw;
  border-bottom: 1px solid #eeeeee;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li img {
  margin: 0 2vw;
  width: 9vw;
  border-radius: 50%;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li p.status {
  display: inline-block;
  line-height: 9vw;
  padding: 0.5vw 3vw;
  border-radius: 2vw;
  margin: 0 1vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li p.notlink {
  color: #da2424;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li p.bt {
  display: block;
  float: right;
  background-color: #2f3b5e;
  color: #FFF;
  line-height: 9vw;
  padding: 0 3vw;
  border-radius: 2vw;
  margin: 0 1vw;
  font-size: 3.7vw;
  cursor: pointer;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li:first-child {
  margin-left: 0%;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li.apple_id {
  background: #ffffff;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li.google_id {
  background: #ffffff;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li.line_id {
  background: #ffffff;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span {
  padding: 1.5em 0 0.5em 0;
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: bold;
  color: #333;
  display: block;
  border-bottom: 1px solid #eee;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 90%;
  height: 12.2vw;
  font-size: 4vw;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  z-index: 30;
  text-align: center;
  position: relative;
  margin: 3vw auto;
  display: block;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details input:focus {
  outline: 0;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt {
  margin: 0.5em auto 2em;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 5vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  width: 40vw;
  text-align: center;
  display: inline-block;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt2 {
  margin: 0 auto 1em;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 4vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  width: 38vw;
  text-align: center;
  display: inline-block;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt3 {
  margin: 0 auto 1em;
  font-size: 4vw;
  font-weight: bold;
  padding: 3vw 4vw;
  border-bottom: none;
  border-radius: 2vw;
  background-color: #2f3b5e;
  color: #FFF;
  text-align: center;
  display: inline-block;
}
section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.s_caption {
  color: #696969;
  text-align: center;
  font-size: 3vw;
  padding: 4vw 0 3vw;
}
section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details::-webkit-scrollbar {
  display: none;
}
section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details {
  width: 100%;
  background: #FFF;
  text-align: center;
  font-size: 3.5vw;
  line-height: 4.5vw;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 6vw 0 10vw;
  color: #333;
}
section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details p.n_diamonds {
  width: auto;
  text-align: center;
  font-size: 4.5vw;
  line-height: 11vw;
  color: #e92751;
  letter-spacing: 0.05em;
  width: 45.1vw;
  height: 15vw;
  padding: 2vw 3vw 0 13vw;
  border-radius: 2vw;
  background-image: url(https://oshimemo.com/api/img/information/diamond_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-weight: bold;
  margin: 5vw auto 0;
  border-bottom: none;
}
section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details span {
  color: #a0334b;
}
section.overlay .buy.active {
  display: block;
}
section.overlay .buy.active.go_top {
  top: 0;
}
section.overlay .buy {
  height: 100vh;
  width: 100%;
  top: 110vh;
  left: 0;
  position: absolute;
  z-index: 60;
  overflow: hidden;
  transition: 0.4s;
}
section.overlay .buy .wrapper {
  width: 100%;
  margin-top: 20vh;
  height: 80vh;
  position: relative;
  background-color: #d53a70;
}
section.overlay .buy .wrapper .buy_innar {
  height: 80vh;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
section.overlay .buy .wrapper .buy_innar div.user_date {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #d53a70;
}
section.overlay .buy .wrapper .buy_innar div.user_date p.user_diamonds {
  text-align: center;
  color: #FFFFFF;
  padding: 4vw 3vw 1vw;
  font-size: 3.7vw;
  width: 100%;
}
section.overlay .buy .wrapper .buy_innar div.user_date p.user_diamonds span {
  font-size: 4.8vw;
  color: #fffb1c;
  letter-spacing: 0.05em;
}
section.overlay .buy .wrapper .buy_innar div.user_date p.user_paid {
  text-align: center;
  color: rgba(255, 255, 255, 0.522);
  padding: 2vw 0 4vw;
  font-size: 3vw;
}
section.overlay .buy .wrapper .buy_innar div.user_date .campaign_banner {
  width: 100%;
  background-color: #d53a70;
  text-align: center;
  padding-bottom: 3vw;
}
section.overlay .buy .wrapper .buy_innar div.user_date .campaign_banner img {
  width: 90%;
  border-radius: 3vw;
}
section.overlay .buy .wrapper .buy_innar .buy_menu::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.overlay .buy .wrapper .buy_innar .buy_menu {
  padding-bottom: 10vw;
  background-color: #d53a70;
  text-align: center;
}
section.overlay .buy .wrapper .buy_innar .buy_menu li {
  display: inline-block;
  height: auto;
  width: 90vw;
  margin: 0 auto 3vw;
  text-align: center;
}
section.overlay .buy .wrapper .buy_innar .buy_menu li img {
  border-radius: 3vw;
  width: 100%;
}
section.overlay .buy .wrapper .buy_top {
  width: 100%;
  height: 23vw;
  text-align: center;
  position: relative;
  top: -23vw;
  left: 0;
  position: absolute;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 51%, #d53a70 52%, #d53a70);
  z-index: 21;
}
section.overlay .buy .wrapper .buy_top img.bt_bg {
  position: relative;
  padding-top: 5vw;
  width: 100%;
  opacity: 1;
  z-index: 22;
}
section.overlay .buy .wrapper .buy_top p.center_bt {
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/bt_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 38%;
  width: 23vw;
  height: 23vw;
  z-index: 29;
  color: #FFF;
  font-size: 3.6vw;
  letter-spacing: 0.1vw;
}
section.overlay .buy .wrapper .buy_top p.center_bt img {
  width: 55%;
  -webkit-touch-callout: none;
}
section.overlay .buy .wrapper .buy_top p.center_bt img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.overlay .guide_img.active {
  display: flex;
}
section.overlay .guide_img.active.fade_in {
  opacity: 1;
}
section.overlay .guide_img.active.fade_in .guide_img_inner {
  top: 0;
}
section.overlay .guide_img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 52;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.overlay .guide_img div.guide_img_inner {
  width: 80%;
  height: 80vh;
  transition: all 0.3s;
  position: relative;
  text-align: center;
  top: -250vw;
}
section.overlay .guide_img div.guide_img_inner img {
  border-radius: 5vw;
}
section.overlay .guide_img div.guide_img_inner img.guide_img2.active {
  display: flex;
}
section.overlay .guide_img div.guide_img_inner img.guide_img2.active.fade_in {
  opacity: 1;
}
section.overlay .guide_img div.guide_img_inner img.guide_img2 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  display: none;
  transition: all 0.2s;
}
section.overlay .guide.active {
  display: flex;
}
section.overlay .guide.active.fade_in {
  opacity: 1;
}
section.overlay .guide.active.fade_in div.guide_inner {
  top: -7vw;
}
section.overlay .guide {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  transition: all 0.3s;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.overlay .guide div.guide_inner {
  width: auto;
  height: auto;
  transition: all 0.5s;
  position: relative;
  text-align: center;
  top: -250vw;
}
section.overlay .guide div.guide_inner img.caption {
  width: 80%;
  height: auto;
}
section.overlay .guide div.guide_inner div.guide_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
section.overlay .guide div.guide_inner div.guide_close:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.overlay .guide div.guide_inner ul {
  width: 90%;
  font-size: 0;
  margin: 0 auto;
}
section.overlay .guide div.guide_inner ul li {
  display: inline-block;
  width: 44%;
  padding: 3%;
}
section.overlay .guide div.guide_inner ul li img {
  width: 100%;
  height: 100%;
}
section.overlay .guide div.guide_inner ul li img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.overlay .app_setting.active {
  display: flex;
}
section.overlay .app_setting.active.fade_in {
  opacity: 1;
}
section.overlay .app_setting.active.fade_in div.setting_inner {
  top: -7vw;
}
section.overlay .app_setting {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.overlay .app_setting div.setting_inner {
  width: 81vw;
  height: 114.9vw;
  border-radius: 5vw;
  background-image: url(https://oshimemo.com/api/img/common/header/app_set_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding: 3vw 4vw;
  transition: all 0.5s;
  top: -250vw;
}
section.overlay .app_setting div.setting_inner div.set_close {
  position: absolute;
  bottom: -11vw;
  left: 30.5vw;
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
section.overlay .app_setting div.setting_inner p.s_title {
  padding: 13vw 0 1.5vw 0.5vw;
  position: relative;
  border-bottom: 1px solid #d3b2b2;
  text-align: center;
}
section.overlay .app_setting div.setting_inner p.s_title img {
  height: 4vw;
}
section.overlay .app_setting div.setting_inner ul.set_menu {
  padding: 4vw 1vw 3.5vw;
  font-size: 0;
}
section.overlay .app_setting div.setting_inner ul.set_menu li {
  width: auto;
  height: auto;
  display: inline-block;
  margin-top: 1vw;
  margin-bottom: 1vw;
}
section.overlay .app_setting div.setting_inner ul.set_menu li div {
  width: 37.5vw;
  height: 9.6vw;
  border-radius: 2.5vw;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 1vw;
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.push_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt1_off.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.line_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt2_off.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.mail_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt3_off.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.twitter_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt2.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.dia_a {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt7.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.announce {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt3.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.tutorial {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt4.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.help {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt5.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li div.app_a {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt6.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li.on div.push_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt1_on.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li.on div.line_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt2_on.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li.on div.mail_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/push_bt3_on.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li.on div.twitter_switch {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt2_on.png);
}
section.overlay .app_setting div.setting_inner ul.set_menu li.on div.dia_a {
  background-image: url(https://oshimemo.com/api/img/common/header/set_bt7_on.png);
}
section.overlay .app_setting div.setting_inner ul.sound {
  padding: 3vw 0 4vw;
  border-bottom: 1px solid #d3b2b2;
  font-size: 0;
}
section.overlay .app_setting div.setting_inner ul.sound li {
  padding: 1vw 3vw;
}
section.overlay .app_setting div.setting_inner ul.sound li div {
  width: 27vw;
  height: 8.7vw;
  border-radius: 2.5vw;
  margin: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.overlay .app_setting div.setting_inner ul.sound li div.sound_switch_1 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t1_off.png);
}
section.overlay .app_setting div.setting_inner ul.sound li div.sound_switch_2 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t2_off.png);
}
section.overlay .app_setting div.setting_inner ul.sound li div.sound_switch_3 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t3_off.png);
}
section.overlay .app_setting div.setting_inner ul.sound li input[type="range"] {
  margin: auto;
  -webkit-appearance: none;
  position: relative;
  overflow: hidden;
  height: 4vw;
  width: 45vw;
  cursor: pointer;
  border-radius: 3vw;
  bottom: 2vw;
  left: 2vw;
}
section.overlay .app_setting div.setting_inner ul.sound li ::-webkit-slider-runnable-track {
  background: #ddd;
}
section.overlay .app_setting div.setting_inner ul.sound li ::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 4vw;
  /* 1 */
  height: 4vw;
  background: #4b4b4b;
  border-radius: 50%;
  box-shadow: -102vw 0 0 100vw #999999;
  box-sizing: border-box;
  transition: all 0.2s;
}
section.overlay .app_setting div.setting_inner ul.sound li.on div.sound_switch_1 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t1.png);
}
section.overlay .app_setting div.setting_inner ul.sound li.on div.sound_switch_2 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t2.png);
}
section.overlay .app_setting div.setting_inner ul.sound li.on div.sound_switch_3 {
  background-image: url(https://oshimemo.com/api/img/common/header/set_t3.png);
}
section.overlay .app_setting div.setting_inner ul.sound li.on div.sound_switch {
  background-color: #fbdee5;
  color: #b54b6e;
}
section.overlay .app_setting div.setting_inner ul.sound li.on ::-webkit-slider-runnable-track {
  background: #ddd;
}
section.overlay .app_setting div.setting_inner ul.sound li.on ::-webkit-slider-thumb {
  background: #ec4169;
  box-shadow: -102vw 0 0 100vw #ffc4d7;
}
section.prologue.active {
  top: 0;
}
section.prologue {
  height: 100vh;
  width: 100%;
  left: 0;
  position: absolute;
  z-index: 60;
  top: 110vh;
  overflow: hidden;
  transition: all 0.4s;
}
section.prologue .wrapper {
  width: 100%;
  margin-top: 10vh;
  height: 90vh;
  position: relative;
  background-color: #121212;
}
section.prologue .wrapper .stand_bg {
  position: absolute;
  top: 0;
  right: -35vw;
  width: 100vw;
  opacity: 0.25;
}
section.prologue .wrapper .pro_top {
  width: 100%;
  height: 20vw;
  text-align: center;
  position: relative;
  top: -20vw;
  left: 0;
  position: absolute;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 51%, #121212 52%, #121212);
  z-index: 21;
}
section.prologue .wrapper .pro_top img.bt_bg {
  position: relative;
  padding-top: 5vw;
  width: 100%;
  opacity: 1;
  z-index: 22;
}
section.prologue .wrapper .pro_top p.close_bt {
  position: absolute;
  top: 7vw;
  right: 3vw;
  width: 13vw;
  height: 13vw;
  z-index: 29;
  color: #FFF;
  font-size: 3.6vw;
  letter-spacing: 0.1vw;
}
section.prologue .wrapper .pro_top p.close_bt img {
  width: 100%;
}
section.prologue .wrapper .pro_top p.close_bt img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.prologue p.pro_title {
  width: 100%;
  margin: 0 auto;
  font-size: 3.7vw;
  color: #FFF;
  text-align: center;
  position: relative;
}
section.prologue p.pro_title img {
  width: 80%;
}
section.prologue div.pro_text::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.prologue div.pro_text {
  height: 60vh;
  padding: 2vw 6.9vw 100vw;
  font-size: 3.38vw;
  line-height: 1.9em;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  color: #FFF;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  position: relative;
}
section.prologue div.pro_text p.love_bt {
  padding: 5vw 0 20vw;
}
section.prologue div.pro_text p.love_bt img {
  width: 100%;
}
section.prologue div.s_pro_text::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.prologue div.s_pro_text {
  height: 60vh;
  padding: 2vw 6.9vw 100vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
section.prologue div.s_pro_text p {
  font-size: 3.38vw;
  line-height: 1.9em;
  color: #FFF;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
section.prologue div.s_pro_text .girl_1,
section.prologue div.s_pro_text .girl_2,
section.prologue div.s_pro_text .girl_3,
section.prologue div.s_pro_text .girl_4 {
  display: none;
  padding-bottom: 25vw;
}
#step1_back {
  display: none;
}
#step2_back {
  display: none;
}
#step3_back {
  display: none;
}
#step3a_back {
  display: none;
}
#step3b_back {
  display: none;
}
header {
  width: 100%;
  z-index: 30;
  background: transparent;
}
header section.product::-webkit-scrollbar {
  display: none;
}
header section.startpage_head.active {
  display: block;
  animation: s_fade_in 0.5s ease-in-out forwards;
}
header section.startpage_head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: right;
  z-index: 50;
  opacity: 0;
  display: none;
}
header section.startpage_head header {
  width: 100vw;
}
header section.startpage_head div div.start_nav_bt.active,
header section.startpage_head div div.start_nav_bt2.active {
  display: inline-block;
  animation: s_fade_in 0.5s ease-in-out forwards;
}
header section.startpage_head div div.start_nav_bt.active.inactive,
header section.startpage_head div div.start_nav_bt2.active.inactive {
  animation: s_fade_out 0.5s ease-in-out forwards;
}
header section.startpage_head div div.start_nav_bt {
  display: none;
  opacity: 0;
  margin: 1.5vw;
  border-radius: 1.5vw;
  height: 10vw;
  width: 10vw;
}
header section.startpage_head div div.start_nav_bt img {
  width: 100%;
}
header section.startpage_head div div.start_nav_bt2 {
  display: none;
  opacity: 0;
  margin: 1.5vw;
  border-radius: 1.5vw;
  height: 10vw;
  width: 10vw;
}
header section.startpage_head div div.start_nav_bt2 img {
  width: 100%;
}
header section.product.active {
  display: block;
}
header section.product.active.fade_in {
  opacity: 1;
}
header section.product.active.fade_in.fade_out {
  opacity: 0;
}
header section.product {
  position: absolute;
  overflow-y: scroll;
  overflow-x: hidden;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 52;
  font-size: 0;
  background-color: #ffffff;
  display: none;
  opacity: 0;
  transition: all 0.2s;
}
header section.product header {
  background: #f27578;
}
header section.product header div {
  width: 100vw;
  height: 13.4vw;
  background-image: url(https://oshimemo.com/api/img/information/product/header_bg.png);
  position: relative;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  background-color: transparent;
  z-index: 53;
  text-align: right;
}
header section.product header div img.close_bt {
  padding: 1vw 1vw 0 0;
  height: 9vw;
  width: 9vw;
}
header section.product div.main {
  height: auto;
  position: relative;
  font-size: 10vw;
  background-color: #ffffff;
  margin-top: -3vw;
}
header section.product div.main div.product_details {
  width: 40vw;
  height: auto;
  display: inline-block;
  padding: 5vw 2vw 5vw 6vw;
}
header section.product div.main div.product_details p {
  font-size: 3vw;
  line-height: 1.2em;
  padding-top: 3.2vw;
  color: #333;
}
header section.product div.main div.product_details p span {
  display: block;
  font-size: 4.3vw;
  padding-top: 1vw;
  color: #ac6d6d;
}
header section.product div.main div.product_cast {
  width: 44vw;
  height: auto;
  display: inline-block;
  padding: 5vw 0vw 5vw 2vw;
  vertical-align: top;
}
header section.product div.main div.product_cast p {
  font-size: 3vw;
  line-height: 1.2em;
  padding-top: 3.2vw;
  color: #333;
}
header section.product div.main div.product_cast p span {
  display: block;
  font-size: 3.7vw;
  padding-top: 1vw;
  color: #ac6d6d;
}
header section.product div.main div.product_top {
  width: 100%;
  height: 90vw;
  background-image: url(https://oshimemo.com/api/img/information/product/top_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  padding-top: 8vw;
  text-align: center;
}
header section.product div.main div.product_top img {
  width: 70%;
}
header section.product div.main div.product_top img.text_2 {
  padding-top: 15vw;
  width: 90%;
}
header section.product div.main img.film_img {
  width: 100%;
}
header section.product div.main p.text {
  width: 90vw;
  text-align: left;
  color: #63292a;
  font-size: 4.7vw;
  line-height: 1.9em;
  padding: 2vw 5vw;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
header section.product div.main p.text img {
  width: 70%;
  padding-bottom: 5vw;
}
header section.product div.footer {
  width: 100vw;
  height: 12.5vw;
  background-image: url(https://oshimemo.com/api/img/information/product/footer_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
header section.info.active {
  display: flex;
}
header section.info.active.fade_in {
  opacity: 1;
}
header section.info.active.fade_in .info_inner {
  top: -7vw;
}
header section.info {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(83, 8, 27, 0.747);
  z-index: 52;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
header section.info .info_inner {
  width: 84vw;
  height: 105vw;
  border-radius: 5vw;
  transition: all 0.5s;
  background-image: url(https://oshimemo.com/api/img/common/main/info_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  top: -180vw;
}
header section.info .info_inner .info_close {
  background: transparent;
  width: 34vw;
  height: auto;
  position: absolute;
  bottom: -17.5vw;
  left: 25vw;
}
header section.info .info_inner .info_close img {
  width: 100%;
}
header section.info .info_inner .info_details {
  background: transparent;
  width: 75vw;
  height: 72.7vw;
  position: absolute;
  top: 23.5vw;
  left: 2vw;
  padding: 0 2.5vw 2.5vw;
  overflow-y: scroll;
}
header section.info .info_inner .info_details p {
  font-size: 3.75vw;
  line-height: 1.2em;
  padding-top: 3.2vw;
  color: #333;
}
header section.info .info_inner .info_details p span {
  display: block;
  font-size: 3vw;
  padding-bottom: 0.7vw;
  color: #ac6d6d;
}
header section.info .info_inner .info_details p.more {
  font-size: 3.75vw;
  line-height: 1.2em;
  margin: 3.4vw auto 0;
  color: #333;
  text-align: center;
  background-color: hsla(0, 28%, 55%, 0.712);
  color: #FFF;
  padding: 1vw;
  border-radius: 2vw;
  width: 28vw;
}
header section.info .info_inner .info_details p.more span {
  display: block;
  font-size: 3vw;
  padding-bottom: 0.7vw;
  color: #ac6d6d;
}
header .item_use.active {
  display: flex;
}
header .item_use.active.fade_in {
  opacity: 1;
}
header .item_use.active.fade_in .item_inner {
  top: -10vw;
}
header .item_use {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.2s;
}
header .item_use div.item_inner {
  width: 65vw;
  height: auto;
  transition: all 0.5s;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 5vw;
  padding-bottom: 5vw;
  top: -250vw;
  text-align: center;
  transition: all 0.3s;
}
header .item_use div.item_inner img.select_item {
  border-radius: 3vw;
  width: 30vw;
}
header .item_use div.item_inner p.item_name {
  font-size: 4vw;
  margin: 3.5vw auto 3vw;
  color: #333;
}
header .item_use div.item_inner p.item_text {
  font-size: 3.6vw;
  width: 100%;
  min-height: 26vw;
  height: auto;
  background-color: #e9e9e9;
  padding: 3vw;
  text-align: left;
  line-height: 5.3vw;
  color: #333;
}
header .item_use div.item_inner p.caution {
  padding-top: 1vw;
  width: 100%;
  text-align: center;
  font-size: 3vw;
  color: rgba(219, 39, 78, 0.89);
}
header .item_use div.item_inner p.i_price {
  position: absolute;
  top: 25vw;
  right: 15vw;
  color: #fff;
  background: rgba(219, 39, 78, 0.89);
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
}
header .item_use div.item_inner p.i_price img {
  height: 3vw;
  padding-right: 0.5vw;
}
header .item_use div.item_inner div.i_use {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  bottom: -14vw;
  right: 3vw;
  background-image: url(https://oshimemo.com/api/img/item/use_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
header .item_use div.item_inner div.i_use_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  bottom: -14vw;
  left: 3vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
header .item_buy.active {
  display: flex;
}
header .item_buy.active.fade_in {
  opacity: 1;
}
header .item_buy.active.fade_in .item_inner {
  top: -10vw;
}
header .item_buy {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.2s;
}
header .item_buy div.item_inner {
  width: 65vw;
  height: auto;
  transition: all 0.4s;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 5vw;
  padding-bottom: 5vw;
  top: -250vw;
  text-align: center;
}
header .item_buy div.item_inner img.select_item {
  border-radius: 3vw;
  width: 30vw;
}
header .item_buy div.item_inner p.item_name {
  font-size: 4vw;
  margin: 3.5vw auto 1.5vw;
  color: #333;
}
header .item_buy div.item_inner p.item_text {
  font-size: 3.6vw;
  width: 100%;
  min-height: 26vw;
  height: auto;
  background-color: #e9e9e9;
  padding: 3vw;
  text-align: left;
  line-height: 5.3vw;
  color: #333;
}
header .item_buy div.item_inner p.caution {
  padding-top: 1vw;
  width: 100%;
  text-align: center;
  font-size: 3vw;
  color: rgba(219, 39, 78, 0.89);
}
header .item_buy div.item_inner p.price {
  font-size: 6vw;
  line-height: 9vw;
  margin: 0 auto 2vw;
  color: #333;
}
header .item_buy div.item_inner p.price img {
  height: 9vw;
  padding-right: 1.5vw;
}
header .item_buy div.item_inner p.poss {
  position: absolute;
  top: 25vw;
  right: 15vw;
  color: #fff;
  background: rgba(219, 39, 78, 0.89);
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
}
header .item_buy div.item_inner p.poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
header .item_buy div.item_inner div.i_buy {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  bottom: -14vw;
  right: 3vw;
  background-image: url(https://oshimemo.com/api/img/shop/i_buy.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
header .item_buy div.item_inner div.i_buy_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  bottom: -14vw;
  left: 3vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
header .confirm.active {
  display: flex;
}
header .confirm.active.fade_in {
  opacity: 1;
}
header .confirm {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.815);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
header .confirm div.confirm_inner.active {
  top: -10vw;
}
header .confirm div.confirm_inner {
  width: 75vw;
  height: auto;
  transition: all 0.5s;
  position: relative;
  background-color: #ffffff;
  border-radius: 3vw;
  padding-bottom: 5vw;
  top: -250vw;
  text-align: center;
}
header .confirm div.confirm_inner p.title {
  font-size: 5.5vw;
  margin: 5vw auto 3vw;
  color: #d8001d;
  font-weight: bold;
}
header .confirm div.confirm_inner p.caption {
  border-top: solid 1px #d8001d;
  font-size: 5vw;
  margin: 3vw auto 0;
  color: #d8001d;
  padding: 3vw 0 1vw;
  margin: 0 4vw;
}
header .confirm div.confirm_inner p.caution {
  border-top: solid 1px #d8001d;
  font-size: 4.3vw;
  padding: 3vw 0;
  text-align: left;
  line-height: 6.3vw;
  color: #242424;
  margin: 0 4vw;
}
header .confirm div.confirm_inner div.leave_set {
  display: block;
  position: absolute;
  bottom: -14vw;
  right: 3vw;
  width: 33vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  padding: 3vw 0;
  border-radius: 3vw;
  background-color: #db274e;
  font-size: 4vw;
  text-align: center;
  color: #FFFFFF;
  line-height: 1em;
}
header .confirm div.confirm_inner div.i_buy_close {
  position: absolute;
  bottom: -14vw;
  left: 3vw;
  display: block;
  width: 33vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  padding: 3vw 0;
  border-radius: 3vw;
  background-color: #5e5e5e;
  font-size: 4vw;
  text-align: center;
  color: #FFFFFF;
  line-height: 1em;
}
header .nav_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), #000000);
  height: 21vw;
  width: 100%;
}
header .head_bg.inactive {
  top: -30vw;
}
header .head_bg {
  transition: all 0.3s;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  background-image: linear-gradient(0deg, rgba(255, 133, 173, 0), #ff85ad);
  height: 13vw;
  width: 100%;
  text-align: center;
}
header .head_talk_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-image: linear-gradient(0deg, rgba(255, 133, 173, 0), #ff9bbc);
  height: 21vw;
  width: 100%;
  animation: fade_in2 2s ease-in-out forwards;
}
header .home_talk.active {
  display: block;
}
header .home_talk.active.fade_in {
  top: 3vw;
}
header .home_talk {
  margin: 0 auto;
  position: relative;
  top: -80vw;
  display: none;
  width: 86vw;
  height: 29vw;
  background-image: url(https://oshimemo.com/api/img/common/header/home_talk_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s;
}
header .home_talk .girls_message {
  position: relative;
  width: 80vw;
  border-radius: 2vw;
  padding: 6.8vw 2vw 3vw 4vw;
}
header .home_talk .girls_message .message_s {
  width: 100%;
  font-size: 3.85vw;
  line-height: 1.4em;
  color: #e63063;
  text-shadow: 0 0 14px #ffe3f7, 0 0 14px #ffe3f7, 0 0 10px #ffe3f7, 0 0 8px #ffe3f7;
  height: 4em;
  padding-right: 2vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .home_talk .girls_message .message_l {
  width: 100%;
  font-size: 3.85vw;
  line-height: 1.4em;
  color: #e63063;
  text-shadow: 0 0 14px #ffe3f7, 0 0 14px #ffe3f7, 0 0 10px #ffe3f7, 0 0 8px #ffe3f7;
  height: 4em;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  padding-right: 2vw;
}
header .home_talk .girls_message .message_l::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
header .home_talk .girls_message figure {
  width: 8vw;
  height: 8vw;
  position: absolute;
  top: -5vw;
  left: 2vw;
}
header .home_talk .girls_message figure img {
  width: auto;
  height: 10vw;
}
header .home_talk .girls_message span {
  position: absolute;
  top: -3vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fdffa1;
  width: 8vw;
  height: 8vw;
  line-height: 4vw;
  font-size: 3.8vw;
}
header .home_talk .girls_message span:before {
  content: "次を表示 >>";
  position: absolute;
  top: 3.5vw;
  width: 21vw;
  right: 3.5vw;
  text-align: left;
  color: #d684a1;
  line-height: 4vw;
  font-size: 3vw;
}
header .home_talk div.score {
  position: absolute;
  top: 0.5vw;
  left: 14vw;
  font-size: 3.7vw;
  line-height: 4vw;
  color: #fff8b8;
  text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
  letter-spacing: 0.2em;
}
header .home_talk div.score img {
  width: auto;
  height: 3.7vw;
  padding-right: 1vw;
}
header .home_talk p.time {
  position: absolute;
  bottom: -2vw;
  right: 1.5em;
  color: #ffa5c5;
  font-size: 3.5vw;
  letter-spacing: 0.1em;
}
header .uesr_rp {
  background-image: url(https://oshimemo.com/api/img/common/header/home_talk_bg_r.png);
}
header .uesr_rp .girls_message .message_s {
  color: #162c68;
  text-shadow: 0 0 14px #fff, 0 0 14px #fff, 0 0 10px #fff, 0 0 8px #fff;
}
header .uesr_rp .girls_message .message_l {
  color: #162c68;
  text-shadow: 0 0 14px #fff, 0 0 14px #fff, 0 0 10px #fff, 0 0 8px #fff;
}
header .uesr_rp .girls_message figure {
  display: none;
}
header .uesr_rp p.time {
  color: #73a1be;
}
header .girl_board {
  margin: 1.5vw 3vw 0;
  position: relative;
  top: 0;
  width: 94vw;
  border-radius: 3vw;
  z-index: 10;
}
header .girl_board ul.girl_board_bt {
  margin: 0 auto;
  width: 92%;
  text-align: center;
}
header .girl_board ul.girl_board_bt li {
  opacity: 0.4;
  display: inline-block;
  width: 49%;
}
header .girl_board ul.girl_board_bt li img {
  height: auto;
  width: 100%;
  border-radius: 2vw;
}
header .girl_board ul.girl_board_bt li.active {
  opacity: 1;
}
header .board.active {
  display: block;
  animation: board_active 0.3s ease-in-out forwards;
}
header .board.active.inactive {
  animation: board_inactive 0.2s ease-in forwards;
}
header .board {
  margin: 1.5vw 7vw 0;
  position: relative;
  top: -100vw;
  width: 86vw;
  border-radius: 3vw;
  display: none;
  /*slick setting*/
}
header .board * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
header .board .slider {
  margin: 0 auto;
  width: 85%;
}
header .board .slider img {
  height: auto;
  width: 100%;
  border-radius: 2vw;
}
header .board .slick-prev:before,
header .board .slick-next:before {
  color: #ffffff;
}
header .board .close_bt {
  position: absolute;
  top: 1vw;
  right: 8vw;
}
header .board .close_bt img {
  width: 5vw;
  height: 5vw;
}
header .controller.inactive {
  top: -20vw;
}
header .controller {
  position: relative;
  z-index: 10;
  height: 13vw;
  width: 100%;
  top: 0;
  transition: all 0.4s;
}
header .controller div {
  width: 13vw;
  height: 13vw;
  overflow: hidden;
}
header .controller div.status_area.inactive {
  opacity: 0;
}
header .controller div.status_area {
  width: 74vw;
  height: 9vw;
  text-align: center;
  padding-top: 2vw;
  float: right;
  transition: all 0.3s;
  opacity: 1;
}
header .controller div.status_area p.u_status {
  width: auto;
  display: inline-block;
  font-size: 3.6vw;
  line-height: 8vw;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding: 0 1.5vw;
  font-weight: bold;
}
header .controller div.status_area p.u_status img {
  height: 8vw;
}
header .controller .back_bt {
  float: left;
  background-image: linear-gradient(to bottom, rgba(253, 128, 155, 0.171), rgba(219, 39, 78, 0.435));
  transform: scale(0.8, 0.8);
  border-radius: 1.5vw;
}
header .controller .back_bt p {
  position: relative;
  top: 3.5vw;
  left: 5vw;
  width: 5vw;
  height: 5vw;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: all 0.4s;
}
header .controller .back_bt:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
header .controller .nav_bt.active {
  background-image: none;
}
header .controller .nav_bt {
  float: right;
  position: relative;
  width: 13vw;
  height: 13vw;
  border-radius: 1.5vw;
  background-image: linear-gradient(to bottom, rgba(253, 128, 155, 0.171), rgba(219, 39, 78, 0.435));
  transform: scale(0.8, 0.8);
}
header .controller .nav_bt .c-trig,
header .controller .nav_bt .c-trig span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header .controller .nav_bt .c-trig span {
  position: absolute;
  left: 1.7vw;
  width: 9vw;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
header .controller .nav_bt .c-trig span:nth-of-type(1) {
  top: 6vw;
  transform: rotate(45deg);
}
header .controller .nav_bt .c-trig span:nth-of-type(2) {
  top: 6vw;
  transform: rotate(-45deg);
}
header .controller .nav_bt .m-trigger,
header .controller .nav_bt .m-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header .controller .nav_bt .m-trigger span {
  position: absolute;
  left: 2.5vw;
  width: 8vw;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
header .controller .nav_bt .m-trigger span:nth-of-type(1) {
  top: 3.2vw;
}
header .controller .nav_bt .m-trigger span:nth-of-type(2) {
  top: 6vw;
}
header .controller .nav_bt .m-trigger span:nth-of-type(3) {
  bottom: 3.2vw;
}
.heart_change_opning {
  position: absolute;
  left: -200vw;
  top: 0;
  height: 100vh;
  width: 500vw;
  z-index: 50;
  align-items: center;
  justify-content: center;
  display: flex;
}
.heart_change_opning img.opning_bg {
  width: 500vw;
  height: auto;
  opacity: 1;
}
.heart_change {
  position: absolute;
  left: -200vw;
  top: 0;
  height: 100vh;
  width: 500vw;
  z-index: 51;
  align-items: center;
  justify-content: center;
  display: none;
}
.heart_change img.over_bg {
  width: 1vw;
  height: auto;
  opacity: 0.8;
}
header.talk_head,
.dress_head {
  position: absolute;
  top: 0;
  left: 0;
}
header.talk_head .topboder,
.dress_head .topboder {
  position: relative;
}
header.talk_head .topboder img,
.dress_head .topboder img {
  width: 100%;
}
header.talk_head .topboder div.title_img,
.dress_head .topboder div.title_img {
  width: 46vw;
  position: absolute;
  top: -11.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.talk_head .topboder div.title_img img,
.dress_head .topboder div.title_img img {
  width: 46vw;
}
header.talk_head div.back_bt,
.dress_head div.back_bt {
  float: left;
  border-radius: 1.5vw;
  background-image: linear-gradient(to bottom, rgba(253, 128, 155, 0.171), rgba(219, 39, 78, 0.435));
  transform: scale(0.8, 0.8);
}
header.talk_head div.back_bt p,
.dress_head div.back_bt p {
  position: relative;
  top: 3.5vw;
  left: 5vw;
  width: 5vw;
  height: 5vw;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: all 0.4s;
}
header.talk_head .back_bt:active,
.dress_head .back_bt:active {
  transform: scale(0.9, 0.9);
  transition: all 0.2s;
}
header.talk_head .nav_bt,
.dress_head .nav_bt {
  border-radius: 1.5vw;
  background-image: linear-gradient(to bottom, rgba(253, 128, 155, 0.171), rgba(219, 39, 78, 0.435));
  transform: scale(0.8, 0.8);
}
header.talk_head .nav_bt .c-trig span,
.dress_head .nav_bt .c-trig span {
  position: absolute;
  left: 2vw;
  width: 9vw;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
header.talk_head .nav_bt .m-trigger,
.dress_head .nav_bt .m-trigger,
header.talk_head .nav_bt .m-trigger span,
.dress_head .nav_bt .m-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header.talk_head .nav_bt .m-trigger span,
.dress_head .nav_bt .m-trigger span {
  position: absolute;
  left: 2.5vw;
  width: 8vw;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
header.talk_head .nav_bt .m-trigger span:nth-of-type(1),
.dress_head .nav_bt .m-trigger span:nth-of-type(1) {
  top: 3.2vw;
}
header.talk_head .nav_bt .m-trigger span:nth-of-type(2),
.dress_head .nav_bt .m-trigger span:nth-of-type(2) {
  top: 6vw;
}
header.talk_head .nav_bt .m-trigger span:nth-of-type(3),
.dress_head .nav_bt .m-trigger span:nth-of-type(3) {
  bottom: 3.2vw;
}
main {
  width: 100%;
  flex-basis: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
  background-color: #ffe1eb;
  z-index: 1;
}
main .option_area.inactive {
  right: -11vw;
}
main .option_area {
  width: 9.5vw;
  position: absolute;
  bottom: 32vw;
  right: 3vw;
  z-index: 4;
  text-align: left;
  transition: all 0.4s;
}
main .option_area li {
  padding-top: 1.5vw;
  position: relative;
  right: 0;
  cursor: pointer;
}
main .option_area li span {
  position: absolute;
  top: -1vw;
  right: -1.7vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 5.5vw;
  height: 5.5vw;
  line-height: 4vw;
  font-size: 0;
}
main .option_area img {
  width: 100%;
}
main .option_area img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main .option_area .board_open.active {
  left: 0;
}
main .option_area .board_open {
  left: 30vw;
  transition: all 0.2s;
}
main .option_area .info_open.active {
  right: 0;
}
main .option_area .info_open {
  right: -40vw;
  transition: all 0.2s;
}
@keyframes clear_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes clear_caption {
  0% {
    opacity: 0;
    transform: scale(0, 0) translate(0, -50vw);
  }
  20% {
    opacity: 1;
    transform: scale(1, 1) translate(0, 0);
  }
  21% {
    opacity: 1;
    transform: scale(0.95, 0.95);
  }
  22% {
    opacity: 1;
    transform: scale(1, 1);
  }
  23% {
    opacity: 1;
    transform: scale(0.95, 0.95);
  }
  24% {
    opacity: 1;
    transform: scale(1, 1);
  }
  80% {
    opacity: 1;
    transform: scale(1, 1);
    width: 80%;
  }
  100% {
    opacity: 0;
    transform: scale(0, 0) translate(0, 50vw);
    width: 0;
  }
}
@keyframes clear_inner {
  0% {
    opacity: 0;
    width: 0;
    top: -250vw;
  }
  1% {
    opacity: 0;
    width: 80%;
    top: -250vw;
  }
  20% {
    opacity: 1;
    width: 80%;
    top: 0;
  }
  24% {
    opacity: 1;
    width: 80%;
    top: -3vw;
  }
  28% {
    opacity: 1;
    width: 80%;
    top: 0;
  }
  32% {
    opacity: 1;
    width: 80%;
    top: -1vw;
  }
  36% {
    opacity: 1;
    width: 80%;
    top: 0;
  }
  100% {
    opacity: 1;
    width: 80%;
    top: 0;
  }
}
@keyframes fade_in3 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade_in4 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes s_fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes s_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade_in2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
  }
}
@keyframes w_out {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes user_send {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0.8;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade_in {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes board_active {
  0% {
    top: -30vw;
  }
  100% {
    top: 0;
  }
}
@keyframes board_inactive {
  0% {
    top: 0;
  }
  100% {
    top: -30vw;
  }
}
@keyframes us_action {
  0% {
    opacity: 0;
    transform: scale(0, 0) translate(0, 0);
  }
  50% {
    opacity: 1;
    transform: scale(1, 1) translate(-5vw, -5vw);
  }
  60% {
    opacity: 0.4;
    transform: scale(1, 1) translate(-5vw, -5vw);
  }
  70% {
    opacity: 1;
    transform: scale(1, 1) translate(-5vw, -5vw);
  }
  80% {
    opacity: 0.4;
    transform: scale(1, 1) translate(-5vw, -5vw);
  }
  100% {
    opacity: 0;
    transform: scale(1, 1) translate(-5vw, -5vw);
  }
}
@keyframes quake {
  0% {
    transform: scale(1, 1) translate(0px, 0px) rotateZ(0deg);
  }
  4% {
    transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
  }
  8% {
    transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
  }
  12% {
    transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
  }
  16% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  20% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  24% {
    transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
  }
  28% {
    transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
  }
  32% {
    transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
  }
  36% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  40% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  44% {
    transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
  }
  48% {
    transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
  }
  52% {
    transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
  }
  56% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  60% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  64% {
    transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
  }
  68% {
    transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
  }
  72% {
    transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
  }
  76% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  80% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  84% {
    transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
  }
  88% {
    transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
  }
  92% {
    transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
  }
  96% {
    transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
  }
  100% {
    transform: scale(1, 1) translate(0px, 0px) rotateZ(0deg);
  }
}
[data-effect="quake"] {
  animation: quake 1s 1 ease-in-out forwards;
}
[data-effect="fade_in"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100vw;
  height: 100vh;
  animation: fade_in 2s ease-in-out forwards;
  z-index: 200;
}
[data-effect="black_out"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  width: 100vw;
  height: 100vh;
  animation: w_out 2s ease-in-out forwards;
  z-index: 4;
}
[data-effect="white_out"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100vw;
  height: 100vh;
  animation: w_out 2s ease-in-out forwards;
  z-index: 4;
}
[data-effect="user_send"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  animation: user_send 2s ease-in-out forwards;
  z-index: 4;
}
[data-effect="user_send"]::after {
  content: "";
  position: absolute;
  background-image: url(https://oshimemo.com/api/img/talk/action.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 13vw;
  height: 13vw;
  bottom: 153vw;
  left: 30vw;
  z-index: 5;
  animation: us_action 1s ease-in-out forwards;
}
.home,
.talk,
.du_main {
  font-size: 0;
}
.home canvas,
.talk canvas,
.du_main canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}
.home .home_s_message.active.fade_in,
.talk .home_s_message.active.fade_in,
.du_main .home_s_message.active.fade_in {
  opacity: 1;
}
.home .home_s_message.active,
.talk .home_s_message.active,
.du_main .home_s_message.active {
  display: block;
}
.home .home_s_message,
.talk .home_s_message,
.du_main .home_s_message {
  border-radius: 2vw;
  padding: 3vw;
  width: 40vw;
  position: absolute;
  bottom: 37vw;
  font-size: 3.6vw;
  right: 3vw;
  z-index: 2;
  display: none;
  opacity: 0;
  color: #1d1515;
  background-color: rgba(255, 255, 255, 0.8);
}
.home .home_s_message::before,
.talk .home_s_message::before,
.du_main .home_s_message::before {
  content: "送信済み";
  padding: 0;
  color: #b3b3b3;
  position: absolute;
  bottom: 0.5vw;
  font-size: 3vw;
  right: 0.5vw;
}
.home .level_area.inactive,
.talk .level_area.inactive,
.du_main .level_area.inactive {
  left: -38vw;
}
.home .level_area,
.talk .level_area,
.du_main .level_area {
  width: 22vw;
  height: 20vw;
  position: absolute;
  bottom: 28vw;
  left: 3vw;
  z-index: 5;
  text-align: left;
  transition: all 0.4s;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg_f.png?20220901);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
.home .level_area div.favorability,
.talk .level_area div.favorability,
.du_main .level_area div.favorability {
  margin: 2vw;
  width: 18vw;
  height: 16vw;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  -webkit-mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s;
}
.home .level_area div.favorability .measure,
.talk .level_area div.favorability .measure,
.du_main .level_area div.favorability .measure {
  background-color: rgba(255, 255, 255, 0.459);
  width: 22vw;
  height: 16vw;
  position: absolute;
  left: -2vw;
  animation: measure_anime 5s linear infinite;
  border-bottom-right-radius: 50% 1vw;
  border-bottom-left-radius: 50% 1vw;
}
.home .level_area div.favorability p.level,
.talk .level_area div.favorability p.level,
.du_main .level_area div.favorability p.level {
  color: #fff;
  font-size: 7.5vw;
  font-weight: bold;
  position: relative;
  top: -0.5vw;
  text-shadow: 0 0 7px #ffee00;
}
.home .level_area div.favorability p.level:active,
.talk .level_area div.favorability p.level:active,
.du_main .level_area div.favorability p.level:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
.talk .chara_body,
.home .chara_body,
.du_main .chara_body {
  position: absolute;
  width: 100%;
  left: 0px;
  top: 0px;
  z-index: 2;
}
.talk .chara_face,
.home .chara_face,
.du_main .chara_face {
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 3;
}
.talk .still_image,
.home .still_image,
.du_main .still_image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0;
  z-index: 4;
  object-fit: cover;
}
.talk .chisaki_up,
.home .chisaki_up,
.du_main .chisaki_up {
  transform: scale(1.8) translateY(60px) translateX(16px);
}
.talk .miyamu_up,
.home .miyamu_up,
.du_main .miyamu_up {
  transform: scale(1.9) translateY(47px) translateX(5px);
}
.talk .reika_up,
.home .reika_up,
.du_main .reika_up {
  transform: scale(1.8) translateY(70px) translateX(0px);
}
.talk .tia_up,
.home .tia_up,
.du_main .tia_up {
  transform: scale(1.87) translateY(67px) translateX(5px);
}
.talk .yukariko_up,
.home .yukariko_up,
.du_main .yukariko_up {
  transform: scale(1.79) translateY(75px) translateX(0px);
}
@keyframes measure_anime {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-6deg);
  }
  75% {
    transform: rotate(6deg);
  }
}
footer {
  width: 100%;
  z-index: 20;
  position: absolute;
  bottom: 0;
  left: 0;
}
footer .startup_select_footer {
  width: 100%;
  position: absolute;
  top: 40vw;
  transition: all 0.3s;
}
footer .startup_select_footer.active {
  top: -10vw;
}
footer .home_talk_form.active {
  display: block;
}
footer .home_talk_form.active.fade_in {
  top: 0;
}
footer .home_talk_form {
  position: relative;
  display: none;
  z-index: 21;
  top: 60vw;
  transition: all 0.3s;
}
footer .home_talk_form div.talk_close {
  width: 100%;
  cursor: pointer;
  text-align: center;
  padding-bottom: 4vw;
  font-size: 3vw;
}
footer .home_talk_form div.talk_close p {
  padding: 2vw 3vw;
  width: auto;
  background-color: rgba(255, 255, 255, 0.4);
  display: inline-block;
  border-radius: 2vw;
  letter-spacing: 0.1vw;
}
footer .home_talk_form ul.talk_tab {
  font-size: 0;
  margin-left: 2vw;
}
footer .home_talk_form ul.talk_tab li {
  display: inline-block;
  width: auto;
  font-size: 3vw;
  background-color: #611235;
  color: #fff;
  padding: 2vw 2vw 1.5vw;
  border-radius: 3vw 3vw 0 0;
  margin: 0 0.5vw;
}
footer .home_talk_form ul.talk_tab li img {
  width: auto;
  height: 3.3vw;
}
footer .home_talk_form ul.talk_tab li.item {
  background-color: #e82666;
}
footer .home_talk_form ul.talk_tab li.shop {
  background-color: #af296b;
}
footer .home_talk_form ul.talk_tab li.details {
  background-color: #843897;
}
footer .home_talk_form div.send_area {
  width: 100%;
  background-color: #611235;
  position: relative;
}
footer .home_talk_form div.send_area textarea {
  font-size: 4.7vw;
  line-height: 1.6em;
  border: none;
  width: 90vw;
  height: 10.8vw;
  font-size: 4.2vw;
  vertical-align: top;
  color: #744f19;
  z-index: 30;
  position: relative;
  background-color: #ebebeb;
  border-radius: 1.5vw;
  padding: 2vw 10vw 2vw 3vw;
  margin: 2.5vw 0 2.5vw 2vw;
  resize: none;
}
footer .home_talk_form div.send_area textarea:focus {
  outline: 0;
}
footer .home_talk_form div.send_area textarea.contact {
  width: 78vw;
  margin: 1vw 0 2vw 1vw;
}
footer .home_talk_form div.send_area p.send_bt {
  bottom: 0;
  right: 1vw;
  z-index: 30;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/bt_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17vw;
  height: 17vw;
  color: #fff;
  font-size: 4.2vw;
  text-shadow: 0 0 5px #ffee00, 0 0 2px #ffee00;
}
footer .home_talk_form div.send_area p.send_bt span {
  position: absolute;
  font-size: 3.2vw;
  top: -4vw;
  color: #fff8b8;
  text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
}
footer .talk_bottom_line.active {
  display: block;
}
footer .talk_bottom_line.active.fade_in {
  bottom: 0;
}
footer .talk_bottom_line {
  background-color: #611235;
  height: 12vw;
  position: absolute;
  bottom: -40vw;
  left: 0;
  width: 100%;
  z-index: 20;
  display: none;
  transition: all 0.3s;
}
footer .bottom_line.inactive {
  bottom: -80vw;
}
footer .bottom_line {
  background-color: #d53a70;
  height: 12vw;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  transition: all 0.3s;
}
footer .main_bt.inactive {
  top: 80vw;
}
footer .main_bt {
  top: 0;
  transition: all 0.3s;
  width: 100%;
  height: 24vw;
  text-align: center;
  position: relative;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 55%, #d53a70 56%, #d53a70);
  z-index: 21;
  display: block;
}
footer .main_bt p.u_ticket.inactive {
  right: -100vw;
}
footer .main_bt p.u_ticket.gacha {
  background-image: url(https://oshimemo.com/api/img/shop/gacha_bg.png?20220831);
}
footer .main_bt p.u_ticket {
  cursor: pointer;
  position: absolute;
  bottom: 12.5vw;
  right: 2.5vw;
  width: auto;
  display: inline-block;
  text-align: center;
  font-size: 4vw;
  line-height: 4vw;
  color: #e92751;
  letter-spacing: 0.05em;
  width: 35.1vw;
  height: 10vw;
  padding: 3.2vw 3vw 0 8vw;
  border-radius: 2vw;
  background-image: url(https://oshimemo.com/api/img/shop/talk_ticket_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-weight: bold;
  z-index: 23;
  transition: all 0.3s;
}
footer .main_bt p.u_diamonds.inactive {
  right: -100vw;
}
footer .main_bt p.u_diamonds {
  cursor: pointer;
  position: absolute;
  bottom: 2vw;
  right: 2.5vw;
  width: auto;
  display: inline-block;
  text-align: center;
  font-size: 4vw;
  line-height: 4vw;
  color: #e92751;
  letter-spacing: 0.05em;
  width: 35.1vw;
  height: 10vw;
  padding: 3.2vw 3vw 0 8vw;
  border-radius: 2vw;
  background-image: url(https://oshimemo.com/api/img/shop/diamond_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-weight: bold;
  z-index: 23;
  transition: all 0.3s;
}
footer .main_bt div.contact_bt.active {
  right: 0;
}
footer .main_bt div.contact_bt {
  z-index: 21;
  width: 36vw;
  height: 20vw;
  position: absolute;
  transition: all 0.3s;
  top: -9.5vw;
  right: -40vw;
}
footer .main_bt div.contact_bt img {
  width: 100%;
  height: auto;
}
footer .main_bt div.contact_area.active {
  right: 0;
}
footer .main_bt div.contact_area {
  z-index: 23;
  width: 36vw;
  height: 20vw;
  position: absolute;
  transition: all 0.3s;
  top: -9.5vw;
  right: -40vw;
}
footer .main_bt img.bt_bg {
  position: relative;
  padding-top: 5vw;
  width: 100%;
  opacity: 1;
  z-index: 22;
}
footer .main_bt div.center_bt {
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/bt_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  top: 0;
  left: 38%;
  width: 23vw;
  height: 23vw;
  z-index: 29;
  color: #FFF;
  font-size: 3.6vw;
  letter-spacing: 0.1vw;
  transition: all 0.3s;
}
footer .main_bt div.center_bt img {
  width: 55%;
  display: none;
  opacity: 0;
}
footer .main_bt div.center_bt img.m_open.active,
footer .main_bt div.center_bt img.m_close.active,
footer .main_bt div.center_bt img.du_close.active,
footer .main_bt div.center_bt img.du_m_open.active,
footer .main_bt div.center_bt .du_m_close.active,
footer .main_bt div.center_bt img.con_m_open.active,
footer .main_bt div.center_bt img.con_m_close.active {
  display: inline-block;
  opacity: 1;
}
footer .main_bt .a_bt {
  z-index: 23;
}
footer .main_bt .a_bt img {
  width: 100%;
  height: auto;
}
footer .main_bt .a_bt img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer .main_bt .shop_bt.active {
  right: 2vw;
}
footer .main_bt .shop_bt {
  position: absolute;
  bottom: 2vw;
  right: -40vw;
  width: 34.5vw;
  transition: all 0.2s;
}
footer .main_bt .sp_bt.active {
  left: 1.5vw;
}
footer .main_bt .sp_bt {
  position: absolute;
  bottom: 2vw;
  left: -40vw;
  width: 34.5vw;
  transition: all 0.2s;
}
footer .main_bt .m_sub_bt.active {
  right: 1vw;
}
footer .main_bt .m_sub_bt {
  position: absolute;
  bottom: 2vw;
  right: -35vw;
  width: 35vw;
  font-size: 0;
  transition: all 0.2s;
}
footer .main_bt .m_sub_bt img {
  width: 9.5vw;
  margin-right: 2vw;
}
footer .main_bt .h_sub_bt {
  position: absolute;
  bottom: 2vw;
  right: 1vw;
  width: 35vw;
  font-size: 0;
  text-align: right;
  transition: all 3s;
  cursor: pointer;
}
footer .main_bt .h_sub_bt img {
  width: 9.5vw;
  margin-right: 2vw;
}
footer .main_bt .h_sub_bt.inactive {
  right: -35vw;
}
footer .main_bt .h_sub_bt {
  position: absolute;
  bottom: 2vw;
  right: 1vw;
  width: 35vw;
  font-size: 0;
  text-align: right;
  cursor: pointer;
  transition: all 0.3s;
}
footer .main_bt .h_sub_bt img {
  width: 9.5vw;
  margin-right: 2vw;
}
footer .main_bt .d_sub_bt.active {
  right: 4vw;
}
footer .main_bt .d_sub_bt {
  position: absolute;
  bottom: 2.5vw;
  width: 35vw;
  right: -35vw;
  font-size: 0;
  text-align: right;
  transition: all 0.3s;
}
footer .main_bt .d_sub_bt img {
  width: 13.5vw;
  margin-left: 3vw;
}
footer .main_bt .d_sub_bt div.g_changebt {
  position: relative;
  display: inline-block;
}
footer .main_bt .d_sub_bt div.g_changebt img {
  position: relative;
  border-radius: 50%;
  padding: 1vw;
  z-index: 24;
  width: 13.5vw;
}
footer .main_bt .d_sub_bt div.g_changebt span {
  position: absolute;
  top: -1.5vw;
  right: -1.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/change.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7vw;
  height: 7vw;
  z-index: 26;
  animation: cap_anime 8s linear infinite;
}
footer .main_bt .d_sub_bt div.g_changebt:after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 13.5vw;
  width: 13.5vw;
  background-image: url(https://oshimemo.com/api/img/common/footer/g_change.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 25;
}
footer .main_bt .d_sub_bt div.g_changebt::before {
  content: '';
  position: absolute;
  right: 0.5vw;
  top: 0.5vw;
  background-color: #fff2aa;
  height: 12vw;
  width: 12vw;
  z-index: 23;
  border-radius: 50%;
}
footer .main_bt .dress_bt.fade_out {
  opacity: 0;
  transition: 0.2s;
}
footer .main_bt .dress_bt.fade_out.inactive {
  display: none;
}
footer .main_bt .dress_bt.active {
  left: 1.5vw;
}
footer .main_bt .dress_bt {
  position: absolute;
  bottom: 2vw;
  left: -33vw;
  width: 32vw;
  z-index: 24;
  font-size: 0;
  transition: all 0.3s;
}
footer .main_bt .dress_bt img {
  width: 13.5vw;
  margin-left: 2.5vw;
}
footer .main_bt .bg_bt.active {
  left: 1.5vw;
}
footer .main_bt .bg_bt {
  position: absolute;
  bottom: 2vw;
  left: -33vw;
  width: 32vw;
  z-index: 23;
  font-size: 0;
  transition: all 0.3s;
}
footer .main_bt .bg_bt img {
  width: 14vw;
  margin-left: 2.3vw;
}
footer .main_bt .main_cont_bt.inactive {
  left: -33vw;
}
footer .main_bt .main_cont_bt {
  position: absolute;
  bottom: 1vw;
  left: 2vw;
  width: 34vw;
  z-index: 23;
  font-size: 0;
  text-align: left;
  transition: all 0.3s;
}
footer .main_bt .main_cont_bt p.all_talkbt {
  position: relative;
  display: inline-block;
}
footer .main_bt .main_cont_bt p.all_talkbt span {
  position: absolute;
  top: -2vw;
  right: -2vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fdffa1;
  width: 8vw;
  height: 8vw;
  line-height: 4vw;
  font-size: 3.8vw;
}
footer .main_bt .main_cont_bt p.main_home {
  margin-left: 0.5vw;
  position: relative;
  display: inline-block;
}
footer .main_bt .main_cont_bt img {
  width: 14vw;
  margin-left: 2.3vw;
}
footer section.bottom_nav.active {
  height: 56vw;
}
footer section.bottom_nav {
  position: relative;
  top: -1px;
  background: #d53a70;
  height: 0;
  z-index: 22;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s;
}
footer section.bottom_nav ul.main_menu.active {
  opacity: 1;
}
footer section.bottom_nav ul.main_menu {
  font-size: 0;
  text-align: center;
  opacity: 0;
  transition: all 0.3s;
  padding-top: 2vw;
}
footer section.bottom_nav ul.main_menu li {
  display: inline-block;
  position: relative;
}
footer section.bottom_nav ul.main_menu li img {
  width: 100%;
}
footer section.bottom_nav ul.main_menu li span {
  position: absolute;
  top: -1.2vw;
  right: -1.2vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fdffa1;
  width: 8vw;
  height: 8vw;
  line-height: 3.8vw;
  font-size: 3.8vw;
}
footer section.bottom_nav ul.main_menu li:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer section.bottom_nav ul.main_menu li:first-child,
footer section.bottom_nav ul.main_menu li:nth-child(2),
footer section.bottom_nav ul.main_menu li:nth-child(3) {
  height: 27vw;
  width: 27vw;
  margin: 0.5vw 1.6vw 1vw;
}
footer section.bottom_nav ul.main_menu li:nth-child(4) {
  height: 20.5vw;
  width: 20.5vw;
  margin: 2vw 1vw 2vw 6vw;
  float: left;
}
footer section.bottom_nav ul.main_menu li:nth-child(5),
footer section.bottom_nav ul.main_menu li:nth-child(6),
footer section.bottom_nav ul.main_menu li:nth-child(7) {
  height: 20.5vw;
  width: 20.5vw;
  margin: 2vw 1vw;
  float: left;
}
footer section.dress_up.active {
  height: 58vw;
}
footer section.dress_up.inactive {
  top: 80vw;
}
footer section.dress_up {
  position: relative;
  top: -1vw;
  background: #d53a70;
  height: 0vw;
  z-index: 22;
  width: 100%;
  overflow: hidden;
  transition: all 0.4s;
}
footer section.dress_up .du_inner.dress {
  z-index: 24;
  transition: all 0.4s;
}
footer section.dress_up .du_inner.dress.fade_out {
  opacity: 0;
  transition: all 0.4s;
}
footer section.dress_up .du_inner.dress.fade_out.inactive {
  display: none;
}
footer section.dress_up .du_inner.backimage {
  z-index: 23;
}
footer section.dress_up .du_inner {
  width: 100vw;
  height: 58vw;
  background: #d53a70;
  text-align: center;
  display: inline-block;
  position: absolute;
  opacity: 1;
  transition: all 2s;
  top: 0;
  left: 0;
}
footer section.dress_up .du_inner ul.shop_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer section.dress_up .du_inner ul.shop_list {
  width: 100vw;
  height: 39vw;
  padding: 4vw 2.5vw 0;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
  margin-bottom: 1.5vw;
}
footer section.dress_up .du_inner ul.shop_list li {
  display: inline-block;
  width: 22.5vw;
  margin: 0 1.5vw;
  position: relative;
  white-space: normal;
}
footer section.dress_up .du_inner ul.shop_list li input[type="radio"] {
  display: none;
}
footer section.dress_up .du_inner ul.shop_list li figure {
  width: 100%;
  height: 27.5vw;
  background-color: #e75f8e;
  border-radius: 3vw;
  margin-bottom: 1vw;
  overflow: hidden;
  position: relative;
}
footer section.dress_up .du_inner ul.shop_list li figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  border-radius: 3vw;
}
footer section.dress_up .du_inner ul.shop_list li input[type="radio"]:checked + figure {
  background-color: #fff493;
}
footer section.dress_up .du_inner ul.shop_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: -1.5vw;
  z-index: 3;
  background: url("https://oshimemo.com/api/img/common/footer/dress_up_check.png") top left no-repeat;
  background-size: 7vw 7vw;
}
footer section.dress_up .du_inner ul.shop_list li.lock {
  position: relative;
}
footer section.dress_up .du_inner ul.shop_list li.lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
footer section.dress_up .du_inner ul.shop_list li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 9vw;
  right: 5.5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
.sc_anime {
  animation: sc_anime 2s ease-in-out infinite;
}
@keyframes sc_anime {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.03, 1.03);
  }
  100% {
    transform: scale(1, 1);
  }
}
.sc_anime2 {
  animation: sc_anime2 1.5s ease-in-out infinite;
}
@keyframes sc_anime2 {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.15, 1.15);
  }
  100% {
    transform: scale(1, 1);
  }
}
.sc_anime3 {
  animation: sc_anime3 1.5s ease-in-out infinite;
}
@keyframes sc_anime3 {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(1.15, 1.15);
  }
  70% {
    transform: scale(1, 1);
  }
  80% {
    transform: scale(1.15, 1.15);
  }
  100% {
    transform: scale(1, 1);
  }
}
header.girls_detail_head {
  background-color: #ff9bbc;
  font-size: 0;
  position: relative;
}
header.girls_detail_head img.topboder {
  width: 100%;
}
header.girls_detail_head div.title_img {
  width: 46vw;
  position: absolute;
  top: 1.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.girls_detail_head div.title_img img {
  width: 100%;
}
main {
  overflow: hidden;
}
main section.selected_group {
  position: relative;
  width: 100%;
  height: 34.5vw;
  z-index: 3;
  overflow: hidden;
}
main section.selected_group div.inner {
  width: 100vw;
  height: 34.5vw;
  background-color: #ffeff5;
  mask-image: url(https://oshimemo.com/api/img/talk/mask_3.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: url(https://oshimemo.com/api/img/talk/mask_3.png);
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  position: relative;
  top: -0.5vw;
  overflow: hidden;
  z-index: 4;
}
main section.selected_group div.inner figure {
  position: absolute;
  top: -0.1vw;
  left: 0%;
  width: 100%;
  z-index: 4;
}
main section.selected_group div.inner figure img {
  width: 100%;
}
main section.selected_group div.inner img.bg_photo {
  position: absolute;
  top: 0vw;
  right: -13vw;
  width: 70vw;
  opacity: 0.3;
  z-index: 4;
}
main section.selected_group img.boder {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}
main section.campaign {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 3;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
main section.campaign div.campaign_details {
  flex-basis: 100%;
  height: 100%;
  width: 100%;
  overflow: scroll;
  background-image: url(https://oshimemo.com/api/img/shop/bg.png);
  background-size: 100%;
  background-position: top;
  background-repeat: no-repeat;
}
main section.campaign div.campaign_details div.title_image {
  width: 100vw;
  height: 33.3vw;
  z-index: 4;
}
main section.campaign div.campaign_details div.title_image figure {
  width: 100%;
  z-index: 4;
}
main section.campaign div.campaign_details div.title_image figure img {
  width: 100%;
}
main section.campaign div.campaign_details section.campaign_body {
  width: 100vw;
  position: relative;
  padding: 5vw 4vw 45vw;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 3;
}
main section.campaign div.campaign_details section.event_body::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.campaign header {
  background-color: #000;
}
main section.event {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 3;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
main section.event div.event_details {
  flex-basis: 100%;
  height: 100%;
  width: 100%;
  overflow: scroll;
  background-image: url(https://oshimemo.com/api/img/shop/bg.png);
  background-size: 100%;
  background-position: top;
  background-repeat: no-repeat;
}
main section.event div.event_details div.title_image {
  width: 100vw;
  height: 33.3vw;
  z-index: 4;
  position: fixed;
}
main section.event div.event_details div.title_image figure {
  width: 100%;
  z-index: 4;
}
main section.event div.event_details div.title_image figure img {
  width: 100%;
}
main section.event div.event_details section.event_body {
  width: 100vw;
  position: relative;
  padding: 37vw 4vw 45vw;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 3;
}
main section.event div.event_details section.event_body::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.event header {
  background-color: #000;
}
main section.selected_girl {
  position: relative;
  width: 100%;
  height: 46vw;
  z-index: 3;
  overflow: hidden;
}
main section.selected_girl div.inner {
  width: 100vw;
  height: 46vw;
  background-color: #ffeff5;
  mask-image: url(https://oshimemo.com/api/img/talk/mask_2.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: url(https://oshimemo.com/api/img/talk/mask_2.png);
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  position: relative;
  overflow: hidden;
  z-index: 4;
}
main section.selected_girl div.inner figure {
  position: absolute;
  top: -20vw;
  left: -8vw;
  width: 60%;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  border-right: 2vw solid #a35882;
  z-index: 4;
}
main section.selected_girl div.inner figure img {
  width: 100%;
}
main section.selected_girl div.inner img.bg_photo {
  position: absolute;
  top: 0;
  right: -13vw;
  width: 70vw;
  opacity: 0.3;
  z-index: 4;
}
main section.selected_girl div.inner ul.main_prof {
  width: 54vw;
  position: absolute;
  top: 0vw;
  right: 0vw;
  z-index: 5;
  padding-top: 3vw;
}
main section.selected_girl div.inner ul.main_prof li.name {
  height: 14vw;
  width: 54vw;
  position: relative;
}
main section.selected_girl div.inner ul.main_prof li.name img.name_caption {
  position: absolute;
  top: 0;
  left: 0;
  height: 14vw;
  z-index: 5;
}
main section.selected_girl div.inner ul.main_prof li.name p {
  background-color: hsla(326, 78%, 45%, 0.808);
  position: absolute;
  top: 2.6vw;
  left: 11vw;
  width: 43vw;
  z-index: 4;
  padding: 2.4vw 0 2.4vw 3vw;
  text-shadow: 0 0 5px #ff004c, 0 0 2px #ff004c;
  color: #ffffff;
  font-size: 4.5vw;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
}
main section.selected_girl div.inner ul.main_prof li.bt_link {
  text-align: right;
  padding: 2vw 4vw 0 2vw;
}
main section.selected_girl div.inner ul.main_prof li.bt_link div {
  text-align: center;
  color: #ffffff;
  font-size: 0;
  width: 17vw;
  height: auto;
  position: relative;
}
main section.selected_girl div.inner ul.main_prof li.bt_link div img {
  width: 100%;
}
main section.selected_girl .inner.fav_active figure {
  border-right: 2vw solid #e00a84;
}
main section.selected_girl .inner.fav_active:before {
  content: "親密度UP中↑";
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 2.5vw;
  font-size: 3.4vw;
  padding: 1vw 1.5vw;
  z-index: 21;
  position: absolute;
  top: 31.5vw;
  left: 13vw;
}
main section.selected_girl .inner.fav_active:after {
  content: " ";
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/itemspan.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 11vw;
  height: 9.6vw;
  line-height: 4vw;
  font-size: 0;
  z-index: 22;
  animation: sc_anime3 1.5s ease-in-out infinite;
  position: absolute;
  top: 30vw;
  left: 1.5vw;
}
main section.selected_girl img.boder {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}
main ul.talk_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main ul.talk_list {
  top: -10vw;
  padding: 0 4vw 37vw 4vw;
  width: 100vw;
  height: 73vh;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  position: relative;
  background-image: url(https://oshimemo.com/api/img/talk/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  text-align: center;
}
main ul.talk_list li:first-child {
  margin-top: 10vw;
}
main ul.talk_list li {
  position: relative;
  margin-bottom: 3.5vw;
  z-index: 1;
  min-height: 27.8vw;
}
main ul.talk_list li img {
  width: 100%;
}
main ul.talk_list li p.left_text {
  position: absolute;
  bottom: 1.5vw;
  left: 2vw;
  padding: 3vw 2vw;
  background-color: #fc093e;
  color: #ffffff;
  border-radius: 2vw;
  font-size: 3.5vw;
  text-align: center;
  width: 38vw;
}
main ul.talk_list li p.clere_sign {
  height: 10vw;
  width: 14vw;
  position: absolute;
  top: -1vw;
  right: -1.5vw;
  background-image: url(https://oshimemo.com/api/img/talk/clere_sign.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}
main ul.talk_list li p.right_text {
  position: absolute;
  bottom: 1.5vw;
  right: 3vw;
  color: #ffffff;
  text-align: right;
  border-radius: 2vw;
  font-size: 3.5vw;
  text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  z-index: 2;
}
main ul.talk_list li p.right_text span {
  display: block;
  font-size: 6.5vw;
  color: #fffb09;
  text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  padding-top: 1vw;
  z-index: 2;
}
main ul.talk_list li p.right_text::before {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  right: -1.5vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10vw 20vw;
  border-color: transparent transparent rgba(255, 0, 76, 0.829) transparent;
  z-index: -1;
}
main ul.talk_list li .fav_area {
  width: 22vw;
  height: 20vw;
  position: absolute;
  bottom: -2vw;
  right: -2vw;
  z-index: 2;
  text-align: left;
  transition: all 0.4s;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg_f.png?20220901);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: scale(0.8);
}
main ul.talk_list li .fav_area div.favorability {
  margin: 2vw;
  width: 18vw;
  height: 16vw;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  -webkit-mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s;
}
main ul.talk_list li .fav_area div.favorability .measure {
  background-color: rgba(255, 255, 255, 0.459);
  width: 22vw;
  height: 16vw;
  position: absolute;
  left: -2vw;
  animation: measure_anime 5s linear infinite;
  border-bottom-right-radius: 50% 1vw;
  border-bottom-left-radius: 50% 1vw;
}
main ul.talk_list li .fav_area div.favorability p.level {
  color: #fff;
  font-size: 7.5vw;
  position: relative;
  top: -0.5vw;
  text-shadow: 0 0 7px #ffee00;
}
main ul.talk_list li .fav_area div.favorability p.level:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main ul.talk_list li.lock {
  position: relative;
}
main ul.talk_list li.lock img.lock_caption {
  position: absolute;
  top: 5%;
  right: 21.5vw;
  height: auto;
  width: 50vw;
  z-index: 4;
  background-color: transparent;
}
main ul.talk_list li.lock p.lock_text {
  position: absolute;
  top: 50%;
  right: 6vw;
  height: 14vw;
  width: 81vw;
  font-size: 2.9vw;
  line-height: 1.6em;
  z-index: 4;
  color: #fff;
}
main ul.talk_list li.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 3;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main ul.talk_list li.after_story_lock {
  position: relative;
  cursor: pointer;
}
main ul.talk_list li.after_story_lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 3;
  background-color: #310015;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #46031f), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #46031f), color-stop(0.75, #46031f), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main ul.talk_list li.after_story_lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 20%;
  right: 10vw;
  height: 16.5vw;
  width: 70.4vw;
  background: url(https://oshimemo.com/api/img/talk/after_story_lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 4;
}
main ul.talk_list li.finished {
  position: relative;
}
main ul.talk_list li.finished::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 3;
  background-color: rgba(54, 54, 54, 0.85);
  background-size: 7px 7px;
}
main ul.talk_list li.finished::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 25%;
  right: 18vw;
  height: 15vw;
  width: 64vw;
  background: url(https://oshimemo.com/api/img/talk/finished.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 4;
}
main section.main_girl {
  position: relative;
  width: 100%;
  height: 56vw;
  z-index: 3;
  overflow: hidden;
}
main section.main_girl div.inner {
  width: 100vw;
  height: 56vw;
  background-color: #ffeff5;
  -webkit-mask-image: url(https://oshimemo.com/api/img/talk/mask_1.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  mask-image: url(https://oshimemo.com/api/img/talk/mask_1.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  position: relative;
  overflow: hidden;
  z-index: 4;
}
main section.main_girl div.inner figure {
  position: absolute;
  top: -13vw;
  left: -8vw;
  width: 60%;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  border-right: 2vw solid #a35882;
  z-index: 4;
}
main section.main_girl div.inner figure img {
  width: 100%;
}
main section.main_girl div.inner img.bg_photo {
  position: absolute;
  top: 0;
  right: -13vw;
  width: 70vw;
  opacity: 0.3;
  z-index: 4;
}
main section.main_girl div.inner ul.main_prof {
  height: 49vw;
  width: 54vw;
  position: absolute;
  top: 0vw;
  right: 0vw;
  z-index: 5;
  padding-top: 1.5vw;
}
main section.main_girl div.inner ul.main_prof li.name {
  height: 14vw;
  width: 54vw;
  position: relative;
}
main section.main_girl div.inner ul.main_prof li.name img.name_caption {
  position: absolute;
  top: 0;
  left: 0;
  height: 14vw;
  z-index: 5;
}
main section.main_girl div.inner ul.main_prof li.name p {
  background-color: hsla(326, 78%, 45%, 0.808);
  position: absolute;
  top: 2.6vw;
  left: 11vw;
  width: 43vw;
  z-index: 4;
  padding: 2.4vw 0 2.4vw 3vw;
  text-shadow: 0 0 5px #ff004c, 0 0 2px #ff004c;
  color: #ffffff;
  font-size: 4.5vw;
  text-align: center;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main section.main_girl div.inner ul.main_prof li.score_board {
  text-align: right;
  padding: 0 2vw;
}
main section.main_girl div.inner ul.main_prof li.score_board div.wrapper {
  position: relative;
  text-align: left;
  width: 39vw;
  font-size: 3vw;
  border-radius: 2vw;
  font-weight: bold;
  padding: 1vw 2vw 0.5vw;
  line-height: 4vw;
  margin-bottom: 2vw;
}
main section.main_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
  width: 4vw;
  height: 4vw;
  margin-right: 0.5vw;
}
main section.main_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
  position: absolute;
  right: 2vw;
  top: 1.3vw;
  font-size: 3.8vw;
  font-weight: bold;
}
main section.main_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  height: 2vw;
  width: 39vw;
  margin: 0;
}
main section.main_girl div.inner ul.main_prof li.score_board div.wrapper div.meter span {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
}
main section.main_girl div.inner ul.main_prof li.score_board div.favo {
  background-color: hsla(0, 94%, 82%, 0.719);
  border-left: #f1168e 1vw solid;
  color: #f1168e;
}
main section.main_girl div.inner ul.main_prof li.score_board div.favo p.score {
  color: #f1168e;
}
main section.main_girl div.inner ul.main_prof li.score_board div.favo div.meter span {
  background-color: #f1168e;
}
main section.main_girl div.inner ul.main_prof li.score_board div.achv {
  background-color: rgba(173, 241, 231, 0.718);
  border-left: #2c8382 1vw solid;
  color: #2c8382;
}
main section.main_girl div.inner ul.main_prof li.score_board div.achv p.score {
  color: #2c8382;
}
main section.main_girl div.inner ul.main_prof li.score_board div.achv div.meter span {
  background-color: #2c8382;
}
main section.main_girl div.inner ul.main_prof li.score_board div.acqu {
  background-color: #fffa6fb7;
  border-left: #e4920e 1vw solid;
  color: #e4920e;
}
main section.main_girl div.inner ul.main_prof li.score_board div.acqu p.score {
  color: #e4920e;
}
main section.main_girl div.inner ul.main_prof li.score_board div.acqu div.meter span {
  background-color: #e4920e;
}
main section.main_girl .inner.fav_active:before {
  content: "親密度UP中↑";
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 2.5vw;
  font-size: 3.4vw;
  padding: 1vw 1.5vw;
  z-index: 21;
  position: absolute;
  top: 41.5vw;
  left: 13vw;
}
main section.main_girl .inner.fav_active:after {
  content: " ";
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/itemspan.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 11vw;
  height: 9.6vw;
  line-height: 4vw;
  font-size: 0;
  z-index: 22;
  animation: sc_anime3 1.5s ease-in-out infinite;
  position: absolute;
  top: 40vw;
  left: 1.5vw;
}
main section.main_girl img.boder {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}
main section.girl_select {
  top: -11vw;
  padding-top: 8vw;
  width: 100vw;
  height: 100vh;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/talk/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  text-align: center;
}
main section.girl_select img.caption {
  width: 60%;
}
main section.girl_select img {
  width: 100%;
  vertical-align: bottom;
}
main section.girl_select div.thumbnail div img {
  width: 250%;
  position: relative;
  left: -75%;
  z-index: 2;
}
main section.girl_select div.thumbnail2 {
  position: relative;
  top: -160vw;
  z-index: 3;
}
main section.girl_select div.thumbnail2 div {
  position: relative;
  width: 38vw;
  height: 120vw;
}
main section.girl_select div.thumbnail2 div a {
  position: absolute;
  top: 42vw;
  left: -10vw;
  width: 55vw;
  height: 40vw;
  z-index: 4;
  text-align: center;
}
main section.girl_select div.thumbnail2 div a img {
  width: 100%;
}
main section.girl_select div.thumbnail2 .slick-slide:not(.slick-center) a {
  display: none;
}
main section.girl_select .thumbnail {
  width: 100%;
  margin: 0 auto 5px;
  padding: 0;
}
main section.girl_select .thumbnail-nav img {
  width: 100%;
}
main section.girl_select .thumbnail-thumb .slick-current {
  opacity: 0.5;
}
main section.girl_select .thumbnail-thumb div div div {
  cursor: pointer;
}
main section.girl_select .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(50%);
  -moz-filter: opacity(50%);
  -o-filter: opacity(50%);
  -ms-filter: opacity(50%);
  filter: opacity(50%);
  transition: 0.2s linear;
  z-index: 1;
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
}
main section.girls_index {
  top: 0;
  padding-top: 30vw;
  width: 100vw;
  height: 100vh;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/talk/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  text-align: center;
}
main section.girls_index p.name {
  background-color: rgba(255, 255, 255, 0.685);
  width: 1000vw;
  position: absolute;
  top: 119vw;
  left: 0vw;
  height: 28vw;
  z-index: 3;
}
main section.girls_index p.name img {
  width: 100vw;
}
main section.girls_index img {
  width: 100%;
  vertical-align: bottom;
}
main section.girls_index div.thumbnail {
  position: relative;
}
main section.girls_index div.thumbnail div.inner {
  position: relative;
}
main section.girls_index div.thumbnail div.inner img {
  width: 250%;
  position: relative;
  left: -75%;
  z-index: 2;
}
main section.girls_index div.thumbnail div.inner ul.score {
  position: absolute;
  top: 53vw;
  left: -32vw;
  width: 32vw;
  z-index: 3;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board {
  text-align: right;
  padding: 0 2vw;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper {
  position: relative;
  text-align: left;
  width: 32vw;
  font-size: 3vw;
  border-radius: 2vw;
  font-weight: bold;
  padding: 1vw 2vw 0.5vw;
  line-height: 4vw;
  margin-bottom: 2vw;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper img.icon {
  width: 4vw;
  height: 4vw;
  margin-right: 0.5vw;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper p.score {
  position: absolute;
  right: 2vw;
  top: 1.3vw;
  font-size: 3.8vw;
  font-weight: bold;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper div.meter {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  height: 2vw;
  width: 32vw;
  margin: 0;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper div.meter span {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.favo {
  background-color: hsla(0, 94%, 82%, 0.719);
  border-left: #f1168e 1vw solid;
  color: #f1168e;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.favo p.score {
  color: #f1168e;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.favo div.meter span {
  background-color: #f1168e;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.achv {
  background-color: rgba(173, 241, 231, 0.718);
  border-left: #2c8382 1vw solid;
  color: #2c8382;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.achv p.score {
  color: #2c8382;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.achv div.meter span {
  background-color: #2c8382;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.acqu {
  background-color: #fffa6fb7;
  border-left: #e4920e 1vw solid;
  color: #e4920e;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.acqu p.score {
  color: #e4920e;
}
main section.girls_index div.thumbnail div.inner ul.score li.score_board div.acqu div.meter span {
  background-color: #e4920e;
}
main section.girls_index div.thumbnail .slick-slide:not(.slick-center) ul.score {
  display: none;
}
main section.girls_index div.thumbnail2 {
  position: relative;
  top: -165vw;
  z-index: 3;
}
main section.girls_index div.thumbnail2 div {
  position: relative;
  width: 38vw;
  height: 170vw;
}
main section.girls_index div.thumbnail2 div a {
  position: absolute;
  top: 90.5vw;
  left: -10vw;
  width: 55vw;
  height: 40vw;
  z-index: 4;
  text-align: center;
}
main section.girls_index div.thumbnail2 div a img {
  width: 100%;
}
main section.girls_index div.thumbnail2 .slick-slide:not(.slick-center) a {
  display: none;
}
main section.girls_index .thumbnail {
  width: 100%;
  margin: 0 auto 5px;
  padding: 0;
}
main section.girls_index .thumbnail-nav img {
  width: 100%;
}
main section.girls_index .thumbnail-thumb .slick-current {
  opacity: 0.5;
}
main section.girls_index .thumbnail-thumb div div div {
  cursor: pointer;
}
main section.girls_index .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(50%);
  -moz-filter: opacity(50%);
  -o-filter: opacity(50%);
  -ms-filter: opacity(50%);
  filter: opacity(50%);
  transition: 0.2s linear;
  z-index: 1;
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
}
main section.girls_index .slick-slide {
  outline: none;
}
main section.girls_index .slick-slide a {
  outline: none;
}
header.girl_list_head {
  background-image: linear-gradient(#ff9bbc, #ffe1eb);
  font-size: 0;
}
header.girl_list_head .topboder {
  position: relative;
}
header.girl_list_head .topboder img {
  width: 100%;
}
header.girl_list_head .topboder div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 3.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.girl_list_head .topboder div.title_img img {
  width: 100%;
}
section.girls_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.girls_details {
  top: 0;
  padding-top: 0;
  width: 100vw;
  height: 100%;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/girl/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  text-align: left;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
section.girls_details .head_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-image: linear-gradient(0deg, rgba(255, 133, 173, 0), #ff9bbc);
  height: 21vw;
  width: 100%;
}
section.girls_details figure {
  position: absolute;
  top: 0;
  right: 0;
  width: 78vw;
  height: 190vw;
  z-index: 3;
  overflow: hidden;
}
section.girls_details figure img.stand_img {
  position: absolute;
  top: 0;
  right: -27vw;
  z-index: 2;
  width: 100vw;
  height: auto;
}
section.girls_details p.name {
  background-color: #fc64a3;
  width: 100%;
  position: absolute;
  top: 13vw;
  text-align: left;
  padding: 1vw 5vw;
  z-index: 1;
}
section.girls_details p.name img {
  width: 55vw;
}
section.girls_details div.date {
  height: 106vw;
  width: 60vw;
  margin-bottom: 23vw;
  margin-top: 33vw;
  padding-left: 3vw;
  position: relative;
  z-index: 3;
}
section.girls_details div.date p.mainset_bt {
  width: 34vw;
  position: absolute;
  right: -4vw;
  top: 0;
}
section.girls_details div.date p.mainset_bt img {
  width: 100%;
}
section.girls_details div.date ul.profile {
  padding-bottom: 2vw;
}
section.girls_details div.date ul.profile li {
  color: #7d3d49;
  font-size: 3.5vw;
  padding: 1.2vw 0;
}
section.girls_details div.date p.text {
  padding: 0 4vw 0 0;
  font-size: 3.5vw;
  color: #7d3d49;
  line-height: 1.45em;
  height: 50vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  text-shadow: 0 0 5px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 8px #fff;
}
section.girls_details div.date p.text::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.girls_details div.date ul.button {
  padding: 2.5vw 0 0;
}
section.girls_details div.date ul.button li {
  margin-bottom: 2vw;
  overflow: hidden;
  border-radius: 2vw;
  width: 45vw;
}
section.girls_details div.date ul.button li img {
  width: 100%;
  height: auto;
}
section.girls_details div.date ul.button li div {
  width: 11vw;
}
section.girls_details div.date ul.button li div img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.girls_details div.date ul.button li.p_bt_link {
  text-align: left;
  padding: 2vw 4vw 0 0vw;
}
section.girls_details div.date ul.button li.p_bt_link div {
  text-align: center;
  color: #ffffff;
  font-size: 0;
  width: 18vw;
  height: auto;
  position: relative;
}
section.girls_details div.date ul.button li.p_bt_link div img {
  width: 100%;
}
section.girls_details div.date ul.button li.talk_bt img {
  width: 100%;
}
section.girls_details div.date ul.button li.talk_bt:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.girls_details div.date ul.button li.prologue_bt img {
  width: 100%;
}
section.girls_details div.date ul.button li.prologue_bt:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.mem_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.mem_list {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
section.mem_list ul {
  position: relative;
  padding: 4vw 0 4vw;
  width: 93vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
section.mem_list ul li.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
section.mem_list ul li.news::before {
  content: "";
  position: absolute;
  top: -2vw;
  right: -2vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 8vw;
  height: 8vw;
  z-index: 2;
  animation: sc_anime3 1.5s ease-in-out infinite;
}
section.mem_list ul li {
  position: relative;
  display: block;
  margin-bottom: 6vw;
  padding: 0;
  height: 25.1vw;
  width: 93vw;
  background-image: url(https://oshimemo.com/api/img/talk/alllibg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
section.mem_list ul li div.message {
  position: relative;
  float: right;
  width: 59vw;
  padding: 0.25vw;
  height: 24.1vw;
  z-index: 1;
  overflow: hidden;
}
section.mem_list ul li div.message img.still {
  position: absolute;
  bottom: -15vw;
  right: -10vw;
  transform: rotate(20deg);
  opacity: 0.3;
  z-index: 1;
}
section.mem_list ul li div.message img.name {
  position: relative;
  float: left;
  color: #a21e49;
  font-weight: bold;
  padding-top: 3vw;
  width: 59vw;
  z-index: 2;
}
section.mem_list ul li figure {
  position: absolute;
  bottom: 0.2vw;
  left: 2vw;
  height: 30vw;
  width: 30vw;
  overflow: hidden;
  float: left;
}
section.mem_list ul li figure img {
  position: relative;
  width: 100%;
  z-index: 1;
}
header.memorial_head {
  z-index: 36;
}
header.memorial_head,
.talklist_head {
  background-image: linear-gradient(#ff9bbc, #ffe1eb);
  font-size: 0;
}
header.memorial_head .topboder,
.talklist_head .topboder {
  position: relative;
}
header.memorial_head .topboder img,
.talklist_head .topboder img {
  width: 100%;
}
header.memorial_head .topboder div.title_img,
.talklist_head .topboder div.title_img {
  width: 46vw;
  position: absolute;
  top: -11.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.memorial_head .topboder div.title_img img,
.talklist_head .topboder div.title_img img {
  width: 46vw;
}
header.memorial_head section.selected_girl,
.talklist_head section.selected_girl {
  position: relative;
  width: 100%;
  height: 39vw;
  z-index: 3;
  overflow: hidden;
}
header.memorial_head section.selected_girl div.inner,
.talklist_head section.selected_girl div.inner {
  width: 100vw;
  height: 39vw;
  background-image: linear-gradient(#fff4f7, #ffe1eb);
  mask-image: url(https://oshimemo.com/api/img/memorial/mask.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: url(https://oshimemo.com/api/img/memorial/mask.png);
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  position: relative;
  overflow: hidden;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner figure,
.talklist_head section.selected_girl div.inner figure {
  position: absolute;
  top: -20vw;
  left: -12vw;
  width: 60%;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  border-right: 2vw solid #a35882;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner figure img,
.talklist_head section.selected_girl div.inner figure img {
  width: 100%;
}
header.memorial_head section.selected_girl div.inner img.bg_photo,
.talklist_head section.selected_girl div.inner img.bg_photo {
  position: absolute;
  top: 0;
  right: -13vw;
  width: 70vw;
  opacity: 0.3;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner ul.main_prof,
.talklist_head section.selected_girl div.inner ul.main_prof {
  height: 20vw;
  width: 54vw;
  position: absolute;
  top: 3vw;
  right: 0vw;
  z-index: 5;
  padding-top: 1.5vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name,
.talklist_head section.selected_girl div.inner ul.main_prof li.name {
  height: 8vw;
  width: 54vw;
  position: relative;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name p,
.talklist_head section.selected_girl div.inner ul.main_prof li.name p {
  width: 43vw;
  z-index: 4;
  padding: 2.4vw 0 1vw 0;
  color: #383838;
  font-size: 3.6vw;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 10vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name p span,
.talklist_head section.selected_girl div.inner ul.main_prof li.name p span {
  font-size: 4.5vw;
  color: #d61b85;
  font-weight: bold;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.profile,
.talklist_head section.selected_girl div.inner ul.main_prof li.profile {
  text-align: right;
  padding: 0 3vw 1vw;
  color: #d61b85;
  font-size: 3.3vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board {
  text-align: right;
  padding: 0 1.5vw;
  color: #f1168e;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper {
  position: relative;
  text-align: left;
  width: 39vw;
  font-size: 3vw;
  border-radius: 2vw;
  padding: 1vw 2vw 0.5vw;
  line-height: 4vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
  width: 4vw;
  margin-right: 1vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
  position: absolute;
  right: 2vw;
  top: 1.3vw;
  font-size: 3.8vw;
  font-weight: bold;
  color: #f1168e;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  height: 2vw;
  width: 39vw;
  margin: 0;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter span,
.talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter span {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #f1168e;
}
header.memorial_head section.selected_girl img.boder,
.talklist_head section.selected_girl img.boder {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 12;
}
header.memorial_head div.m_caption,
.talklist_head div.m_caption {
  width: 100%;
  position: absolute;
  bottom: -1vw;
  left: 20vw;
  z-index: 13;
}
header.memorial_head div.m_caption img.caption_img,
.talklist_head div.m_caption img.caption_img {
  position: relative;
  height: 14vw;
  z-index: 14;
  top: -1vw;
}
header.memorial_head div.m_caption p,
.talklist_head div.m_caption p {
  background-color: #e71f62;
  position: absolute;
  top: 2.6vw;
  left: 11vw;
  width: 48vw;
  z-index: 13;
  padding: 1.8vw 3vw;
  color: #ffffff;
  font-size: 4.5vw;
  text-align: center;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main section.memorial_tab {
  position: absolute;
  bottom: 0.5vw;
  left: 0;
  width: 100%;
  z-index: 3;
  text-align: center;
  font-size: 0;
}
main section.memorial_tab div.tab_bt {
  position: relative;
  width: 22.5vw;
  color: #ffffff;
  margin: 0 1vw;
  text-align: center;
  font-size: 3.5vw;
  line-height: 3.5vw;
  padding: 1.5vw 0;
  background-color: rgba(172, 134, 152, 0.885);
  border-radius: 3vw 3vw 0 0;
  z-index: 3;
}
main section.memorial_tab div.tab_bt img {
  width: 100%;
  padding: 0 1vw;
}
main section.memorial_tab div.tab_bt span {
  position: absolute;
  top: -3vw;
  right: -2.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fdffa1;
  width: 7vw;
  height: 7vw;
  line-height: 6vw;
  font-size: 3.7vw;
}
main section.memorial_tab div.tab_bt.active {
  background-color: #cf035a;
}
main section.memorial_tab div.tab_bt.active::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  left: 0.5vw;
  background: url(https://oshimemo.com/api/img/memorial/check.png) top left no-repeat;
  background-size: 7vw 7vw;
}
main section.memorial_tab img.bottom_boder {
  position: absolute;
  bottom: -0.5vw;
  left: 3vw;
  width: 93vw;
  z-index: 4;
}
main section.memorial::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.memorial {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.memorial ul.scenario_list {
  position: relative;
  padding: 0 0 37vw;
  width: 93vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  text-align: center;
}
main section.memorial ul.scenario_list li.news::before {
  content: "";
  position: absolute;
  top: -1.5vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 7vw;
  height: 7vw;
  z-index: 2;
}
main section.memorial ul.scenario_list li {
  position: relative;
  margin-bottom: 3vw;
  min-height: 27.8vw;
  z-index: 1;
}
main section.memorial ul.scenario_list li img {
  width: 100%;
  background-color: #ffffff;
}
main section.memorial ul.scenario_list li p.left_text {
  position: absolute;
  bottom: 1.5vw;
  left: 2vw;
  padding: 2.5vw 1.7vw;
  background-color: #fc093e;
  color: #ffffff;
  border-radius: 2vw;
  font-size: 3.5vw;
  text-align: center;
  width: 38vw;
}
main section.memorial ul.scenario_list li p.right_text {
  position: absolute;
  bottom: 1.5vw;
  right: 3vw;
  color: #ffffff;
  text-align: right;
  border-radius: 2vw;
  font-size: 3.5vw;
  text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  z-index: 1;
}
main section.memorial ul.scenario_list li p.right_text span {
  display: block;
  font-size: 6.5vw;
  color: #fffb09;
  text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  padding-top: 1vw;
}
main section.memorial ul.scenario_list li p.right_text::before {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  right: -1.5vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10vw 20vw;
  border-color: transparent transparent rgba(255, 0, 76, 0.829) transparent;
  z-index: -1;
}
main section.memorial ul.scenario_list li.lock {
  position: relative;
}
main section.memorial ul.scenario_list li.lock img.lock_caption {
  position: absolute;
  top: 10%;
  right: 21.5vw;
  height: auto;
  width: 50vw;
  z-index: 4;
  background-color: transparent;
}
main section.memorial ul.scenario_list li.lock p.lock_text {
  position: absolute;
  top: 50%;
  right: 6vw;
  height: 12vw;
  width: 81vw;
  font-size: 2.9vw;
  line-height: 1.6em;
  z-index: 4;
  color: #fff;
}
main section.memorial ul.scenario_list li.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.memorial ul.scenario_list li.after_story_lock {
  position: relative;
  cursor: pointer;
}
main section.memorial ul.scenario_list li.after_story_lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 3;
  background-color: #310015;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #46031f), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #46031f), color-stop(0.75, #46031f), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.memorial ul.scenario_list li.after_story_lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 20%;
  right: 10vw;
  height: 16.5vw;
  width: 70.4vw;
  background: url(https://oshimemo.com/api/img/talk/after_story_lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 4;
}
main section.memorial ul.voice {
  font-size: 0;
  width: 92vw;
  margin: 0 auto;
  padding-bottom: 5vw;
}
main section.memorial ul.voice li.news::before {
  content: "";
  position: absolute;
  top: 1vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 7vw;
  height: 7vw;
  z-index: 2;
}
main section.memorial ul.voice li {
  display: inline-block;
  margin-bottom: 3vw;
  font-size: 3vw;
  width: 92vw;
  height: 18vw;
  position: relative;
}
main section.memorial ul.voice li p.v_num {
  position: relative;
  padding-top: 6vw;
  padding-left: 15vw;
  font-size: 3vw;
  z-index: 2;
}
main section.memorial ul.voice li p.v_text {
  position: relative;
  padding-top: 1vw;
  padding-left: 16vw;
  font-size: 4.8vw;
  z-index: 2;
}
main section.memorial ul.voice li p.v_text span {
  display: inline-block;
  color: #bd497d;
  max-width: 13em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0 1vw;
}
main section.memorial ul.voice li img {
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}
main section.memorial ul.still {
  font-size: 0;
  width: 87vw;
  margin: 0 auto;
  padding-bottom: 5vw;
}
main section.memorial ul.still li.news::before {
  content: "";
  position: absolute;
  top: -1vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 8vw;
  height: 8vw;
  z-index: 2;
}
main section.memorial ul.still li {
  position: relative;
  display: inline-block;
  height: 36vw;
  width: 27vw;
  background-color: #FFF;
  margin: 0 1vw 5vw;
  padding: 1vw;
}
main section.memorial ul.still li figure {
  height: 25vw;
  overflow: hidden;
}
main section.memorial ul.still li figure img {
  width: 100%;
}
main section.memorial ul.still li p {
  font-size: 3vw;
  line-break: anywhere;
  line-height: 1.3em;
  height: 3em;
  overflow: hidden;
  padding: 1.5vw 0 0.5vw;
  text-align: left;
}
main section.memorial ul.still li.lock,
main section.memorial ul.still li.a_lock {
  position: relative;
}
main section.memorial ul.still li.lock::before {
  content: "";
  position: absolute;
  top: 1vw;
  left: 1vw;
  height: 25vw;
  width: 25vw;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.memorial ul.still li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7vw;
  right: 8vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main section.memorial ul.still li.a_lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 36vw;
  width: 27vw;
  z-index: 2;
  background-color: #310015;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #46031f), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #46031f), color-stop(0.75, #46031f), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.memorial ul.still li.a_lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 9vw;
  left: 5vw;
  height: 17vw;
  width: 17vw;
  background: url(https://oshimemo.com/api/img/memorial/a_lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
footer.memorial_foot {
  width: 100%;
  z-index: 32;
  position: relative;
  bottom: 0;
  left: 0;
  background-color: #ffe1eb;
}
header.memorial_head {
  background-image: linear-gradient(#ff9bbc, #ffe1eb);
  font-size: 0;
  position: relative;
}
header.memorial_head img.topboder {
  width: 100%;
}
header.memorial_head section.selected_girl {
  position: relative;
  width: 100%;
  height: 39vw;
  z-index: 3;
  overflow: hidden;
}
header.memorial_head section.selected_girl div.inner {
  width: 100vw;
  height: 39vw;
  background-image: linear-gradient(#fff4f7, #ffe1eb);
  mask-image: url(https://oshimemo.com/api/img/memorial/mask.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: url(https://oshimemo.com/api/img/memorial/mask.png);
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  position: relative;
  overflow: hidden;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner figure {
  position: absolute;
  top: -20vw;
  left: -12vw;
  width: 60%;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  border-right: 2vw solid #a35882;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner figure img {
  width: 100%;
}
header.memorial_head section.selected_girl div.inner img.bg_photo {
  position: absolute;
  top: 0;
  right: -13vw;
  width: 70vw;
  opacity: 0.3;
  z-index: 4;
}
header.memorial_head section.selected_girl div.inner ul.main_prof {
  height: 20vw;
  width: 54vw;
  position: absolute;
  top: 3vw;
  right: 0vw;
  z-index: 5;
  padding-top: 1.5vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name {
  height: 8vw;
  width: 54vw;
  position: relative;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name p {
  width: 43vw;
  z-index: 4;
  padding: 2.4vw 0 1vw 0;
  color: #383838;
  font-size: 3.6vw;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 10vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.name p span {
  font-size: 4.5vw;
  color: #d61b85;
  font-weight: bold;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.profile {
  text-align: right;
  padding: 0 3vw 1vw;
  color: #d61b85;
  font-size: 3.3vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board {
  text-align: right;
  padding: 0 1.5vw;
  color: #f1168e;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper {
  position: relative;
  text-align: left;
  width: 39vw;
  font-size: 3vw;
  border-radius: 2vw;
  padding: 1vw 2vw 0.5vw;
  line-height: 4vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
  width: 4vw;
  margin-right: 1vw;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
  position: absolute;
  right: 2vw;
  top: 1.3vw;
  font-size: 3.8vw;
  font-weight: bold;
  color: #f1168e;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  height: 2vw;
  width: 39vw;
  margin: 0;
}
header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter span {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #f1168e;
}
header.memorial_head section.selected_girl img.boder {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 12;
}
header.memorial_head div.m_caption {
  width: 100%;
  position: absolute;
  bottom: -1vw;
  left: 20vw;
  z-index: 13;
}
header.memorial_head div.m_caption img.caption_img {
  position: relative;
  height: 14vw;
  z-index: 14;
}
header.memorial_head div.m_caption p {
  background-color: #e71f62;
  position: absolute;
  top: 2.6vw;
  left: 11vw;
  width: 48vw;
  z-index: 13;
  padding: 1.8vw 3vw;
  color: #ffffff;
  font-size: 4.5vw;
  text-align: center;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
header.is_head,
header.campaign_head {
  background-image: linear-gradient(#ff9bbc, #ffe1eb);
  font-size: 0;
  position: relative;
}
header.is_head img.topboder,
header.campaign_head img.topboder {
  width: 94vw;
  position: relative;
  left: 3vw;
}
header.is_head div.title_img,
header.campaign_head div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 3.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.is_head div.title_img img,
header.campaign_head div.title_img img {
  width: 100%;
}
header.campaign_head div.title_img {
  bottom: 2.2vw;
}
main section.item_tab {
  position: absolute;
  bottom: 0.5vw;
  left: 0;
  width: 100%;
  z-index: 3;
  text-align: center;
  font-size: 0;
}
main section.item_tab div.i_tab {
  position: relative;
  width: 39vw;
  color: #ffffff;
  margin: 0 1vw;
  text-align: center;
  font-size: 3.5vw;
  line-height: 3.5vw;
  padding: 1.4vw 0;
  background-color: rgba(172, 134, 152, 0.885);
  border-radius: 3vw 3vw 0 0;
  z-index: 3;
}
main section.item_tab div.i_tab img {
  width: 100%;
  padding: 0 1vw;
}
main section.item_tab div.i_tab p.check {
  position: absolute;
  top: -2vw;
  right: -3.5vw;
  display: inline-block;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3.5vw;
  line-height: 3.5vw;
  padding: 1vw 1vw;
}
main section.item_tab div.i_tab.active {
  background-color: #cf035a;
}
main section.item_tab div.i_tab.active p.check {
  display: none;
}
main section.item_tab div.i_tab.active::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  left: 0.5vw;
  background: url(https://oshimemo.com/api/img/memorial/check.png) top left no-repeat;
  background-size: 7vw 7vw;
}
main section.item_tab img.bottom_boder {
  position: absolute;
  bottom: -0.5vw;
  left: 3vw;
  width: 93vw;
  z-index: 4;
}
main section.item_index::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.item_index {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
  text-align: center;
}
main section.item_index ul.item_box {
  font-size: 0;
  width: 87vw;
  margin: 0 auto;
  padding-bottom: 5vw;
  opacity: 1;
  display: block;
  text-align: left;
}
main section.item_index ul.item_box li.lock {
  position: relative;
}
main section.item_index ul.item_box li.lock figure {
  position: relative;
}
main section.item_index ul.item_box li.lock figure::before {
  content: "";
  position: absolute;
  border-radius: 2vw;
  width: 27vw;
  height: 27vw;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.item_index ul.item_box li.lock figure::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7vw;
  right: 6.5vw;
  height: 12vw;
  width: 12vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main section.item_index ul.item_box li {
  position: relative;
  display: inline-block;
  width: 27vw;
  margin: 0 1vw 2vw;
  padding: 1vw;
  height: 38vw;
  overflow: hidden;
}
main section.item_index ul.item_box li figure {
  position: relative;
  background-color: #fff1f5;
  border-radius: 2vw;
  width: 25vw;
  height: 27vw;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section.item_index ul.item_box li figure img {
  width: 100%;
}
main section.item_index ul.item_box li figcaption {
  position: absolute;
  left: 10%;
  font-size: 3vw;
  padding: 1.5vw 0 0.5vw;
  text-align: left;
  height: 8.5vw;
  width: 80%;
  line-height: 1.3em;
}
main section.item_index ul.item_box li p.poss {
  position: absolute;
  text-align: left;
  top: 21vw;
  right: 0.5vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3.5vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
}
main section.item_index ul.item_box li p.poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
main section.item_index ul.present_box {
  font-size: 0;
  width: 93vw;
  margin: 0 auto;
  padding-bottom: 5vw;
  opacity: 1;
  display: block;
  text-align: left;
}
main section.item_index ul.present_box li.lock {
  position: relative;
}
main section.item_index ul.present_box li.lock .pre_img {
  position: relative;
}
main section.item_index ul.present_box li.lock .pre_img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.item_index ul.present_box li.lock .pre_img::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 3vw;
  right: 3vw;
  height: 10vw;
  width: 10vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main section.item_index ul.present_box li {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  height: 16vw;
  background: linear-gradient(to bottom, #ffffff 38%, #fff9aa 78%, #ffffff 84%);
  border-radius: 2vw;
  margin-bottom: 2.5vw;
}
main section.item_index ul.present_box li .pre_img {
  float: left;
  background-image: linear-gradient(#ffb1cb, #f3d6df);
  height: 16vw;
  width: 16vw;
  overflow: hidden;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section.item_index ul.present_box li .pre_img img {
  width: 100%;
}
main section.item_index ul.present_box li .pre_date {
  float: left;
  width: 58vw;
  height: 16vw;
  font-size: 3vw;
  padding: 2.7vw 0 1.5vw 2.5vw;
  color: #554650;
}
main section.item_index ul.present_box li .pre_date span {
  font-size: 4.2vw;
  display: block;
  padding: 2.5vw 0 0;
  color: #554650;
}
main section.item_index ul.present_box li .receive {
  float: left;
  margin-top: 1.5vw;
  width: 18vw;
  height: auto;
  font-size: 3vw;
  color: #ffffff;
  border-radius: 2vw;
  text-align: center;
  position: relative;
}
main section.item_index ul.present_box li .receive img {
  width: 100%;
}
main section.item_index ul.present_box li .receive img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
main section.item_index ul.present_box li .receive span {
  position: absolute;
  bottom: -4vw;
  left: 0;
  color: #fd5890;
  display: block;
  text-align: center;
  width: 18vw;
}
main section.item_index .all_receive {
  margin: 0 auto;
  height: 10vw;
  width: 45vw;
  padding-bottom: 30vw;
}
main section.item_index .all_receive img {
  width: 100%;
}
main section.item_index .all_receive img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
main section.item_index .lb_check {
  margin: 3vw auto 0;
  width: 65vw;
}
main section.item_index .lb_check img {
  width: 100%;
}
main section.item_index .lb_check img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer.is_foot {
  width: 100%;
  z-index: 20;
  position: relative;
  bottom: 0;
  left: 0;
  background-color: #ffe1eb;
}
footer.is_foot p.u_diamonds.inactive {
  right: -100vw;
}
footer.is_foot p.u_diamonds {
  position: absolute;
  bottom: 2vw;
  right: 2.5vw;
  width: auto;
  display: inline-block;
  text-align: center;
  font-size: 4vw;
  line-height: 4vw;
  color: #e92751;
  letter-spacing: 0.05em;
  width: 35.1vw;
  height: 10vw;
  padding: 3.2vw 3vw 0 8vw;
  border-radius: 2vw;
  transition: all 0.3s;
  background-image: url(https://oshimemo.com/api/img/shop/diamond_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-weight: bold;
  z-index: 23;
}
main section.shop_tab {
  position: absolute;
  bottom: 0.5vw;
  left: 0;
  width: 100%;
  z-index: 3;
  text-align: center;
  font-size: 0;
}
main section.shop_tab div.tab_bt {
  position: relative;
  width: 27vw;
  color: #ffffff;
  margin: 0 1vw;
  text-align: center;
  font-size: 3.3vw;
  line-height: 3.5vw;
  padding: 1.4vw 0;
  background-color: rgba(172, 134, 152, 0.885);
  border-radius: 3vw 3vw 0 0;
  z-index: 3;
}
main section.shop_tab div.tab_bt img {
  width: 19vw;
  padding: 0 1vw;
}
main section.shop_tab div.tab_bt.active {
  background-color: #cf035a;
}
main section.shop_tab img.bottom_boder {
  position: absolute;
  bottom: -0.5vw;
  left: 3vw;
  width: 93vw;
  z-index: 4;
}
main section.shop_index::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.shop_index {
  background-image: url(https://oshimemo.com/api/img/shop/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 25vw;
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.shop_index ul.shop_list.shop_buy.active,
main section.shop_index ul.shop_list.item_l.active,
main section.shop_index ul.shop_list.bg_img.active {
  display: block;
}
main section.shop_index ul.shop_list.shop_buy.active.fade_in,
main section.shop_index ul.shop_list.item_l.active.fade_in,
main section.shop_index ul.shop_list.bg_img.active.fade_in {
  opacity: 1;
}
main section.shop_index ul.shop_list {
  font-size: 0;
  width: 100vw;
  margin: 0 auto;
  padding: 0 0 5vw;
  text-align: left;
  opacity: 0;
  display: none;
  transition: all 0.4s;
}
main section.shop_index ul.shop_list li:nth-child(odd) {
  margin: 0 2.5vw 8vw 10.5vw;
}
main section.shop_index ul.shop_list li {
  position: relative;
  display: inline-block;
  width: 37vw;
  margin: 0 2.5vw 8vw;
  height: 41vw;
  cursor: pointer;
  overflow: hidden;
}
main section.shop_index ul.shop_list li figure {
  width: 37vw;
  height: 37vw;
  overflow: hidden;
  position: relative;
  background-color: #ffffffcb;
  border-radius: 2vw 2vw 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section.shop_index ul.shop_list li figure img {
  width: 37vw;
  border-radius: 2vw;
}
main section.shop_index ul.shop_list li figure figcaption {
  position: absolute;
  left: 10%;
  font-size: 3vw;
  padding: 2.5vw 0 0.5vw;
  text-align: left;
  height: 8.5vw;
  width: 80%;
  line-height: 1.3em;
}
main section.shop_index ul.shop_list li p.price {
  position: absolute;
  top: 32.5vw;
  left: 50%;
  width: 100%;
  text-align: center;
  color: #fff23e;
  background-color: #db274e;
  font-size: 4vw;
  line-height: 4vw;
  padding: 2vw 1.5vw;
  border-radius: 0 0 2vw 2vw;
  transform: translate(-50%);
  letter-spacing: 0.1em;
  font-weight: bold;
}
main section.shop_index ul.shop_list li p.price img {
  height: 4vw;
  padding-right: 0.5vw;
}
main section.shop_index ul.shop_list li.lock {
  position: relative;
}
main section.shop_index ul.shop_list li.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.shop_index ul.shop_list li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 11.5vw;
  right: 9.5vw;
  height: 17vw;
  width: 17vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main section.shop_index ul.shop_list li.done {
  opacity: 0.6;
}
main section.shop_index ul.shop_list li.done figure:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 37vw;
  height: 40.5vw;
  z-index: 2;
  border-radius: 3vw;
  background-color: rgba(26, 26, 26, 0.815);
}
main section.shop_index ul.shop_list li.done figure:after {
  text-align: center;
  content: "既にこのアイテムを所持しています";
  position: absolute;
  top: 18vw;
  left: 5vw;
  width: 27vw;
  line-height: 2em;
  font-size: 3vw;
  height: 40.5vw;
  z-index: 3;
  color: #fff;
}
main section.shop_index ul.shop_list + .bg_img li:nth-child(odd) {
  margin: 0 2.5vw 8vw 10.5vw;
}
main section.shop_index ul.shop_list + .bg_img li {
  position: relative;
  display: inline-block;
  width: 37vw;
  margin: 0 2.5vw 8vw;
  height: 45vw;
}
main section.shop_index ul.shop_list + .bg_img li figure {
  width: 37vw;
  height: 45vw;
  position: relative;
  background-color: transparent;
  border-radius: 2vw 2vw 0 0;
}
main section.shop_index ul.shop_list + .bg_img li figure img {
  width: 100%;
  border-radius: 2vw;
}
main section.shop_index ul.shop_list + .bg_img li figure figcaption {
  position: absolute;
  left: 10%;
  font-size: 3vw;
  padding: 2.5vw 0 0.5vw;
  text-align: left;
  height: 8.5vw;
  width: 80%;
  line-height: 1.3em;
}
main section.shop_index ul.shop_list + .bg_img li p.price {
  position: absolute;
  top: 37.5vw;
  left: 50%;
  width: 100%;
  text-align: center;
  color: #fff23e;
  background-color: #db274e;
  font-size: 4vw;
  line-height: 4vw;
  padding: 2vw 1.5vw;
  border-radius: 0 0 2vw 2vw;
  transform: translate(-50%);
  letter-spacing: 0.1em;
  font-weight: bold;
}
main section.shop_index ul.shop_list + .bg_img li p.price img {
  height: 4vw;
  padding-right: 0.5vw;
}
main section.shop_index ul.shop_list + .bg_img li.done {
  opacity: 0.6;
}
main section.shop_index ul.shop_list + .bg_img li.done figure:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 37vw;
  height: 45.5vw;
  z-index: 2;
  border-radius: 2vw;
  background-color: rgba(26, 26, 26, 0.815);
}
main section.shop_index ul.shop_list.shop_buy li {
  position: relative;
  display: inline-block;
  height: auto;
  width: 90vw;
  margin: 0 5vw 2.5vw;
}
main section.shop_index ul.shop_list.shop_buy li img {
  width: 100%;
  border-radius: 2vw;
}
main section.shop_index .shop_info {
  width: 100%;
  text-align: center;
  padding: 0 0 4vw;
}
main section.shop_index .shop_info img {
  width: 100vw;
}
main section.shop_index .campaign_banner {
  width: 100%;
  text-align: center;
  padding: 5vw 0 4vw;
}
main section.shop_index .campaign_banner p {
  color: #e92751;
  font-size: 4vw;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  padding: 0 5vw 1.5vw 5vw;
}
main section.shop_index .campaign_banner img {
  width: 90vw;
}
main section.all_talklist::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.all_talklist {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.all_talklist ul.all_list {
  position: relative;
  padding: 0 0 24vw;
  width: 93vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
main section.all_talklist ul.all_list li.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main section.all_talklist ul.all_list li.lock img.lock_caption {
  position: absolute;
  top: 12%;
  right: 21.5vw;
  height: auto;
  width: 50vw;
  z-index: 3;
}
main section.all_talklist ul.all_list li.lock p.lock_text {
  position: absolute;
  top: 56%;
  right: 6vw;
  height: 8vw;
  width: 81vw;
  font-size: 2.9vw;
  line-height: 1.6em;
  z-index: 3;
  color: #fff;
}
main section.all_talklist ul.all_list li {
  position: relative;
  display: block;
  margin-bottom: 3vw;
  padding: 2.5vw;
  height: 25.1vw;
  width: 93vw;
  background-image: url(https://oshimemo.com/api/img/talk/alllibg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
main section.all_talklist ul.all_list li div.meaage_status {
  position: absolute;
  bottom: 1.5vw;
  right: 10vw;
  text-align: right;
  font-size: 0;
}
main section.all_talklist ul.all_list li div.meaage_status div.free_message {
  font-size: 3vw;
  color: #fffeaa;
  border-radius: 1vw;
  padding: 0.6vw 1.7vw;
  background-image: url(https://oshimemo.com/api/img/talk/free_message_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0.5vw;
}
main section.all_talklist ul.all_list li div.meaage_status div.img_message {
  font-size: 3vw;
  color: #fff;
  border-radius: 1vw;
  padding: 0.6vw 1.7vw;
  background-image: url(https://oshimemo.com/api/img/talk/img_message_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0.5vw;
}
main section.all_talklist ul.all_list li div.message {
  position: relative;
  float: right;
  width: 68vw;
  height: 20vw;
  z-index: 1;
  overflow: hidden;
}
main section.all_talklist ul.all_list li div.message p.name {
  float: left;
  color: #a21e49;
  font-weight: bold;
  font-size: 4.8vw;
  line-height: 6vw;
  padding-top: 1vw;
}
main section.all_talklist ul.all_list li div.message p.time {
  float: right;
  font-size: 4vw;
  line-height: 6vw;
  padding: 1.3vw 1vw 0 0;
}
main section.all_talklist ul.all_list li div.message p.text {
  clear: both;
  color: #2b2b2b;
  border-top: 1px solid #e2e2e2;
  line-height: 5vw;
  padding: 2vw 1.5vw 0 1.5vw;
  font-size: 3.9vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-break: anywhere;
}
main section.all_talklist ul.all_list li div.message p.text .substr {
  visibility: hidden;
}
main section.all_talklist ul.all_list li figure {
  position: relative;
  height: 20vw;
  width: 20vw;
  overflow: hidden;
  float: left;
}
main section.all_talklist ul.all_list li figure img {
  position: relative;
  width: 100%;
  z-index: 1;
}
main section.all_talklist ul.all_list li figure::before {
  content: "";
  position: absolute;
  height: 20vw;
  width: 20vw;
  bottom: -10vw;
  left: -10vw;
  background: #ffd0e0;
  z-index: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main section.all_talklist ul.all_list li p.unread {
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: #fdffa1;
  font-weight: bold;
  text-align: center;
  width: 9vw;
  height: 9vw;
  font-size: 4vw;
  line-height: 9vw;
  z-index: 2;
}
main section.all_talklist ul.all_list li p.unread_sign {
  position: absolute;
  bottom: 1vw;
  right: 10.5vw;
  display: inline-block;
  color: #ff0e52;
  font-weight: bold;
  font-size: 2.9vw;
  z-index: 2;
}
main section.all_talklist ul.all_list li.y_mode {
  position: relative;
  margin-bottom: 3vw;
  padding: 2.5vw;
  height: 25.1vw;
  width: 93vw;
  background-image: url(https://oshimemo.com/api/img/talk/alllibg_y.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
main section.all_talklist ul.all_list li.y_mode div.message p.name {
  color: #ff0e5e;
}
main section.all_talklist ul.all_list li.y_mode div.message p.time {
  color: #b4003c;
}
main section.all_talklist ul.all_list li.y_mode div.message p.text {
  color: #bb003e;
  border-top: 1px solid #f0ddb5;
}
main section.all_talklist ul.all_list li.y_mode figure::before {
  background: #ffe09e;
}
main section.all_talklist ul.all_list li.y_mode p.unread {
  background-image: url(https://oshimemo.com/api/img/common/footer/span_y.png);
  font-size: 0;
  animation: sc_anime3 1.5s ease-in-out infinite;
}
main section.all_talklist ul.all_list li.y_mode p.unread_sign {
  font-size: 0;
}
main section.all_talklist ul.all_list li.y_mode::before {
  content: "親密度UP↑";
  position: absolute;
  bottom: 0vw;
  left: 2.5vw;
  z-index: 2;
  font-size: 2.9vw;
  background: #ff0e52;
  color: #fffd6b;
  padding: 1vw 1.5vw;
  border-radius: 1.5vw;
  line-height: 2.9vw;
}
main section.all_talklist ul.all_list li.caution {
  background-image: url(https://oshimemo.com/api/img/talk/alllibg_c.png);
}
main section.all_talklist ul.all_list li.caution figure::before {
  background: transparent;
}
main section.all_talklist ul.all_list li.caution div.message p.name {
  color: #fff897;
  font-size: 5.5vw;
  text-align: center;
  width: 100%;
  letter-spacing: 0.1em;
}
main section.all_talklist ul.all_list li.caution div.message p.text {
  color: #ffffff;
  border-top: none;
  padding: 1.3vw 1vw 0;
}
main section.all_talklist ul.all_list li.meme {
  background-image: url(https://oshimemo.com/api/img/talk/alllibg_m.png);
}
main section.all_talklist ul.all_list li.meme figure::before {
  background: #8cc3e7;
}
main section.all_talklist ul.all_list li.meme div.message p.name {
  color: #1e4ca2;
}
main section.all_talklist ul.all_list li.meme div.message p.time {
  float: right;
  font-size: 4vw;
  line-height: 6vw;
  padding: 1.3vw 1vw 0 0;
}
main section.all_talklist ul.all_list li.meme div.message p.text {
  clear: both;
  color: #2a2152;
  border-top: 1px solid #adc1e7;
  line-height: 5vw;
  padding: 1.3vw 1vw 0 0;
  font-size: 3.8vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
main section.all_talklist ul.all_list li.meme p.unread {
  background-image: url(https://oshimemo.com/api/img/common/footer/span_m.png);
}
main section.all_talklist ul.all_list li.meme p.unread_sign {
  font-size: 0;
}
main section.ex_index::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.ex_index {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  z-index: 2;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
main section.ex_index ul.ex {
  font-size: 0;
  width: 93vw;
  margin: 0 auto;
  padding-bottom: 5vw;
  opacity: 1;
  display: block;
}
main section.ex_index ul.ex li {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  height: 15vw;
  background: linear-gradient(to bottom, #ffffff 38%, #fffcd8 86%, #ffffff 93%);
  border-radius: 2vw;
  margin-bottom: 2.5vw;
}
main section.ex_index ul.ex li .ex_img {
  float: left;
  background: #fff8b9;
  height: 15vw;
  width: 15vw;
  text-align: center;
}
main section.ex_index ul.ex li .ex_img img {
  height: 100%;
}
main section.ex_index ul.ex li .ex_date {
  float: left;
  width: 58vw;
  height: 16vw;
  font-size: 3vw;
  padding: 2.7vw 0 1.5vw 2.5vw;
  color: #ff002b;
}
main section.ex_index ul.ex li .ex_date span {
  font-size: 4.2vw;
  display: block;
  padding: 2.5vw 0 0;
  color: #554650;
}
main section.ex_index ul.ex li .receive {
  float: left;
  margin-top: 2vw;
  width: 18vw;
  height: auto;
  font-size: 3vw;
  color: #ffffff;
  border-radius: 2vw;
  text-align: center;
  position: relative;
}
main section.ex_index ul.ex li .receive img {
  width: 100%;
}
main section.ex_index ul.ex li .receive img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
main section.ex_index ul.ex li .receive span {
  position: absolute;
  bottom: -3.5vw;
  right: 0;
  color: #ff711e;
  display: block;
  text-align: right;
  width: 25vw;
}
main section.ex_index .all_receive {
  margin: 0 auto;
  width: 45vw;
}
main section.ex_index .all_receive img {
  width: 100%;
}
main section.ex_index .all_receive img:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
header.ex_head {
  background-image: linear-gradient(#ff9bbc, #ffe1eb);
  font-size: 0;
  position: relative;
}
header.ex_head img.topboder {
  width: 94vw;
  position: relative;
  left: 3vw;
}
header.ex_head div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 40.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.ex_head div.title_img img {
  width: 100%;
}
header.ex_head .ex_img {
  margin: 0 auto;
  height: 37vw;
  text-align: center;
}
header.ex_head .ex_img img {
  height: 100%;
}
header.gacha_head {
  position: absolute;
  top: 0;
  left: 0;
}
header.gacha_head .topboder {
  position: relative;
}
header.gacha_head .topboder img {
  width: 100%;
}
header.gacha_head .topboder div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 3.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.gacha_head .topboder div.title_img img {
  width: 100%;
}
header.gacha_head .g_percentage.active {
  display: flex;
}
header.gacha_head .g_percentage.active.fade_in {
  opacity: 1;
}
header.gacha_head .g_percentage.active.fade_in div.percentage_inner {
  top: 0;
}
header.gacha_head .g_percentage {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.2s;
}
header.gacha_head .g_percentage div.percentage_inner {
  height: auto;
  width: 100vw;
  background: #ffffff;
  transition: all 0.5s;
  position: relative;
  padding: 2vw 0;
  top: -250vw;
  transition: all 0.3s;
}
header.gacha_head .g_percentage div.percentage_inner p.p_title {
  position: relative;
}
header.gacha_head .g_percentage div.percentage_inner p.p_title img {
  width: 100%;
  padding: 2vw 0 4vw;
}
header.gacha_head .g_percentage div.percentage_inner p.p_title::before {
  content: "";
  bottom: 0;
  right: 0;
  display: inline-block;
  position: absolute;
  height: 2.1vw;
  width: 100vw;
  background: url(https://oshimemo.com/api/img/gacha/title_border.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details {
  position: relative;
  height: 50vh;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  background-color: #ffffff;
  width: 100vw;
  padding: 5vw;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li {
  position: relative;
  width: 100%;
  height: 7vw;
  margin-bottom: 2.5vw;
  background: linear-gradient(to bottom, #ffffff 38%, #fffbc8 60%, #ffffff 74%);
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dt p.item_title {
  display: inline-block;
  font-size: 4vw;
  width: 66vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dt p.item_title::before {
  height: 3.5vw;
  width: 16vw;
  display: inline-block;
  position: relative;
  left: 0;
  padding: 1vw 1vw;
  margin-right: 2vw;
  color: #fff;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3.5vw;
  text-align: center;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dd.item_per {
  position: absolute;
  top: 1.5vw;
  right: 0;
  text-align: right;
  font-weight: bold;
  font-size: 4vw;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.bg dl dt p.item_title::before {
  content: "背景";
  background-color: #4285c4;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.face dl dt p.item_title::before {
  content: "顔";
  background-color: #ed9881;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.costume dl dt p.item_title::before {
  content: "衣装";
  background-color: #df7897;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.still dl dt p.item_title::before {
  content: "スチル";
  background-color: #f3872f;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.voice dl dt p.item_title::before {
  content: "ボイス";
  background-color: #8b8179;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.fav dl dt p.item_title::before {
  content: "親密度";
  background-color: #f03c54;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.point dl dt p.item_title::before {
  content: "ダイヤ";
  background-color: #dfd25e;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.ticket dl dt p.item_title::before {
  content: "チケット";
  background-color: #298899;
}
header.gacha_head .g_percentage div.percentage_inner ul.g_details li.pack dl dt p.item_title::before {
  content: "パック";
  background-color: #85447a;
}
header.gacha_head .g_percentage div.percentage_inner div.percentage_close {
  position: relative;
  width: 100vw;
  text-align: center;
  padding: 6vw 0;
}
header.gacha_head .g_percentage div.percentage_inner div.percentage_close p {
  font-size: 3vw;
  padding-bottom: 3vw;
  color: #8d8d8d;
}
header.gacha_head .g_percentage div.percentage_inner div.percentage_close img {
  width: 28vw;
  border-radius: 2vw;
}
header.gacha_head .g_percentage div.percentage_inner div.percentage_close::before {
  content: "";
  top: 0;
  right: 0;
  display: inline-block;
  position: absolute;
  height: 2.1vw;
  width: 100vw;
  background: url(https://oshimemo.com/api/img/gacha/title_border.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
header.gacha_head .g_description.active {
  display: flex;
}
header.gacha_head .g_description.active.fade_in {
  opacity: 1;
}
header.gacha_head .g_description.active.fade_in div.description_inner {
  top: 0;
}
header.gacha_head .g_description {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.2s;
}
header.gacha_head .g_description div.description_inner {
  height: auto;
  width: 100vw;
  background: #ffffff;
  transition: all 0.3s;
  position: relative;
  padding: 2vw 0;
  top: -250vw;
}
header.gacha_head .g_description div.description_inner p.d_title {
  position: relative;
  text-align: center;
  padding: 4vw 0;
  color: #be3285;
  font-weight: bold;
  font-size: 4.8vw;
}
header.gacha_head .g_description div.description_inner p.d_title::before {
  content: "";
  bottom: 0;
  right: 0;
  display: inline-block;
  position: absolute;
  height: 2.1vw;
  width: 100vw;
  background: url(https://oshimemo.com/api/img/gacha/title_border.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
header.gacha_head .g_description div.description_inner .gacha_campaign::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
header.gacha_head .g_description div.description_inner .gacha_campaign {
  position: relative;
  height: 50vh;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  background-color: #ffffff;
  width: 90vw;
  padding: 5vw;
}
header.gacha_head .g_description div.description_inner .gacha_campaign figure img {
  width: 100%;
}
header.gacha_head .g_description div.description_inner .gacha_campaign p.time_limit {
  padding: 1.5vw;
  text-align: center;
  font-size: 3.7vw;
}
header.gacha_head .g_description div.description_inner .gacha_campaign p.campaign_text {
  padding: 3vw 0 0;
  text-align: left;
  font-size: 4.25vw;
  line-height: 6vw;
}
header.gacha_head .g_description div.description_inner div.description_close {
  position: relative;
  width: 100vw;
  text-align: center;
  padding: 6vw 0;
}
header.gacha_head .g_description div.description_inner div.description_close p {
  font-size: 3vw;
  padding-bottom: 3vw;
  color: #8d8d8d;
}
header.gacha_head .g_description div.description_inner div.description_close img {
  width: 28vw;
  border-radius: 2vw;
}
header.gacha_head .g_description div.description_inner div.description_close::before {
  content: "";
  top: 0;
  right: 0;
  display: inline-block;
  position: absolute;
  height: 2.1vw;
  width: 100vw;
  background: url(https://oshimemo.com/api/img/gacha/title_border.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
header.gacha_head .g_anime.fade_out {
  opacity: 0;
}
header.gacha_head .g_anime.fade_out.inactive {
  display: none;
}
header.gacha_head .g_anime {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(255, 80, 130, 0.699);
  z-index: 51;
  display: flex;
  opacity: 1;
  transition: all 0.3s;
}
header.gacha_head .g_anime div.ten_details.active {
  display: flex;
}
header.gacha_head .g_anime div.ten_details.active.fade_in {
  opacity: 1;
}
header.gacha_head .g_anime div.ten_details {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(87, 36, 50, 0.699);
  height: 100vh;
  width: 100vw;
  z-index: 100;
  align-items: center;
  justify-content: center;
  display: none;
  opacity: 0;
}
header.gacha_head .g_anime div.ten_details ul.item_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
header.gacha_head .g_anime div.ten_details ul.item_details {
  padding: 0 2vw 15vw;
  height: 80%;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  font-size: 0;
}
header.gacha_head .g_anime div.ten_details ul.item_details li.lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 52;
  background-color: rgba(99, 99, 99, 0.9);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(66, 66, 66, 0.9)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(66, 66, 66, 0.9)), color-stop(0.75, rgba(66, 66, 66, 0.9)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
header.gacha_head .g_anime div.ten_details ul.item_details li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 25vw;
  right: 2.7vw;
  height: 16.4vw;
  width: 45vw;
  background: url(https://oshimemo.com/api/img/gacha/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 53;
}
header.gacha_head .g_anime div.ten_details ul.item_details li {
  display: inline-block;
  position: relative;
  width: 48vw;
  padding: 2vw;
  margin-bottom: 5vw;
}
header.gacha_head .g_anime div.ten_details ul.item_details li img {
  width: 100%;
}
header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate {
  width: 40vw;
  height: auto;
  position: absolute;
  top: 10vw;
  left: 1vw;
  background-color: rgba(32, 32, 32, 0.836);
  transition: all 0.4s;
  display: inline-block;
  z-index: 54;
  padding: 3vw;
  border-radius: 1vw;
  opacity: 1;
  text-align: center;
}
header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p {
  font-size: 3.5vw;
  line-height: 1.4em;
  text-align: center;
  color: #fff;
}
header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p span {
  display: inline-block;
  line-height: 1.4em;
  font-size: 3vw;
  padding-top: 2vw;
}
header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p.possession {
  margin: 0 auto;
  padding: 4vw 0 2vw;
  color: #ffd82a;
  font-size: 4.5vw;
  font-weight: bold;
  width: auto;
  display: inline-block;
  font-size: 3.6vw;
  line-height: 14vw;
}
header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p.possession img {
  height: 14vw;
  width: auto;
}
header.gacha_head .g_anime div.ten_details ul.item_details li.caption_bt {
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}
header.gacha_head .g_anime div.ten_details ul.item_details li.caption_bt img {
  width: 44%;
  border-radius: 2vw;
}
header.gacha_head .g_anime div.result {
  height: 124vw;
  width: 100vw;
  background-image: url(https://oshimemo.com/api/img/gacha/result_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.5s;
  text-align: center;
  position: relative;
  padding: 0;
}
header.gacha_head .g_anime div.result div.capsule {
  position: absolute;
  top: 12vw;
  left: 0;
  height: 100vw;
  width: 100vw;
  z-index: 55;
  animation: cap_anime3 2s ease-in-out forwards;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper {
  position: relative;
  height: 100vw;
  width: 100vw;
  animation: cap_anime2 1.5s linear 2;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper p {
  width: 17.5vw;
  height: 17.5vw;
  display: inline-block;
  animation: cap_anime 1.5s linear 2;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper p img {
  width: 100%;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_1 {
  position: absolute;
  top: 0.2vw;
  left: 28.4vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_2 {
  position: absolute;
  top: 1.5vw;
  left: 62.4vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_3 {
  position: absolute;
  top: 28.5vw;
  left: 82vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_4 {
  position: absolute;
  top: 60vw;
  left: 78vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_5 {
  position: absolute;
  top: 80.8vw;
  left: 52vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_6 {
  position: absolute;
  top: 75.8vw;
  left: 20vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_7 {
  position: absolute;
  top: 52vw;
  left: 0.2vw;
}
header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_8 {
  position: absolute;
  top: 18.5vw;
  left: 3.4vw;
}
header.gacha_head .g_anime div.result div.r_item {
  display: inline-block;
  position: relative;
  top: 12vw;
  height: 100vw;
  width: 100vw;
  z-index: 53;
}
header.gacha_head .g_anime div.result div.r_item img {
  width: 100%;
}
header.gacha_head .g_anime div.result div.r_item p.result_close {
  position: relative;
  width: 32vw;
  text-align: center;
  position: absolute;
  z-index: 55;
  bottom: 0;
  left: 34vw;
}
header.gacha_head .g_anime div.result div.r_item p.result_close p {
  font-size: 3vw;
  padding-bottom: 3vw;
  color: #8d8d8d;
}
header.gacha_head .g_anime div.result div.r_item p.result_close img {
  border-radius: 3vw;
}
header.gacha_head .g_anime div.result div.r_item .up_capsule {
  width: 38vw;
  height: auto;
  position: absolute;
  top: 65vw;
  left: 9vw;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  transition: all 0.4s;
  display: inline-block;
  z-index: 52;
}
header.gacha_head .g_anime div.result div.r_item .down_capsule {
  width: 38vw;
  height: auto;
  position: absolute;
  top: 65vw;
  right: 9vw;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  transition: all 0.4s;
  display: inline-block;
  z-index: 52;
}
header.gacha_head .g_anime div.result div.r_item .item_card {
  width: 47vw;
  height: auto;
  position: absolute;
  top: 5vw;
  left: 28vw;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: all 0.4s;
  display: inline-block;
  z-index: 53;
}
header.gacha_head .g_anime div.result div.r_item .lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 54;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
header.gacha_head .g_anime div.result div.r_item .lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 43%;
  right: 4.5vw;
  height: 13.9vw;
  width: 38vw;
  background: url(https://oshimemo.com/api/img/gacha/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 55;
}
header.gacha_head .g_anime div.result div.r_item .duplicate {
  width: 60vw;
  height: auto;
  position: absolute;
  top: 20vw;
  left: 18.5vw;
  background-color: rgba(32, 32, 32, 0.836);
  transition: all 0.4s;
  display: inline-block;
  z-index: 54;
  padding: 3vw;
  border-radius: 1vw;
  opacity: 0;
  text-align: center;
  animation: duplicate 0.7s ease-in-out 3.1s forwards;
}
header.gacha_head .g_anime div.result div.r_item .duplicate p {
  font-size: 3.5vw;
  line-height: 1.4em;
  text-align: center;
  color: #fff;
}
header.gacha_head .g_anime div.result div.r_item .duplicate p span {
  font-size: 3vw;
}
header.gacha_head .g_anime div.result div.r_item .duplicate p.possession {
  margin: 0 auto;
  padding: 4vw 0 2vw;
  color: #ffd82a;
  font-size: 4.5vw;
  font-weight: bold;
  width: auto;
  display: inline-block;
  font-size: 3.6vw;
  line-height: 14vw;
}
header.gacha_head .g_anime div.result div.r_item .duplicate p.possession img {
  height: 14vw;
  width: auto;
}
header.gacha_head .g_anime div.result div.r_item .item_back {
  width: 100vw;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  display: inline-block;
  z-index: 51;
}
header.gacha_head .g_anime div.result div.r_item_10 {
  position: relative;
  top: 2.4vw;
  height: 28vw;
  width: 21vw;
  z-index: 53;
}
header.gacha_head .g_anime div.result div.r_item_10 img {
  width: 100%;
}
header.gacha_head .g_anime div.result div.r_item_10 .item_card {
  width: 18vw;
  height: auto;
  position: absolute;
  top: 1vw;
  left: 1.5vw;
  -webkit-transform: rotate(3deg) scale(0, 0);
  transform: rotate(3deg) scale(0, 0);
  transition: all 0.4s;
  display: inline-block;
  z-index: 53;
}
header.gacha_head .g_anime div.result div.r_item_10 .lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 54;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
header.gacha_head .g_anime div.result div.r_item_10 .lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7vw;
  right: 3.5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 55;
}
header.gacha_head .g_anime div.result div.r_item_10 .item_back {
  width: 25vw;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  display: inline-block;
  z-index: 51;
}
header.gacha_head .g_anime p.result_details {
  width: 40vw;
  text-align: center;
  position: absolute;
  z-index: 55;
  bottom: 10vw;
  left: 30vw;
  opacity: 0;
  animation: result_details 1s ease-in-out 4s forwards;
}
header.gacha_head .g_anime p.result_details p {
  font-size: 3vw;
  padding-bottom: 3vw;
  color: #8d8d8d;
}
header.gacha_head .g_anime p.result_details img {
  border-radius: 3vw;
  width: 100%;
}
@keyframes result_details {
  0% {
    transform: scale(0.7, 0.7);
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@keyframes cap_anime {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes duplicate {
  0% {
    transform: scale(0.7, 0.7);
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@keyframes cap_anime2 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes cap_anime3 {
  0% {
    transform: scale(1, 1);
    top: 12vw;
  }
  100% {
    transform: scale(0, 0);
    opacity: 0;
    top: 30vw;
  }
}
@keyframes result_close {
  0% {
    transform: scale(0, 0);
    opacity: 0;
    top: 30vw;
  }
  80% {
    transform: scale(0, 0);
    opacity: 0;
    top: 30vw;
  }
  100% {
    transform: scale(1, 1);
    top: 12vw;
  }
}
.result_anime {
  animation: result_anime 2.5s ease-in-out forwards;
}
@keyframes result_anime {
  0% {
    transform: scale(0, 0);
    opacity: 0;
    top: 30vw;
  }
  80% {
    transform: scale(0, 0);
    opacity: 0;
    top: 30vw;
  }
  100% {
    transform: scale(1, 1);
    top: 12vw;
  }
}
.u_cap_anime {
  animation: u_cap_anime 0.6s ease-in-out 2s forwards;
}
@keyframes u_cap_anime {
  0% {
    transform: rotate(80deg);
    top: 57vw;
  }
  100% {
    transform: rotate(30deg);
    top: 65vw;
  }
}
.d_cap_anime {
  animation: d_cap_anime 0.6s ease-in-out 2s forwards;
}
@keyframes d_cap_anime {
  0% {
    transform: rotate(-80deg);
    top: 57vw;
  }
  100% {
    transform: rotate(-30deg);
    top: 65vw;
  }
}
.r_item_anime {
  animation: r_item_anime 3s ease-in-out 2s infinite;
}
@keyframes r_item_anime {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(3deg);
  }
  100% {
    transform: rotate(0);
  }
}
.r_item_360 {
  animation: r_item_360 1s ease-in-out 2s forwards;
}
@keyframes r_item_360 {
  0% {
    transform: rotatey(0) scale(0, 0);
  }
  100% {
    transform: rotatey(720deg) scale(1, 1);
  }
}
.r_item10_360 {
  animation: r_item_360 1s ease-in-out forwards;
}
.ten_anime1 {
  animation-delay: 2s;
}
.ten_anime2 {
  animation-delay: 2.2s;
}
.ten_anime3 {
  animation-delay: 2.4s;
}
.ten_anime4 {
  animation-delay: 2.6s;
}
.ten_anime5 {
  animation-delay: 2.8s;
}
.ten_anime6 {
  animation-delay: 3s;
}
.ten_anime7 {
  animation-delay: 3.2s;
}
.ten_anime8 {
  animation-delay: 3.4s;
}
.ten_anime9 {
  animation-delay: 3.6s;
}
.ten_anime10 {
  animation-delay: 3.8s;
}
main .gacha::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main .gacha {
  top: 0;
  width: 100vw;
  height: 100vh;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/gacha/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 55vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
main .gacha .g_wrapper {
  position: relative;
  padding-top: 13vw;
  width: 100vw;
  height: 131vw;
}
main .gacha .g_wrapper .g_thumbnail::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main .gacha .g_wrapper .g_thumbnail {
  padding: 2vw 3vw;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
main .gacha .g_wrapper .g_thumbnail p {
  width: 30%;
  display: inline-block;
  background-color: #000000;
  border-radius: 3vw;
  overflow: hidden;
  opacity: 0.8;
}
main .gacha .g_wrapper .g_thumbnail p img {
  width: 100%;
  padding: 0;
  opacity: 0.6;
}
main .gacha .g_wrapper .g_thumbnail p.active {
  opacity: 1;
}
main .gacha .g_wrapper .g_thumbnail p.active img {
  opacity: 1;
}
main .gacha .g_wrapper .g_body {
  position: relative;
  width: 100vw;
  height: 117vw;
}
main .gacha .g_wrapper .g_body img.g_back {
  width: 100vw;
  height: 100vw;
  z-index: 1;
}
main .gacha .g_wrapper .g_body ul.bt_area {
  position: absolute;
  top: 75vw;
  text-align: center;
  width: 100%;
  font-size: 0;
}
main .gacha .g_wrapper .g_body ul.bt_area li {
  display: inline-block;
  position: relative;
}
main .gacha .g_wrapper .g_body ul.bt_area li img.g_bt {
  width: 35vw;
}
main .gacha .g_wrapper .g_body ul.bt_area li img.g_bt:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
main .gacha .g_wrapper .g_body ul.bt_area li p {
  font-size: 3.6vw;
  font-weight: bold;
  padding: 1vw;
  line-height: 4.5vw;
  text-shadow: 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff;
}
main .gacha .g_wrapper .g_body ul.bt_area li p img {
  height: 4vw;
  text-shadow: 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff;
}
main .gacha .g_wrapper .g_body ul.bt_area li p span {
  font-size: 3vw;
  font-weight: bold;
  padding: 0 0.5vw;
}
main .gacha .g_wrapper .g_body ul.bt_area li p.o_cost {
  color: #85163d;
}
main .gacha .g_wrapper .g_body ul.bt_area li p.t_cost {
  color: #e92751;
}
main .gacha .g_wrapper .g_body ul.bt_area li:nth-child(n + 2) {
  padding-left: 5vw;
}
main .gacha .g_wrapper .g_body .g_menu {
  width: 100vw;
  background-color: rgba(255, 255, 255, 0.816);
  text-align: center;
  padding: 2.5vw 0;
}
main .gacha .g_wrapper .g_body .g_menu span {
  display: block;
  font-size: 3.7vw;
  line-height: 3.7vw;
  padding-bottom: 2vw;
  font-weight: bold;
  color: #303030;
  text-shadow: 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 3px #ffffff;
}
main .gacha .g_wrapper .g_body .g_menu p {
  display: inline-block;
}
main .gacha .g_wrapper .g_body .g_menu p img {
  height: 6vw;
  width: auto;
  border-radius: 2vw;
}
.slick-slide {
  outline: none;
}
.slick-slide a {
  outline: none;
}
header.contact_head {
  background-image: linear-gradient(#ff88af, #ffe1eb);
  font-size: 0;
  position: relative;
}
header.contact_head img.topboder {
  width: 94vw;
  position: relative;
  left: 3vw;
}
header.contact_head div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 3.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.contact_head div.title_img img {
  width: 100%;
}
.information::-webkit-scrollbar {
  display: none;
}
main.contact::-webkit-scrollbar {
  display: none;
}
main.contact,
.information {
  background-color: #ffffff;
  overflow-y: scroll;
  padding-bottom: 25vw;
}
main.contact section.info_wrapper::-webkit-scrollbar,
.information section.info_wrapper::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main.contact section.info_wrapper,
.information section.info_wrapper {
  height: 100%;
  width: 100%;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  text-align: center;
}
main.contact section.info_wrapper div.info_details,
.information section.info_wrapper div.info_details {
  position: relative;
  margin-top: 6vw;
  margin-bottom: 25vw;
  padding: 5vw 5vw;
  width: 78vw;
  text-align: left;
  background-color: #f0f9ff;
}
main.contact section.info_wrapper div.info_details img.caption,
.information section.info_wrapper div.info_details img.caption {
  position: absolute;
  top: -7vw;
  left: -4vw;
  width: 16vw;
}
main.contact section.info_wrapper div.info_details p.title,
.information section.info_wrapper div.info_details p.title {
  font-size: 4.3vw;
  line-height: 1.5em;
  padding: 3vw 0 2vw;
  border-bottom: 1px solid #beceda;
}
main.contact section.info_wrapper div.info_details p.type,
.information section.info_wrapper div.info_details p.type {
  padding: 1.5vw 2vw;
  border-radius: 2vw;
  background-color: #4b80a1;
  color: #ffffff;
  font-size: 3vw;
  display: inline-block;
}
main.contact section.info_wrapper div.info_details p.time,
.information section.info_wrapper div.info_details p.time {
  color: #4b80a1;
  font-size: 3.5vw;
  display: inline-block;
}
main.contact section.info_wrapper div.info_details div.detail_text,
.information section.info_wrapper div.info_details div.detail_text {
  padding: 5vw 0 10vw;
  line-height: 1.5em;
  font-size: 4.3vw;
  color: #142835;
}
main.contact section.info_list::-webkit-scrollbar,
.information section.info_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main.contact section.info_list,
.information section.info_list {
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main.contact section.info_list ul,
.information section.info_list ul {
  position: relative;
  padding: 0 0 24vw;
  width: 93vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
main.contact section.info_list ul li,
.information section.info_list ul li {
  position: relative;
  display: block;
  margin-bottom: 3vw;
  padding: 2.5vw;
  height: 25.1vw;
  width: 93vw;
  background-image: url(https://oshimemo.com/api/img/talk/alllibg_m.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
main.contact section.info_list ul li div.message,
.information section.info_list ul li div.message {
  position: relative;
  float: right;
  width: 65vw;
  height: 20vw;
  z-index: 1;
  overflow: hidden;
}
main.contact section.info_list ul li div.message p.time,
.information section.info_list ul li div.message p.time {
  float: right;
  color: #8cc3e7;
  font-size: 3.4vw;
  line-height: 6vw;
  padding: 0 1vw 0 0;
}
main.contact section.info_list ul li div.message p.text,
.information section.info_list ul li div.message p.text {
  clear: both;
  color: #2a2152;
  line-height: 6vw;
  padding: 2vw 1vw 0 0;
  font-size: 4.3vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
main.contact section.info_list ul li figure,
.information section.info_list ul li figure {
  position: relative;
  height: 20vw;
  width: 20vw;
  overflow: hidden;
  float: left;
}
main.contact section.info_list ul li figure img,
.information section.info_list ul li figure img {
  position: relative;
  width: 100%;
  z-index: 1;
}
main.contact section.info_list ul li figure::before,
.information section.info_list ul li figure::before {
  content: "";
  position: absolute;
  height: 20vw;
  width: 20vw;
  bottom: -10vw;
  left: -10vw;
  background: #a1cbe7;
  z-index: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main.contact section.linkage,
.information section.linkage {
  margin-top: 5vw;
  padding: 0 5vw;
  text-align: center;
}
main.contact section.linkage p,
.information section.linkage p {
  text-align: left;
}
main.contact section.linkage input,
.information section.linkage input {
  resize: none;
  line-height: 2em;
  border-radius: 2vw;
  border: none;
  width: 80vw;
  height: 12.2vw;
  font-size: 4.6vw;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  color: #313131;
  padding: 1.5vw 5vw;
  margin: 2vw auto;
  z-index: 30;
  position: relative;
  box-shadow: 0 0 1vw 1vw rgba(0, 0, 0, 0.1) inset;
}
main.contact section.linkage input:focus,
.information section.linkage input:focus {
  outline: 0;
}
main.contact section.leave,
.information section.leave {
  margin-top: 5vw;
  padding: 0 5vw;
  overflow: hidden;
}
main.contact section.leave p.leave_caption,
.information section.leave p.leave_caption {
  border-radius: 2vw 2vw 0 0;
  text-align: center;
  font-size: 6vw;
  background-color: #db274e;
  font-weight: bold;
  padding: 2vw;
  color: #FFFFFF;
  line-height: 1.5em;
}
main.contact section.leave div.leave_text,
.information section.leave div.leave_text {
  border-radius: 0 0 2vw 2vw ;
  text-align: left;
  font-size: 3.5vw;
  background-color: #ffe2e8;
  padding: 3vw 3vw;
  color: #333333;
  line-height: 1.5em;
}
main.contact section.leave div.leave_text p.leave_input,
.information section.leave div.leave_text p.leave_input {
  text-align: center;
  font-size: 4vw;
  padding: 2vw;
  color: #8a102a;
  background-color: transparent;
  line-height: 2em;
  margin: 2vw 0;
}
main.contact section.leave div.leave_text p.leave_input input,
.information section.leave div.leave_text p.leave_input input {
  position: relative;
  top: 0.2em;
}
main.contact section.leave div.leave_text p.leave_check,
.information section.leave div.leave_text p.leave_check {
  text-align: center;
  font-size: 4vw;
  padding: 2vw;
  color: #333333;
  background-color: #fff5f7;
  line-height: 2em;
  margin: 2vw 0;
  border-radius: 1.5vw;
}
main.contact section.leave div.leave_text p.leave_bt,
.information section.leave div.leave_text p.leave_bt {
  border-radius: 3vw;
  text-align: center;
  font-size: 4vw;
  background-color: #db274e;
  font-weight: bold;
  padding: 3vw;
  color: #FFFFFF;
  line-height: 1.5em;
  width: 60vw;
  margin: 5vw auto 3vw;
}
main.contact ul.info_menu,
.information ul.info_menu {
  width: 94vw;
  margin: 3vw auto 0;
}
main.contact ul.info_menu li,
.information ul.info_menu li {
  display: block;
  position: relative;
  color: #032e5c;
  border-radius: 3vw 0 0;
  background-color: #ebf6ff;
  margin-bottom: 3vw;
  cursor: pointer;
}
main.contact ul.info_menu li p,
.information ul.info_menu li p {
  color: #032e5c;
  display: block;
  width: 100%;
  height: 100%;
  padding: 3.5vw 3vw 3.5vw;
}
main.contact ul.info_menu li p.nonset::before,
.information ul.info_menu li p.nonset::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #db274e;
  position: absolute;
  border-radius: 50%;
  top: 0.5em;
  left: 0.2em;
}
main section.contact_bt {
  background-color: #ffe1eb;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  z-index: 3;
  text-align: center;
}
main section.contact_bt img {
  width: 90%;
}
main section.contact_bt span {
  position: absolute;
  top: -1vw;
  right: 3vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/contact/span_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fcff35;
  width: 10vw;
  height: 10vw;
  line-height: 4.5vw;
  font-size: 4.5vw;
}
main section.c_details::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.c_details {
  background-color: #ffffff;
  height: 100%;
  width: 100%;
  padding: 3vw 3vw 93vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.c_details ul.c_thread li {
  margin-bottom: 4vw;
  text-align: right;
  position: relative;
}
main section.c_details ul.c_thread li p.text {
  display: inline-block;
  background-color: #eee;
  color: #262f38;
  border-radius: 3vw;
  padding: 3vw;
  width: 93vw;
  text-align: left;
  line-height: 1.3em;
  font-size: 4.05vw;
}
main section.c_details ul.c_thread li p.time {
  display: inline-block;
  padding-top: 1vw;
  width: auto;
  text-align: left;
  font-size: 3vw;
}
main section.c_details ul.c_thread li.reply p.text {
  background-color: #ebf6ff;
  color: #262f38;
  width: 83vw;
}
main section.c_details ul.c_thread li.reply::before {
  background-image: url(https://oshimemo.com/api/img/contact/reply_icon.png);
  content: '';
  position: absolute;
  left: -1vw;
  top: 0;
  height: 11vw;
  width: 11vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}
main section.help_index::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.help_index {
  background-color: #FFF;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.help_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.help_list {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw 3vw 25vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.contact_index::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main section.contact_index {
  background-color: #ffe1eb;
  height: 100%;
  width: 100%;
  padding: 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main section.contact_index ul.contact_list {
  width: 94vw;
  margin: 0 auto;
  padding-bottom: 5vw;
  opacity: 1;
  display: block;
  padding-bottom: 25vw;
}
main section.contact_index ul.contact_list li {
  position: relative;
  border-radius: 3vw 0 3vw;
  font-size: 4.2vw;
  line-height: 1.3em;
  margin: 0 0 2vw;
  padding: 3.5vw 2.5vw;
  background-color: #ffffff;
}
/*ボックス全体*/
.accbox {
  margin: 0 ;
  padding-bottom: 25vw;
  width: 100%;
  /*クリックで中身表示*/
  /*アイコンを入れ替える*/
}
.accbox label {
  display: block;
  border-radius: 3vw 0 0;
  font-size: 4.2vw;
  line-height: 1.3em;
  margin-top: 2vw;
  padding: 3.5vw 7vw 3.5vw 8.5vw;
  margin-right: 0;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.5s;
  position: relative;
  text-indent: -6.5vw;
}
.accbox label img {
  height: 5vw;
  padding-right: 1vw;
}
.accbox label:after {
  content: '';
  position: absolute;
  right: 1vw;
  top: 2vw;
  height: 8vw;
  width: 8vw;
  background-image: url(https://oshimemo.com/api/img/contact/open.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.5s;
}
.accbox label:hover {
  background: #ffffff;
}
.accbox input {
  display: none;
}
.accbox .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
  line-height: 1.9em;
  display: none;
}
.accbox .accshow img {
  height: 5vw;
  padding-right: 1vw;
}
.accbox p {
  margin: 0;
}
.accbox .cssacc:checked + label + .accshow {
  height: auto;
  padding: 3.5vw 2vw 3.5vw 8.5vw;
  font-size: 4.2vw;
  background: #ffedf4;
  opacity: 1;
  display: block;
  text-indent: -6.5vw;
}
.accbox .cssacc:checked + label:after {
  content: '';
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
/*help_ボックス全体*/
.help_accbox,
.help_accbox2,
.help_accbox3,
.help_accbox4,
.help_accbox5,
.help_accbox6,
.help_accbox7 {
  margin: 0 ;
  padding-bottom: 4vw;
  width: 100%;
  /*クリックで中身表示*/
  /*アイコンを入れ替える*/
  /*クリックで中身表示*/
  /*アイコンを入れ替える*/
}
.help_accbox label,
.help_accbox2 label,
.help_accbox3 label,
.help_accbox4 label,
.help_accbox5 label,
.help_accbox6 label,
.help_accbox7 label {
  display: block;
  font-size: 4.5vw;
  line-height: 1.3em;
  padding: 3.5vw 7vw 3.5vw 8.5vw;
  background-color: #ffffff;
  border-top: #eeeeee 1px solid;
  cursor: pointer;
  transition: all 0.5s;
  position: relative;
  text-indent: 8vw;
  font-weight: bold;
}
.help_accbox label img,
.help_accbox2 label img,
.help_accbox3 label img,
.help_accbox4 label img,
.help_accbox5 label img,
.help_accbox6 label img,
.help_accbox7 label img {
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 18vw;
  padding-right: 1vw;
}
.help_accbox label:after,
.help_accbox2 label:after,
.help_accbox3 label:after,
.help_accbox4 label:after,
.help_accbox5 label:after,
.help_accbox6 label:after,
.help_accbox7 label:after {
  content: '';
  position: absolute;
  right: 1vw;
  top: 2vw;
  height: 8vw;
  width: 8vw;
  background-image: url(https://oshimemo.com/api/img/contact/open.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.5s;
}
.help_accbox label:hover,
.help_accbox2 label:hover,
.help_accbox3 label:hover,
.help_accbox4 label:hover,
.help_accbox5 label:hover,
.help_accbox6 label:hover,
.help_accbox7 label:hover {
  background: #ffffff;
}
.help_accbox input,
.help_accbox2 input,
.help_accbox3 input,
.help_accbox4 input,
.help_accbox5 input,
.help_accbox6 input,
.help_accbox7 input {
  display: none;
}
.help_accbox .accshow,
.help_accbox2 .accshow,
.help_accbox3 .accshow,
.help_accbox4 .accshow,
.help_accbox5 .accshow,
.help_accbox6 .accshow,
.help_accbox7 .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
  display: none;
  background: #fff9f9;
}
.help_accbox .accshow label,
.help_accbox2 .accshow label,
.help_accbox3 .accshow label,
.help_accbox4 .accshow label,
.help_accbox5 .accshow label,
.help_accbox6 .accshow label,
.help_accbox7 .accshow label {
  display: block;
  font-size: 4.2vw;
  padding: 3.5vw 3vw 3.5vw;
  cursor: pointer;
  transition: all 0.5s;
  position: relative;
  color: #2e1b1c;
  text-indent: 9vw;
  font-weight: normal;
  background: #fff9f9;
}
.help_accbox .accshow label img,
.help_accbox2 .accshow label img,
.help_accbox3 .accshow label img,
.help_accbox4 .accshow label img,
.help_accbox5 .accshow label img,
.help_accbox6 .accshow label img,
.help_accbox7 .accshow label img {
  position: absolute;
  bottom: 3vw;
  left: 4vw;
  width: 7vw;
  padding-right: 1vw;
}
.help_accbox .accshow label:after,
.help_accbox2 .accshow label:after,
.help_accbox3 .accshow label:after,
.help_accbox4 .accshow label:after,
.help_accbox5 .accshow label:after,
.help_accbox6 .accshow label:after,
.help_accbox7 .accshow label:after {
  content: '';
  position: absolute;
  right: 1vw;
  top: 2vw;
  height: 8vw;
  width: 8vw;
  background-image: url(https://oshimemo.com/api/img/contact/open.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.5s;
}
.help_accbox .accshow input,
.help_accbox2 .accshow input,
.help_accbox3 .accshow input,
.help_accbox4 .accshow input,
.help_accbox5 .accshow input,
.help_accbox6 .accshow input,
.help_accbox7 .accshow input {
  display: none;
}
.help_accbox .accshow .accshow2,
.help_accbox2 .accshow .accshow2,
.help_accbox3 .accshow .accshow2,
.help_accbox4 .accshow .accshow2,
.help_accbox5 .accshow .accshow2,
.help_accbox6 .accshow .accshow2,
.help_accbox7 .accshow .accshow2 {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
  line-height: 1.4em;
  display: none;
}
.help_accbox p,
.help_accbox2 p,
.help_accbox3 p,
.help_accbox4 p,
.help_accbox5 p,
.help_accbox6 p,
.help_accbox7 p {
  margin: 0;
}
.help_accbox .cssacc:checked + label + .accshow,
.help_accbox2 .cssacc:checked + label + .accshow,
.help_accbox3 .cssacc:checked + label + .accshow,
.help_accbox4 .cssacc:checked + label + .accshow,
.help_accbox5 .cssacc:checked + label + .accshow,
.help_accbox6 .cssacc:checked + label + .accshow,
.help_accbox7 .cssacc:checked + label + .accshow {
  height: auto;
  font-size: 4.2vw;
  opacity: 1;
  display: block;
}
.help_accbox .cssacc:checked + label:after,
.help_accbox2 .cssacc:checked + label:after,
.help_accbox3 .cssacc:checked + label:after,
.help_accbox4 .cssacc:checked + label:after,
.help_accbox5 .cssacc:checked + label:after,
.help_accbox6 .cssacc:checked + label:after,
.help_accbox7 .cssacc:checked + label:after {
  content: '';
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.help_accbox .cssacc2:checked + label + .accshow2,
.help_accbox2 .cssacc2:checked + label + .accshow2,
.help_accbox3 .cssacc2:checked + label + .accshow2,
.help_accbox4 .cssacc2:checked + label + .accshow2,
.help_accbox5 .cssacc2:checked + label + .accshow2,
.help_accbox6 .cssacc2:checked + label + .accshow2,
.help_accbox7 .cssacc2:checked + label + .accshow2 {
  height: auto;
  padding: 4vw;
  font-size: 3.5vw;
  opacity: 1;
  display: block;
  margin: 0 3vw 3vw;
  color: #1d1515;
  background: #fff;
  box-shadow: 0px 0px 2vw 1vw #f7f0f0 inset;
  border-radius: 2vw;
}
.help_accbox .cssacc2:checked + label:after,
.help_accbox2 .cssacc2:checked + label:after,
.help_accbox3 .cssacc2:checked + label:after,
.help_accbox4 .cssacc2:checked + label:after,
.help_accbox5 .cssacc2:checked + label:after,
.help_accbox6 .cssacc2:checked + label:after,
.help_accbox7 .cssacc2:checked + label:after {
  content: '';
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
footer .contact_form.active {
  top: 0;
}
footer .contact_form.inactive {
  display: none;
}
footer .contact_form {
  display: block;
  top: 100vw;
  position: relative;
  z-index: 21;
  background-color: #ffffffee;
  padding: 3vw 2vw 14vw;
  text-align: center;
  margin-bottom: -12vw;
  transition: all 0.2s;
}
footer .contact_form img.caption {
  width: 50vw;
  padding: 2vw 2vw 1vw ;
}
footer .contact_form p.text {
  font-size: 3vw;
  color: #1968b2;
  padding: 2vw 1vw ;
}
footer .contact_form p.send_bt {
  z-index: 30;
  width: 36vw;
  color: #fff;
  margin: 1vw auto;
}
footer .contact_form p.send_bt img {
  width: 100%;
}
footer .contact_form div.send_area {
  width: 86vw;
  position: relative;
  border: 2px dotted #b4c8d6;
  border-radius: 2.5vw;
}
footer .contact_form div.send_area img.meme {
  width: 17vw;
  position: absolute;
  bottom: -2vw;
  right: -3vw;
  z-index: 31;
}
footer .contact_form div.send_area textarea {
  font-size: 4.7vw;
  line-height: 1.6em;
  border: none;
  width: 86vw;
  height: 30.8vw;
  font-size: 4.2vw;
  vertical-align: top;
  color: #262f38;
  z-index: 30;
  position: relative;
  border-radius: 1.5vw;
  padding: 2vw 10vw 2vw 2vw;
  margin: 0;
  resize: none;
}
footer .contact_form div.send_area textarea:focus {
  outline: 0;
}
footer .contact_form div.send_area textarea.contact {
  width: 78vw;
  margin: 1vw 0 2vw 1vw;
}
footer .du_wrapper.active {
  top: 0;
}
footer .du_wrapper.inactive {
  display: none;
}
footer .du_wrapper {
  position: relative;
  top: 100vw;
  width: 100vw;
  height: 58vw;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.308), #ffffff);
  margin-bottom: -18vw;
  padding-bottom: 18vw;
  transition: all 0.3s;
  display: block;
}
footer .du_wrapper .du_change.girls {
  z-index: 18;
}
footer .du_wrapper .du_change.dress {
  z-index: 20;
}
footer .du_wrapper .du_change.backimage {
  z-index: 19;
}
footer .du_wrapper .du_change.girls.active,
footer .du_wrapper .du_change.backimage.active,
footer .du_wrapper .du_change.dress.active {
  display: block;
}
footer .du_wrapper .du_change.girls.active.fade_in,
footer .du_wrapper .du_change.backimage.active.fade_in,
footer .du_wrapper .du_change.dress.active.fade_in {
  opacity: 1;
}
footer .du_wrapper .du_change {
  display: none;
  position: absolute;
  left: 0;
  opacity: 0;
  width: 100vw;
  position: relative;
  top: 0;
  text-align: center;
  padding: 3vw 0 0;
  transition: all 0.4s;
}
footer .du_wrapper .du_change .du_bt {
  width: 17vw;
  margin: -2vw auto 0;
  padding-bottom: 2vw;
}
footer .du_wrapper .du_change .du_bt img {
  width: 100%;
}
footer .du_wrapper .du_change ul {
  width: 100vw;
  height: 41vw;
  padding: 2vw 2.5vw 0;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
}
footer .du_wrapper .du_change ul li {
  display: inline-block;
  width: 22.5vw;
  margin: 0 1.5vw;
  position: relative;
  white-space: normal;
}
footer .du_wrapper .du_change ul li figure {
  width: 100%;
  height: 27.5vw;
  border-radius: 3vw;
  margin-bottom: 1vw;
  position: relative;
  background-color: rgba(255, 255, 255, 0.527);
}
footer .du_wrapper .du_change ul li figure img {
  position: relative;
  border-radius: 3vw;
}
footer .du_wrapper .du_change ul.g_list li figure {
  overflow: hidden;
}
footer .du_wrapper .du_change ul.g_list li figure img {
  height: 100%;
}
footer .du_wrapper .du_change ul.change_list li input[type="radio"] {
  display: none;
}
footer .du_wrapper .du_change ul.change_list li figure {
  overflow: hidden;
  position: relative;
}
footer .du_wrapper .du_change ul.change_list li figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
}
footer .du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure {
  background-color: rgba(253, 117, 174, 0.671);
}
footer .du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: -1.5vw;
  background: url("https://oshimemo.com/api/img/common/footer/dress_up_check.png") top left no-repeat;
  background-size: 7vw 7vw;
  z-index: 10;
}
footer .du_wrapper .du_change ul.change_list li.lock {
  position: relative;
}
footer .du_wrapper .du_change ul.change_list li.lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
footer .du_wrapper .du_change ul.change_list li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 9vw;
  right: 5.5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
footer .n_du_wrapper.active {
  top: 0;
  height: 58vw;
}
footer .n_du_wrapper.inactive {
  display: none;
}
footer .n_du_wrapper {
  position: relative;
  top: 58vw;
  width: 100vw;
  height: 0vw;
  background: linear-gradient(to bottom, rgba(196, 69, 94, 0.308), #c4455e);
  margin-bottom: -18vw;
  padding-bottom: 18vw;
  transition: all 0.3s;
  display: block;
}
footer .n_du_wrapper .n_du_select {
  top: -7.3vw;
  left: 0;
  position: absolute;
  font-size: 0;
  width: 94vw;
  padding: 0 3vw;
  text-align: center;
}
footer .n_du_wrapper .n_du_select .change_bt {
  position: relative;
  border-radius: 2.5vw 2.5vw 0 0;
  margin: 0 1vw;
  font-size: 3.4vw;
  color: #fff;
  padding: 1.75vw 0;
  width: 26vw;
  cursor: pointer;
}
footer .n_du_wrapper .n_du_select .change_bt.dress_bt {
  background-color: rgba(196, 69, 94, 0.867);
}
footer .n_du_wrapper .n_du_select .change_bt.face_bt {
  background-color: rgba(220, 136, 72, 0.867);
}
footer .n_du_wrapper .n_du_select .change_bt.bg_bt {
  background-color: rgba(68, 107, 150, 0.867);
}
footer .n_du_wrapper .du_change.girls {
  z-index: 18;
}
footer .n_du_wrapper .du_change.dress {
  z-index: 20;
}
footer .n_du_wrapper .du_change.backimage {
  z-index: 19;
}
footer .n_du_wrapper .du_change.face {
  z-index: 21;
}
footer .n_du_wrapper .du_change.girls.active,
footer .n_du_wrapper .du_change.backimage.active,
footer .n_du_wrapper .du_change.dress.active,
footer .n_du_wrapper .du_change.face.active {
  display: block;
}
footer .n_du_wrapper .du_change.girls.active.fade_in,
footer .n_du_wrapper .du_change.backimage.active.fade_in,
footer .n_du_wrapper .du_change.dress.active.fade_in,
footer .n_du_wrapper .du_change.face.active.fade_in {
  opacity: 1;
}
footer .n_du_wrapper .du_change {
  display: none;
  position: absolute;
  left: 0;
  opacity: 0;
  width: 100vw;
  position: relative;
  top: 0;
  text-align: center;
  padding: 3vw 0 0;
  transition: all 0.4s;
}
footer .n_du_wrapper .du_change .du_bt {
  width: 17vw;
  margin: -2vw auto 0;
  padding-bottom: 2vw;
}
footer .n_du_wrapper .du_change .du_bt img {
  width: 100%;
}
footer .n_du_wrapper .du_change ul {
  width: 100vw;
  height: 41vw;
  padding: 2vw 2.5vw 0;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
}
footer .n_du_wrapper .du_change ul li {
  display: inline-block;
  width: 22.5vw;
  margin: 0 1.5vw;
  position: relative;
  white-space: normal;
}
footer .n_du_wrapper .du_change ul li figure {
  width: 100%;
  height: 27.5vw;
  border-radius: 3vw;
  margin-bottom: 1vw;
  position: relative;
  background-color: rgba(255, 255, 255, 0.527);
}
footer .n_du_wrapper .du_change ul li figure img {
  position: relative;
  border-radius: 3vw;
}
footer .n_du_wrapper .du_change ul.g_list li figure {
  overflow: hidden;
}
footer .n_du_wrapper .du_change ul.g_list li figure img {
  height: 100%;
}
footer .n_du_wrapper .du_change ul.g_list li figcaption {
  position: absolute;
  bottom: -5vw;
  font-size: 3vw;
  height: 5vw;
  line-height: 5vw;
  width: 100%;
  color: #FFFFFF;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
footer .n_du_wrapper .du_change ul.change_list li input[type="radio"] {
  display: none;
}
footer .n_du_wrapper .du_change ul.change_list li figure {
  overflow: hidden;
  position: relative;
}
footer .n_du_wrapper .du_change ul.change_list li figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
}
footer .n_du_wrapper .du_change ul.change_list li figcaption {
  position: absolute;
  bottom: -5vw;
  font-size: 3vw;
  height: 5vw;
  line-height: 5vw;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
footer .n_du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure {
  background-color: rgba(253, 117, 174, 0.671);
}
footer .n_du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: -1.5vw;
  background: url("https://oshimemo.com/api/img/common/footer/dress_up_check.png") top left no-repeat;
  background-size: 7vw 7vw;
  z-index: 10;
}
footer .n_du_wrapper .du_change ul.change_list li.lock {
  position: relative;
}
footer .n_du_wrapper .du_change ul.change_list li.lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
footer .n_du_wrapper .du_change ul.change_list li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 9vw;
  right: 5.5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
footer .dress_active {
  background: linear-gradient(to bottom, rgba(196, 69, 94, 0.308), #c4455e);
}
footer .dress_active .n_du_select .dress_bt:before {
  content: "";
  position: absolute;
  top: -3vw;
  left: 0vw;
  height: 8vw;
  width: 8vw;
  background: url(https://oshimemo.com/api/img/dressup/dress_active.png) no-repeat;
  background-size: contain;
  animation: du_selectbt_anime 0.2s ease-in-out forwards;
}
footer .face_active {
  background: linear-gradient(to bottom, rgba(220, 136, 72, 0.308), #dc8848);
}
footer .face_active .n_du_select .face_bt:before {
  content: "";
  position: absolute;
  top: -3vw;
  left: 0vw;
  height: 8vw;
  width: 8vw;
  background: url(https://oshimemo.com/api/img/dressup/face_active.png) no-repeat;
  background-size: contain;
  animation: du_selectbt_anime 0.2s ease-in-out forwards;
}
footer .bg_active {
  background: linear-gradient(to bottom, rgba(68, 107, 150, 0.308), #446b96);
}
footer .bg_active .n_du_select .bg_bt:before {
  content: "";
  position: absolute;
  top: -3vw;
  left: 0vw;
  height: 8vw;
  width: 8vw;
  background: url(https://oshimemo.com/api/img/dressup/bg_active.png) no-repeat;
  background-size: contain;
  animation: du_selectbt_anime 0.2s ease-in-out forwards;
}
@keyframes du_selectbt_anime {
  0% {
    transform: scale(0, 0);
  }
  50% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(0.8, 0.8);
  }
  70% {
    transform: scale(1, 1);
  }
  80% {
    transform: scale(0.8, 0.8);
  }
  90% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
main.du_main.new_dressup .face_preview.active {
  left: 0;
}
main.du_main.new_dressup .face_preview {
  cursor: pointer;
  width: 20vw;
  left: -85vw;
  position: absolute;
  top: 25vw;
  z-index: 5;
  text-align: left;
  transition: all 0.3s;
}
main.du_main.new_dressup .face_preview p {
  background-color: #dc8848;
  color: #FFFFFF;
  font-size: 3.2vw;
  position: absolute;
  top: -2.5vw;
  left: 0;
  width: 15vw;
  height: 5vw;
  line-height: 5vw;
  border-radius: 0 2vw 0 0;
  text-align: center;
  padding: 0;
}
main.du_main.new_dressup .face_preview figure {
  position: relative;
  margin-top: 2.5vw;
  background-color: rgba(255, 218, 173, 0.6);
  border-radius: 0 2.5vw 2.5vw 0;
  padding: 1.5vw;
  width: 20vw;
  height: 22vw;
  overflow: hidden;
}
main.du_main.new_dressup .face_preview figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main.du_main.new_dressup .face_preview figure.lock {
  position: relative;
}
main.du_main.new_dressup .face_preview figure.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  border-radius: 0 2.5vw 2.5vw 0;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main.du_main.new_dressup .face_preview figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6vw;
  right: 5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main.du_main.new_dressup .dress_preview.active {
  left: 0;
}
main.du_main.new_dressup .dress_preview {
  cursor: pointer;
  width: 20vw;
  left: -85vw;
  position: absolute;
  top: 57vw;
  z-index: 5;
  text-align: left;
  transition: all 0.3s;
}
main.du_main.new_dressup .dress_preview p {
  background-color: #c4445d;
  color: #FFFFFF;
  font-size: 3.2vw;
  position: absolute;
  top: -2.3vw;
  left: 0;
  width: 15vw;
  height: 5vw;
  line-height: 5vw;
  border-radius: 0 2vw 0 0;
  text-align: center;
  padding: 0;
}
main.du_main.new_dressup .dress_preview figure {
  position: relative;
  margin-top: 2.5vw;
  background-color: rgba(250, 221, 232, 0.7);
  border-radius: 0 2.5vw 2.5vw 0;
  padding: 1.5vw;
  width: 20vw;
  height: 22vw;
  overflow: hidden;
}
main.du_main.new_dressup .dress_preview figure img {
  position: absolute;
  bottom: -2vw;
  left: 0;
  width: 100%;
}
main.du_main.new_dressup .dress_preview figure.lock {
  position: relative;
}
main.du_main.new_dressup .dress_preview figure.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  border-radius: 0 2.5vw 2.5vw 0;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main.du_main.new_dressup .dress_preview figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6vw;
  right: 5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main.du_main.new_dressup .bg_preview.active {
  right: 0;
}
main.du_main.new_dressup .bg_preview {
  cursor: pointer;
  width: 20vw;
  position: absolute;
  right: -85vw;
  top: 25vw;
  z-index: 5;
  text-align: right;
  transition: all 0.3s;
}
main.du_main.new_dressup .bg_preview p {
  background-color: #446b96;
  color: #FFFFFF;
  font-size: 3.2vw;
  position: absolute;
  top: -2.3vw;
  right: 0;
  width: 15vw;
  height: 5vw;
  line-height: 5vw;
  border-radius: 2vw 0 0 0;
  text-align: center;
  padding: 0;
}
main.du_main.new_dressup .bg_preview figure {
  position: relative;
  margin-top: 2.5vw;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 2.5vw 0 0 2.5vw;
  padding: 1.5vw;
  width: 20vw;
  height: 25vw;
  overflow: hidden;
}
main.du_main.new_dressup .bg_preview figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main.du_main.new_dressup .bg_preview figure.lock {
  position: relative;
}
main.du_main.new_dressup .bg_preview figure.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  border-radius: 2.5vw 0 0 2.5vw;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main.du_main.new_dressup .bg_preview figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6vw;
  right: 4vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main.du_main .dress_preview.active {
  left: 0;
}
main.du_main .dress_preview {
  width: 20vw;
  left: -85vw;
  position: absolute;
  top: 32vw;
  z-index: 5;
  text-align: left;
  transition: all 0.3s;
}
main.du_main .dress_preview p {
  width: 12vw;
  background-color: rgba(219, 41, 80, 0.897);
  border-radius: 0 2.5vw 2.5vw 0;
  padding: 1vw;
}
main.du_main .dress_preview p img {
  width: 100%;
}
main.du_main .dress_preview p:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main.du_main .dress_preview figure {
  position: relative;
  margin-top: 2.5vw;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0 2.5vw 2.5vw 0;
  padding: 1.5vw;
  width: 20vw;
  height: 25vw;
  overflow: hidden;
}
main.du_main .dress_preview figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main.du_main .dress_preview figure.lock {
  position: relative;
}
main.du_main .dress_preview figure.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  border-radius: 0 2.5vw 2.5vw 0;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main.du_main .dress_preview figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6vw;
  right: 5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
main.du_main .bg_preview.active {
  right: 0;
}
main.du_main .bg_preview {
  width: 20vw;
  position: absolute;
  right: -85vw;
  top: 32vw;
  z-index: 5;
  text-align: right;
  transition: all 0.3s;
}
main.du_main .bg_preview p {
  float: right;
  width: 12vw;
  background-color: rgba(42, 101, 150, 0.897);
  border-radius: 2.5vw 0 0 2.5vw;
  padding: 1vw;
  margin-bottom: 2.5vw;
}
main.du_main .bg_preview p img {
  width: 100%;
}
main.du_main .bg_preview p:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
main.du_main .bg_preview figure {
  position: relative;
  margin-top: 2.5vw;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 2.5vw 0 0 2.5vw;
  padding: 1.5vw;
  width: 20vw;
  height: 25vw;
  overflow: hidden;
}
main.du_main .bg_preview figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main.du_main .bg_preview figure.lock {
  position: relative;
}
main.du_main .bg_preview figure.lock::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  border-radius: 2.5vw 0 0 2.5vw;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
main.du_main .bg_preview figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6vw;
  right: 4vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
header.info_head {
  background-color: #FFFFFF;
  font-size: 0;
}
header.info_head .topboder {
  position: relative;
}
header.info_head .topboder div.title_img {
  width: 46vw;
  position: absolute;
  bottom: 1.5vw;
  left: 27vw;
  z-index: 13;
  font-size: 3vw;
  line-height: 3vw;
  text-align: center;
}
header.info_head .topboder div.title_img img {
  width: 100%;
}
header.info_head .controller .back_bt {
  float: left;
  background-image: none;
}
header.info_head .controller .back_bt p {
  position: relative;
  top: 3.5vw;
  left: 5vw;
  width: 5vw;
  height: 5vw;
  border-top: 2px solid #1963b2;
  border-left: 2px solid #1963b2;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: all 0.4s;
}
header.info_head .controller .back_bt:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
header.info_head .controller .i_nav_bt {
  background-image: none;
  float: right;
  position: relative;
  width: 13vw;
  height: 13vw;
}
header.info_head .controller .i_nav_bt .c-trig,
header.info_head .controller .i_nav_bt .c-trig span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header.info_head .controller .i_nav_bt .c-trig span {
  position: absolute;
  left: 1.7vw;
  width: 9vw;
  height: 2px;
  background-color: #ffffff;
  border-radius: 4px;
}
header.info_head .controller .i_nav_bt .c-trig span:nth-of-type(1) {
  top: 6vw;
  transform: rotate(45deg);
}
header.info_head .controller .i_nav_bt .c-trig span:nth-of-type(2) {
  top: 6vw;
  transform: rotate(-45deg);
}
header.info_head .controller .i_nav_bt .m-trigger,
header.info_head .controller .i_nav_bt .m-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header.info_head .controller .i_nav_bt .m-trigger span {
  position: absolute;
  left: 2.2vw;
  width: 8vw;
  height: 2px;
  background-color: #1963b2;
  border-radius: 4px;
}
header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(1) {
  top: 3.2vw;
}
header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(2) {
  top: 6vw;
}
header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(3) {
  bottom: 3.2vw;
}
@keyframes next_anime {
  0% {
    transform: translate(0, 0px);
  }
  50% {
    transform: translate(0, 1vw);
  }
  100% {
    transform: translate(0, 0px);
  }
}
@keyframes auto_reply {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(1vw, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
#auto_close {
  display: none;
  background-color: rgba(255, 7, 81, 0.796);
}
#auto_open {
  display: block;
}
footer.scenario .reply_bt.active {
  top: 0;
}
footer.scenario .reply_bt {
  top: 150vw;
  margin-top: -5vw;
  position: relative;
  text-align: center;
  width: 100%;
  padding-bottom: 4vw;
  z-index: 30;
  transition: all 0.3s;
}
footer.scenario .reply_bt p {
  display: inline-block;
  position: relative;
}
footer.scenario .reply_bt p img {
  width: 40vw;
}
footer.scenario .reply_bt p:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer.scenario .reply_bt p:before {
  position: absolute;
  top: 2.2vw;
  right: 3vw;
  content: "";
  width: 5vw;
  height: 5vw;
  background-image: url(https://oshimemo.com/api/img/talk/reply_heart.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  animation: bt_anime1 1s infinite ease-in-out;
}
footer.scenario .reply_bt.waiting p {
  color: #ccc;
  font-size: 3.4vw;
  line-height: 7vw;
  position: relative;
}
footer.scenario .reply_bt.waiting p img {
  width: 11vw;
}
footer.scenario .reply_bt.waiting p span.batch {
  position: absolute;
  top: -2.5vw;
  right: -3vw;
  display: inline-block;
  color: #fff;
  background: #db274e;
  border-radius: 50%;
  font-size: 3vw;
  line-height: 3vw;
  height: 5vw;
  width: 5vw;
  padding: 1vw 1vw;
}
footer.scenario .reply_bt.waiting p:active {
  transform: none;
}
footer.scenario .reply_bt.waiting p:before {
  display: none;
}
footer.scenario .talk_option {
  display: block;
  position: absolute;
  right: 1vw;
  width: 9vw;
  top: 47vw;
  z-index: 30;
  font-size: 0;
  transition: 0.4s;
}
footer.scenario .talk_option p.bt {
  display: inline-block;
  margin: 0 0 1vw 0;
  padding: 1.5vw;
  border-radius: 2vw;
  background-color: #000000;
  color: #fff;
  font-size: 3.8vw;
  line-height: 5.5vw;
}
footer.scenario .talk_option p.bt img {
  width: 5.5vw;
}
footer.scenario .talk_option.inactive {
  top: 140vw;
}
footer.scenario .talk_option.inactive.none {
  display: none;
}
footer.scenario .backdrop.active {
  top: -6vw;
}
footer.scenario .backdrop {
  background-color: rgba(0, 0, 0, 0.4);
  width: 200vw;
  height: 100vh;
  position: absolute;
  top: 150vw;
  left: -50vw;
  z-index: 10;
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg);
  transition: all 0.3s;
}
footer.scenario .reply {
  float: right;
  position: relative;
  top: -3vw;
  color: #FFFFFF;
  width: 80vw;
  padding-bottom: 1vw;
  font-size: 4.5vw;
  z-index: 20;
  transition: all 0.3s;
}
footer.scenario .reply p.t_time {
  color: #ffffff;
  font-size: 3.5vw;
  line-height: 8.5vw;
  text-align: right;
  padding-right: 4vw;
}
footer.scenario p.next_bt {
  position: relative;
  top: -2vw;
  color: #fff;
  text-align: center;
  height: 8vw;
  cursor: pointer;
  animation: next_anime 2s ease-in-out infinite;
}
footer.scenario p.next_bt img {
  width: 10vw;
  height: auto;
}
footer.scenario .text_area.active {
  top: 0;
}
footer.scenario .text_area {
  top: 150vw;
  width: 100%;
  z-index: 20;
  background-image: url(https://oshimemo.com/api/img/talk/textarea_bg.png?20220831);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  height: 49vw;
  transition: all 0.3s;
}
footer.scenario .text_area .level_area {
  width: 22vw;
  height: 20vw;
  position: absolute;
  top: -19vw;
  left: 3vw;
  z-index: 5;
  text-align: left;
  transition: all 0.4s;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg_f.png?20220901);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
footer.scenario .text_area .level_area div.favorability {
  margin: 2vw;
  width: 18vw;
  height: 16vw;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  -webkit-mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s;
}
footer.scenario .text_area .level_area div.favorability .measure {
  background-color: rgba(255, 255, 255, 0.459);
  width: 22vw;
  height: 16vw;
  position: absolute;
  left: -2vw;
  animation: measure_anime 5s linear infinite;
  border-bottom-right-radius: 50% 1vw;
  border-bottom-left-radius: 50% 1vw;
}
footer.scenario .text_area .level_area div.favorability p.level {
  color: #fff;
  font-size: 7.5vw;
  font-weight: bold;
  position: relative;
  top: -0.5vw;
  text-shadow: 0 0 7px #ffee00;
}
footer.scenario .text_area .level_area div.favorability p.level:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.scenario .text_area p {
  font-size: 4.5vw;
  line-height: 8vw;
}
footer.scenario .text_area div.talk_wr {
  padding-top: 4.2vw;
  position: relative;
}
footer.scenario .text_area div.talk_wr .image-caption {
  position: absolute;
  top: -12vw;
  right: -9.5vw;
}
footer.scenario .text_area div.talk_wr .image-caption img {
  width: 34vw;
}
footer.scenario .text_area div.talk_wr .scroll-caption {
  position: absolute;
  top: 5vw;
  left: 2vw;
  opacity: 1;
  transition: all 0.2s;
  animation: scroll_caption 1.5s ease-in-out infinite;
}
footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down {
  position: relative;
  width: 14vw;
  transform: rotate(90deg);
}
footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line01 {
  position: absolute;
  height: 0.35vw;
  width: 10vw;
  top: 0;
  right: 0;
  background-color: #594427;
}
footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line01::before {
  content: "";
  position: absolute;
  bottom: 0.5vw;
  right: 10vw;
  transform-origin: right bottom;
  width: 2.5vw;
  height: 0.35vw;
  background-color: #594427;
  transform: rotate(135deg);
}
footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line02 {
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: right bottom;
  width: 2.5vw;
  height: 0.35vw;
  background-color: #594427;
  transform: rotate(-45deg);
}
footer.scenario .text_area div.talk_wr .scroll-caption.inactive {
  opacity: 0;
}
footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar,
footer.scenario .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar,
footer.scenario .text_area div.talk_wr div.story_text::-webkit-scrollbar {
  width: 4px;
}
footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar-track,
footer.scenario .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar-track,
footer.scenario .text_area div.talk_wr div.story_text::-webkit-scrollbar-track {
  background-color: rgba(68, 42, 7, 0.25);
  border-radius: 3vw;
  animation: sc_anime3 2s ease-in-out infinite;
}
footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar-thumb,
footer.scenario .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar-thumb,
footer.scenario .text_area div.talk_wr div.story_text::-webkit-scrollbar-thumb {
  border-radius: 3vw;
  background-color: #442a07;
}
footer.scenario .text_area div.talk_wr div.talk_text {
  display: block;
  line-break: anywhere;
  color: #240c0d;
  padding: 0 2vw 0 7vw;
  margin-left: 8vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 77vw;
  height: 31.5vw;
  overflow-y: scroll;
  overflow-x: hidden;
  text-align: left;
}
footer.scenario .text_area div.talk_wr div.user_talk_text {
  line-break: anywhere;
  color: #364474;
  padding: 0 2vw 0 7vw;
  margin-left: 8vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 77vw;
  height: 31.5vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  animation: w_out 1.5s ease-in-out forwards;
  text-align: left;
}
footer.scenario .text_area div.talk_wr div.story_text {
  line-break: anywhere;
  color: #444444;
  padding: 0 2vw 0 7vw;
  margin-left: 8vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 77vw;
  height: 31.5vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  text-align: left;
}
footer.scenario .text_area div.talk_wr div.story_text span {
  display: block;
  font-size: 4.5vw;
  line-height: 8vw;
  text-align: center;
}
footer.scenario .text_area div.talk_wr div.talk_text .action_bt,
footer.scenario .text_area div.talk_wr div.user_talk_text .action_bt,
footer.scenario .text_area div.talk_wr div.story_text .action_bt {
  margin: 4vw auto;
  width: 38vw;
  animation: read_bt_anime 2s ease-in-out infinite;
}
footer.scenario .text_area div.talk_wr div.talk_text .action_bt img,
footer.scenario .text_area div.talk_wr div.user_talk_text .action_bt img,
footer.scenario .text_area div.talk_wr div.story_text .action_bt img {
  padding-left: 4vw;
  width: 100%;
}
footer.scenario .text_area div.talk_wr div.talk_text .action_bt img:active,
footer.scenario .text_area div.talk_wr div.user_talk_text .action_bt img:active,
footer.scenario .text_area div.talk_wr div.story_text .action_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.scenario .text_area p.t_name {
  position: relative;
  font-size: 3.5vw;
  color: #fff;
  text-align: right;
  float: right;
  min-width: 4em;
  line-height: 3.5vw;
  letter-spacing: 0.1em;
  -webkit-transform: rotate(-7.7deg);
  transform: rotate(-7.7deg);
  padding-top: 2vw;
  padding-right: 1vw;
}
footer.scenario .text_area p.t_time {
  position: relative;
  color: #979797;
  display: inline-block;
  font-size: 3.5vw;
  line-height: 8.5vw;
  padding-left: 4vw;
  height: 8.5vw;
  width: 35vw;
}
footer.scenario .text_area p.f_next_bt {
  position: relative;
  color: #fff;
  clear: both;
  text-align: center;
  margin-top: -3vw;
  height: 8vw;
  z-index: 2;
  cursor: pointer;
}
footer.scenario .text_area p.f_next_bt img {
  width: 10vw;
  height: auto;
  animation: next_anime 2s ease-in-out infinite;
}
footer.scenario .content_area {
  position: relative;
}
footer.scenario .content_area p.face {
  display: inline-block;
  width: 20vw;
  margin-left: 10vw;
  margin-top: -11vw;
}
footer.scenario .content_area p.face img {
  width: 100%;
}
footer.scenario .content_area div.talk_textarea {
  width: 75vw;
  height: 27vw;
  margin: 0 7vw 7vw;
  background-color: #ffffffd8;
  padding: 4.5vw 4vw 4.5vw 7vw;
  border-radius: 3vw;
}
footer.scenario .content_area div.talk_textarea p.text::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer.scenario .content_area div.talk_textarea p.text {
  width: 100%;
  height: 23vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  line-height: 1.7em;
  font-size: 4.5vw;
  padding-right: 3vw;
  text-shadow: 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
}
footer.scenario .content_area div.talk_textarea p.next {
  text-align: center;
  border: 4.5vw solid transparent;
  border-top: 3.5vw solid #3f3f3f;
  width: 2vw;
  margin: 3vw auto 0;
}
footer.scenario .t_item_wrapper.active {
  bottom: 30vw;
}
footer.scenario .t_item_wrapper {
  position: absolute;
  left: 0;
  bottom: -130vw;
  transition: all 0.3s;
}
footer.scenario .t_item_wrapper .t_shop_inner {
  background-color: rgba(44, 59, 124, 0.842);
}
footer.scenario .t_item_wrapper .t_item_inner {
  background-color: rgba(219, 39, 78, 0.843);
}
footer.scenario .t_item_wrapper .t_shop_inner.active,
footer.scenario .t_item_wrapper .t_item_inner.active {
  opacity: 1;
  display: block;
}
footer.scenario .t_item_wrapper .t_shop_inner.active.fadeout,
footer.scenario .t_item_wrapper .t_item_inner.active.fadeout {
  opacity: 0;
}
footer.scenario .t_item_wrapper .t_shop_inner,
footer.scenario .t_item_wrapper .t_item_inner {
  width: 100vw;
  height: 60vw;
  position: relative;
  z-index: 50;
  opacity: 0;
  display: none;
  transition: all 0.3s;
  top: 0;
  text-align: center;
}
footer.scenario .t_item_wrapper .t_shop_inner .title,
footer.scenario .t_item_wrapper .t_item_inner .title {
  height: 11vw;
  padding: 3vw 0 1.5vw;
}
footer.scenario .t_item_wrapper .t_shop_inner .title img,
footer.scenario .t_item_wrapper .t_item_inner .title img {
  height: 100%;
}
footer.scenario .t_item_wrapper .t_shop_inner .close_bt,
footer.scenario .t_item_wrapper .t_item_inner .close_bt {
  position: absolute;
  top: -1vw;
  right: 0;
  height: 14vw;
  padding: 4vw 0 2vw;
}
footer.scenario .t_item_wrapper .t_shop_inner .close_bt img,
footer.scenario .t_item_wrapper .t_item_inner .close_bt img {
  height: 100%;
}
footer.scenario .t_item_wrapper .t_shop_inner .tm_bt,
footer.scenario .t_item_wrapper .t_item_inner .tm_bt {
  width: 26vw;
  margin: 2vw auto 0;
}
footer.scenario .t_item_wrapper .t_shop_inner .tm_bt img,
footer.scenario .t_item_wrapper .t_item_inner .tm_bt img {
  width: 100%;
}
footer.scenario .t_item_wrapper .t_shop_inner div.option_bt,
footer.scenario .t_item_wrapper .t_item_inner div.option_bt {
  position: absolute;
  bottom: 3.5vw;
  right: 2vw;
  font-size: 0;
}
footer.scenario .t_item_wrapper .t_shop_inner div.option_bt img,
footer.scenario .t_item_wrapper .t_item_inner div.option_bt img {
  width: 9vw;
  padding-left: 0.5vw;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list {
  width: 100vw;
  height: 45vw;
  padding: 2vw 2.5vw 2vw;
  margin-top: 2vw;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li {
  display: inline-block;
  width: 27vw;
  height: 40.5vw;
  margin: 0 2vw;
  position: relative;
  white-space: normal;
  vertical-align: top;
  overflow: hidden;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"],
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"] {
  display: none;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li figure,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li figure {
  width: 100%;
  height: 31vw;
  padding: 2vw 0;
  background-color: #ffffffc4;
  border-radius: 2vw;
  margin-bottom: 1vw;
  position: relative;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li figure img,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li figure img {
  width: 100%;
  height: auto;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p.price,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p.price,
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li .poss,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li .poss {
  position: absolute;
  top: 24.5vw;
  right: 1vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.25vw 1.25vw;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p.price img,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p.price img,
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li .poss img,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li .poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure {
  background: #ffe498;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure::before,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: 0.5vw;
  z-index: 3;
  background: url(https://oshimemo.com/api/img/common/main/check.png) top left no-repeat;
  background-size: 7vw 7vw;
}
footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p,
footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p {
  height: auto;
  font-size: 3vw;
  color: #ffffff;
  padding: 1vw;
  line-height: 1.3em;
  text-align: center;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
footer.free_talk .reply_bt.active {
  top: 0;
}
footer.free_talk .reply_bt {
  top: 150vw;
  margin-top: -15vw;
  position: relative;
  text-align: center;
  width: 100%;
  padding-bottom: 4vw;
  z-index: 30;
  transition: all 0.3s;
}
footer.free_talk .reply_bt p {
  display: inline-block;
  position: relative;
}
footer.free_talk .reply_bt p img {
  width: 40vw;
}
footer.free_talk .reply_bt p span.batch {
  position: absolute;
  top: -2.5vw;
  right: -3vw;
  display: inline-block;
  color: #fff;
  background-image: url(https://oshimemo.com/api/img/talk/span.png?20220831);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  font-size: 3vw;
  line-height: 4vw;
  text-align: center;
  height: 6vw;
  width: 6vw;
  padding: 1vw 1vw;
}
footer.free_talk .reply_bt p:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer.free_talk .reply_bt p:before {
  position: absolute;
  top: 2.2vw;
  right: 3vw;
  content: "";
  width: 5vw;
  height: 5vw;
  background-image: url(https://oshimemo.com/api/img/talk/reply_heart.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  animation: bt_anime1 1s infinite ease-in-out;
}
footer.free_talk .reply_bt.active.waiting {
  top: 0;
  margin-top: -15vw;
  position: relative;
  text-align: center;
  width: 100%;
  padding-bottom: 4vw;
  z-index: 30;
  transition: all 0.3s;
}
footer.free_talk .reply_bt.active.waiting p {
  display: inline-block;
  position: relative;
}
footer.free_talk .reply_bt.active.waiting p img {
  width: 40vw;
}
footer.free_talk .reply_bt.active.waiting p img.span_image {
  width: 10vw;
  position: absolute;
  bottom: -5vw;
  left: -11.5vw;
}
footer.free_talk .reply_bt.active.waiting p span {
  position: absolute;
  bottom: -1.2em;
  color: #666;
  left: -0.5vw;
  width: 50vw;
  text-align: left;
  font-size: 0.8em;
  text-shadow: 0 0 8px #ffffff;
}
footer.free_talk .reply_bt.active.waiting p:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
footer.free_talk .reply_bt.active.waiting p:before {
  position: absolute;
  top: 2.2vw;
  right: 3vw;
  content: "";
  width: 5vw;
  height: 5vw;
  background-image: url(https://oshimemo.com/api/img/talk/reply_heart.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  animation: none;
}
footer.free_talk .reply_bt.active.next_bt {
  top: 0;
  margin-top: -15vw;
  position: relative;
  text-align: center;
  width: 100%;
  padding-bottom: 4vw;
  z-index: 30;
  transition: all 0.3s;
}
footer.free_talk .reply_bt.active.next_bt p:before {
  display: none;
}
footer.free_talk .talk_option {
  display: block;
  position: absolute;
  right: 2vw;
  width: 10vw;
  top: 56.8vw;
  z-index: 30;
  font-size: 0;
  transition: 0.4s;
}
footer.free_talk .talk_option p {
  display: inline-block;
  margin: 0 0 1vw 0;
  color: #fff;
  font-size: 3.8vw;
  line-height: 5.5vw;
}
footer.free_talk .talk_option p img {
  width: 10vw;
}
footer.free_talk .talk_option p.log_open {
  position: relative;
}
footer.free_talk .talk_option p.log_open span {
  position: absolute;
  top: -1vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 4vw;
  height: 4vw;
  line-height: 5vw;
  font-size: 0;
}
footer.free_talk .talk_option.inactive {
  top: 140vw;
}
footer.free_talk .talk_option.inactive.none {
  display: none;
}
footer.free_talk .backdrop.active {
  top: -6vw;
}
footer.free_talk .backdrop {
  width: 200vw;
  height: 100vh;
  position: absolute;
  top: 150vw;
  left: -50vw;
  z-index: 10;
  transition: all 0.3s;
}
footer.free_talk .reply {
  float: right;
  position: relative;
  top: -3vw;
  color: #FFFFFF;
  width: 80vw;
  padding-bottom: 1vw;
  font-size: 4.5vw;
  z-index: 20;
  transition: all 0.3s;
}
footer.free_talk .reply p.t_time {
  color: #ffffff;
  font-size: 3.5vw;
  line-height: 8.5vw;
  text-align: right;
  padding-right: 4vw;
}
footer.free_talk p.next_bt {
  position: relative;
  color: #fff;
  text-align: center;
  height: 8vw;
  cursor: pointer;
  animation: next_anime 2s ease-in-out infinite;
}
footer.free_talk p.next_bt img {
  width: 10vw;
  height: auto;
  filter: brightness(50%);
}
footer.free_talk .text_area.active {
  top: 9vw;
}
footer.free_talk .text_area {
  top: 150vw;
  width: 100%;
  z-index: 20;
  background-image: url(https://oshimemo.com/api/img/talk/freetalk_textarea_bg.png?20220831);
  background-size: 100%;
  background-repeat: repeat-y;
  background-position: center;
  position: relative;
  height: 62.5vw;
  transition: all 0.3s;
}
footer.free_talk .text_area .level_area {
  width: 22vw;
  height: 20vw;
  position: absolute;
  top: -19vw;
  left: 3vw;
  z-index: 5;
  text-align: left;
  transition: all 0.4s;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg_f.png?20220901);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
footer.free_talk .text_area .level_area div.favorability {
  margin: 2vw;
  width: 18vw;
  height: 16vw;
  background-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
  -webkit-mask-image: url(https://oshimemo.com/api/img/common/main/favo_bg.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s;
}
footer.free_talk .text_area .level_area div.favorability .measure {
  background-color: rgba(255, 255, 255, 0.459);
  width: 22vw;
  height: 16vw;
  position: absolute;
  left: -2vw;
  animation: measure_anime 5s linear infinite;
  border-bottom-right-radius: 50% 1vw;
  border-bottom-left-radius: 50% 1vw;
}
footer.free_talk .text_area .level_area div.favorability p.level {
  color: #fff;
  font-size: 7.5vw;
  font-weight: bold;
  position: relative;
  top: -0.5vw;
  text-shadow: 0 0 7px #ffee00;
}
footer.free_talk .text_area .level_area div.favorability p.level:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.free_talk .text_area p {
  font-size: 4.5vw;
  line-height: 8vw;
}
footer.free_talk .text_area div.talk_wr {
  padding-top: 4.2vw;
  position: relative;
}
footer.free_talk .text_area div.talk_wr .scroll-caption {
  position: absolute;
  top: 5vw;
  left: -3vw;
  opacity: 1;
  transition: all 0.2s;
  animation: scroll_caption 1.5s ease-in-out infinite;
}
footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down {
  position: relative;
  width: 14vw;
  transform: rotate(90deg);
}
footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line01 {
  position: absolute;
  height: 0.35vw;
  width: 10vw;
  top: 0;
  right: 0;
  background-color: #594427;
}
footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line01::before {
  content: "";
  position: absolute;
  bottom: 0.5vw;
  right: 10vw;
  transform-origin: right bottom;
  width: 2.5vw;
  height: 0.35vw;
  background-color: #594427;
  transform: rotate(135deg);
}
footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line02 {
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: right bottom;
  width: 2.5vw;
  height: 0.35vw;
  background-color: #594427;
  transform: rotate(-45deg);
}
footer.free_talk .text_area div.talk_wr .scroll-caption.inactive {
  opacity: 0;
}
footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar,
footer.free_talk .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar,
footer.free_talk .text_area div.talk_wr div.story_text::-webkit-scrollbar {
  width: 4px;
}
footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar-track,
footer.free_talk .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar-track,
footer.free_talk .text_area div.talk_wr div.story_text::-webkit-scrollbar-track {
  background-color: rgba(68, 42, 7, 0.25);
  border-radius: 3vw;
  animation: sc_anime3 2s ease-in-out infinite;
}
footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar-thumb,
footer.free_talk .text_area div.talk_wr div.user_talk_text::-webkit-scrollbar-thumb,
footer.free_talk .text_area div.talk_wr div.story_text::-webkit-scrollbar-thumb {
  border-radius: 3vw;
  background-color: #442a07;
}
footer.free_talk .text_area div.talk_wr div.talk_text {
  display: block;
  line-break: anywhere;
  color: #240c0d;
  padding: 0 2vw 0 7vw;
  margin-left: 3vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 85vw;
  height: 39.5vw;
  overflow-y: scroll;
  overflow-x: hidden;
  text-align: left;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details {
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li {
  position: relative;
  margin-bottom: 5vw;
  padding: 3vw 4vw;
  border-radius: 3vw;
  overflow: hidden;
  clear: both;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li p {
  line-height: 7vw;
  font-size: 4vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk {
  background-color: #ffcbe0;
  min-height: 23vw;
  width: 75vw;
  padding: 3vw 5vw 4vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk p {
  width: 65vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area {
  position: absolute;
  bottom: 3vw;
  right: 0;
  width: 100%;
  text-align: center;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.msg_open {
  display: none;
  margin: 0 0.5vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.msg_open img {
  position: relative;
  width: 28vw;
  border-radius: 2vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.img_open {
  display: none;
  margin: 0 0.5vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.img_open img {
  position: relative;
  width: 28vw;
  border-radius: 2vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.unopened {
  display: none;
  margin: 0 0.5vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.unopened img {
  position: relative;
  width: 31vw;
  border-radius: 2vw;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk_unopened div.bt_area div.msg_open {
  display: inline-block;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.img_open div.bt_area div.img_open,
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.img_unopened div.bt_area div.img_open {
  display: inline-block;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.free div.bt_area div.log_read:before {
  content: "";
  position: absolute;
  bottom: -1vw;
  left: -10.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/talk/free.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 10.8vw;
  height: 9vw;
  z-index: 10;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.story {
  color: #FFF;
}
footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.send {
  float: right;
  background-color: #bcff9d;
  width: 85%;
}
footer.free_talk .text_area div.talk_wr div.user_talk_text {
  line-break: anywhere;
  color: #364474;
  padding: 0 2vw 0 7vw;
  margin-left: 8vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 77vw;
  height: 31.5vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  animation: w_out 1.5s ease-in-out forwards;
  text-align: left;
}
footer.free_talk .text_area div.talk_wr div.story_text {
  line-break: anywhere;
  color: #444444;
  padding: 0 2vw 0 7vw;
  margin-left: 8vw;
  line-height: 1.7em;
  font-size: 4.6vw;
  width: 77vw;
  height: 31.5vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  text-align: left;
}
footer.free_talk .text_area div.talk_wr div.story_text span {
  display: block;
  font-size: 4.5vw;
  line-height: 8vw;
  text-align: center;
}
footer.free_talk .text_area div.talk_wr div.talk_text .action_bt,
footer.free_talk .text_area div.talk_wr div.user_talk_text .action_bt,
footer.free_talk .text_area div.talk_wr div.story_text .action_bt {
  margin: 4vw auto;
  width: 38vw;
  animation: read_bt_anime 2s ease-in-out infinite;
}
footer.free_talk .text_area div.talk_wr div.talk_text .action_bt img,
footer.free_talk .text_area div.talk_wr div.user_talk_text .action_bt img,
footer.free_talk .text_area div.talk_wr div.story_text .action_bt img {
  padding-left: 4vw;
  width: 100%;
}
footer.free_talk .text_area div.talk_wr div.talk_text .action_bt img:active,
footer.free_talk .text_area div.talk_wr div.user_talk_text .action_bt img:active,
footer.free_talk .text_area div.talk_wr div.story_text .action_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.free_talk .text_area p.f_next_bt {
  position: relative;
  color: #fff;
  clear: both;
  text-align: center;
  margin-top: -3vw;
  height: 8vw;
  z-index: 2;
  cursor: pointer;
}
footer.free_talk .text_area p.f_next_bt img {
  width: 10vw;
  height: auto;
  animation: next_anime 2s ease-in-out infinite;
}
footer.free_talk .content_area {
  position: relative;
}
footer.free_talk .content_area p.face {
  display: inline-block;
  width: 20vw;
  margin-left: 10vw;
  margin-top: -11vw;
}
footer.free_talk .content_area p.face img {
  width: 100%;
}
footer.free_talk .content_area div.talk_textarea {
  width: 75vw;
  height: 27vw;
  margin: 0 7vw 7vw;
  background-color: #ffffffd8;
  padding: 4.5vw 4vw 4.5vw 7vw;
  border-radius: 3vw;
}
footer.free_talk .content_area div.talk_textarea p.text::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer.free_talk .content_area div.talk_textarea p.text {
  width: 100%;
  height: 23vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  line-height: 1.7em;
  font-size: 4.5vw;
  padding-right: 3vw;
  text-shadow: 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
}
footer.free_talk .content_area div.talk_textarea p.next {
  text-align: center;
  border: 4.5vw solid transparent;
  border-top: 3.5vw solid #3f3f3f;
  width: 2vw;
  margin: 3vw auto 0;
}
footer.free_talk .t_item_wrapper.active {
  bottom: 30vw;
}
footer.free_talk .t_item_wrapper {
  position: absolute;
  left: 0;
  bottom: -130vw;
  transition: all 0.3s;
}
footer.free_talk .t_item_wrapper .t_shop_inner {
  background-color: rgba(44, 59, 124, 0.842);
}
footer.free_talk .t_item_wrapper .t_item_inner {
  background-color: rgba(219, 39, 78, 0.843);
}
footer.free_talk .t_item_wrapper .t_shop_inner.active,
footer.free_talk .t_item_wrapper .t_item_inner.active {
  opacity: 1;
  display: block;
}
footer.free_talk .t_item_wrapper .t_shop_inner.active.fadeout,
footer.free_talk .t_item_wrapper .t_item_inner.active.fadeout {
  opacity: 0;
}
footer.free_talk .t_item_wrapper .t_shop_inner,
footer.free_talk .t_item_wrapper .t_item_inner {
  width: 100vw;
  height: 60vw;
  position: relative;
  z-index: 50;
  opacity: 0;
  display: none;
  transition: all 0.3s;
  top: 0;
  text-align: center;
}
footer.free_talk .t_item_wrapper .t_shop_inner .title,
footer.free_talk .t_item_wrapper .t_item_inner .title {
  height: 11vw;
  padding: 3vw 0 1.5vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner .title img,
footer.free_talk .t_item_wrapper .t_item_inner .title img {
  height: 100%;
}
footer.free_talk .t_item_wrapper .t_shop_inner .close_bt,
footer.free_talk .t_item_wrapper .t_item_inner .close_bt {
  position: absolute;
  top: -1vw;
  right: 0;
  height: 14vw;
  padding: 4vw 0 2vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner .close_bt img,
footer.free_talk .t_item_wrapper .t_item_inner .close_bt img {
  height: 100%;
}
footer.free_talk .t_item_wrapper .t_shop_inner .tm_bt,
footer.free_talk .t_item_wrapper .t_item_inner .tm_bt {
  width: 26vw;
  margin: 2vw auto 0;
}
footer.free_talk .t_item_wrapper .t_shop_inner .tm_bt img,
footer.free_talk .t_item_wrapper .t_item_inner .tm_bt img {
  width: 100%;
}
footer.free_talk .t_item_wrapper .t_shop_inner div.option_bt,
footer.free_talk .t_item_wrapper .t_item_inner div.option_bt {
  position: absolute;
  bottom: 3.5vw;
  right: 2vw;
  font-size: 0;
}
footer.free_talk .t_item_wrapper .t_shop_inner div.option_bt img,
footer.free_talk .t_item_wrapper .t_item_inner div.option_bt img {
  width: 9vw;
  padding-left: 0.5vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list {
  width: 100vw;
  height: 45vw;
  padding: 2vw 2.5vw 2vw;
  margin-top: 2vw;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li {
  display: inline-block;
  width: 27vw;
  height: 40.5vw;
  margin: 0 2vw;
  position: relative;
  white-space: normal;
  vertical-align: top;
  overflow: hidden;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"],
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"] {
  display: none;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li figure,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li figure {
  width: 100%;
  height: 31vw;
  padding: 2vw 0;
  background-color: #ffffffc4;
  border-radius: 2vw;
  margin-bottom: 1vw;
  position: relative;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li figure img,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li figure img {
  width: 100%;
  height: auto;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p.price,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p.price,
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li .poss,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li .poss {
  position: absolute;
  top: 24.5vw;
  right: 1vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.25vw 1.25vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p.price img,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p.price img,
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li .poss img,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li .poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure {
  background: #ffe498;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure::before,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: 0.5vw;
  z-index: 3;
  background: url(https://oshimemo.com/api/img/common/main/check.png) top left no-repeat;
  background-size: 7vw 7vw;
}
footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p,
footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p {
  height: auto;
  font-size: 3vw;
  color: #ffffff;
  padding: 1vw;
  line-height: 1.3em;
  text-align: center;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@keyframes fav_b_anime {
  0% {
    top: -2.5vw;
  }
  100% {
    top: 100vw;
  }
}
@keyframes fav_b_anime2 {
  0% {
    top: 100vw;
  }
  100% {
    top: -2.5vw;
  }
}
footer.fav_active .text_area:before {
  content: "親密度UP中";
  text-shadow: 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055, 0 0 4px #ff0055;
  color: #ffffff;
  border-radius: 2.5vw;
  font-size: 3.2vw;
  z-index: 21;
  position: absolute;
  top: -12.3vw;
  left: 15.9vw;
}
footer.fav_active .text_area .level_area {
  background-image: url(https://oshimemo.com/api/img/common/main/favo_active_bg_f.png);
}
footer.fav_active .text_area .level_area div.favorability {
  background-image: url(https://oshimemo.com/api/img/common/main/favo_active_bg.png);
  mask-image: url(https://oshimemo.com/api/img/common/main/favo_active_bg.png);
  -webkit-mask-image: url(https://oshimemo.com/api/img/common/main/favo_active_bg.png);
}
footer.fav_active div.reply_bt p:before {
  content: " ";
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/itemspan.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 11vw;
  height: 9.6vw;
  line-height: 4vw;
  font-size: 0;
  z-index: 22;
  animation: sc_anime3 1.5s ease-in-out infinite;
  position: absolute;
  top: -1.5vw;
  right: -3.5vw;
}
footer section.home_talk_form div.send_area.fav_active:before {
  content: "↑親密度UP中↑";
  text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 2.5vw;
  font-size: 3.4vw;
  padding: 1vw 1.5vw;
  z-index: 31;
  position: absolute;
  right: 0.5vw;
  top: -8vw;
}
.tap_t1_wrapper {
  position: absolute;
  top: 55%;
  left: 5vw;
  width: auto;
  min-width: 20vw;
  max-width: 60vw;
  padding: 2vw;
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 3vw;
  font-size: 5vw;
  z-index: 4;
  opacity: 0.85;
  animation: tap_talk_anime 5s ease-in-out forwards;
}
.tap_t2_wrapper {
  position: absolute;
  top: 55%;
  right: 5vw;
  width: auto;
  min-width: 20vw;
  max-width: 60vw;
  padding: 2vw;
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 3vw;
  font-size: 5vw;
  z-index: 4;
  opacity: 0.85;
  animation: tap_talk_anime 5s ease-in-out forwards;
}
.tap_t3_wrapper {
  position: absolute;
  top: 60%;
  right: 5vw;
  width: auto;
  min-width: 20vw;
  max-width: 60vw;
  padding: 2vw;
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 3vw;
  font-size: 5vw;
  z-index: 4;
  opacity: 0.85;
  animation: tap_talk_anime 5s ease-in-out forwards;
}
.tap_t4_wrapper {
  position: absolute;
  top: 64%;
  left: 5vw;
  width: auto;
  min-width: 20vw;
  max-width: 60vw;
  padding: 2vw;
  background-color: #ff0055;
  color: #ffffff;
  border-radius: 3vw;
  font-size: 5vw;
  z-index: 4;
  opacity: 0.85;
  animation: tap_talk_anime 5s ease-in-out forwards;
}
@keyframes tap_talk_anime {
  0% {
    transform: scale(0.7, 0.7);
    opacity: 0;
  }
  6% {
    transform: scale(1, 1);
  }
  6.5% {
    transform: scale(0.95, 0.95);
  }
  7% {
    transform: scale(1, 1);
    opacity: 0.85;
    transform: rotate(0deg);
  }
  97% {
    transform: scale(1, 1);
    opacity: 0.85;
    transform: rotate(0deg);
  }
  100% {
    transform: scale(0.7, 0.7);
    opacity: 0;
  }
}
section.leave_fix {
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  z-index: 51;
  overflow: hidden;
}
section.leave_fix div.innar {
  text-align: center;
}
section.leave_fix div.innar p.caption {
  margin-top: 7vw;
  font-size: 3.7vw;
  background-color: #757575;
  color: #ffffff;
  display: inline-block;
  width: auto;
  padding: 3vw 5vw;
  border-radius: 3vw;
}
section.leave_fix div.innar img {
  width: 100%;
}
.pre_item_details.active {
  display: flex;
}
.pre_item_details.active.fade_in {
  opacity: 1;
}
.pre_item_details.active.fade_in div.item_inner {
  top: -10vw;
}
.pre_item_details {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.87);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
.pre_item_details div.item_inner {
  width: 65vw;
  height: auto;
  transition: all 0.5s;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 5vw;
  padding-bottom: 5vw;
  top: -250vw;
  text-align: center;
  transition: all 0.3s;
}
.pre_item_details div.item_inner img.select_item {
  border-radius: 3vw;
  width: 30vw;
}
.pre_item_details div.item_inner p.item_name {
  font-size: 4vw;
  margin: 3.5vw auto 3vw;
  color: #333;
}
.pre_item_details div.item_inner p.item_text {
  font-size: 3.6vw;
  width: 100%;
  min-height: 26vw;
  height: auto;
  background-color: #e9e9e9;
  padding: 3vw;
  text-align: left;
  line-height: 5.3vw;
  color: #333;
}
.pre_item_details div.item_inner p.caution {
  padding-top: 1vw;
  width: 100%;
  text-align: center;
  font-size: 3vw;
  color: rgba(219, 39, 78, 0.89);
}
.pre_item_details div.item_inner p.i_possession {
  position: absolute;
  top: 25vw;
  right: 15vw;
  color: #fff;
  background: rgba(219, 39, 78, 0.89);
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.5vw 1.5vw;
}
.pre_item_details div.item_inner p.i_possession img {
  height: 3vw;
  padding-right: 0.5vw;
}
.pre_item_details div.item_inner div.pre_item_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 3vw auto 0;
  position: absolute;
  bottom: -14vw;
  left: 18.75vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
section.s_reply {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 199;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.s_reply div.reply_inner {
  height: auto;
  width: 100%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.s_reply div.reply_inner .reply_close {
  position: absolute;
  top: -1vw;
  right: 5vw;
  height: 7vw;
  width: 7vw;
  cursor: pointer;
  z-index: 50;
}
section.s_reply div.reply_inner .reply_close img {
  width: 100%;
}
section.s_reply div.reply_inner .contact_form {
  position: relative;
  z-index: 21;
  padding: 3vw 2vw 14vw;
  text-align: center;
  margin-bottom: -12vw;
}
section.s_reply div.reply_inner .contact_form p.caption {
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
  width: 85vw;
  padding: 0;
  font-size: 4.5vw;
  margin: 0 auto 4vw;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
}
section.s_reply div.reply_inner .contact_form p.send_bt {
  z-index: 30;
  width: 45vw;
  color: #fff;
  margin: 1vw auto;
  cursor: pointer;
}
section.s_reply div.reply_inner .contact_form p.send_bt img {
  width: 100%;
}
section.s_reply div.reply_inner .contact_form div.send_area {
  width: 85vw;
  position: relative;
  border-radius: 2.5vw;
}
section.s_reply div.reply_inner .contact_form div.send_area textarea {
  height: 22vw;
  width: 86vw;
  position: relative;
  padding: 3vw;
  margin: 0 auto 4vw;
  font-size: 4.5vw;
  line-height: 1.6em;
  background: #fff;
  box-shadow: 0px 0px 0px 5px #ffeaea;
  border: dashed 2px #ffc3c3;
  border-radius: 3vw;
  vertical-align: top;
  resize: none;
  color: #565656;
  z-index: 30;
}
section.s_reply div.reply_inner .contact_form div.send_area textarea:focus {
  outline: 0;
}
section.s_reply div.reply_inner .contact_form div.send_area textarea.contact {
  width: 78vw;
  margin: 1vw 0 2vw 1vw;
}
section.s_reply div.reply_inner .contact_form div.send_item_open {
  background-image: url(https://oshimemo.com/api/img/talk/itemuse_bt.png);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1em;
  border-radius: 5vw;
  width: 80vw;
  height: 6vw;
  background-color: #FFF;
  margin: 4vw 2vw 10vw;
  padding: 2vw 0;
  text-align: center;
  position: relative;
}
section.s_reply div.reply_inner .contact_form div.send_item_open.active {
  background-image: url(https://oshimemo.com/api/img/talk/itemuse_bt_active.png);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1em;
  border-radius: 5vw;
  width: 80vw;
  height: 6vw;
  background-color: rgba(214, 42, 82, 0.86);
  margin: 4vw 2vw 10vw;
  padding: 2vw 0;
  text-align: center;
  position: relative;
}
section.s_reply div.reply_inner ul.automatic {
  position: relative;
  width: 100%;
  z-index: 30;
  padding: 2vw 0 0;
  overflow: hidden;
  transition: all 0.4s;
}
section.s_reply div.reply_inner ul.automatic li.auto_reply {
  position: relative;
  width: 85vw;
  border-radius: 3vw;
  min-height: 15vw;
  max-height: 22vw;
  font-size: 4.2vw;
  margin: 0 auto 6vw;
  box-align: center;
  color: #565656;
  background: #ffeaea;
  box-shadow: 0px 0px 0px 5px #ffeaea;
  border: dashed 2px #ffc3c3;
  padding: 3vw;
  display: flex;
  align-items: center;
  vertical-align: top;
}
section.s_reply div.reply_inner ul.automatic li.auto_reply p {
  width: 100%;
  display: block;
  line-height: 1.3em;
  max-height: 4em;
  min-height: 1.5em;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
section.s_reply div.reply_inner ul.automatic li.auto_reply p::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.s_reply div.reply_inner ul.automatic li.auto_reply:active {
  transform: scale(1.05, 1.05);
  transition: all 0.2s;
}
section.s_reply div.reply_inner ul.automatic li.a_caption {
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
  width: 85vw;
  padding: 0;
  font-size: 4vw;
  margin: 0 auto 2vw;
  text-align: center;
  display: block;
  color: #fff;
  letter-spacing: 0.05em;
  min-height: 1.5em;
}
section.s_reply div.reply_inner ul.automatic li.auto_reply::before {
  content: "";
  position: absolute;
  top: 37%;
  left: -4vw;
  margin-top: -2vw;
  border: 4vw solid transparent;
  border-left: 2.5vw solid #d80847;
  animation: auto_reply 2s ease-in-out infinite;
}
section.free_reply {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 199;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.free_reply div.reply_inner {
  height: auto;
  width: 100%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.free_reply div.reply_inner .reply_close {
  position: absolute;
  top: -5vw;
  right: 5vw;
  height: 7vw;
  width: 7vw;
  cursor: pointer;
  z-index: 50;
}
section.free_reply div.reply_inner .reply_close img {
  width: 100%;
}
section.free_reply div.reply_inner .contact_form {
  position: relative;
  z-index: 21;
  padding: 3vw 2vw 14vw;
  text-align: center;
  margin-bottom: -12vw;
}
section.free_reply div.reply_inner .contact_form p.caption {
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
  width: 85vw;
  padding: 0;
  font-size: 4.5vw;
  margin: 0 auto 4vw;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
}
section.free_reply div.reply_inner .contact_form p.send_bt {
  z-index: 30;
  width: 45vw;
  color: #fff;
  margin: 1vw auto;
}
section.free_reply div.reply_inner .contact_form p.send_bt img {
  width: 100%;
}
section.free_reply div.reply_inner .contact_form p.send_bt:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
section.free_reply div.reply_inner .contact_form div.send_area {
  width: 85vw;
  position: relative;
  border-radius: 2.5vw;
}
section.free_reply div.reply_inner .contact_form div.send_area textarea {
  height: 40vw;
  width: 86vw;
  position: relative;
  padding: 3vw;
  margin: 0 auto 4vw;
  font-size: 4.5vw;
  line-height: 1.6em;
  background: #fff;
  box-shadow: 0px 0px 0px 5px #ffeaea;
  border: dashed 2px #ffc3c3;
  border-radius: 3vw;
  vertical-align: top;
  resize: none;
  color: #565656;
  z-index: 30;
}
section.free_reply div.reply_inner .contact_form div.send_area textarea:focus {
  outline: 0;
}
section.free_reply div.reply_inner .contact_form div.send_area textarea.contact {
  width: 78vw;
  margin: 1vw 0 2vw 1vw;
}
section.free_reply div.reply_inner .contact_form div.send_item_open {
  background-image: url(https://oshimemo.com/api/img/talk/itemuse_bt.png);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1em;
  border-radius: 5vw;
  width: 80vw;
  height: 6vw;
  font-size: 4vw;
  background-color: #FFF;
  color: #313131;
  margin: 4vw 2vw 10vw;
  padding: 2vw 0;
  text-align: center;
  position: relative;
}
section.free_reply div.reply_inner .contact_form div.send_item_open img {
  width: 60vw;
}
section.free_reply div.reply_inner .contact_form div.send_item_open.active {
  background-image: url(https://oshimemo.com/api/img/talk/itemuse_bt_active.png);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1em;
  border-radius: 5vw;
  width: 80vw;
  height: 6vw;
  background-color: rgba(214, 42, 82, 0.86);
  margin: 4vw 2vw 10vw;
  padding: 2vw 0;
  text-align: center;
  position: relative;
}
section.l_alert {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 200;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.l_alert div.alert_inner {
  height: auto;
  width: 90%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.l_alert div.alert_inner div.level_text {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4.3vw;
  z-index: 201;
  background-color: #fffefe;
  letter-spacing: 0;
  padding-bottom: 4vw;
}
section.l_alert div.alert_inner div.level_text img.favo_text {
  padding-top: 2vw;
  width: 95%;
  border-bottom: 1px solid #d3b2b2;
}
section.l_alert div.alert_inner div.level_text ul.user_level {
  padding-top: 3vw;
}
section.l_alert div.alert_inner div.level_text ul.user_level li {
  position: relative;
  text-align: left;
  font-weight: bold;
  padding: 5vw 3vw 5vw 45%;
}
section.l_alert div.alert_inner div.level_text ul.user_level li.n_level::before {
  content: "";
  height: 8vw;
  width: 31.4vw;
  background-image: url(https://oshimemo.com/api/img/common/main/n_level.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  border-radius: 2vw;
  position: absolute;
  top: 3vw;
  left: 5vw;
}
section.l_alert div.alert_inner div.level_text ul.user_level li.n_score {
  background-color: #fff4f4;
}
section.l_alert div.alert_inner div.level_text ul.user_level li.n_score::before {
  content: "";
  height: 8vw;
  width: 31.4vw;
  background-image: url(https://oshimemo.com/api/img/common/main/n_score.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  border-radius: 2vw;
  position: absolute;
  top: 3vw;
  left: 5vw;
}
section.l_alert div.alert_inner div.level_text ul.user_level li.n_item::before {
  content: "";
  height: 8vw;
  width: 31.4vw;
  background-image: url(https://oshimemo.com/api/img/common/main/n_item.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  border-radius: 2vw;
  position: absolute;
  top: 3vw;
  left: 5vw;
}
section.l_alert div.alert_inner div.level_text::before {
  content: "";
  height: 6vw;
  width: 90vw;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -5vw;
  left: 0;
}
section.l_alert div.alert_inner div.level_text::after {
  content: "";
  height: 6.1vw;
  width: 90vw;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -5vw;
  left: 0;
}
@keyframes login_bonus {
  0% {
    opacity: 0;
    transform: scale(0, 0);
  }
  30% {
    opacity: 1;
    transform: scale(1, 1);
  }
  40% {
    opacity: 1;
    transform: scale(0.9, 0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1, 1);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes open_bt_anime1 {
  0% {
    opacity: 0;
    transform: scale(0, 0);
  }
  30% {
    opacity: 1;
    transform: scale(1, 1);
  }
  40% {
    opacity: 1;
    transform: scale(0.95, 0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1, 1);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes open_bt_anime2 {
  0% {
    opacity: 1;
    transform: scale(1, 1);
  }
  88% {
    opacity: 1;
    transform: scale(1, 1);
  }
  89% {
    opacity: 1;
    transform: scale(0.95, 0.95);
  }
  92% {
    opacity: 1;
    transform: scale(1, 1);
  }
  95% {
    opacity: 1;
    transform: scale(0.95, 0.95);
  }
  98% {
    opacity: 1;
    transform: scale(1, 1);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
section.login_bonus {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: none;
  background-color: rgba(105, 17, 58, 0.77);
  z-index: 200;
  overflow: hidden;
}
section.login_bonus div.bonus_wrapper {
  height: auto;
  width: 80%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
  animation: login_bonus 1s ease-in-out forwards;
}
section.login_bonus div.bonus_wrapper img.meme {
  position: absolute;
  z-index: 200;
  top: -28vw;
  left: 25vw;
  width: 27vw;
}
section.login_bonus div.bonus_wrapper div.bonus_inner::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4.4vw;
  left: 0;
}
section.login_bonus div.bonus_wrapper div.bonus_inner::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4.4vw;
  left: 0;
}
section.login_bonus div.bonus_wrapper div.bonus_inner {
  position: relative;
  height: 46vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1.2em;
  text-align: center;
  z-index: 201;
}
section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_title {
  color: #e63063;
  padding: 5.5vw 0 3vw;
  font-size: 7.2vw;
  letter-spacing: 0.05em;
  font-weight: bold;
}
section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_note {
  position: relative;
  display: inline-block;
  color: #8f5d5d;
  padding-top: 4vw;
  font-size: 3.6vw;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: left;
  width: auto;
}
section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_text {
  position: relative;
  display: inline-block;
  color: #242424;
  padding-top: 0.5vw;
  font-size: 14vw;
  letter-spacing: 0;
  line-height: 1.3em;
  font-weight: bold;
  text-align: left;
  width: auto;
  height: 14vw;
  margin-left: 17vw;
}
section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_text:before {
  content: "";
  position: absolute;
  top: 0.5vw;
  left: -17vw;
  height: 17vw;
  width: 17vw;
  background-image: url(https://oshimemo.com/api/img/alert/ticket.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.still_bt_area.active {
  display: inline-block;
}
section.still_bt_area {
  display: none;
  position: absolute;
  right: 30vw;
  top: 30%;
  z-index: 200;
  animation: open_bt_anime1 1s ease-in-out forwards;
}
section.still_bt_area div.open_bt {
  width: 40vw;
  height: 40vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/talk/open_bt.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  animation: open_bt_anime2 2.8s ease-in-out infinite;
}
section.talk_menu.inactive {
  right: -20vw;
}
div.img_mask.active {
  display: block;
}
div.img_mask {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100vw;
  background-image: url(https://oshimemo.com/api/img/talk/mask.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 190;
}
section.talk_menu {
  position: absolute;
  right: 1.5vw;
  top: 30%;
  z-index: 200;
  width: 10vw;
  transition: 0.4s;
}
section.talk_menu p {
  display: inline-block;
  margin: 0 0 1vw 0;
  color: #fff;
  font-size: 3.8vw;
  line-height: 5.5vw;
}
section.talk_menu p img {
  width: 10vw;
}
section.talk_menu p.log_open {
  position: relative;
}
section.talk_menu p.log_open span {
  position: absolute;
  top: -1vw;
  right: -1vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/main/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fdffa1;
  width: 4vw;
  height: 4vw;
  line-height: 5vw;
  font-size: 0;
}
section.time_alert {
  position: absolute;
  right: 0;
  top: 15vw;
  background-color: rgba(3, 8, 51, 0.5);
  width: 100%;
  padding: 4vw 0 3.5vw;
  z-index: 2000;
}
section.time_alert img.meme {
  position: absolute;
  top: 0;
  right: 0;
  width: 18vw;
}
section.time_alert p {
  width: 90%;
  font-size: 4.2vw;
  color: #FFFFFF;
  text-align: center;
}
section.time_alert p span {
  display: block;
  font-size: 3.5vw;
  padding-top: 1.5vw;
}
section.time_alert.full_screen {
  animation: time_alert_in 0.5s linear forwards;
}
@keyframes time_alert_in {
  0% {
    top: 15vw;
    opacity: 1;
  }
  100% {
    top: -50vw;
    opacity: 0;
  }
}
section.time_alert.full_screen.full_end {
  animation: time_alert_out 0.3s linear forwards;
}
@keyframes time_alert_out {
  0% {
    top: -50vw;
    opacity: 0;
  }
  100% {
    top: 15vw;
    opacity: 1;
  }
}
@keyframes payment_anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes payment_anime2 {
  0% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes payment_anime3 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes payment_anime4 {
  0% {
    top: 0vh;
    opacity: 1;
  }
  100% {
    top: 400px;
    opacity: 0;
  }
}
section.payment_details.active {
  display: flex;
  animation: payment_anime1 0.3s linear forwards;
}
section.payment_details.active div.payment_inner.active {
  display: block;
  animation: payment_anime2 0.3s ease-in-out forwards;
}
section.payment_details.active.close {
  animation: payment_anime3 0.3s linear forwards;
}
section.payment_details.active.close div.payment_inner.active {
  animation: payment_anime4 0.3s ease-in-out forwards;
}
section.payment_details {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background-color: rgba(100, 100, 100, 0.77);
  z-index: 300;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.4s;
}
section.payment_details div.payment_inner {
  height: auto;
  width: 86%;
  transition: all 0.4s;
  position: relative;
  font-size: 4vw;
  display: none;
}
section.payment_details div.payment_inner .payment_details_close {
  position: absolute;
  top: 1vw;
  right: 1vw;
  z-index: 250;
}
section.payment_details div.payment_inner .payment_details_close img {
  width: 7vw;
  height: 7vw;
}
section.payment_details div.payment_inner div.details {
  width: 100%;
  font-size: 0;
}
section.payment_details div.payment_inner div.details p.payment_title {
  font-size: 5vw;
  font-weight: bold;
  text-align: center;
  color: #222222;
  padding: 0 0 1.5vw;
  border-top: 1px solid #efefef;
  width: 90%;
}
section.payment_details div.payment_inner div.details p.payment_image {
  text-align: center;
  background-color: #ffffff;
  width: 80%;
  padding: 1vw 0;
  border-radius: 2vw;
}
section.payment_details div.payment_inner div.details p.payment_image img {
  width: auto;
  height: 25vw;
}
section.payment_details div.payment_inner div.details p.details_text {
  font-size: 3.6vw;
  font-weight: normal;
  text-align: left;
  color: #222222;
  padding: 1vw 0 1vw;
  border-top: 1px solid #efefef;
  width: 80%;
  line-height: 1.5em;
}
section.payment_details div.payment_inner div.details p.details_text span {
  font-size: 3vw;
}
section.payment_details div.payment_inner div.details p {
  position: relative;
  color: #222222;
  text-align: left;
  display: inline-block;
}
section.payment_details div.payment_inner div.details div.explanation {
  margin-top: 6vw;
  height: auto;
  width: 90%;
  font-size: 5vw;
  height: 35vw;
  overflow-y: scroll;
}
section.payment_details div.payment_inner div.details div.explanation p.caption {
  font-size: 4.2vw;
  font-weight: bold;
  width: 90%;
  padding-bottom: 2vw;
  letter-spacing: 0.2em;
  border-bottom: 1px solid #cccccc;
}
section.payment_details div.payment_inner div.details div.explanation p.ex_text {
  width: 90%;
  text-align: left;
  font-size: 3.6vw;
  padding: 3vw 0;
  line-height: 1.35em;
}
section.payment_details div.payment_inner div.details .payment_bt {
  text-align: center;
  font-size: 4.1vw;
  padding: 2.6vw 1vw;
  line-height: 1.4em;
  background-color: #d33464;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  margin-top: 1.8vw;
  width: 70%;
  cursor: pointer;
}
section.payment_details div.payment_inner div.n_alert {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  z-index: 201;
  background-color: #ffebf2;
  letter-spacing: 0;
  padding: 4vw 0 3vw;
}
section.payment_details div.payment_inner div.n_alert::before {
  content: "";
  height: 5.2vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -5vw;
  left: 0;
}
section.payment_details div.payment_inner div.n_alert::after {
  content: "";
  height: 5.2vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -5vw;
  left: 0;
}
section.alert {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  display: flex;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 200;
  overflow: hidden;
  display: none;
  opacity: 0;
}
section.alert div.payment_inner {
  height: auto;
  width: 86%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
  display: none;
}
section.alert div.payment_inner img.wb_c_img {
  position: absolute;
  z-index: 200;
  top: -18vw;
  left: 4vw;
  width: 80vw;
}
section.alert div.payment_inner ul.payment_select {
  width: 100%;
  height: 102vw;
  text-align: left;
  overflow-y: scroll;
  font-size: 0;
}
section.alert div.payment_inner ul.payment_select li {
  margin: 3vw 0 3vw 4vw;
  text-align: center;
  display: inline-block;
  width: 37vw;
  overflow: hidden;
  box-shadow: 0 0 2vw rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border-radius: 2vw;
  font-size: 3.5vw;
  padding: 0 0 2vw;
}
section.alert div.payment_inner ul.payment_select li img {
  width: 37vw;
  height: 27.8vw;
}
section.alert div.payment_inner ul.payment_select li p.payment_title {
  font-weight: bold;
  text-align: center;
  padding: 2vw 0 1vw;
  border-top: 1px solid #efefef;
  width: 90%;
  margin-left: 5%;
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.alert div.payment_inner ul.payment_select li p {
  position: relative;
  color: #222222;
  text-align: left;
  display: inline-block;
}
section.alert div.payment_inner ul.payment_select li p span {
  position: absolute;
  color: #636363;
  font-size: 3vw;
  bottom: -1em;
  right: 0;
  background-color: #e2e2e2;
  padding: 1vw 2vw;
  border-radius: 2vw;
  text-indent: 0;
}
section.alert div.payment_inner .rereceive_close {
  position: relative;
  top: 2vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 34vw;
  cursor: pointer;
}
section.alert div.payment_inner div.n_alert {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  z-index: 201;
  background-color: #ffebf2;
  letter-spacing: 0;
  padding: 4vw 0 6vw;
}
section.alert div.payment_inner div.n_alert::before {
  content: "";
  height: 5.2vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -5vw;
  left: 0;
}
section.alert div.payment_inner div.n_alert::after {
  content: "";
  height: 5.2vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -5vw;
  left: 0;
}
section.alert div.large_inner {
  position: relative;
  width: 100%;
}
section.alert div.large_inner img.n_c_img {
  position: absolute;
  z-index: 200;
  top: -19vw;
  left: 37vw;
  width: 26vw;
}
section.alert div.large_inner div.l_alert {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  z-index: 201;
  background-color: #fffefe;
  letter-spacing: 0;
  top: 5vw;
  padding: 4vw 0;
}
section.alert div.large_inner div.l_alert ul.item_list {
  width: 86%;
  max-height: 80vw;
  overflow: auto;
  margin: 0 auto 2vw;
}
section.alert div.large_inner div.l_alert ul.item_list li {
  position: relative;
  display: inline-block;
  background-color: #f1f1f1;
  width: 44%;
  margin: 0 0.5vw 3vw 0.5vw;
  border-radius: 2vw;
  padding-bottom: 3vw;
}
section.alert div.large_inner div.l_alert ul.item_list li figure {
  margin: 0 auto;
  width: 80%;
  height: 22vw;
  overflow: hidden;
  position: relative;
}
section.alert div.large_inner div.l_alert ul.item_list li figure img {
  position: relative;
  top: -5vw;
  width: 100%;
  height: auto;
}
section.alert div.large_inner div.l_alert ul.item_list li p.poss {
  position: absolute;
  top: 16vw;
  right: 1vw;
  color: #fff;
  background: #db274e;
  border-radius: 2vw;
  font-size: 3vw;
  line-height: 3vw;
  padding: 1.25vw 1.25vw;
}
section.alert div.large_inner div.l_alert ul.item_list li p.poss img {
  height: 3vw;
  padding-right: 0.5vw;
}
section.alert div.large_inner div.l_alert ul.item_list li p.item_text {
  height: auto;
  font-size: 3.4vw;
  color: #333;
  padding: 1vw 0 2vw;
  line-height: 1.3em;
  text-align: center;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
section.alert div.large_inner div.l_alert ul.item_list li p.send_item_use {
  padding: 2vw 0;
  background-color: #dd8da3;
  color: #FFFFFF;
  font-size: 3.5vw;
  line-height: 4vw;
  border-radius: 3vw;
  display: inline-block;
  width: 80%;
  cursor: pointer;
}
section.alert div.large_inner div.l_alert p.send_item_close {
  position: relative;
  padding: 2vw 4vw;
  background-color: #aaa;
  color: #FFFFFF;
  font-size: 3.5vw;
  line-height: 4vw;
  border-radius: 2vw;
  display: inline-block;
  width: 28vw;
  cursor: pointer;
}
section.alert div.large_inner div.l_alert p.item_caption {
  font-size: 4vw;
  padding-bottom: 3vw;
  color: #222222;
  font-weight: bold;
  text-align: center;
  line-height: 1.7em;
}
section.alert div.normal_inner {
  height: auto;
  width: 70%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
  display: none;
}
section.alert div.normal_inner img.n_c_img {
  position: absolute;
  z-index: 200;
  top: -22vw;
  left: 24vw;
  width: 19vw;
}
section.alert div.normal_inner div.n_alert {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  z-index: 201;
  background-color: #fffefe;
  letter-spacing: 0;
  padding: 6vw 0;
}
section.alert div.normal_inner div.n_alert p.text {
  font-size: 4vw;
  padding: 0 8vw;
  color: #222222;
  text-align: left;
  line-height: 1.7em;
}
section.alert div.normal_inner div.n_alert p.text span {
  font-size: 4vw;
  line-height: 1.7em;
  color: #e63063;
}
section.alert div.normal_inner div.n_alert p.c_text {
  font-size: 4vw;
  padding: 0 8vw;
  color: #222222;
  text-align: center;
  line-height: 1.7em;
}
section.alert div.normal_inner div.n_alert p.gacha_diamond {
  color: #FFFFFF;
  display: inline-block;
  text-align: center;
  width: 33vw;
  padding: 3.5vw 0 5vw;
  line-height: 10vw;
  font-size: 5vw;
  background-image: url(https://oshimemo.com/api/img/gacha/bt_bg_1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.normal_inner div.n_alert p.gacha_diamond img {
  width: 11vw;
  padding-right: 1vw;
}
section.alert div.normal_inner div.n_alert p.gacha_ticket {
  color: #FFFFFF;
  display: inline-block;
  text-align: center;
  width: 33vw;
  padding: 3.5vw 0 5vw;
  line-height: 10vw;
  font-size: 5vw;
  margin: 2vw 0.5vw 2vw 0;
  background-image: url(https://oshimemo.com/api/img/gacha/bt_bg_2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.normal_inner div.n_alert p.gacha_ticket img {
  width: 11vw;
  padding-right: 1vw;
}
section.alert div.normal_inner div.n_alert p.gacha_close {
  margin-top: 3vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #b3a8ab;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 26vw;
  cursor: pointer;
}
section.alert div.normal_inner div.n_alert p.as_hp_bt {
  font-size: 3.8vw;
  margin-top: 4vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #d35577;
  color: #FFFFFF;
  border-radius: 3vw;
  display: inline-block;
  width: 55vw;
  cursor: pointer;
}
section.alert div.normal_inner div.n_alert p.as_hp_close {
  margin-top: 3vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 55vw;
  cursor: pointer;
}
section.alert div.normal_inner div.n_alert::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4vw;
  left: 0;
}
section.alert div.normal_inner div.n_alert::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4vw;
  left: 0;
}
section.alert div.receive_inner {
  height: auto;
  width: 70%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.alert div.receive_inner img.receive_cap {
  position: absolute;
  z-index: 200;
  top: -28vw;
  left: 20vw;
  width: 27vw;
}
section.alert div.receive_inner div.p_alert {
  position: relative;
  height: auto;
  width: 100%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  border-radius: 1vw;
  z-index: 201;
  background-color: #fffefe;
  letter-spacing: 0.1em;
  padding: 8vw 0;
}
section.alert div.receive_inner div.p_alert figure {
  padding-top: 0.2vw;
  width: 20vw;
  height: auto;
  margin: 0 auto;
}
section.alert div.receive_inner div.p_alert figure img {
  width: 100%;
  margin-top: -3vw;
}
section.alert div.receive_inner div.p_alert figure.lock {
  position: relative;
  margin-bottom: 2vw;
}
section.alert div.receive_inner div.p_alert figure.lock::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -20%;
  height: 120%;
  width: 140%;
  z-index: 2;
  border-radius: 2.5vw;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
section.alert div.receive_inner div.p_alert figure.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1vw;
  right: 5vw;
  height: 11vw;
  width: 11vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
section.alert div.receive_inner div.p_alert span {
  display: block;
  font-size: 4vw;
  letter-spacing: 0;
}
section.alert div.receive_inner div.p_alert span.lock_text {
  padding-top: 0.1em;
  font-size: 3vw;
}
section.alert div.receive_inner div.p_alert .duplicate {
  position: relative;
  height: auto;
  width: 88%;
  line-height: 1.2em;
  text-align: center;
  color: #e63063;
  font-size: 4vw;
  z-index: 201;
  background-color: #292929;
  letter-spacing: 0;
  border-radius: 2vw;
  padding: 3vw 0 1vw;
  margin: 6vw auto -2vw;
}
section.alert div.receive_inner div.p_alert .duplicate p {
  font-size: 3.5vw;
  line-height: 1.4em;
  text-align: center;
  color: #fff;
}
section.alert div.receive_inner div.p_alert .duplicate p span {
  display: inline-block;
  line-height: 1.4em;
  font-size: 3vw;
  padding-top: 2vw;
}
section.alert div.receive_inner div.p_alert .duplicate p.possession {
  margin: 0 auto;
  padding: 2vw 0 2vw;
  color: #ffd82a;
  font-size: 4.5vw;
  font-weight: bold;
  width: auto;
  display: inline-block;
  font-size: 3.6vw;
  line-height: 11vw;
}
section.alert div.receive_inner div.p_alert .duplicate p.possession img {
  height: 11vw;
  width: auto;
}
section.alert div.receive_inner div.p_alert p.buttom {
  height: auto;
}
section.alert div.receive_inner div.p_alert p.buttom .rereceive_close {
  position: relative;
  top: 4vw;
  font-size: 3.8vw;
  padding: 2.5vw 1vw;
  line-height: 1.4em;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 34vw;
  cursor: pointer;
}
section.alert div.receive_inner div.p_alert::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4vw;
  left: 0;
}
section.alert div.receive_inner div.p_alert::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4vw;
  left: 0;
}
section.alert div.select_inner {
  height: auto;
  width: 80%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.alert div.select_inner img.meme {
  position: absolute;
  z-index: 200;
  top: -28vw;
  left: 25vw;
  width: 27vw;
}
section.alert div.select_inner div.select_alert::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4.4vw;
  left: 0;
}
section.alert div.select_inner div.select_alert::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4.4vw;
  left: 0;
}
section.alert div.select_inner div.select_alert {
  position: relative;
  height: 52vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1.2em;
  text-align: center;
  z-index: 201;
}
section.alert div.select_inner div.select_alert p.send_a_title {
  color: #e63063;
  padding-top: 5vw;
  font-size: 7.2vw;
  letter-spacing: 0.05em;
  font-weight: bold;
}
section.alert div.select_inner div.select_alert p.send_a_note {
  position: relative;
  display: inline-block;
  color: #8f5d5d;
  padding-top: 4vw;
  font-size: 3vw;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: left;
  width: auto;
}
section.alert div.select_inner div.select_alert p.send_a_text,
section.alert div.select_inner div.select_alert p.dia_a_text {
  position: relative;
  display: inline-block;
  color: #242424;
  padding-top: 4vw;
  font-size: 4.2vw;
  letter-spacing: 0;
  line-height: 1.3em;
  font-weight: bold;
  text-align: left;
  width: 13.5em;
  height: 14vw;
  margin-left: 17vw;
}
section.alert div.select_inner div.select_alert p.send_a_text span,
section.alert div.select_inner div.select_alert p.dia_a_text span {
  position: relative;
  top: 2vw;
  font-weight: bold;
}
section.alert div.select_inner div.select_alert p.send_a_text:before {
  content: "";
  position: absolute;
  top: 1.5vw;
  left: -16vw;
  height: 14vw;
  width: 14vw;
  background-image: url(https://oshimemo.com/api/img/alert/ticket.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.select_inner div.select_alert p.dia_a_text:before {
  content: "";
  position: absolute;
  top: 1.5vw;
  left: -16vw;
  height: 14vw;
  width: 14vw;
  background-image: url(https://oshimemo.com/api/img/alert/diamond.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.select_inner div.select_alert p.buttom {
  font-size: 4vw;
  letter-spacing: 0;
}
section.alert div.select_inner div.select_alert p.buttom span.sending {
  position: relative;
  top: 4vw;
  padding: 2.5vw 4vw;
  background-color: #e63063;
  margin-right: 3vw;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 30vw;
}
section.alert div.select_inner div.select_alert p.buttom span.send_close {
  position: relative;
  top: 4vw;
  padding: 2.5vw 4vw;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 30vw;
}
section.alert div.select_inner div.select_alert p.buttom span.buy_ticket {
  position: relative;
  font-size: 3.3vw;
  top: 4vw;
  padding: 2.5vw 1.5vw;
  background-color: #e63063;
  margin-right: 1.5vw;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 22vw;
}
section.alert div.select_inner div.select_alert p.buttom span.buy_diamond {
  position: relative;
  font-size: 3.3vw;
  top: 4vw;
  padding: 2.5vw 1.5vw;
  background-color: #e63063;
  margin-right: 1.5vw;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 22vw;
}
section.alert div.select_inner div.select_alert p.buttom span.send_buy_close {
  position: relative;
  font-size: 3.3vw;
  top: 4vw;
  padding: 2.5vw 1.5vw;
  background-color: #dd8da3;
  margin-right: 0;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 22vw;
}
section.alert div.alert_inner {
  height: auto;
  width: 70%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.alert div.alert_inner img {
  position: absolute;
  z-index: 200;
  top: -24vw;
  left: 20vw;
  width: 27vw;
}
section.alert div.alert_inner p.b_alert {
  position: relative;
  height: 25vw;
  width: 100%;
  line-height: 25vw;
  text-align: center;
  color: #3783b3;
  font-size: 5vw;
  border-radius: 3vw;
  z-index: 201;
  background-image: url(https://oshimemo.com/api/img/common/header/dialog_bg2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.alert_inner img.pink {
  position: absolute;
  z-index: 200;
  top: -18vw;
  left: 23vw;
  width: 20vw;
}
section.alert div.alert_inner p.p_alert {
  position: relative;
  height: 25vw;
  width: 100%;
  line-height: 25vw;
  text-align: center;
  color: #e63063;
  font-size: 5vw;
  border-radius: 3vw;
  z-index: 201;
  background-image: url(https://oshimemo.com/api/img/common/header/dialog_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
section.alert div.alert_inner p.p_alert span.a_close {
  font-size: 4.2vw;
}
section.alert div.alert_inner p.buttom {
  font-size: 4vw;
  letter-spacing: 0;
}
section.alert div.alert_inner p.buttom span.logout_fin {
  position: relative;
  top: 4vw;
  padding: 2.5vw 4vw;
  background-color: #5e5e5e;
  margin: 0 3vw;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 30vw;
  text-align: center;
}
section.alert div.alert_inner p.buttom span.logout_close {
  position: relative;
  top: 4vw;
  padding: 2.5vw 4vw;
  background-color: #dd8da3;
  color: #FFFFFF;
  border-radius: 2vw;
  display: inline-block;
  width: 30vw;
  text-align: center;
}
#link_alert,
#logout_alert,
#c_send_alert,
#h_send_alert,
#ts_buy_alert,
#ti_use_alert,
#send_t_alert,
#send_f_alert,
#h_send_f_alert,
#receive_one,
#receive_box,
#main_set_alert,
#main_set_alert2,
#main_set_alert3,
#reply_alert,
#over_buy_alert,
#level_details,
#g_one_alert,
#g_ten_alert,
#web_buy_alert,
#send_item_alert {
  display: none;
  opacity: 0;
}
section.still_details.active {
  display: flex;
}
section.still_details.active.fade_in {
  opacity: 1;
}
section.still_details {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 200;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.still_details figure {
  width: 80%;
  height: auto;
  animation: still_d 1s ease-in-out forwards;
}
section.still_details figure img {
  width: 100%;
}
@keyframes still_d {
  0% {
    opacity: 0;
    transform: scale(0.1, 0.1);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
.login_bonus.active {
  display: flex;
}
.login_bonus.active.fade_in {
  opacity: 1;
}
.login_bonus {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(196, 152, 69, 0.808);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
.login_bonus div.lb_inner.active {
  top: -5vw;
}
.login_bonus div.lb_inner {
  width: 81vw;
  height: 132vw;
  position: relative;
  padding: 4vw;
  text-align: center;
  top: -250vw;
  transition: all 0.4s;
}
.login_bonus div.lb_inner div.login_bonus_close {
  width: 28vw;
  height: 8.4vw;
  border-radius: 2.5vw;
  margin: 0 auto 0;
  position: absolute;
  bottom: 8vw;
  left: 30vw;
  background-image: url(https://oshimemo.com/api/img/common/header/close_bt.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
.login_bonus div.lb_inner img.bg {
  width: 89vw;
  height: auto;
  position: absolute;
  top: -5vw;
  left: 0;
}
.login_bonus div.lb_inner p.time_limit {
  margin: 9vw auto 0;
  display: inline-block;
  text-align: center;
  padding: 1vw 3vw;
  border-radius: 4vw;
  color: #ffffff;
  background-color: #a9657c;
  font-size: 3.7vw;
  position: relative;
}
.login_bonus div.lb_inner ul {
  position: absolute;
  top: 20vw;
  left: 4vw;
  height: auto;
  width: 81vw;
  text-align: left;
  font-size: 0;
}
.login_bonus div.lb_inner ul li.end {
  background-color: rgba(160, 0, 61, 0.937);
  background-image: url(https://oshimemo.com/api/img/login_bonus/get_sign.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 2vw;
}
.login_bonus div.lb_inner ul li.end figure,
.login_bonus div.lb_inner ul li.end img,
.login_bonus div.lb_inner ul li.end figcaption {
  display: none;
}
.login_bonus div.lb_inner ul li.end::before {
  content: "";
  position: absolute;
  width: 5vw;
  height: 5vw;
  top: -1.8vw;
  right: -0.5vw;
  background: url("https://oshimemo.com/api/img/login_bonus/check.png") top left no-repeat;
  background-size: 5vw 5vw;
}
.login_bonus div.lb_inner ul .lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
.login_bonus div.lb_inner ul .lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 2.2vw;
  right: 2.5vw;
  height: 8vw;
  width: 8vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.login_bonus div.lb_inner ul li {
  counter-increment: count-lb01;
  display: inline-block;
  text-align: center;
  width: 13vw;
  height: 13vw;
  position: relative;
  margin: 1.7vw 1.5vw;
}
.login_bonus div.lb_inner ul li figure {
  height: 100%;
  width: 100%;
  border-radius: 2vw;
  overflow: hidden;
}
.login_bonus div.lb_inner ul li figure img {
  width: 100%;
  height: auto;
}
.login_bonus div.lb_inner ul li::before {
  content: counter(count-lb01);
  position: absolute;
  width: 5vw;
  height: 5vw;
  top: -1.4vw;
  right: -0.7vw;
  font-size: 3vw;
  line-height: 5vw;
  background-color: #ff0646;
  color: #ffffff;
  border-radius: 1vw;
}
main.mobile_browser {
  overflow: scroll;
  padding-bottom: 12vw;
}
main.mobile_browser .gacha {
  height: auto;
  padding-bottom: 25vw;
}
.m_ripple {
  animation: m_ripple 0.4s ease-out 0s;
  /*1s はアニメーションにかかる時間*/
  background-color: rgba(224, 197, 110, 0.745);
  /*背景色*/
  border-radius: 50%;
  border: 4px solid rgba(224, 197, 110, 0.745);
  /*ボーダーの幅と色*/
  position: absolute;
  z-index: 10000;
}
@keyframes m_ripple {
  0% {
    height: 0;
    opacity: 1;
    transform: translate(0, 0);
    width: 0;
  }
  100% {
    height: 50px;
    /*円の高さ幅の最大値*/
    opacity: 0;
    transform: translate(-25px, -25px);
    /*高さの半分の値にする*/
    width: 50px;
    /*基本高さと合わせる*/
  }
}
div.send_effect {
  position: absolute;
  top: -40vw;
  left: 0;
  height: 40vw;
  width: 90vw;
  transform-origin: bottom left;
  display: none;
  z-index: 10;
}
div.send_effect .effect_wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  animation: wrapper_anime 0.2s ease-in-out 0s forwards;
}
div.send_effect .effect_wrapper div.text {
  position: absolute;
  top: -10vw;
  left: 20vw;
  width: 60vw;
  z-index: 3;
  animation: send_effect_anime1 1.8s ease-in-out 0s forwards;
}
div.send_effect .effect_wrapper div.text img {
  width: 100%;
  animation: up_action2 1.4s linear 2s forwards;
}
div.send_effect .effect_wrapper p span {
  position: absolute;
  width: 20px;
  height: 20px;
  background-image: url(https://oshimemo.com/api/img/talk/heart_1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
div.send_effect .effect_wrapper p span::before {
  position: absolute;
  top: -5px;
  left: -5px;
  content: "";
  width: 40px;
  height: 40px;
  background-image: url(https://oshimemo.com/api/img/talk/heart_2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
div.send_effect .effect_wrapper .heart {
  animation: heart_anime1 0.5s ease-in-out 0.2s infinite;
}
div.send_effect .effect_wrapper .heart2 {
  width: 25px;
  height: 25px;
}
div.send_effect .effect_wrapper .heart3 {
  width: 28px;
  height: 28px;
}
div.send_effect .effect_wrapper .heart4 {
  width: 16px;
  height: 16px;
}
div.send_effect2 {
  position: absolute;
  top: -40vw;
  left: 0;
  height: 40vw;
  width: 100vw;
  transform-origin: bottom left;
  display: none;
  z-index: 10;
  animation: overout 0.1s ease-in-out 1.7s forwards;
}
div.send_effect2 .effect_wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  animation: wrapper_anime 0.2s ease-in-out 0s forwards;
}
div.send_effect2 .effect_wrapper div.text {
  position: absolute;
  top: -10vw;
  left: 20vw;
  width: 60vw;
  z-index: 3;
  animation: send_effect_anime3 1.8s ease-in-out 0s forwards;
}
div.send_effect2 .effect_wrapper div.text img {
  width: 100%;
}
div.back_image {
  display: none;
  opacity: 0;
  position: absolute;
  top: -100vh;
  left: -50vw;
  width: 200vw;
  height: 300vh;
  background-color: rgba(255, 183, 219, 0.898);
  z-index: 1;
  animation: send_effect_anime2 1s linear 0s forwards;
}
.heart1_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart1_fade 0.3s ease-in-outforwards;
}
.heart2_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart2_fade 0.3s ease-in-out 0.02s forwards;
}
.heart3_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart3_fade 0.3s ease-in-out 0.04s forwards;
}
.heart4_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart4_fade 0.3s ease-in-out 0.06s forwards;
}
.heart5_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart5_fade 0.3s ease-in-out 0.08s forwards;
}
.heart6_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart6_fade 0.3s ease-in-out 0.1s forwards;
}
.heart7_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart7_fade 0.3s ease-in-out 0.12s forwards;
}
.heart8_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart8_fade 0.3s ease-in-out 0.14s forwards;
}
.heart9_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart9_fade 0.3s ease-in-out 0.16s forwards;
}
.heart10_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart10_fade 0.3s ease-in-out 0.16s forwards;
}
.heart11_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart11_fade 0.3s ease-in-out 0.14s forwards;
}
.heart12_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart12_fade 0.3s ease-in-out 0.12s forwards;
}
.heart13_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart13_fade 0.3s ease-in-out 0.1s forwards;
}
.heart14_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart14_fade 0.3s ease-in-out 0.08s forwards;
}
.heart15_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart15_fade 0.3s ease-in-out 0.06s forwards;
}
.heart16_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart16_fade 0.3s ease-in-out 0.04s forwards;
}
.heart17_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart17_fade 0.3s ease-in-out 0.02s forwards;
}
.heart18_fade {
  position: absolute;
  width: 10px;
  height: 10px;
  opacity: 0;
  animation: heart18_fade 0.3s ease-in-out 0.08s forwards;
}
.heart_effect1a {
  animation: heart_effect1 0.4s ease-in-out infinite alternate;
}
.heart_effect2a {
  animation: heart_effect2 0.4s ease-in-out infinite alternate;
}
.heart_effect1b {
  animation: heart_effect1 0.6s ease-in-out infinite alternate;
}
.heart_effect2b {
  animation: heart_effect2 0.6s ease-in-out infinite alternate;
}
.heart_effect1c {
  animation: heart_effect1 0.7s ease-in-out infinite alternate;
}
.heart_effect2c {
  animation: heart_effect2 0.7s ease-in-out infinite alternate;
}
.heart1_move {
  position: absolute;
  left: 30vw;
  top: -8vw;
  animation: heart1_move 0.35s ease-in-out 1.65s forwards;
}
.heart2_move {
  position: absolute;
  left: 37vw;
  top: -12vw;
  animation: heart2_move 0.35s ease-in-out 1.7s forwards;
}
.heart3_move {
  position: absolute;
  left: 20vw;
  top: -7vw;
  animation: heart3_move 0.35s ease-in-out 1.75s forwards;
}
.heart4_move {
  position: absolute;
  left: 25vw;
  top: -16vw;
  animation: heart4_move 0.35s ease-in-out 1.8s forwards;
}
.heart5_move {
  position: absolute;
  left: 45vw;
  top: -8vw;
  animation: heart5_move 0.35s ease-in-out 1.85s forwards;
}
.heart6_move {
  position: absolute;
  left: 38vw;
  top: -4vw;
  animation: heart6_move 0.35s ease-in-out 1.9s forwards;
}
.heart7_move {
  position: absolute;
  left: 26vw;
  top: 0vw;
  animation: heart7_move 0.35s ease-in-out 1.95s forwards;
}
.heart8_move {
  position: absolute;
  left: 44vw;
  top: 3vw;
  animation: heart8_move 0.35s ease-in-out 2s forwards;
}
.heart9_move {
  position: absolute;
  left: 51vw;
  top: -8vw;
  animation: heart9_move 0.35s ease-in-out 2.05s forwards;
}
.heart10_move {
  position: absolute;
  left: 49vw;
  top: -18vw;
  animation: heart10_move 0.35s ease-in-out 2.1s forwards;
}
.heart11_move {
  position: absolute;
  left: 28vw;
  top: 6vw;
  animation: heart11_move 0.35s ease-in-out 2.15s forwards;
}
.heart12_move {
  position: absolute;
  left: 50vw;
  top: 6vw;
  animation: heart12_move 0.35s ease-in-out 2.2s forwards;
}
.heart13_move {
  position: absolute;
  left: 61vw;
  top: -16vw;
  animation: heart13_move 0.35s ease-in-out 2.22s forwards;
}
.heart14_move {
  position: absolute;
  left: 60vw;
  top: 0vw;
  animation: heart14_move 0.35s ease-in-out 2.25s forwards;
}
.heart15_move {
  position: absolute;
  left: 64vw;
  top: -8vw;
  animation: heart15_move 0.35s ease-in-out 2.27s forwards;
}
.heart16_move {
  position: absolute;
  left: 68vw;
  top: -2vw;
  animation: heart16_move 0.35s ease-in-out 2.3s forwards;
}
.heart17_move {
  position: absolute;
  left: 61vw;
  top: 6vw;
  animation: heart17_move 0.35s ease-in-out 2.33s forwards;
}
.heart18_move {
  position: absolute;
  left: 69vw;
  top: -13vw;
  animation: heart18_move 0.35s ease-in-out 2.35s forwards;
}
footer.scenario.send_effect_active div.back_image {
  display: flex;
}
footer.scenario.send_effect_active .text_area div.send_effect {
  display: flex;
  animation: overout 0.1s ease-in-out 4s forwards;
}
footer.scenario.send_effect_active .text_area .level_area {
  animation: up_action 0.7s ease-in-out 2s forwards;
}
footer.scenario.send_effect2_active div.back_image {
  display: flex;
  animation: overout 0.1s ease-in-out 4s forwards;
}
footer.scenario.send_effect2_active .text_area div.send_effect2 {
  display: flex;
}
@keyframes overout {
  0% {
    left: 0;
  }
  100% {
    left: -200vw;
  }
}
@keyframes send_effect_anime3 {
  0% {
    transform: scale(0, 0);
  }
  15% {
    transform: scale(1.2, 1.2);
  }
  18% {
    transform: scale(1, 1);
  }
  21% {
    transform: scale(1.2, 1.2);
  }
  24% {
    transform: scale(1, 1);
  }
  27% {
    transform: scale(1.2, 1.2);
  }
  90% {
    transform: scale(1.2, 1.2);
    opacity: 1;
    top: -10vw;
    left: 20vw;
  }
  100% {
    transform: scale(0, 0);
    opacity: 0;
  }
}
@keyframes send_effect_anime1 {
  0% {
    transform: scale(0, 0);
  }
  15% {
    transform: scale(1.2, 1.2);
  }
  18% {
    transform: scale(1, 1);
  }
  21% {
    transform: scale(1.2, 1.2);
  }
  24% {
    transform: scale(1, 1);
  }
  27% {
    transform: scale(1.2, 1.2);
  }
  90% {
    transform: scale(1.2, 1.2);
    opacity: 1;
    top: -10vw;
    left: 20vw;
  }
  100% {
    transform: scale(0.45, 0.45) rotate(360deg);
    opacity: 1;
    top: 15.5vw;
    left: -17.5vw;
  }
}
@keyframes up_action2 {
  0% {
    transform: scale(1, 1);
  }
  5.55% {
    transform: scale(1.1, 1.1);
  }
  11.1% {
    transform: scale(1, 1);
  }
  16.65% {
    transform: scale(1.1, 1.1);
  }
  27.75% {
    transform: scale(1, 1);
  }
  33.3% {
    transform: scale(1.1, 1.1);
  }
  38.85% {
    transform: scale(1, 1);
  }
  44.4% {
    transform: scale(1.1, 1.1);
  }
  50% {
    transform: scale(1, 1);
  }
  90% {
    transform: scale(1, 1);
    opacity: 1;
  }
  100% {
    transform: scale(0, 0) translateY(40vw);
    opacity: 0;
  }
}
@keyframes send_effect_anime2 {
  0% {
    opacity: 0;
    transform: scale(1, 1);
  }
  10% {
    opacity: 0.6;
  }
  20% {
    opacity: 0;
  }
  30% {
    opacity: 0.6;
  }
  40% {
    opacity: 0;
  }
  30% {
    opacity: 0.6;
  }
  40% {
    opacity: 0;
    transform: scale(1, 1);
  }
  100% {
    opacity: 0;
    display: none;
    transform: scale(0, 0);
  }
}
@keyframes up_action {
  0% {
    transform: scale(1, 1);
  }
  12.5% {
    transform: scale(1.1, 1.1);
  }
  25% {
    transform: scale(1, 1);
  }
  37.5% {
    transform: scale(1.1, 1.1);
  }
  50% {
    transform: scale(1, 1);
  }
  62.5% {
    transform: scale(1.1, 1.1);
  }
  75% {
    transform: scale(1, 1);
  }
  87.5% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes wrapper_anime {
  0% {
    transform: scale(0, 0);
    top: 20vw;
    left: 5vw;
  }
  100% {
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart_effect1 {
  0% {
    transform: translateX(-1.5px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes heart_effect2 {
  0% {
    transform: translateY(-3px);
  }
  100% {
    transform: translateY(1px);
  }
}
@keyframes heart1_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 25vw;
    left: 20vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart2_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 32vw;
    left: 10vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart3_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 15vw;
    left: 21vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart4_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 20vw;
    left: 12vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart5_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 40vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart6_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 33vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart7_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 21vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart8_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 39vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart9_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 46vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart10_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 44vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart11_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 23vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart12_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 45vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart13_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 56vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart14_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 55vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart15_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 59vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart16_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 63vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart17_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 56vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart18_fade {
  0% {
    opacity: 0;
    transform: scale(0, 0);
    top: 64vw;
    left: 8vw;
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    top: 0;
    left: 0;
  }
}
@keyframes heart1_move {
  0% {
    top: -8vw;
    left: 30vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart2_move {
  0% {
    top: -12vw;
    left: 37vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart3_move {
  0% {
    top: -7vw;
    left: 20vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart4_move {
  0% {
    top: -16vw;
    left: 25vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart5_move {
  0% {
    top: -8vw;
    left: 45vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart6_move {
  0% {
    top: -4vw;
    left: 38vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart7_move {
  0% {
    top: 0;
    left: 26vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart8_move {
  0% {
    top: 3vw;
    left: 44vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart9_move {
  0% {
    top: -8vw;
    left: 51vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart10_move {
  0% {
    top: -18vw;
    left: 49vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart11_move {
  0% {
    top: 6vw;
    left: 28vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart12_move {
  0% {
    top: 6vw;
    left: 50vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart13_move {
  0% {
    top: -16vw;
    left: 61vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart14_move {
  0% {
    top: 0vw;
    left: 60vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart15_move {
  0% {
    top: -8vw;
    left: 64vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart16_move {
  0% {
    top: -2vw;
    left: 68vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart17_move {
  0% {
    top: 6vw;
    left: 61vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart18_move {
  0% {
    top: -13vw;
    left: 69vw;
    transform: scale(1, 1) rotate(0);
  }
  50% {
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
  }
  100% {
    top: 30vw;
    left: 12vw;
    transform: scale(0.2, 0.2);
    opacity: 0;
  }
}
@keyframes heart_anime1 {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes scroll_caption {
  0% {
    top: 4vw;
  }
  50% {
    top: 7vw;
  }
  100% {
    top: 4vw;
  }
}
@keyframes read_bt_anime {
  0% {
    transform: scale(1, 1);
  }
  79% {
    transform: scale(1, 1);
  }
  80% {
    transform: scale(1.05, 1.05);
  }
  85% {
    transform: scale(1, 1);
  }
  90% {
    transform: scale(1.05, 1.05);
  }
  95% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
.not_payment_alert.active {
  display: flex;
  opacity: 1;
}
.not_payment_alert.active div.not_payment_inner.active {
  top: 0;
  opacity: 1;
}
.not_payment_alert {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  z-index: 51;
  overflow: hidden;
  display: none;
  opacity: 0;
}
.not_payment_alert div.not_payment_inner {
  height: auto;
  width: 80%;
  transition: all 0.4s;
  position: relative;
  top: 100vh;
  font-size: 4vw;
  opacity: 0;
}
.not_payment_alert div.not_payment_inner img.meme {
  position: absolute;
  z-index: 200;
  top: -26vw;
  left: 27vw;
  width: 28vw;
}
.not_payment_alert div.not_payment_inner div.alert::before {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  top: -4.4vw;
  left: 0;
}
.not_payment_alert div.not_payment_inner div.alert::after {
  content: "";
  height: 5vw;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  letter-spacing: 0.1em;
  z-index: 202;
  position: absolute;
  bottom: -4.4vw;
  left: 0;
}
.not_payment_alert div.not_payment_inner div.alert {
  position: relative;
  height: auto;
  width: 100%;
  background-image: url(https://oshimemo.com/api/img/alert/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1.2em;
  text-align: center;
  padding-bottom: 5vw;
  z-index: 201;
}
.not_payment_alert div.not_payment_inner div.alert p.a_title {
  color: #fdfa00;
  padding: 2.5vw 0;
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  font-weight: bold;
  width: 100%;
  margin: 3vw 0 2.5vw;
  background-color: #e63063;
}
.not_payment_alert div.not_payment_inner div.alert p.caution {
  margin: 2vw auto 1vw;
  width: 75%;
  color: #c51f4d;
  background-color: #f8e3e9;
  text-align: left;
  padding: 2vw;
  font-size: 3.5vw;
  line-height: 1.3em;
}
.not_payment_alert div.not_payment_inner div.alert p.caution span {
  display: block;
  color: #e63063;
  text-align: center;
  font-weight: bold;
  padding-bottom: 2vw;
  font-size: 4vw;
}
.not_payment_alert div.not_payment_inner div.alert p.a_text,
.not_payment_alert div.not_payment_inner div.alert p.b_text,
.not_payment_alert div.not_payment_inner div.alert p.c_text {
  margin: 0 auto;
  width: 90%;
  color: #333;
  text-align: center;
  padding: 2vw 0 0;
  font-size: 3vw;
  line-height: 1.3em;
}
.not_payment_alert div.not_payment_inner div.alert p.a_text span,
.not_payment_alert div.not_payment_inner div.alert p.b_text span,
.not_payment_alert div.not_payment_inner div.alert p.c_text span {
  margin: 0 auto 1vw;
  display: block;
  width: 36%;
  color: #FFF;
  background-color: #e76e90;
  text-align: center;
  font-weight: bold;
  padding: 1vw;
  font-size: 3.4vw;
}
.not_payment_alert div.not_payment_inner div.alert p.b_text,
.not_payment_alert div.not_payment_inner div.alert p.c_text {
  margin: 1vw auto 0;
}
.not_payment_alert div.not_payment_inner div.alert p.b_note {
  position: relative;
  display: inline-block;
  color: #333;
  padding-top: 4vw;
  font-size: 3vw;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: left;
  width: auto;
}
.not_payment_alert div.not_payment_inner div.alert p.a_note {
  position: relative;
  display: inline-block;
  color: #8f5d5d;
  padding-top: 4vw;
  font-size: 3vw;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: left;
  width: auto;
}
.not_payment_alert div.not_payment_inner div.alert p.buttom {
  font-size: 4vw;
  letter-spacing: 0;
}
.not_payment_alert div.not_payment_inner div.alert p.buttom span.buy_diamond {
  position: relative;
  font-size: 3.3vw;
  top: 1vw;
  padding: 4vw 1.5vw;
  background-color: #e63063;
  margin-right: 1.5vw;
  color: #FFFFFF;
  border-radius: 5vw;
  display: inline-block;
  width: 42vw;
  font-weight: bold;
}
.not_payment_alert div.not_payment_inner div.alert p.buttom span.close {
  position: relative;
  font-size: 3.3vw;
  top: 1vw;
  padding: 4vw 1.5vw;
  background-color: #aaa;
  margin-right: 0;
  color: #FFFFFF;
  border-radius: 5vw;
  display: inline-block;
  width: 22vw;
}
.not_payment_alert div.not_payment_inner div.alert p.buttom span:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
section.not_payment_buy::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
section.not_payment_buy {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100vh;
  width: 100vw;
  position: relative;
  background-image: url(https://oshimemo.com/api/img/shop/bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  display: none;
  opacity: 0;
  z-index: 100;
  transition: all 0.5s;
}
section.not_payment_buy .title_img {
  width: 100%;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
}
section.not_payment_buy .title_img img {
  width: 100%;
}
section.not_payment_buy ul.shop_list {
  width: 100%;
  margin: 55vw 0 10vw;
}
section.not_payment_buy ul.shop_list li {
  position: relative;
  height: auto;
  margin: 0 5vw 5vw;
}
section.not_payment_buy ul.shop_list li img {
  width: 100%;
}
section.not_payment_buy p.not_payment_buy_close {
  position: relative;
  padding: 2vw 4vw;
  background-color: #aaa;
  color: #FFFFFF;
  font-size: 3.5vw;
  line-height: 4vw;
  text-align: center;
  border-radius: 2vw;
  display: inline-block;
  width: 30vw;
  margin: 0 35vw 18vw;
  cursor: pointer;
}
section.not_payment_buy.active {
  display: block;
  opacity: 1;
}
header.n_home {
  width: 100%;
  z-index: 30;
  background: transparent;
  position: relative;
}
header.n_home .bg {
  position: absolute;
  bottom: 11vw;
  left: 0;
  height: 41.7vw;
  width: 100vw;
  background-image: url(https://oshimemo.com/api/img/common/header/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
header.n_home div.status_area {
  position: relative;
  width: auto;
  height: 9vw;
  text-align: center;
  padding: 1.5vw 2vw 0 0;
  float: right;
  z-index: 10;
}
header.n_home div.status_area p.u_status {
  width: auto;
  display: inline-block;
  font-size: 3.4vw;
  line-height: 8vw;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding: 0 1vw;
  font-weight: bold;
}
header.n_home div.status_area p.u_status img {
  height: 8vw;
}
header.n_home .logo_title {
  position: relative;
  float: left;
  margin: 1.5vw 0 0 0.5vw;
  width: 40.8vw;
  height: 7.5vw;
  background-image: url(https://oshimemo.com/api/img/common/header/logo_title.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
}
header.n_home div.home_menu {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.867);
  height: 16.6vw;
  text-align: center;
  font-size: 0;
}
header.n_home div.home_menu div.bt {
  position: relative;
}
header.n_home div.home_menu div.bt img {
  width: 16.6vw;
}
header.n_home div.home_menu div.bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
header.n_home div.home_menu span {
  position: absolute;
  top: 4.5vw;
  right: 1.5vw;
  background-color: #ff0646;
  color: #fdffa1;
  text-align: center;
  width: 5vw;
  border-radius: 50%;
  height: 5vw;
  line-height: 5vw;
  font-size: 3vw;
}
main.n_home {
  width: 100%;
  flex-basis: 100%;
  padding-top: 0;
  padding-bottom: 30vw;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
  background-color: #ffffff;
  z-index: 1;
  /* バナー本体 */
  /* バナー内コンテンツ */
}
main.n_home .girl_frame:before {
  content: "";
  position: absolute;
  top: -2vw;
  left: -2vw;
  width: 100vw;
  height: 79vw;
  background-image: linear-gradient(0deg, #9c603b, #fbea7e 30%, #fffae6 74%);
}
main.n_home .girl_frame {
  position: relative;
  width: 96vw;
  margin: 2vw 2vw 0;
  height: 75vw;
  background-color: #eee;
  z-index: 2;
}
main.n_home .girl_frame div.fab_level {
  z-index: 7;
  color: #FFFFFF;
  font-size: 4.4vw;
  font-weight: bold;
  position: absolute;
  bottom: 2.8vw;
  left: 2.9vw;
  width: 10vw;
  text-align: center;
}
main.n_home .girl_frame div.fab_bg {
  position: absolute;
  bottom: 1vw;
  left: 1vw;
  z-index: 6;
  width: 40vw;
  height: 11.29vw;
}
main.n_home .girl_frame div.fab_bg img {
  position: relative;
  width: 40vw;
}
main.n_home .girl_frame div.fab_score_bg {
  background-color: rgba(255, 255, 255, 0.74);
  width: 29vw;
  height: 4.5vw;
  position: absolute;
  bottom: 3vw;
  left: 10.5vw;
  border-radius: 2vw;
  z-index: 4;
}
main.n_home .girl_frame div.fab_score_wrapper {
  width: 28.8vw;
  height: 4.5vw;
  position: absolute;
  bottom: 3vw;
  left: 10.5vw;
  z-index: 5;
}
main.n_home .girl_frame div.fab_score_wrapper div.fab_score {
  background: linear-gradient(to bottom, #ff5a96, #ff5a96 20%, #fb367e 50%, #e20053);
  height: 100%;
  transition: all 0.3s;
}
main.n_home .girl_frame div.g_changebt_wrapper {
  position: absolute;
  bottom: 1.5vw;
  right: 1vw;
}
main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt.active img {
  animation: cap_anime 5s linear infinite;
}
main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt {
  position: relative;
  display: inline-block;
}
main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt img {
  position: relative;
  border-radius: 50%;
  padding: 2vw;
  z-index: 4;
  width: 10vw;
}
main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt:after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 10vw;
  width: 10vw;
  background-image: url(https://oshimemo.com/api/img/common/main/change_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 5;
}
main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt::before {
  content: '';
  position: absolute;
  right: 0.5vw;
  top: 0.5vw;
  background-color: #fff2aa;
  height: 10vw;
  width: 10vw;
  z-index: 4;
  border-radius: 50%;
}
main.n_home .girl_frame .chara {
  position: relative;
  width: 96vw;
  height: 75vw;
  background-color: #9b9b9b;
  background-image: url(https://oshimemo.com/api/img/bg/001.png?20220831_2);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  z-index: 2;
}
main.n_home .girl_frame .chara .chara_body {
  position: absolute;
  width: 130%;
  top: -35vw;
  left: -10%;
  z-index: 2;
}
main.n_home .girl_frame .chara .chara_face {
  position: absolute;
  width: 130%;
  top: -35vw;
  left: -10%;
  z-index: 3;
}
main.n_home .title_caption {
  width: 100%;
  text-align: center;
  padding: 4vw 0 2.5vw;
  z-index: 2;
}
main.n_home .title_caption img {
  height: 8vw;
}
main.n_home ul.eventinfo_bunner {
  z-index: 2;
}
main.n_home ul.eventinfo_bunner li {
  padding-top: 4vw;
}
main.n_home ul.eventinfo_bunner li img {
  width: 100%;
}
main.n_home ul.eventinfo_bunner li:first-child {
  padding-top: 0;
}
main.n_home ul.help_menu {
  padding: 0 4vw 3vw 4vw;
}
main.n_home ul.help_menu li {
  padding: 0 0 3vw 0;
}
main.n_home ul.help_menu li img {
  width: 100%;
}
main.n_home section.news_list::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
main.n_home section.news_list {
  height: auto;
  width: 100%;
  padding: 0 3vw 3vw 3vw;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  z-index: 2;
}
main.n_home section.news_list ul {
  position: relative;
  padding: 0 0 4vw;
  width: 93vw;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
main.n_home section.news_list ul li {
  position: relative;
  display: block;
  margin-bottom: 3vw;
  padding: 2.5vw;
  height: 25.1vw;
  width: 93vw;
  background-image: url(https://oshimemo.com/api/img/common/main/news_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
main.n_home section.news_list ul li div.message {
  position: relative;
  float: right;
  width: 65vw;
  height: 20vw;
  z-index: 1;
  overflow: hidden;
}
main.n_home section.news_list ul li div.message p.time {
  float: right;
  color: #a89796;
  font-size: 3.4vw;
  line-height: 6vw;
  padding: 0 1vw 0 0;
}
main.n_home section.news_list ul li div.message p.text {
  clear: both;
  color: #725654;
  line-height: 6vw;
  padding: 2vw 1vw 0 0;
  font-size: 4.3vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
main.n_home section.news_list ul li figure {
  position: relative;
  height: 20vw;
  width: 20vw;
  overflow: hidden;
  float: left;
}
main.n_home section.news_list ul li figure img {
  position: relative;
  width: 100%;
  z-index: 1;
}
main.n_home section.news_list ul li figure::before {
  content: "";
  position: absolute;
  height: 20vw;
  width: 20vw;
  bottom: -10vw;
  left: -10vw;
  background: #725654;
  z-index: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main.n_home .news_text:before {
  content: "";
  position: absolute;
  top: 4vw;
  left: 17.9vw;
  margin-top: -4vw;
  border: 4vw solid transparent;
  border-left: 2vw solid #e4bfcc;
  z-index: 3;
}
main.n_home .news_text:after {
  content: "おしらせ";
  line-height: 8vw;
  font-weight: bold;
  position: absolute;
  padding: 0 2vw;
  font-size: 3.5vw;
  top: 0;
  left: 0;
  height: 8vw;
  background-color: #e4bfcc;
  color: #fff;
}
main.n_home .news_text {
  position: relative;
  display: block;
  height: 8vw;
  width: 100%;
  background-color: #fff8fa;
  overflow: hidden;
}
main.n_home .news_text_content {
  display: inline-block;
  color: #333;
  line-height: 8vw;
  padding-left: 100%;
  white-space: nowrap;
  animation: animate_text 20s linear infinite;
}
main.n_home .news_text_content p {
  line-height: 8vw;
}
@keyframes animate_text {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
main.n_home .n_home_bunner {
  margin: 0;
  position: relative;
  z-index: 2;
}
main.n_home .n_home_bunner img {
  width: 100%;
  height: auto;
}
main.n_home .n_home_bunner .slick-next {
  position: absolute;
  top: 46%;
  right: 1vw;
  z-index: 99;
  font-size: 0;
  height: 5vw;
  width: 5vw;
  background-color: #00000099;
  border-radius: 50%;
}
main.n_home .n_home_bunner .slick-prev {
  position: absolute;
  top: 46%;
  left: 1vw;
  z-index: 100;
  font-size: 0;
  height: 5vw;
  width: 5vw;
  background-color: #00000066;
  border-radius: 50%;
}
main.n_home .n_home_bunner .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(40%);
  -moz-filter: opacity(40%);
  -o-filter: opacity(40%);
  -ms-filter: opacity(40%);
  filter: opacity(40%);
}
main.n_home .n_home_bunner .slick-prev:before {
  content: "＜";
  color: #ffffff;
  font-size: 3.5vw;
  line-height: 5vw;
}
main.n_home .n_home_bunner .slick-next:before {
  content: "＞";
  color: #ffffff;
  font-size: 3.5vw;
  line-height: 5vw;
}
main.n_home .n_home_bunner .slick-dots {
  bottom: 3vw;
}
footer.n_home {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 34%, #ffffff 44%, rgba(255, 255, 255, 0) 45%, #d53a70 46%, #d53a70);
}
footer.n_home .main_bt {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 34%, #ffffff 44%, rgba(255, 255, 255, 0) 45%, #d53a70 46%, #d53a70);
  height: 28vw;
}
footer.n_home .main_bt .n_home_center_bt {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  top: 0;
  left: 37%;
  width: 26vw;
  height: 26vw;
  z-index: 29;
  color: #FFF;
  font-size: 3.6vw;
  letter-spacing: 0.1vw;
}
footer.n_home .main_bt .n_home_center_bt span {
  position: absolute;
  top: 1vw;
  right: 1.9vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: #fdffa1;
  text-align: center;
  width: 9vw;
  height: 9vw;
  line-height: 9.5vw;
  font-size: 4vw;
}
footer.n_home .main_bt .n_home_center_bt img {
  width: 100%;
}
footer.n_home .main_bt .n_home_center_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.n_home .left_bt {
  position: absolute;
  bottom: 1vw;
  left: 2vw;
  width: 34vw;
  z-index: 23;
  font-size: 0;
  text-align: left;
}
footer.n_home .left_bt p.room_bt {
  position: relative;
  display: inline-block;
}
footer.n_home .left_bt p.room_bt span {
  position: absolute;
  top: -2vw;
  right: -2vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  color: #fdffa1;
  width: 8vw;
  height: 8vw;
  line-height: 8vw;
  font-size: 3.8vw;
}
footer.n_home .left_bt p.dressup_bt {
  margin-left: 0.5vw;
  position: relative;
  display: inline-block;
}
footer.n_home .left_bt img {
  width: 14vw;
  margin-left: 2.3vw;
}
footer.n_home .left_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.n_home .right_bt {
  position: absolute;
  bottom: 1vw;
  right: 2vw;
  width: 34vw;
  z-index: 23;
  font-size: 0;
  text-align: right;
}
footer.n_home .right_bt p.memorial_bt {
  position: relative;
  display: inline-block;
}
footer.n_home .right_bt p.memorial_bt span {
  position: absolute;
  top: -2vw;
  right: -0.5vw;
  display: inline-block;
  background: transparent;
  background-image: url(https://oshimemo.com/api/img/common/footer/span.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  color: #fdffa1;
  width: 8vw;
  height: 8vw;
  line-height: 8vw;
  font-size: 3.8vw;
}
footer.n_home .right_bt p.girls_bt {
  margin-right: 0.5vw;
  position: relative;
  display: inline-block;
}
footer.n_home .right_bt img {
  width: 14vw;
  margin-right: 2.3vw;
}
footer.n_home .right_bt img:active {
  transform: scale(1.1, 1.1);
  transition: all 0.2s;
}
footer.n_home .main_girls.active {
  display: block;
}
footer.n_home .main_girls.active.fade_in {
  top: -52vw;
}
footer.n_home .main_girls {
  position: absolute;
  top: 100vw;
  width: 100vw;
  height: 60vw;
  background: linear-gradient(to bottom, rgba(255, 206, 223, 0.5), #e4bfcc);
  margin-bottom: -18vw;
  padding-bottom: 18vw;
  transition: all 0.3s;
  display: none;
}
footer.n_home .main_girls .change_girls {
  display: block;
  width: 100vw;
  position: relative;
  text-align: center;
  padding: 3vw 0 0;
  transition: all 0.3s;
  z-index: 18;
}
footer.n_home .main_girls .change_girls p.change_close {
  display: inline-block;
  width: 40vw;
  opacity: 0.5;
}
footer.n_home .main_girls .change_girls p.change_close img {
  width: 100%;
}
footer.n_home .main_girls .change_girls p.change_bt {
  display: inline-block;
  width: 40vw;
  opacity: 0.8;
}
footer.n_home .main_girls .change_girls p.change_bt img {
  width: 100%;
}
footer.n_home .main_girls .change_girls ul::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
footer.n_home .main_girls .change_girls ul {
  width: 100vw;
  height: 34vw;
  padding: 2vw 2.5vw 0;
  font-size: 0;
  white-space: nowrap;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
footer.n_home .main_girls .change_girls ul li {
  display: inline-block;
  width: 25.5vw;
  margin: 0 1.5vw;
  position: relative;
  white-space: normal;
}
footer.n_home .main_girls .change_girls ul li figure {
  width: 100%;
  height: 27.5vw;
  border-radius: 3vw;
  margin-bottom: 1vw;
  position: relative;
  background-color: rgba(255, 255, 255, 0.527);
}
footer.n_home .main_girls .change_girls ul li figure img {
  position: relative;
  border-radius: 3vw;
}
footer.n_home .main_girls .change_girls ul.g_list li figure {
  overflow: hidden;
}
footer.n_home .main_girls .change_girls ul.g_list li figure img {
  height: 100%;
}
footer.n_home .main_girls .change_girls ul.change_list li input[type="radio"] {
  display: none;
}
footer.n_home .main_girls .change_girls ul.change_list li figure {
  overflow: hidden;
  position: relative;
}
footer.n_home .main_girls .change_girls ul.change_list li figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
}
footer.n_home .main_girls .change_girls ul.change_list li input[type="radio"]:checked + figure {
  background-color: rgba(253, 117, 174, 0.671);
}
footer.n_home .main_girls .change_girls ul.change_list li input[type="radio"]:checked + figure::before {
  content: "";
  position: absolute;
  width: 7vw;
  height: 7vw;
  top: -1.5vw;
  right: -1.5vw;
  background: url("https://oshimemo.com/api/img/common/footer/dress_up_check.png") top left no-repeat;
  background-size: 7vw 7vw;
  z-index: 10;
}
footer.n_home .main_girls .change_girls ul.change_list li.lock {
  position: relative;
}
footer.n_home .main_girls .change_girls ul.change_list li.lock::before {
  content: "";
  position: absolute;
  border-radius: 3vw;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  background-color: rgba(17, 17, 17, 0.815);
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
  background-size: 7px 7px;
}
footer.n_home .main_girls .change_girls ul.change_list li.lock::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7.5vw;
  right: 6.7vw;
  height: 12vw;
  width: 12vw;
  background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 3;
}
section.fav {
  position: absolute;
  top: 0.5vw;
  left: 0.3vw;
}
section.fav div.fab_level {
  z-index: 7;
  color: #FFFFFF;
  font-size: 4.4vw;
  font-weight: bold;
  position: absolute;
  bottom: 4.3vw;
  left: 2.9vw;
  width: 10vw;
  text-align: center;
}
section.fav_home.inactive {
  left: -45.7vw;
}
section.fav_home {
  position: absolute;
  bottom: 35.5vw;
  left: 2.3vw;
  z-index: 4;
  transition: all 0.3s;
}
section.fav_home div.fab_level {
  z-index: 7;
  color: #FFFFFF;
  font-size: 4.4vw;
  font-weight: bold;
  position: absolute;
  bottom: 5.8vw;
  left: 2.9vw;
  width: 10vw;
  text-align: center;
}
section.fav,
section.fav_home {
  transform: scale(1.1);
}
section.fav div.fab_bg,
section.fav_home div.fab_bg {
  position: absolute;
  bottom: 1vw;
  left: 1vw;
  z-index: 6;
  width: 40vw;
  height: 11.29vw;
}
section.fav div.fab_bg img,
section.fav_home div.fab_bg img {
  position: relative;
  width: 40vw;
}
section.fav div.fab_score_bg,
section.fav_home div.fab_score_bg {
  background-color: rgba(255, 255, 255, 0.74);
  width: 29vw;
  height: 4.5vw;
  position: absolute;
  bottom: 2.5vw;
  left: 11vw;
  border-radius: 2vw;
  z-index: 4;
}
section.fav div.fab_score_wrapper,
section.fav_home div.fab_score_wrapper {
  width: 28.8vw;
  height: 4.5vw;
  position: absolute;
  bottom: 2.5vw;
  left: 11vw;
  z-index: 5;
}
section.fav div.fab_score_wrapper div.fab_score,
section.fav_home div.fab_score_wrapper div.fab_score {
  background: linear-gradient(to bottom, #ff5a96, #ff5a96 20%, #fb367e 50%, #e20053);
  height: 100%;
  transition: all 0.3s;
}
section.log_img_wrapper.active {
  display: flex;
}
section.log_img_wrapper.active.fade_in {
  opacity: 1;
}
section.log_img_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 250;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.log_img_wrapper div.log_img_inner {
  height: auto;
  width: 100%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
}
section.log_img_wrapper div.log_img_inner img {
  width: 100%;
}
section.log_img_wrapper p.close_caption {
  position: absolute;
  bottom: 10vw;
  background-color: rgba(50, 50, 50, 0.8);
  border-radius: 10vw;
  width: 50vw;
  padding: 3vw 4vw;
  font-size: 3.8vw;
  margin: 0 25vw;
  line-height: 1.2em;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  animation: s_fade_out 0.3s ease-in-out 1.9s forwards;
}
section.camp_dialog_wrapper.active {
  display: flex;
}
section.camp_dialog_wrapper.active.fade_in {
  opacity: 1;
}
section.camp_dialog_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.77);
  z-index: 250;
  overflow: hidden;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}
section.camp_dialog_wrapper div.camp_dialog_inner {
  height: auto;
  width: 80%;
  transition: all 0.2s;
  position: relative;
  font-size: 4vw;
  background-color: #FFFFFF;
  border-radius: 3vw;
  overflow: hidden;
  text-align: center;
  padding-bottom: 2vw;
}
section.camp_dialog_wrapper div.camp_dialog_inner p.caption {
  text-align: center;
  padding: 2vw;
  line-height: 1.5em;
}
section.camp_dialog_wrapper div.camp_dialog_inner img.title_image {
  width: 100%;
}
section.camp_dialog_wrapper div.camp_dialog_inner div.camp_close {
  width: 40%;
  opacity: 0.5;
}
section.camp_dialog_wrapper div.camp_dialog_inner div.camp_close img {
  width: 100%;
  border-radius: 3vw;
}
@charset "UTF-8";.prof_details:after,.main:after,.reject_icon:after,.plain_box:after,.type_select:after,.mypage_nav:after,.nav_icon:after,.approach_nav ul:after,.category_nav:after,.map_area ul:after,.main_icon:after,.contents.payment nav ul:after,.prof_details:after,.talk_thread dd ul li:after,.talk_thread dd:after,.contents.mypage nav ul:after,.info_imp:after,.plain_list li:after,dl.location:after,.user_list li:after,.image_list:after,header .sub_nav:after,header .sub_nav ul:after,.title head_nav:after,.title h1:after,.title:after{content:".";font-size:0.1em;line-height:0;display:block;height:0.1px;visibility:hidden;clear:both;}/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 3vw;
}
.slick-dots
{
    position: absolute;
    bottom: -3.5vw;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li
{
    position: relative;
    display: inline-block;
    width: 2vw;
    height: 2vw;
    margin: 0 2vw;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 2vw;
    height: 2vw;
    padding: 1vw;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6vw;
    line-height: 6vw;
    position: absolute;
    top: 0;
    left: 0;
    width: 3vw;
    height: 3vw;
    content: '•';
    text-align: center;
    opacity: .25;
    color: rgb(255, 255, 255);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: rgb(255, 255, 255);
}
.slide-arrow {
    position: absolute;
    top: 40%;
    margin-top: -15px;
}

.prev-arrow {
left: -6vw;
width: 5vw;
height: 5vw;
background-image: url(https://oshimemo.com/api/img/common/main/prev.png);
background-size:cover;
background-repeat: no-repeat;
background-position: center;
}

.next-arrow {
right: -6vw;
width: 5vw;
height: 5vw;
background-image: url(https://oshimemo.com/api/img/common/main/next.png);
background-size:cover;
background-repeat: no-repeat;
background-position: center;

}
button {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}




@media screen and (min-width: 415px) {
    /* Dots */
    .slick-dotted.slick-slider
    {
        margin-bottom: 15px;
    }
    .slick-dots
    {
        bottom: -17.5px;
    }
    .slick-dots li
    {
        width: 10px;
        height: 10px;
        margin: 0 10px;
    }
    .slick-dots li button
    {
        width: 10px;
        height: 10px;
        padding: 5px;
    }
    .slick-dots li button:before
    {
        font-family: 'slick';
        font-size: 30px;
        line-height: 30px;
        position: absolute;
        top: 0;
        left: 0;
        width: 15px;
        height: 15px;
        content: '•';
    }
    .slide-arrow {
        position: absolute;
        top: 40%;
        margin-top: -15px;
    }
    .prev-arrow {
    left: -30px;
    width: 25px;
    height: 25px;
    }
    .next-arrow {
    right: -30px;
    width: 25px;
    height: 25px;
    }
}
@media screen and (min-width: 441px) {
  html {
    min-height: 900px;
    overflow: scroll;
    background-image: url(https://oshimemo.com/api/img/bg/web_bg2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  body {
    width: 500px;
    height: 900px;
    margin: auto auto;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    border: 0;
    box-sizing: border-box;
  }
  select {
    font-size: 35px;
  }
  input[type="password"],
  input[type="text"],
  textarea {
    font-size: 35px;
  }
  input[type="radio"],
  input[type="checkbox"] {
    margin-right: 5px;
    top: 1px;
    width: 23.5px;
    height: 23.5px;
  }
  section.tutorial {
    height: 900px;
    width: 500px;
  }
  section.tutorial div.tutorial_inner {
    border-radius: 25px;
  }
  section.tutorial div.tutorial_inner .tutorial_step p img {
    border-radius: 10px;
  }
  section.tutorial div.tutorial_inner .tutorial_step .step_1.active.tutorial_fade_in.tutorial_fade_out,
  section.tutorial div.tutorial_inner .tutorial_step .step_2.active.tutorial_fade_in.tutorial_fade_out,
  section.tutorial div.tutorial_inner .tutorial_step .step_3.active.tutorial_fade_in.tutorial_fade_out {
    top: 90px;
  }
  .pre_item_details.active.fade_in div.item_inner {
    top: -50px;
  }
  .pre_item_details {
    height: 900px;
    width: 500px;
  }
  .pre_item_details div.item_inner {
    width: 325px;
    border-radius: 25px;
    padding-bottom: 25px;
    top: -1250px;
  }
  .pre_item_details div.item_inner img.select_item {
    border-radius: 15px;
    width: 150px;
  }
  .pre_item_details div.item_inner p.item_name {
    font-size: 20px;
    margin: 17.5px auto 15px;
  }
  .pre_item_details div.item_inner p.item_text {
    font-size: 18px;
    min-height: 130px;
    height: auto;
    padding: 15px;
    line-height: 26.5px;
  }
  .pre_item_details div.item_inner p.caution {
    padding-top: 5px;
    font-size: 15px;
  }
  .pre_item_details div.item_inner p.i_possession {
    top: 125px;
    right: 75px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 7.5px;
  }
  .pre_item_details div.item_inner p.i_possession img {
    height: 15px;
    padding-right: 2.5px;
  }
  .pre_item_details div.item_inner div.pre_item_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: -70px;
    left: 93.75px;
  }
  section.start_menu {
    height: 900px;
    font-size: 15px;
  }
  section.start_menu ul.gloval-nav {
    width: 500px;
  }
  section.start_menu ul.gloval-nav li {
    font-size: 20px;
    padding: 25px 0 25px 50px;
  }
  section.start_menu ul.gloval-nav li p.check {
    margin-left: 10px;
    border-radius: 10px;
    font-size: 17.5px;
    line-height: 17.5px;
    padding: 7.5px 7.5px;
  }
  section.start {
    height: 900px;
  }
  section.start div.login {
    padding-top: 70px;
    width: 340px;
  }
  section.start div.login img {
    width: 275px;
  }
  section.start div.login .login_form {
    padding: 20px;
    border-radius: 10px;
    margin-top: -15px;
  }
  section.start div.login .login_form input {
    padding: 12.5px 10px;
    border-radius: 10px;
    margin-bottom: 7.5px;
    box-shadow: 0px 0px 5px 2.5px #f1f1f1 inset;
  }
  section.start div.login .login_form input[type="password"],
  section.start div.login .login_form input[type="email"],
  section.start div.login .login_form input[type="text"] {
    font-size: 15px;
  }
  section.start div.login .login_form img {
    width: 125px;
  }
  section.start div.login .login_form p.pwreminder {
    font-size: 15px;
    padding: 5px 0;
  }
  section.start div.login .login_form p.login_bt img {
    border-radius: 50px;
    width: 175px;
  }
  section.start div.login .login_form p.entry_caption {
    font-size: 15px;
    color: #3f3f3f;
    padding: 40px 0 10px;
  }
  section.start div.login .login_form .checkbox01 {
    font-size: 16.5px;
    padding: 5px 25px 5px 15px;
    position: relative;
    width: auto;
    margin: 10px 0 20px 15px;
  }
  section.start div.login .login_form .checkbox01::before {
    border: 1px solid #231815;
    height: 16px;
    left: -5px;
    margin-top: -8px;
    width: 16px;
  }
  section.start div.login .login_form .checkbox01::after {
    border-right: 3px solid #ed7a9c;
    border-bottom: 3px solid #ed7a9c;
    height: 9px;
    left: 0;
    margin-top: -7px;
    width: 5px;
  }
  section.start div.login .login_form p.s_caption {
    font-size: 15px;
    padding: 15px 0 10px;
  }
  section.start div.login .login_form ul.social_bt li {
    font-size: 16px;
    margin-left: 15px;
    width: 155px;
    border-radius: 5px;
  }
  section.start div.login .login_form ul.social_bt li a {
    line-height: 40px;
  }
  section.start div.login .login_form ul.social_bt li a img {
    width: 40px;
    padding: 5px 10px 5px 0;
  }
  section.start .bg {
    height: 396px;
    width: 500px;
  }
  section.start .sd {
    bottom: -25px;
    left: 0;
  }
  section.start .sd img {
    width: 120px;
  }
  section.start .sd_message {
    bottom: 25px;
    left: 120px;
    width: 300px;
    font-size: 17px;
    padding: 12.5px 10px;
    border-radius: 15px;
  }
  section.start .sd_message:before {
    border: 10px solid transparent;
    border-right: 17.5px solid #ffffff;
  }
  section.start .logo {
    padding-top: 100px;
    width: 275px;
  }
  section.start .logo img {
    width: 275px;
  }
  section.start .logo .start_bt img {
    width: 150px;
  }
  section.introduction {
    height: 900px;
  }
  section.introduction div.desc {
    width: 450px;
  }
  section.introduction div.desc img {
    width: 100%;
  }
  section.introduction div.meme {
    width: 400px;
  }
  section.introduction div.meme img {
    width: 100%;
  }
  .date_link,
  .reminder,
  .entry_form {
    height: 900px;
    font-size: 15px;
  }
  .date_link .rem_wrapper,
  .reminder .rem_wrapper,
  .entry_form .rem_wrapper {
    width: 450px;
  }
  .date_link .rem_wrapper p.s_caption,
  .reminder .rem_wrapper p.s_caption,
  .entry_form .rem_wrapper p.s_caption {
    font-size: 15px;
    padding: 30px 0 15px;
  }
  .date_link .rem_wrapper ul.social_bt li,
  .reminder .rem_wrapper ul.social_bt li,
  .entry_form .rem_wrapper ul.social_bt li {
    font-size: 16px;
    margin-left: 15px;
    width: 155px;
    border-radius: 5px;
  }
  .date_link .rem_wrapper ul.social_bt li a,
  .reminder .rem_wrapper ul.social_bt li a,
  .entry_form .rem_wrapper ul.social_bt li a {
    line-height: 40px;
  }
  .date_link .rem_wrapper ul.social_bt li a img,
  .reminder .rem_wrapper ul.social_bt li a img,
  .entry_form .rem_wrapper ul.social_bt li a img {
    width: 40px;
    padding: 5px 10px 5px 0;
  }
  .date_link .rem_wrapper p.title,
  .reminder .rem_wrapper p.title,
  .entry_form .rem_wrapper p.title {
    font-size: 22.5px;
    padding: 10px 20px;
    border-bottom: 1px solid #ffffff;
  }
  .date_link .rem_wrapper p.text,
  .reminder .rem_wrapper p.text,
  .entry_form .rem_wrapper p.text {
    font-size: 16.5px;
    padding: 30px 50px;
  }
  .date_link .rem_wrapper input,
  .reminder .rem_wrapper input,
  .entry_form .rem_wrapper input {
    padding: 12.5px 10px;
    font-size: 16.5px;
    border-radius: 10px;
    margin-bottom: 7.5px;
    box-shadow: 0px 0px 5px 2.5px #f1f1f1 inset;
  }
  .date_link .rem_wrapper p#rem-send,
  .reminder .rem_wrapper p#rem-send,
  .entry_form .rem_wrapper p#rem-send,
  .date_link .rem_wrapper p#link-send,
  .reminder .rem_wrapper p#link-send,
  .entry_form .rem_wrapper p#link-send,
  .date_link .rem_wrapper p#entry-send,
  .reminder .rem_wrapper p#entry-send,
  .entry_form .rem_wrapper p#entry-send {
    padding-top: 20px;
  }
  .date_link .rem_wrapper p#rem-send img,
  .reminder .rem_wrapper p#rem-send img,
  .entry_form .rem_wrapper p#rem-send img,
  .date_link .rem_wrapper p#link-send img,
  .reminder .rem_wrapper p#link-send img,
  .entry_form .rem_wrapper p#link-send img,
  .date_link .rem_wrapper p#entry-send img,
  .reminder .rem_wrapper p#entry-send img,
  .entry_form .rem_wrapper p#entry-send img {
    width: 150px;
  }
  .date_link .rem_wrapper p#rem-close,
  .reminder .rem_wrapper p#rem-close,
  .entry_form .rem_wrapper p#rem-close,
  .date_link .rem_wrapper p#link-close,
  .reminder .rem_wrapper p#link-close,
  .entry_form .rem_wrapper p#link-close,
  .date_link .rem_wrapper p#entry-close,
  .reminder .rem_wrapper p#entry-close,
  .entry_form .rem_wrapper p#entry-close {
    top: -30px;
    right: 25px;
  }
  .date_link .rem_wrapper p#rem-close img,
  .reminder .rem_wrapper p#rem-close img,
  .entry_form .rem_wrapper p#rem-close img,
  .date_link .rem_wrapper p#link-close img,
  .reminder .rem_wrapper p#link-close img,
  .entry_form .rem_wrapper p#link-close img,
  .date_link .rem_wrapper p#entry-close img,
  .reminder .rem_wrapper p#entry-close img,
  .entry_form .rem_wrapper p#entry-close img {
    width: 35px;
  }
  @keyframes clear_contants_anime {
    0% {
      top: 0;
    }
    100% {
      top: 1000px;
    }
  }
  @keyframes clear_contants_m_anime {
    0% {
      top: -150px;
    }
    100% {
      top: 850px;
    }
  }
  .scenario_clear,
  .levelup {
    height: 900px;
    width: 500px;
  }
  .scenario_clear div.clear_inner,
  .levelup div.clear_inner,
  .scenario_clear div.levelup_inner,
  .levelup div.levelup_inner {
    border-radius: 25px;
    top: -1250px;
  }
  .scenario_clear div.clear_inner img.meme,
  .levelup div.clear_inner img.meme,
  .scenario_clear div.levelup_inner img.meme,
  .levelup div.levelup_inner img.meme {
    top: -150px;
    left: 60px;
    width: 300px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.clear_title,
  .levelup div.clear_inner div.clear_contants p.clear_title,
  .scenario_clear div.levelup_inner div.clear_contants p.clear_title,
  .levelup div.levelup_inner div.clear_contants p.clear_title,
  .scenario_clear div.clear_inner .levelup_contants p.clear_title,
  .levelup div.clear_inner .levelup_contants p.clear_title,
  .scenario_clear div.levelup_inner .levelup_contants p.clear_title,
  .levelup div.levelup_inner .levelup_contants p.clear_title,
  .scenario_clear div.clear_inner div.clear_contants p.levelup_title,
  .levelup div.clear_inner div.clear_contants p.levelup_title,
  .scenario_clear div.levelup_inner div.clear_contants p.levelup_title,
  .levelup div.levelup_inner div.clear_contants p.levelup_title,
  .scenario_clear div.clear_inner .levelup_contants p.levelup_title,
  .levelup div.clear_inner .levelup_contants p.levelup_title,
  .scenario_clear div.levelup_inner .levelup_contants p.levelup_title,
  .levelup div.levelup_inner .levelup_contants p.levelup_title {
    padding-top: 25px;
    font-size: 30px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.send_a_note,
  .levelup div.clear_inner div.clear_contants p.send_a_note,
  .scenario_clear div.levelup_inner div.clear_contants p.send_a_note,
  .levelup div.levelup_inner div.clear_contants p.send_a_note,
  .scenario_clear div.clear_inner .levelup_contants p.send_a_note,
  .levelup div.clear_inner .levelup_contants p.send_a_note,
  .scenario_clear div.levelup_inner .levelup_contants p.send_a_note,
  .levelup div.levelup_inner .levelup_contants p.send_a_note {
    padding-top: 20px;
    font-size: 15px;
  }
  .scenario_clear div.clear_inner div.clear_contants div.levelup_list,
  .levelup div.clear_inner div.clear_contants div.levelup_list,
  .scenario_clear div.levelup_inner div.clear_contants div.levelup_list,
  .levelup div.levelup_inner div.clear_contants div.levelup_list,
  .scenario_clear div.clear_inner .levelup_contants div.levelup_list,
  .levelup div.clear_inner .levelup_contants div.levelup_list,
  .scenario_clear div.levelup_inner .levelup_contants div.levelup_list,
  .levelup div.levelup_inner .levelup_contants div.levelup_list {
    margin-top: 25px;
    max-height: 275px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.clear_item,
  .levelup div.clear_inner div.clear_contants p.clear_item,
  .scenario_clear div.levelup_inner div.clear_contants p.clear_item,
  .levelup div.levelup_inner div.clear_contants p.clear_item,
  .scenario_clear div.clear_inner .levelup_contants p.clear_item,
  .levelup div.clear_inner .levelup_contants p.clear_item,
  .scenario_clear div.levelup_inner .levelup_contants p.clear_item,
  .levelup div.levelup_inner .levelup_contants p.clear_item,
  .scenario_clear div.clear_inner div.clear_contants p.levelup_item,
  .levelup div.clear_inner div.clear_contants p.levelup_item,
  .scenario_clear div.levelup_inner div.clear_contants p.levelup_item,
  .levelup div.levelup_inner div.clear_contants p.levelup_item,
  .scenario_clear div.clear_inner .levelup_contants p.levelup_item,
  .levelup div.clear_inner .levelup_contants p.levelup_item,
  .scenario_clear div.levelup_inner .levelup_contants p.levelup_item,
  .levelup div.levelup_inner .levelup_contants p.levelup_item {
    padding-top: 20px;
    font-size: 23.5px;
    height: 60px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.clear_item span,
  .levelup div.clear_inner div.clear_contants p.clear_item span,
  .scenario_clear div.levelup_inner div.clear_contants p.clear_item span,
  .levelup div.levelup_inner div.clear_contants p.clear_item span,
  .scenario_clear div.clear_inner .levelup_contants p.clear_item span,
  .levelup div.clear_inner .levelup_contants p.clear_item span,
  .scenario_clear div.levelup_inner .levelup_contants p.clear_item span,
  .levelup div.levelup_inner .levelup_contants p.clear_item span,
  .scenario_clear div.clear_inner div.clear_contants p.levelup_item span,
  .levelup div.clear_inner div.clear_contants p.levelup_item span,
  .scenario_clear div.levelup_inner div.clear_contants p.levelup_item span,
  .levelup div.levelup_inner div.clear_contants p.levelup_item span,
  .scenario_clear div.clear_inner .levelup_contants p.levelup_item span,
  .levelup div.clear_inner .levelup_contants p.levelup_item span,
  .scenario_clear div.levelup_inner .levelup_contants p.levelup_item span,
  .levelup div.levelup_inner .levelup_contants p.levelup_item span {
    top: 10px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.clear_item_text,
  .levelup div.clear_inner div.clear_contants p.clear_item_text,
  .scenario_clear div.levelup_inner div.clear_contants p.clear_item_text,
  .levelup div.levelup_inner div.clear_contants p.clear_item_text,
  .scenario_clear div.clear_inner .levelup_contants p.clear_item_text,
  .levelup div.clear_inner .levelup_contants p.clear_item_text,
  .scenario_clear div.levelup_inner .levelup_contants p.clear_item_text,
  .levelup div.levelup_inner .levelup_contants p.clear_item_text,
  .scenario_clear div.clear_inner div.clear_contants p.levelup_item_text,
  .levelup div.clear_inner div.clear_contants p.levelup_item_text,
  .scenario_clear div.levelup_inner div.clear_contants p.levelup_item_text,
  .levelup div.levelup_inner div.clear_contants p.levelup_item_text,
  .scenario_clear div.clear_inner .levelup_contants p.levelup_item_text,
  .levelup div.clear_inner .levelup_contants p.levelup_item_text,
  .scenario_clear div.levelup_inner .levelup_contants p.levelup_item_text,
  .levelup div.levelup_inner .levelup_contants p.levelup_item_text {
    padding: 15px;
    font-size: 20px;
    border-radius: 10px;
    max-height: 250px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.clear_item_text span,
  .levelup div.clear_inner div.clear_contants p.clear_item_text span,
  .scenario_clear div.levelup_inner div.clear_contants p.clear_item_text span,
  .levelup div.levelup_inner div.clear_contants p.clear_item_text span,
  .scenario_clear div.clear_inner .levelup_contants p.clear_item_text span,
  .levelup div.clear_inner .levelup_contants p.clear_item_text span,
  .scenario_clear div.levelup_inner .levelup_contants p.clear_item_text span,
  .levelup div.levelup_inner .levelup_contants p.clear_item_text span,
  .scenario_clear div.clear_inner div.clear_contants p.levelup_item_text span,
  .levelup div.clear_inner div.clear_contants p.levelup_item_text span,
  .scenario_clear div.levelup_inner div.clear_contants p.levelup_item_text span,
  .levelup div.levelup_inner div.clear_contants p.levelup_item_text span,
  .scenario_clear div.clear_inner .levelup_contants p.levelup_item_text span,
  .levelup div.clear_inner .levelup_contants p.levelup_item_text span,
  .scenario_clear div.levelup_inner .levelup_contants p.levelup_item_text span,
  .levelup div.levelup_inner .levelup_contants p.levelup_item_text span {
    top: 10px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.buttom,
  .levelup div.clear_inner div.clear_contants p.buttom,
  .scenario_clear div.levelup_inner div.clear_contants p.buttom,
  .levelup div.levelup_inner div.clear_contants p.buttom,
  .scenario_clear div.clear_inner .levelup_contants p.buttom,
  .levelup div.clear_inner .levelup_contants p.buttom,
  .scenario_clear div.levelup_inner .levelup_contants p.buttom,
  .levelup div.levelup_inner .levelup_contants p.buttom {
    padding-bottom: 40px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.buttom span.c_next,
  .levelup div.clear_inner div.clear_contants p.buttom span.c_next,
  .scenario_clear div.levelup_inner div.clear_contants p.buttom span.c_next,
  .levelup div.levelup_inner div.clear_contants p.buttom span.c_next,
  .scenario_clear div.clear_inner .levelup_contants p.buttom span.c_next,
  .levelup div.clear_inner .levelup_contants p.buttom span.c_next,
  .scenario_clear div.levelup_inner .levelup_contants p.buttom span.c_next,
  .levelup div.levelup_inner .levelup_contants p.buttom span.c_next {
    top: 20px;
    font-size: 19px;
    padding: 12.5px 5px;
    margin-right: 15px;
    border-radius: 10px;
    width: 170px;
  }
  .scenario_clear div.clear_inner div.clear_contants p.buttom span.c_close,
  .levelup div.clear_inner div.clear_contants p.buttom span.c_close,
  .scenario_clear div.levelup_inner div.clear_contants p.buttom span.c_close,
  .levelup div.levelup_inner div.clear_contants p.buttom span.c_close,
  .scenario_clear div.clear_inner .levelup_contants p.buttom span.c_close,
  .levelup div.clear_inner .levelup_contants p.buttom span.c_close,
  .scenario_clear div.levelup_inner .levelup_contants p.buttom span.c_close,
  .levelup div.levelup_inner .levelup_contants p.buttom span.c_close {
    top: 20px;
    font-size: 17px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 170px;
  }
  .scenario_clear div.clear_inner div.clear_contants::before,
  .levelup div.clear_inner div.clear_contants::before,
  .scenario_clear div.levelup_inner div.clear_contants::before,
  .levelup div.levelup_inner div.clear_contants::before,
  .scenario_clear div.clear_inner div.levelup_contants::before,
  .levelup div.clear_inner div.levelup_contants::before,
  .scenario_clear div.levelup_inner div.levelup_contants::before,
  .levelup div.levelup_inner div.levelup_contants::before {
    height: 25px;
    top: -22px;
  }
  .scenario_clear div.clear_inner div.clear_contants::after,
  .levelup div.clear_inner div.clear_contants::after,
  .scenario_clear div.levelup_inner div.clear_contants::after,
  .levelup div.levelup_inner div.clear_contants::after,
  .scenario_clear div.clear_inner div.levelup_contants::after,
  .levelup div.clear_inner div.levelup_contants::after,
  .scenario_clear div.levelup_inner div.levelup_contants::after,
  .levelup div.levelup_inner div.levelup_contants::after {
    height: 25px;
    bottom: -22px;
  }
  section.overlay section.overlay_wrapper {
    width: 500px;
    height: 900px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner {
    font-size: 20px;
    border-radius: 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.title_head {
    height: 65px;
    line-height: 65px;
    font-size: 25px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.title_head i {
    top: 12.5px;
    right: 12.5px;
    height: 40px;
    width: 40px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.title_head i span {
    width: 3px;
    height: 40px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.title_head i span::before {
    width: 3px;
    height: 40px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details {
    max-height: 594px;
    font-size: 17.5px;
    line-height: 22.5px;
    padding: 18px 20px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details span {
    font-size: 20px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details input {
    border-radius: 10px;
    height: 61px;
    font-size: 20px;
    padding: 7.5px 25px;
    margin-bottom: 15px;
    margin: 15px auto;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  section.overlay section.overlay_wrapper div.overlay_inner p.overlay_details span.set_bt {
    padding: 1.5em 0 0.5em 0;
    margin: 0.5em 100px 2em;
    font-size: 20px;
    padding: 15px 25px;
    border-radius: 10px;
    width: 200px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.overlay_details {
    max-height: 594px;
    font-size: 17.5px;
    line-height: 22.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.overlay_details .accbox label {
    padding: 17.5px 42.5px 17.5px 42.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details {
    max-height: 610px;
    font-size: 17.5px;
    line-height: 22.5px;
    padding: 18px 0;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.caption,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.caption {
    font-size: 20px;
    padding: 60px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.set_bt,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.set_bt {
    margin: 1em auto 2em;
    font-size: 20px;
    padding: 15px 15px;
    border-radius: 10px;
    width: 150px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.age_cancel_bt,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.age_cancel_bt,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.name_cancel_bt,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.name_cancel_bt {
    font-size: 20px;
    padding: 15px;
    border-radius: 10px;
    width: 150px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting p.age_caption,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting p.age_caption {
    font-size: 15px;
    padding: 5px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting .birthday,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting .birthday {
    margin: 15px 0;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.age_setting .birthday select,
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details div.name_setting .birthday select {
    border-radius: 10px;
    height: 61px;
    font-size: 20px;
    padding: 7.5px 20px;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details .user {
    font-size: 100px;
    margin: 25px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile {
    max-height: 135px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li.name:before {
    top: -7.5px;
    width: 200px;
    line-height: 17.5px;
    font-size: 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li.age:before {
    top: -7.5px;
    width: 200px;
    line-height: 17.5px;
    font-size: 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li {
    border-radius: 5px;
    margin-bottom: 10px;
    line-height: 45px;
    padding: 10px 0 5px 15px;
    font-size: 21px;
    border-bottom: 1px solid #eeeeee;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li img {
    margin: 0 10px;
    width: 45px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li p.status {
    line-height: 45px;
    padding: 2.5px 15px;
    border-radius: 10px;
    margin: 0 5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details ul.profile li p.bt {
    line-height: 45px;
    padding: 0 15px;
    border-radius: 10px;
    margin: 0 5px;
    font-size: 18.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details span {
    font-size: 20px;
    border-bottom: 1px solid #eee;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details input {
    border-radius: 10px;
    height: 61px;
    font-size: 20px;
    padding: 7.5px 25px;
    margin: 15px auto;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details p.s_caption {
    font-size: 15px;
    padding: 20px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.profile_set_details p.e_caption {
    font-size: 15px;
    padding: 5px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details {
    max-height: 594px;
    font-size: 17.5px;
    line-height: 22.5px;
    padding: 18px 0;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.text {
    padding: 15px 20px;
    line-height: 22.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.f_text {
    padding: 15px 20px;
    line-height: 22.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.reminder_bt {
    padding: 5px 0 10px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt {
    max-height: 135px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li {
    border-radius: 5px;
    margin-bottom: 10px;
    line-height: 45px;
    padding-bottom: 5px;
    font-size: 18.5px;
    border-bottom: 1px solid #eeeeee;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li img {
    margin: 0 10px;
    width: 45px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li p.status {
    line-height: 45px;
    padding: 2.5px 10px;
    border-radius: 10px;
    margin: 0 5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details ul.social_bt li p.bt {
    line-height: 45px;
    padding: 0 10px;
    border-radius: 10px;
    margin: 0 5px;
    font-size: 18.5px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span {
    font-size: 20px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details input {
    border-radius: 10px;
    height: 61px;
    font-size: 20px;
    padding: 7.5px 25px;
    margin: 15px auto;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt {
    margin: 0.5em auto 2em;
    font-size: 20px;
    padding: 15px 25px;
    border-radius: 10px;
    width: 200px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt2 {
    font-size: 20px;
    padding: 15px 20px;
    border-radius: 10px;
    width: 190px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details span.set_bt3 {
    margin: 0 auto 1em;
    font-size: 20px;
    padding: 15px 20px;
    border-radius: 10px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.linkage_details p.s_caption {
    font-size: 15px;
    padding: 20px 0 15px;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details {
    font-size: 17.5px;
    line-height: 22.5px;
    padding: 30px 0;
  }
  section.overlay section.overlay_wrapper div.overlay_inner div.diamond_details p.n_diamonds {
    font-size: 22.5px;
    line-height: 45px;
    letter-spacing: 0.05em;
    width: 225.5px;
    height: 65px;
    padding: 10px 15px 0 65px;
    border-radius: 10px;
    margin: 25px auto 0;
  }
  section.overlay .buy {
    height: 900px;
    top: 990px;
  }
  section.overlay .buy .wrapper {
    margin-top: 180px;
    height: 720px;
  }
  section.overlay .buy .wrapper .buy_innar {
    height: 720px;
  }
  section.overlay .buy .wrapper .buy_innar div.user_date p.user_diamonds {
    padding: 15px 15px 5px;
    font-size: 18.5px;
  }
  section.overlay .buy .wrapper .buy_innar div.user_date p.user_diamonds span {
    font-size: 24px;
  }
  section.overlay .buy .wrapper .buy_innar div.user_date p.user_paid {
    padding: 3px 0 20px;
    font-size: 15px;
  }
  section.overlay .buy .wrapper .buy_innar div.user_date .campaign_banner {
    padding-bottom: 15px;
  }
  section.overlay .buy .wrapper .buy_innar div.user_date .campaign_banner img {
    border-radius: 15px;
  }
  section.overlay .buy .wrapper .buy_innar .buy_menu {
    height: auto;
    padding-bottom: 25px;
  }
  section.overlay .buy .wrapper .buy_innar .buy_menu li {
    width: 450px;
    margin: 0 auto 15px;
    cursor: pointer;
  }
  section.overlay .buy .wrapper .buy_innar .buy_menu li img {
    border-radius: 15px;
  }
  section.overlay .buy .wrapper .buy_top {
    height: 115px;
    top: -115px;
  }
  section.overlay .buy .wrapper .buy_top img.bt_bg {
    padding-top: 25px;
  }
  section.overlay .buy .wrapper .buy_top p.center_bt {
    width: 115px;
    height: 115px;
    font-size: 18px;
    letter-spacing: 0.5px;
  }
  section.overlay .guide_img {
    height: 900px;
    width: 500px;
  }
  section.overlay .guide_img div.guide_img_inner {
    height: auto;
    top: -1250px;
  }
  section.overlay .guide_img div.guide_img_inner img {
    width: 100%;
    border-radius: 15px;
  }
  section.overlay .guide_img div.guide_img_inner img.guide_img2 {
    width: 100%;
    left: 0px;
  }
  section.overlay .guide.active.fade_in div.guide_inner {
    top: -35px;
  }
  section.overlay .guide {
    height: 900px;
    width: 500px;
  }
  section.overlay .guide div.guide_inner div.guide_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
  }
  section.overlay .app_setting.active.fade_in div.setting_inner {
    top: -35px;
  }
  section.overlay .app_setting {
    height: 900px;
    width: 500px;
  }
  section.overlay .app_setting div.setting_inner {
    width: 405px;
    height: 574.5px;
    border-radius: 25px;
    padding: 15px 20px;
    top: -1250px;
  }
  section.overlay .app_setting div.setting_inner div.set_close {
    bottom: -55px;
    left: 152.5px;
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
  }
  section.overlay .app_setting div.setting_inner p.s_title {
    padding: 65px 0 7.5px 2.5px;
    border-bottom: 1px solid #d3b2b2;
  }
  section.overlay .app_setting div.setting_inner p.s_title img {
    height: 20px;
  }
  section.overlay .app_setting div.setting_inner ul.set_menu {
    padding: 20px 5px 17.5px;
  }
  section.overlay .app_setting div.setting_inner ul.set_menu li {
    margin-top: 5px;
    margin-bottom: 5px;
  }
  section.overlay .app_setting div.setting_inner ul.set_menu li div {
    width: 187.5px;
    height: 48px;
    border-radius: 12.5px;
    margin: 0 5px;
  }
  section.overlay .app_setting div.setting_inner ul.sound {
    padding: 15px 0 20px;
    border-bottom: 1px solid #d3b2b2;
  }
  section.overlay .app_setting div.setting_inner ul.sound li {
    padding: 5px 15px;
  }
  section.overlay .app_setting div.setting_inner ul.sound li div {
    width: 135px;
    height: 43.5px;
    border-radius: 12.5px;
  }
  section.overlay .app_setting div.setting_inner ul.sound li input[type="range"] {
    height: 20px;
    width: 225px;
    border-radius: 15px;
    bottom: 10px;
    left: 10px;
  }
  section.overlay .app_setting div.setting_inner ul.sound li ::-webkit-slider-thumb {
    width: 20px;
    /* 1 */
    height: 20px;
    box-shadow: -510px 0 0 500px #999999;
  }
  section.overlay .app_setting div.setting_inner ul.sound li.on ::-webkit-slider-thumb {
    box-shadow: -510px 0 0 500px #ffc4d7;
  }
  header.startup_head p.select_title {
    bottom: 150px;
  }
  header.startup_head p.select_title.active {
    bottom: -30px;
  }
  header.startup_head p.title_img {
    width: 270px;
    left: 115px;
    top: 15px;
  }
  header.startup_head .back_bt p {
    top: 25px;
    left: 25px;
    width: 25px;
    height: 25px;
    border-top: 2px solid #352208;
    border-left: 2px solid #350808;
  }
  header.startup_head .back_bt:active {
    transform: none;
    transition: all 0.2s;
  }
  main section.startup {
    width: 500px;
    height: 900px;
    padding-bottom: 25px;
  }
  main section.startup .inherit_inner {
    width: 405px;
    height: 574.5px;
    border-radius: 25px;
    padding: 75px 20px 15px;
    font-size: 15px;
  }
  main section.startup .inherit_inner p {
    font-size: 20px;
    padding: 10px 0;
  }
  main section.startup .inherit_inner p input {
    border-radius: 10px;
    height: 61px;
    font-size: 20px;
    padding: 7.5px 25px;
    margin-bottom: 15px;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  main section.startup .inherit_inner p.caption {
    font-size: 15px;
    padding: 0 0 15px;
  }
  main section.startup .inherit_inner p.start_bt {
    padding: 15px;
    border-radius: 10px;
    margin: 0 auto 25px;
  }
  main section.startup .wrapper {
    width: 500px;
    height: 720px;
  }
  main section.startup .wrapper section.select_girl {
    top: 720px;
    width: 500px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail div img.start_caption {
    top: 10px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail div img.yukariko {
    top: 10px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail div img.message {
    position: absolute;
    left: 125px;
    width: 185px;
    top: 115px;
    transition: all 0.3s;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  main section.startup .wrapper section.select_girl div.thumbnail2 {
    top: -800px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail2 div {
    width: 190px;
    height: 600px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail2 div a {
    top: 290px;
    left: -50px;
    width: 300px;
    height: 200px;
  }
  main section.startup .wrapper section.select_girl div.thumbnail2 div p.prol_bt {
    right: -135px;
    width: 200px;
  }
  main section.startup .wrapper section.select_girl .thumbnail {
    margin: 0 auto 5px;
  }
  main section.startup .wrapper section.select_girl .thumbnail div img.message {
    width: 200px;
  }
  main section.startup .wrapper p.girl1_img {
    right: -200px;
  }
  main section.startup .wrapper p.girl2_img {
    top: 80px;
    left: 5px;
    height: 500px;
  }
  main section.startup .wrapper p.girl2_img img {
    height: 500px;
  }
  main section.startup .wrapper p.girl3_img {
    right: -700px;
  }
  main section.startup .wrapper p.girl4_img {
    top: 80px;
    left: -500px;
    height: 500px;
  }
  main section.startup .wrapper p.girl4_img img {
    height: 500px;
  }
  main section.startup .wrapper p.girl5_img {
    right: -700px;
  }
  main section.startup .wrapper p.girl6_img {
    top: 80px;
    left: -500px;
    height: 500px;
  }
  main section.startup .wrapper p.girl6_img img {
    height: 500px;
  }
  main section.startup .wrapper div.center_area {
    top: 100px;
    left: -250px;
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area img.bg {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 img.text1 {
    top: 150px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 img.text2 {
    top: 200px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 img.text3 {
    top: 275px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 img.text4 {
    top: 325px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1 p.next_img {
    top: 390px;
    left: 475px;
    width: 50px;
  }
  main section.startup .wrapper div.center_area div.innar_1a {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1a img.text1a {
    top: 200px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1a img.text2a {
    top: 250px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1a img.text3a {
    top: 300px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_1a p.next_img {
    top: 390px;
    left: 475px;
    width: 50px;
  }
  main section.startup .wrapper div.center_area div.innar_2 {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_2 img.text5 {
    top: 200px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_2 img.text6 {
    top: 260px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_2 p.name {
    top: 310px;
    left: 280px;
  }
  main section.startup .wrapper div.center_area div.innar_2 p.name input {
    border-radius: 10px;
    width: 440px;
    height: 61px;
    font-size: 23px;
    padding: 7.5px 25px;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  main section.startup .wrapper div.center_area div.innar_2 p.next_img {
    top: 390px;
    left: 475px;
    width: 50px;
  }
  main section.startup .wrapper div.center_area div.innar_3 {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3 img.text7 {
    top: 200px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3 img.text8 {
    top: 260px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3 p.name {
    top: 310px;
    left: 300px;
  }
  main section.startup .wrapper div.center_area div.innar_3 p.name select {
    border-radius: 10px;
    width: 400px;
    height: 61px;
    font-size: 23px;
    padding: 7.5px 25px;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  main section.startup .wrapper div.center_area div.innar_3 p.name:after {
    right: 20px;
    top: 27.5px;
    width: 10px;
    height: 10px;
    border-top: 3.75px solid #272727;
    border-left: 3.75px solid #272727;
    transform: translateY(-50%) rotate(-135deg);
    font-size: 20px;
    pointer-events: none;
  }
  main section.startup .wrapper div.center_area div.innar_3 p.next_img {
    top: 390px;
    left: 475px;
    width: 50px;
  }
  main section.startup .wrapper div.center_area div.innar_3a {
    width: 1000px;
    height: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3a img.text7a {
    top: 200px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3a img.text8a {
    top: 260px;
    left: 250px;
    width: 500px;
  }
  main section.startup .wrapper div.center_area div.innar_3a p.name {
    top: 310px;
    left: 280px;
  }
  main section.startup .wrapper div.center_area div.innar_3a p.name input {
    border-radius: 10px;
    width: 440px;
    height: 61px;
    font-size: 23px;
    padding: 7.5px 25px;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  main section.startup .wrapper div.center_area div.innar_3a p.next_img {
    top: 390px;
    left: 475px;
    width: 50px;
  }
  @keyframes st1_anime1 {
    0% {
      opacity: 0;
      right: -300px;
    }
    100% {
      opacity: 1;
      right: 60px;
    }
  }
  @keyframes st1_anime2 {
    0% {
      opacity: 0;
      left: -250px;
    }
    100% {
      opacity: 1;
      left: 5px;
    }
  }
  @keyframes st1_anime3 {
    0% {
      opacity: 0;
      left: -750px;
      top: -100px;
    }
    100% {
      opacity: 1;
      left: 0;
      top: 40px;
    }
  }
  .ts_inner,
  .ti_inner {
    width: 500px;
    height: 385px;
    top: 40px;
  }
  .ts_inner .title,
  .ti_inner .title {
    height: 65px;
    padding: 30px 0 7.5px;
  }
  .ts_inner .close_bt,
  .ti_inner .close_bt {
    top: -2.5px;
    right: 7.5px;
    height: 60px;
    padding: 20px 0 10px;
  }
  .ts_inner .tm_bt,
  .ti_inner .tm_bt {
    width: 130px;
    margin: 10px auto 0;
  }
  .ts_inner div.option_bt,
  .ti_inner div.option_bt {
    bottom: 17.5px;
    right: 10px;
  }
  .ts_inner div.option_bt img,
  .ti_inner div.option_bt img {
    width: 45px;
    padding-left: 2.5px;
  }
  .ts_inner ul.shop_list,
  .ti_inner ul.shop_list {
    width: 500px;
    height: 230px;
    padding: 10px 12.5px 10px;
    font-size: 0;
  }
  .ts_inner ul.shop_list li,
  .ti_inner ul.shop_list li {
    width: 135px;
    height: 200px;
    margin: 0 10px;
  }
  .ts_inner ul.shop_list li figure,
  .ti_inner ul.shop_list li figure {
    width: 100%;
    height: 165px;
    border-radius: 15px;
    margin-bottom: 5px;
  }
  .ts_inner ul.shop_list li figure img,
  .ti_inner ul.shop_list li figure img {
    border-radius: 15px;
  }
  .ts_inner ul.shop_list li p.price,
  .ti_inner ul.shop_list li p.price,
  .ts_inner ul.shop_list li .poss,
  .ti_inner ul.shop_list li .poss {
    top: 130px;
    right: 5px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 7.5px 7.5px;
  }
  .ts_inner ul.shop_list li p.price img,
  .ti_inner ul.shop_list li p.price img,
  .ts_inner ul.shop_list li .poss img,
  .ti_inner ul.shop_list li .poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  .ts_inner ul.shop_list li input[type="radio"]:checked + figure::before,
  .ti_inner ul.shop_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: 2.5px;
    background-size: 35px 35px;
  }
  .ts_inner ul.shop_list li p,
  .ti_inner ul.shop_list li p {
    font-size: 15px;
    padding: 5px;
  }
  nav.global.n_home section.menu_inner header .i_nav_bt {
    top: 65px;
    right: 7.5px;
  }
  nav.global {
    height: 900px;
    width: 500px;
  }
  nav.global section.menu_inner {
    max-height: 720px;
  }
  nav.global section.menu_inner header .i_nav_bt {
    width: 65px;
    height: 65px;
  }
  nav.global section.menu_inner header .i_nav_bt .c-trig span {
    left: 8.5px;
    width: 45px;
    height: 2px;
    border-radius: 4px;
  }
  nav.global section.menu_inner header .i_nav_bt .c-trig span:nth-of-type(1) {
    top: 30px;
  }
  nav.global section.menu_inner header .i_nav_bt .c-trig span:nth-of-type(2) {
    top: 30px;
  }
  nav.global section.menu_inner header .i_nav_bt .m-trigger span {
    left: 11px;
    width: 40px;
    height: 2px;
    border-radius: 4px;
  }
  nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(1) {
    top: 16px;
  }
  nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(2) {
    top: 30px;
  }
  nav.global section.menu_inner header .i_nav_bt .m-trigger span:nth-of-type(3) {
    bottom: 16px;
  }
  nav.global section.menu_inner ul.gloval-nav {
    width: 500px;
  }
  nav.global section.menu_inner ul.gloval-nav li.nonset::before {
    width: 5px;
    height: 5px;
    left: 25px;
  }
  nav.global section.menu_inner ul.gloval-nav li {
    font-size: 17.5px;
    padding: 15px 0 15px 35px;
  }
  nav.global section.menu_inner ul.gloval-nav li p.check {
    margin-left: 10px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 7.5px 7.5px;
  }
  nav.global section.menu_inner .nav_contact {
    height: 150px;
  }
  nav.global section.menu_inner .nav_contact img {
    width: 120px;
  }
  nav.global section.menu_inner .nav_contact p.c_caption {
    top: 25px;
    right: 130px;
    padding: 10px 10px 10px 15px;
    border-radius: 20px;
    font-size: 16px;
  }
  nav.global section.menu_inner .nav_contact p.c_caption:before {
    border: 10px solid transparent;
    border-left: 15px solid #ffffff;
  }
  section.prologue {
    height: 900px;
    width: 100%;
    top: 990px;
  }
  section.prologue .wrapper {
    margin-top: 72px;
    height: 828px;
  }
  section.prologue .wrapper .stand_bg {
    right: -175px;
    width: 500px;
  }
  section.prologue .wrapper .pro_top {
    height: 100px;
    top: -100px;
  }
  section.prologue .wrapper .pro_top img.bt_bg {
    padding-top: 25px;
  }
  section.prologue .wrapper .pro_top p.close_bt {
    top: 35px;
    right: 15px;
    width: 65px;
    height: 65px;
    font-size: 18px;
    letter-spacing: 0.5px;
  }
  section.prologue p.pro_title {
    font-size: 18.5px;
  }
  section.prologue div.pro_text {
    height: 620px;
    padding: 10px 34.5px 500px;
    font-size: 16.9px;
  }
  section.prologue div.pro_text p.love_bt {
    padding: 25px 0 100px;
  }
  section.prologue div.s_pro_text {
    height: 620px;
    padding: 10px 34.5px 500px;
  }
  section.prologue div.s_pro_text p {
    font-size: 16.9px;
  }
  section.prologue div.s_pro_text .girl_1,
  section.prologue div.s_pro_text .girl_2,
  section.prologue div.s_pro_text .girl_3 {
    padding-bottom: 125px;
  }
  section.full_nav {
    width: 500px;
  }
  section.full_nav footer ul {
    padding: 15px;
  }
  section.full_nav footer ul li {
    width: 75px;
    padding: 0 5px;
  }
  section.full_nav.active.animation {
    opacity: 1;
  }
  section.full_nav.active {
    display: inline-block;
    height: 900px;
  }
  .talk_log {
    height: 900px;
    width: 500px;
  }
  .talk_log div.talk_log_inner {
    width: 500px;
    height: 675px;
    border-radius: 25px;
    top: 1250px;
    padding: 20px;
  }
  .talk_log div.talk_log_inner p.log_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    top: -50px;
    left: 180px;
  }
  .talk_log div.talk_log_inner ul {
    height: 675px;
  }
  .talk_log div.talk_log_inner ul li {
    margin-bottom: 25px;
    padding: 15px 20px;
    border-radius: 15px;
  }
  .talk_log div.talk_log_inner ul li p {
    line-height: 35px;
    font-size: 20px;
  }
  .talk_log div.talk_log_inner ul li figure {
    width: 115px;
  }
  .talk_log div.talk_log_inner ul li.talk {
    min-height: 125px;
    padding: 15px 20px 55px;
  }
  .talk_log div.talk_log_inner ul li.talk p {
    width: 325px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area {
    position: absolute;
    bottom: 10px;
    right: 105px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.log_read {
    margin: 0 2.5px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.log_read img {
    width: 140px;
    border-radius: 10px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.img_open {
    margin: 0 2.5px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.img_open img {
    width: 140px;
    border-radius: 10px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.unopened {
    margin: 0 2.5px;
  }
  .talk_log div.talk_log_inner ul li.talk div.bt_area div.unopened img {
    width: 155px;
    border-radius: 10px;
  }
  .talk_log div.talk_log_inner ul li.free div.bt_area div.log_read:before {
    bottom: -5px;
    left: -52.5px;
    width: 60px;
    height: 50px;
  }
  .talk_log div.talk_log_inner ul li.talk.img_unopened:after {
    bottom: 2.5px;
    right: 2.5px;
    width: 35px;
    height: 35px;
    line-height: 25px;
  }
  .talk_log div.talk_log_inner ul .talk_unopened:before {
    top: 5px;
    right: 5px;
    width: 84px;
    height: 28.4px;
    line-height: 35px;
    border-radius: 10px;
    font-size: 10px;
    z-index: 10;
  }
  .talk_log div.talk_log_inner .text_area {
    height: 210px;
  }
  header.home_head div.title_img {
    width: 230px;
    top: 7.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header section.startpage_head header {
    width: 900px;
  }
  header section.startpage_head div div.start_nav_bt {
    margin: 7.5px;
    border-radius: 7.5px;
    height: 50px;
    width: 50px;
  }
  header section.startpage_head div div.start_nav_bt2 {
    display: none;
    opacity: 0;
    margin: 7.5px;
    border-radius: 7.5px;
    height: 50px;
    width: 50px;
  }
  header section.product {
    height: 900px;
    width: 500px;
  }
  header section.product header div {
    width: 500px;
    height: 67px;
  }
  header section.product header div img.close_bt {
    padding: 5px 5px 0 0;
    height: 45px;
    width: 45px;
  }
  header section.product div.main {
    font-size: 50px;
    margin-top: -15px;
  }
  header section.product div.main div.product_details {
    width: 200px;
    padding: 25px 10px 25px 30px;
  }
  header section.product div.main div.product_details p {
    font-size: 15px;
    padding-top: 16px;
  }
  header section.product div.main div.product_details p span {
    font-size: 16px;
    padding-top: 5px;
  }
  header section.product div.main div.product_cast {
    width: 200px;
    padding: 25px 0 25px 10px;
  }
  header section.product div.main div.product_cast p {
    font-size: 15px;
    padding-top: 16px;
  }
  header section.product div.main div.product_cast p span {
    font-size: 16px;
    padding-top: 5px;
  }
  header section.product div.main div.product_top {
    height: 450px;
    padding-top: 40px;
  }
  header section.product div.main div.product_top img.text_2 {
    padding-top: 75px;
  }
  header section.product div.main p.text {
    width: 450px;
    font-size: 23.5px;
    padding: 10px 25px;
  }
  header section.product div.main p.text img {
    padding-bottom: 25px;
  }
  header section.product div.footer {
    width: 500px;
    height: 62.5px;
  }
  header section.info.active.fade_in .info_inner {
    top: -35px;
  }
  header section.info {
    height: 900px;
    width: 500px;
  }
  header section.info .info_inner {
    width: 420px;
    height: 525px;
    border-radius: 25px;
    top: -900px;
  }
  header section.info .info_inner .info_close {
    width: 170px;
    bottom: -87.5px;
    left: 125px;
  }
  header section.info .info_inner .info_details {
    width: 375px;
    height: 363.5px;
    top: 117.5px;
    left: 10px;
    padding: 0 12.5px 12.5px;
  }
  header section.info .info_inner .info_details p {
    font-size: 18.75px;
    padding-top: 16px;
  }
  header section.info .info_inner .info_details p span {
    font-size: 15px;
    padding-bottom: 3.5px;
  }
  header section.info .info_inner .info_details p.more {
    font-size: 18.75px;
    margin: 17px auto 0;
    padding: 5px;
    border-radius: 10px;
    width: 140px;
  }
  header section.info .info_inner .info_details p.more span {
    font-size: 15px;
    padding-bottom: 3.5px;
  }
  header .item_use.active.fade_in .item_inner {
    top: -50px;
  }
  header .item_use {
    height: 900px;
    width: 500px;
  }
  header .item_use div.item_inner {
    width: 325px;
    border-radius: 25px;
    padding-bottom: 25px;
    top: -1250px;
  }
  header .item_use div.item_inner img.select_item {
    border-radius: 15px;
    width: 150px;
  }
  header .item_use div.item_inner p.item_name {
    font-size: 20px;
    margin: 17.5px auto 15px;
  }
  header .item_use div.item_inner p.item_text {
    font-size: 18px;
    min-height: 130px;
    height: auto;
    padding: 15px;
    line-height: 26.5px;
  }
  header .item_use div.item_inner p.caution {
    padding-top: 5px;
    font-size: 15px;
  }
  header .item_use div.item_inner p.i_price {
    top: 125px;
    right: 75px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 7.5px 7.5px;
  }
  header .item_use div.item_inner p.i_price img {
    height: 15px;
    padding-right: 2.5px;
  }
  header .item_use div.item_inner div.i_use {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: -70px;
    right: 15px;
  }
  header .item_use div.item_inner div.i_use_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: -70px;
    left: 15px;
  }
  header .item_buy.active.fade_in .item_inner {
    top: -50px;
  }
  header .item_buy {
    height: 900px;
    width: 500px;
  }
  header .item_buy div.item_inner {
    width: 325px;
    border-radius: 25px;
    padding-bottom: 25px;
    top: -1250px;
  }
  header .item_buy div.item_inner img.select_item {
    border-radius: 15px;
    width: 150px;
  }
  header .item_buy div.item_inner p.item_name {
    font-size: 20px;
    margin: 17.5px auto 7.5px;
  }
  header .item_buy div.item_inner p.item_text {
    font-size: 18px;
    min-height: 130px;
    height: auto;
    padding: 15px;
    line-height: 26.5px;
  }
  header .item_buy div.item_inner p.caution {
    padding-top: 5px;
    width: 100%;
    font-size: 15px;
  }
  header .item_buy div.item_inner p.price {
    font-size: 30px;
    line-height: 45px;
    margin: 0 auto 10px;
  }
  header .item_buy div.item_inner p.price img {
    height: 45px;
    padding-right: 7.5px;
  }
  header .item_buy div.item_inner p.poss {
    top: 125px;
    right: 75px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 7.5px 7.5px;
  }
  header .item_buy div.item_inner p.poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  header .item_buy div.item_inner div.i_buy {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: -70px;
    right: 15px;
  }
  header .item_buy div.item_inner div.i_buy_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: -70px;
    left: 15px;
  }
  header .confirm {
    height: 900px;
    width: 500px;
  }
  header .confirm div.confirm_inner {
    width: 375px;
    border-radius: 15px;
    padding-bottom: 25px;
    top: -1250px;
  }
  header .confirm div.confirm_inner p.title {
    font-size: 27.5px;
    margin: 25px auto 15px;
  }
  header .confirm div.confirm_inner p.caption {
    border-top: solid 1px #d8001d;
    font-size: 25px;
    margin: 15px auto 0;
    padding: 15px 0 5px;
    margin: 0 20px;
  }
  header .confirm div.confirm_inner p.caution {
    border-top: solid 1px #d8001d;
    font-size: 21.5px;
    padding: 15px 0;
    line-height: 31.5px;
    margin: 0 20px;
  }
  header .confirm div.confirm_inner div.leave_set {
    bottom: -70px;
    right: 15px;
    width: 165px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    padding: 15px 0;
    border-radius: 15px;
    font-size: 20px;
  }
  header .confirm div.confirm_inner div.i_buy_close {
    bottom: -70px;
    left: 15px;
    width: 165px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    padding: 15px 0;
    border-radius: 15px;
    font-size: 20px;
  }
  header .nav_bg {
    height: 105px;
  }
  header .head_bg.inactive {
    top: -150px;
  }
  header .head_bg {
    height: 65px;
  }
  header .head_talk_bg {
    height: 105px;
  }
  header .home_talk.active.fade_in {
    top: 15px;
  }
  header .home_talk {
    top: -400px;
    width: 430px;
    height: 145px;
  }
  header .home_talk .girls_message {
    width: 400px;
    border-radius: 10px;
    padding: 34px 10px 15px 20px;
  }
  header .home_talk .girls_message .message_s {
    font-size: 19.25px;
    text-shadow: 0 0 14px #ffe3f7, 0 0 14px #ffe3f7, 0 0 10px #ffe3f7, 0 0 8px #ffe3f7;
    padding-right: 10px;
  }
  header .home_talk .girls_message .message_l {
    font-size: 19.25px;
    text-shadow: 0 0 14px #ffe3f7, 0 0 14px #ffe3f7, 0 0 10px #ffe3f7, 0 0 8px #ffe3f7;
    padding-right: 10px;
  }
  header .home_talk .girls_message figure {
    width: 40px;
    height: 40px;
    top: -25px;
    left: 10px;
  }
  header .home_talk .girls_message figure img {
    height: 50px;
  }
  header .home_talk .girls_message span {
    top: -15px;
    right: -5px;
    width: 40px;
    height: 40px;
    line-height: 20px;
    font-size: 19px;
  }
  header .home_talk .girls_message span:before {
    top: 17.5px;
    width: 105px;
    right: 17.5px;
    line-height: 20px;
    font-size: 15px;
  }
  header .home_talk div.score {
    top: 2.5px;
    left: 70px;
    font-size: 18.5px;
    line-height: 20px;
    text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
  }
  header .home_talk div.score img {
    height: 18.5px;
    padding-right: 5px;
  }
  header .home_talk p.time {
    bottom: -10px;
    font-size: 17.5px;
  }
  header .uesr_rp .girls_message .message_s {
    text-shadow: 0 0 14px #fff, 0 0 14px #fff, 0 0 10px #fff, 0 0 8px #fff;
  }
  header .uesr_rp .girls_message .message_l {
    text-shadow: 0 0 14px #fff, 0 0 14px #fff, 0 0 10px #fff, 0 0 8px #fff;
  }
  header .girl_board {
    margin: 7.5px 15px 0;
    width: 470px;
    border-radius: 15px;
  }
  header .girl_board ul.girl_board_bt li img {
    border-radius: 10px;
  }
  header .board {
    margin: 7.5px 35px 0;
    width: 430px;
    border-radius: 15px;
  }
  header .board .slider img {
    border-radius: 10px;
  }
  header .board .close_bt {
    top: 5px;
    right: 40px;
    cursor: pointer;
  }
  header .board .close_bt img {
    width: 25px;
    height: 25px;
  }
  header .controller.inactive {
    top: -150px;
  }
  header .controller {
    height: 65px;
  }
  header .controller div {
    width: 65px;
    height: 65px;
  }
  header .controller div.status_area {
    width: 360px;
    height: 45px;
    padding-top: 10px;
  }
  header .controller div.status_area p.u_status {
    font-size: 18px;
    line-height: 40px;
    padding: 0 7.5px;
  }
  header .controller div.status_area p.u_status img {
    height: 40px;
  }
  header .controller .back_bt {
    border-radius: 7.5px;
  }
  header .controller .back_bt p {
    top: 17.5px;
    left: 25px;
    width: 25px;
    height: 25px;
    border-top: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
  }
  header .controller .nav_bt {
    width: 65px;
    height: 65px;
    border-radius: 7.5px;
  }
  header .controller .nav_bt .c-trig span {
    left: 8.5px;
    width: 45px;
    height: 2px;
    border-radius: 4px;
  }
  header .controller .nav_bt .c-trig span:nth-of-type(1) {
    top: 30px;
  }
  header .controller .nav_bt .c-trig span:nth-of-type(2) {
    top: 30px;
  }
  header .controller .nav_bt .m-trigger span {
    left: 12.5px;
    width: 40px;
    height: 2px;
    border-radius: 4px;
  }
  header .controller .nav_bt .m-trigger span:nth-of-type(1) {
    top: 16px;
  }
  header .controller .nav_bt .m-trigger span:nth-of-type(2) {
    top: 30px;
  }
  header .controller .nav_bt .m-trigger span:nth-of-type(3) {
    bottom: 16px;
  }
  .heart_change_opning {
    left: -1000px;
    height: 900px;
    width: 2500px;
  }
  .heart_change_opning img.opning_bg {
    width: 2500px;
  }
  .heart_change {
    left: -1000px;
    height: 900px;
    width: 2500px;
  }
  .heart_change img.over_bg {
    width: 5px;
  }
  header.talk_head .topboder div.title_img,
  .dress_head .topboder div.title_img {
    width: 230px;
    top: -57.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header.talk_head .topboder div.title_img img,
  .dress_head .topboder div.title_img img {
    width: 230px;
  }
  header.talk_head div.back_bt,
  .dress_head div.back_bt {
    border-radius: 7.5px;
  }
  header.talk_head div.back_bt p,
  .dress_head div.back_bt p {
    top: 17.5px;
    left: 25px;
    width: 25px;
    height: 25px;
    border-top: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
  }
  header.talk_head .nav_bt,
  .dress_head .nav_bt {
    border-radius: 7.5px;
  }
  header.talk_head .nav_bt .c-trig span,
  .dress_head .nav_bt .c-trig span {
    left: 10px;
    width: 45px;
    height: 2px;
    border-radius: 4px;
  }
  header.talk_head .nav_bt .m-trigger span,
  .dress_head .nav_bt .m-trigger span {
    left: 12.5px;
    width: 40px;
    height: 2px;
    border-radius: 4px;
  }
  header.talk_head .nav_bt .m-trigger span:nth-of-type(1),
  .dress_head .nav_bt .m-trigger span:nth-of-type(1) {
    top: 16px;
  }
  header.talk_head .nav_bt .m-trigger span:nth-of-type(2),
  .dress_head .nav_bt .m-trigger span:nth-of-type(2) {
    top: 30px;
  }
  header.talk_head .nav_bt .m-trigger span:nth-of-type(3),
  .dress_head .nav_bt .m-trigger span:nth-of-type(3) {
    bottom: 16px;
  }
  main .option_area.inactive {
    right: -55px;
  }
  main .option_area {
    width: 47.5px;
    bottom: 160px;
    right: 15px;
  }
  main .option_area li {
    padding-top: 7.5px;
  }
  main .option_area li span {
    top: -5px;
    right: -8.5px;
    width: 27.5px;
    height: 27.5px;
    line-height: 20px;
  }
  @keyframes clear_inner {
    0% {
      opacity: 0;
      width: 0;
      top: -1250px;
    }
    1% {
      opacity: 0;
      width: 80%;
      top: -1250px;
    }
    20% {
      opacity: 1;
      width: 80%;
      top: 0;
    }
    24% {
      opacity: 1;
      width: 80%;
      top: -15px;
    }
    28% {
      opacity: 1;
      width: 80%;
      top: 0;
    }
    32% {
      opacity: 1;
      width: 80%;
      top: -5px;
    }
    36% {
      opacity: 1;
      width: 80%;
      top: 0;
    }
    100% {
      opacity: 1;
      width: 80%;
      top: 0;
    }
  }
  @keyframes us_action {
    0% {
      opacity: 0;
      transform: scale(0, 0) translate(0, 0);
    }
    50% {
      opacity: 1;
      transform: scale(1, 1) translate(-25px, -25px);
    }
    60% {
      opacity: 0.4;
      transform: scale(1, 1) translate(-25px, -25px);
    }
    70% {
      opacity: 1;
      transform: scale(1, 1) translate(-25px, -25px);
    }
    80% {
      opacity: 0.4;
      transform: scale(1, 1) translate(-25px, -25px);
    }
    100% {
      opacity: 0;
      transform: scale(1, 1) translate(-25px, -25px);
    }
  }
  @keyframes quake {
    0% {
      transform: scale(1, 1) translate(0px, 0px) rotateZ(0deg);
    }
    4% {
      transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
    }
    8% {
      transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
    }
    12% {
      transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
    }
    16% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    20% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    24% {
      transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
    }
    28% {
      transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
    }
    32% {
      transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
    }
    36% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    40% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    44% {
      transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
    }
    48% {
      transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
    }
    52% {
      transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
    }
    56% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    60% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    64% {
      transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
    }
    68% {
      transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
    }
    72% {
      transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
    }
    76% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    80% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    84% {
      transform: scale(1.05, 1.05) translate(5px, 5px) rotateZ(1deg);
    }
    88% {
      transform: scale(1.05, 1.05) translate(0px, 5px) rotateZ(0deg);
    }
    92% {
      transform: scale(1.05, 1.05) translate(5px, 0px) rotateZ(-1deg);
    }
    96% {
      transform: scale(1.05, 1.05) translate(0px, 0px) rotateZ(0deg);
    }
    100% {
      transform: scale(1, 1) translate(0px, 0px) rotateZ(0deg);
    }
  }
  [data-effect="quake"] {
    animation: quake 1s 1 ease-in-out forwards;
  }
  [data-effect="fade_in"]::before {
    width: 500px;
    height: 900px;
  }
  [data-effect="black_out"]::before {
    width: 500px;
    height: 900px;
  }
  [data-effect="white_out"]::before {
    width: 500px;
    height: 900px;
  }
  [data-effect="user_send"]::before {
    width: 500px;
    height: 900px;
  }
  [data-effect="user_send"]::after {
    width: 65px;
    height: 65px;
    bottom: 765px;
    left: 150px;
  }
  .home canvas,
  .talk canvas,
  .du_main canvas {
    width: 500px;
    height: 900px;
  }
  .home .home_s_message,
  .talk .home_s_message,
  .du_main .home_s_message {
    border-radius: 10px;
    padding: 15px;
    width: 200px;
    bottom: 185px;
    font-size: 18px;
    right: 15px;
  }
  .home .home_s_message::before,
  .talk .home_s_message::before,
  .du_main .home_s_message::before {
    bottom: 2.5px;
    font-size: 15px;
    right: 2.5px;
  }
  .home .level_area,
  .talk .level_area,
  .du_main .level_area {
    width: 110px;
    height: 100px;
    bottom: 140px;
    left: 15px;
  }
  .home .level_area div.favorability,
  .talk .level_area div.favorability,
  .du_main .level_area div.favorability {
    margin: 10px;
    width: 90px;
    height: 80px;
  }
  .home .level_area div.favorability .measure,
  .talk .level_area div.favorability .measure,
  .du_main .level_area div.favorability .measure {
    width: 110px;
    height: 80px;
    left: -10px;
    border-bottom-right-radius: 50% 5px;
    border-bottom-left-radius: 50% 5px;
  }
  .home .level_area div.favorability p.level,
  .talk .level_area div.favorability p.level,
  .du_main .level_area div.favorability p.level {
    font-size: 37.5px;
    top: -2.5px;
    text-shadow: 0 0 7px #ffee00;
  }
  .talk p.user_send_action,
  .home p.user_send_action,
  .du_main p.user_send_action {
    width: 65px;
    bottom: 715px;
    left: 150px;
  }
  .talk .chisaki_up,
  .home .chisaki_up,
  .du_main .chisaki_up {
    transform: scale(1.8) translateY(60px) translateX(16px);
  }
  .talk .miyamu_up,
  .home .miyamu_up,
  .du_main .miyamu_up {
    transform: scale(1.9) translateY(47px) translateX(5px);
  }
  .talk .reika_up,
  .home .reika_up,
  .du_main .reika_up {
    transform: scale(1.8) translateY(70px) translateX(0px);
  }
  .talk .tia_up,
  .home .tia_up,
  .du_main .tia_up {
    transform: scale(1.87) translateY(67px) translateX(5px);
  }
  .talk .yukariko_up,
  .home .yukariko_up,
  .du_main .yukariko_up {
    transform: scale(1.79) translateY(75px) translateX(0px);
  }
  @keyframes main_bt_anime {
    0% {
      top: 0;
    }
    100% {
      top: 400px;
    }
  }
  @keyframes main_bt_anime2 {
    0% {
      top: 400px;
    }
    100% {
      top: 0;
    }
  }
  footer .startup_select_footer {
    top: 180px;
  }
  footer .startup_select_footer.active {
    top: -50px;
  }
  footer .home_talk_form {
    top: 300px;
  }
  footer .home_talk_form div.talk_close {
    padding-bottom: 20px;
    font-size: 15px;
  }
  footer .home_talk_form div.talk_close p {
    padding: 10px 15px;
    border-radius: 10px;
    letter-spacing: 0.5px;
  }
  footer .home_talk_form ul.talk_tab {
    margin-left: 10px;
  }
  footer .home_talk_form ul.talk_tab li {
    font-size: 15px;
    padding: 10px 10px 7.5px;
    border-radius: 15px 15px 0 0;
    margin: 0 2.5px;
  }
  footer .home_talk_form ul.talk_tab li img {
    height: 16.5px;
  }
  footer .home_talk_form div.send_area textarea {
    width: 450px;
    height: 54px;
    font-size: 21px;
    border-radius: 7.5px;
    padding: 10px 50px 10px 15px;
    margin: 12.5px 0 12.5px 10px;
  }
  footer .home_talk_form div.send_area textarea.contact {
    width: 390px;
    margin: 5px 0 10px 5px;
  }
  footer .home_talk_form div.send_area p.send_bt {
    right: 5px;
    width: 85px;
    height: 85px;
    font-size: 21px;
    text-shadow: 0 0 5px #ffee00, 0 0 2px #ffee00;
  }
  footer .home_talk_form div.send_area p.send_bt span {
    font-size: 16px;
    top: -20px;
    text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
  }
  footer .talk_bottom_line {
    height: 60px;
    bottom: -200px;
  }
  footer .bottom_line.inactive {
    bottom: -400px;
  }
  footer .bottom_line {
    height: 60px;
  }
  footer .main_bt {
    height: 120px;
  }
  footer .main_bt p.u_ticket.inactive {
    right: -500px;
  }
  footer .main_bt p.u_ticket {
    bottom: 62.5px;
    right: 12.5px;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0.05em;
    width: 175.5px;
    height: 50px;
    padding: 16px 15px 0 40px;
    border-radius: 10px;
  }
  footer .main_bt p.u_diamonds {
    bottom: 10px;
    right: 12.5px;
    font-size: 20px;
    line-height: 20px;
    width: 175.5px;
    height: 50px;
    padding: 16px 15px 0 40px;
    border-radius: 10px;
  }
  footer .main_bt div.contact_bt {
    width: 180px;
    height: 100px;
    top: -47.5px;
    right: -200px;
  }
  footer .main_bt div.contact_area {
    width: 180px;
    height: 100px;
    top: -47.5px;
    right: -200px;
  }
  footer .main_bt img.bt_bg {
    padding-top: 25px;
  }
  footer .main_bt .bg_bt.active {
    left: 7.5px;
  }
  footer .main_bt div.center_bt {
    width: 115px;
    height: 115px;
    font-size: 18px;
    letter-spacing: 0.5px;
  }
  footer .main_bt .shop_bt.active {
    right: 10px;
  }
  footer .main_bt .shop_bt {
    bottom: 10px;
    right: -200px;
    width: 172.5px;
  }
  footer .main_bt .sp_bt.active {
    left: 7.5px;
  }
  footer .main_bt .sp_bt {
    bottom: 10px;
    left: -200px;
    width: 172.5px;
  }
  footer .main_bt .m_sub_bt.active {
    right: 5px;
  }
  footer .main_bt .m_sub_bt {
    bottom: 10px;
    right: -175px;
    width: 175px;
  }
  footer .main_bt .m_sub_bt img {
    width: 47.5px;
    margin-right: 10px;
  }
  footer .main_bt .h_sub_bt.inactive {
    right: -175px;
  }
  footer .main_bt .h_sub_bt {
    bottom: 10px;
    right: 5px;
    width: 175px;
  }
  footer .main_bt .h_sub_bt img {
    width: 47.5px;
    margin-right: 10px;
  }
  footer .main_bt .d_sub_bt.active {
    right: 20px;
  }
  footer .main_bt .d_sub_bt {
    bottom: 12.5px;
    right: -175vw;
    width: 175px;
  }
  footer .main_bt .d_sub_bt img {
    width: 67.5px;
    margin-left: 15px;
  }
  footer .main_bt .d_sub_bt div.g_changebt img {
    padding: 5px;
    width: 67.5px;
  }
  footer .main_bt .d_sub_bt div.g_changebt span {
    top: -7.5px;
    right: -7.5px;
    width: 35px;
    height: 35px;
  }
  footer .main_bt .d_sub_bt div.g_changebt:after {
    height: 67.5px;
    width: 67.5px;
  }
  footer .main_bt .d_sub_bt div.g_changebt::before {
    right: 2.5px;
    top: 2.5px;
    height: 60px;
    width: 60px;
  }
  footer .main_bt .dress_bt.active {
    left: 7.5px;
  }
  footer .main_bt .dress_bt {
    bottom: 10px;
    left: -165px;
    width: 160px;
  }
  footer .main_bt .dress_bt img {
    width: 67.5px;
    margin-left: 12.5px;
  }
  footer .main_bt .bg_bt {
    bottom: 10px;
    left: -165px;
    width: 160px;
  }
  footer .main_bt .bg_bt img {
    width: 67.5px;
    margin-left: 12.5px;
  }
  footer .main_bt .main_cont_bt.inactive {
    left: -165px;
  }
  footer .main_bt .main_cont_bt {
    bottom: 5px;
    left: 10px;
    width: 170px;
  }
  footer .main_bt .main_cont_bt p.all_talkbt span {
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    line-height: 20px;
    font-size: 19px;
  }
  footer .main_bt .main_cont_bt p.main_home {
    margin-left: 2.5px;
  }
  footer .main_bt .main_cont_bt img {
    width: 64px;
    margin-left: 11.5px;
  }
  footer section.bottom_nav.active {
    height: 280px;
  }
  footer section.bottom_nav {
    top: -1px;
  }
  footer section.bottom_nav ul.main_menu {
    padding-top: 10px;
  }
  footer section.bottom_nav ul.main_menu li span {
    top: -6px;
    right: -6px;
    width: 40px;
    height: 40px;
    line-height: 19px;
    font-size: 19px;
  }
  footer section.bottom_nav ul.main_menu li:first-child,
  footer section.bottom_nav ul.main_menu li:nth-child(2),
  footer section.bottom_nav ul.main_menu li:nth-child(3) {
    height: 135px;
    width: 135px;
    margin: 2.5px 8px 5px;
  }
  footer section.bottom_nav ul.main_menu li:nth-child(4) {
    height: 102.5px;
    width: 102.5px;
    margin: 10px 5px 10px 30px;
  }
  footer section.bottom_nav ul.main_menu li:nth-child(5),
  footer section.bottom_nav ul.main_menu li:nth-child(6),
  footer section.bottom_nav ul.main_menu li:nth-child(7) {
    height: 102.5px;
    width: 102.5px;
    margin: 10px 5px;
  }
  footer section.dress_up.active {
    height: 290px;
  }
  footer section.dress_up.inactive {
    top: 400px;
  }
  footer section.dress_up {
    top: -5px;
  }
  footer section.dress_up .du_inner {
    width: 500px;
    height: 290px;
  }
  footer section.dress_up .du_inner ul.shop_list::-webkit-scrollbar {
    height: 5px;
    display: block;
  }
  footer section.dress_up .du_inner ul.shop_list::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 3vw;
  }
  footer section.dress_up .du_inner ul.shop_list::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-image: linear-gradient(180deg, rgba(219, 157, 176, 0.43) 0%, rgba(201, 135, 152, 0.49) 99%);
  }
  footer section.dress_up .du_inner ul.shop_list {
    width: 500px;
    height: 195px;
    padding: 20px 12.5px 0;
    margin-bottom: 7.5px;
  }
  footer section.dress_up .du_inner ul.shop_list li {
    width: 112.5px;
    margin: 0 7.5px;
  }
  footer section.dress_up .du_inner ul.shop_list li figure {
    height: 137.5px;
    border-radius: 15px;
    margin-bottom: 5px;
  }
  footer section.dress_up .du_inner ul.shop_list li figure img {
    border-radius: 15px;
  }
  footer section.dress_up .du_inner ul.shop_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: -7.5px;
    background-size: 35px 35px;
  }
  footer section.dress_up .du_inner ul.shop_list li.lock::before {
    border-radius: 15px;
  }
  footer section.dress_up .du_inner ul.shop_list li.lock::after {
    top: 45px;
    right: 27.5px;
    height: 55px;
    width: 55px;
  }
  header.girls_detail_head div.title_img {
    width: 230px;
    bottom: 17.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  main section.selected_group {
    height: 172.5px;
  }
  main section.selected_group div.inner {
    width: 500px;
    height: 172.5px;
    top: -2.5px;
  }
  main section.selected_group div.inner figure {
    top: -0.5px;
  }
  main section.selected_group div.inner img.bg_photo {
    top: 0;
    right: -65px;
    width: 350px;
  }
  main section.campaign div.campaign_details::-webkit-scrollbar {
    width: 6px;
  }
  main section.campaign div.campaign_details::-webkit-scrollbar-track {
    background-color: rgba(68, 42, 7, 0.25);
    border-radius: 3vw;
    animation: sc_anime3 2s ease-in-out infinite;
  }
  main section.campaign div.campaign_details::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-color: #442a07;
  }
  main section.campaign div.campaign_details div.title_image {
    width: 500px;
    height: 166.5px;
  }
  main section.campaign div.campaign_details div.title_image figure {
    width: 100%;
    z-index: 4;
  }
  main section.campaign div.campaign_details div.title_image figure img {
    border-radius: 0;
  }
  main section.campaign div.campaign_details section.campaign_body {
    width: 500px;
    padding: 25px 20px 215px;
  }
  main section.event div.event_details::-webkit-scrollbar {
    width: 6px;
  }
  main section.event div.event_details::-webkit-scrollbar-track {
    background-color: rgba(68, 42, 7, 0.25);
    border-radius: 3vw;
    animation: sc_anime3 2s ease-in-out infinite;
  }
  main section.event div.event_details::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-color: #442a07;
  }
  main section.event div.event_details div.title_image {
    width: 500px;
    height: 166.5px;
  }
  main section.event div.event_details div.title_image figure {
    width: 100%;
    z-index: 4;
  }
  main section.event div.event_details div.title_image figure img {
    border-radius: 20px 20px 0 0;
  }
  main section.event div.event_details section.event_body {
    width: 500px;
    padding: 185px 20px 135px;
  }
  main section.selected_girl {
    height: 230px;
  }
  main section.selected_girl div.inner {
    width: 500px;
    height: 230px;
  }
  main section.selected_girl div.inner figure {
    top: -100px;
    left: -40px;
    border-right: 10px solid #a35882;
  }
  main section.selected_girl div.inner img.bg_photo {
    right: -65px;
    width: 350px;
  }
  main section.selected_girl div.inner ul.main_prof {
    width: 270px;
    top: 0;
    right: 0;
    padding-top: 15px;
  }
  main section.selected_girl div.inner ul.main_prof li.name {
    height: 70px;
    width: 270px;
  }
  main section.selected_girl div.inner ul.main_prof li.name img.name_caption {
    height: 70px;
  }
  main section.selected_girl div.inner ul.main_prof li.name p {
    top: 13px;
    left: 55px;
    width: 215px;
    padding: 12px 0 12px 15px ;
    text-shadow: 0 0 5px #ff004c, 0 0 2px #ff004c;
    font-size: 22.5px;
  }
  main section.selected_girl div.inner ul.main_prof li.bt_link {
    padding: 10px 20px 0 10px;
  }
  main section.selected_girl div.inner ul.main_prof li.bt_link div {
    width: 85px;
  }
  main section.selected_girl .inner.fav_active figure {
    border-right: 10px solid #e00a84;
  }
  main section.selected_girl .inner.fav_active:before {
    border-radius: 12.5px;
    font-size: 17px;
    padding: 5px 7.5px;
    top: 157.5px;
    left: 65px;
  }
  main section.selected_girl .inner.fav_active:after {
    width: 55px;
    height: 48px;
    line-height: 20px;
    top: 150px;
    left: 7.5px;
  }
  main ul.talk_list {
    top: -50px;
    padding: 0 20px 185px 20px;
    width: 500px;
    height: 657px;
  }
  main ul.talk_list li:first-child {
    margin-top: 50px;
  }
  main ul.talk_list li {
    margin-bottom: 17.5px;
    min-height: 139px;
  }
  main ul.talk_list li p.left_text {
    bottom: 7.5px;
    left: 10px;
    padding: 15px 10px;
    border-radius: 10px;
    font-size: 17.5px;
    width: 190px;
  }
  main ul.talk_list li p.clere_sign {
    height: 50px;
    width: 70px;
    top: -5px;
    right: -7.5px;
  }
  main ul.talk_list li p.right_text {
    bottom: 7.5px;
    right: 15px;
    border-radius: 10px;
    font-size: 17.5px;
    text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  }
  main ul.talk_list li p.right_text span {
    font-size: 32.5px;
    color: #fffb09;
    text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
    padding-top: 5px;
  }
  main ul.talk_list li p.right_text::before {
    bottom: -2.5px;
    right: -7.5px;
    border-width: 0 0 50px 100px;
  }
  main ul.talk_list li .fav_area {
    width: 110px;
    height: 100px;
    bottom: -10px;
    right: -10px;
  }
  main ul.talk_list li .fav_area div.favorability {
    margin: 10px;
    width: 90px;
    height: 80px;
  }
  main ul.talk_list li .fav_area div.favorability .measure {
    width: 110px;
    height: 80px;
    left: -10px;
    border-bottom-right-radius: 50% 5px;
    border-bottom-left-radius: 50% 5px;
  }
  main ul.talk_list li .fav_area div.favorability p.level {
    font-size: 37.5px;
    top: -2.5px;
    text-shadow: 0 0 7px #ffee00;
  }
  main ul.talk_list li.free_lock::before {
    background-size: 7px 7px;
  }
  main ul.talk_list li.free_lock::after {
    right: 50px;
    height: 90px;
    width: 400px;
  }
  main ul.talk_list li.lock img.lock_caption {
    right: 107.5px;
    width: 250px;
  }
  main ul.talk_list li.lock p.lock_text {
    right: 30px;
    height: 70px;
    width: 405px;
    font-size: 14.5px;
  }
  main ul.talk_list li.lock::before {
    background-size: 7px 7px;
  }
  main ul.talk_list li.finished::before {
    background-size: 7px 7px;
  }
  main ul.talk_list li.finished::after {
    right: 90px;
    height: 75px;
    width: 320px;
  }
  main ul.talk_list li.after_story_lock::before {
    background-size: 7px 7px;
  }
  main ul.talk_list li.after_story_lock::after {
    right: 50px;
    height: 82.5px;
    width: 352px;
  }
  main section.main_girl {
    height: 280px;
  }
  main section.main_girl div.inner {
    width: 500px;
    height: 280px;
  }
  main section.main_girl div.inner figure {
    top: -65px;
    left: -40px;
    border-right: 10px solid #a35882;
  }
  main section.main_girl div.inner img.bg_photo {
    right: -65px;
    width: 350px;
  }
  main section.main_girl div.inner ul.main_prof {
    height: 245px;
    width: 270px;
    top: 0;
    right: 0;
    padding-top: 7.5px;
  }
  main section.main_girl div.inner ul.main_prof li.name {
    height: 70px;
    width: 270px;
  }
  main section.main_girl div.inner ul.main_prof li.name img.name_caption {
    height: 70px;
  }
  main section.main_girl div.inner ul.main_prof li.name p {
    top: 13px;
    left: 55px;
    width: 215px;
    padding: 12px 0 12px 15px ;
    text-shadow: 0 0 5px #ff004c, 0 0 2px #ff004c;
    font-size: 22.5px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board {
    padding: 0 10px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.wrapper {
    width: 195px;
    font-size: 15px;
    border-radius: 10px;
    padding: 5px 10px 2.5px;
    line-height: 20px;
    margin-bottom: 10px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
    width: 20px;
    height: 20px;
    margin-right: 2.5px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
    right: 10px;
    top: 6.5px;
    font-size: 19px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
    height: 10px;
    width: 195px;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.favo {
    border-left: #f1168e 5px solid;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.achv {
    border-left: #2c8382 5px solid;
  }
  main section.main_girl div.inner ul.main_prof li.score_board div.acqu {
    border-left: #e4920e 5px solid;
  }
  main section.main_girl .inner.fav_active:before {
    border-radius: 12.5px;
    font-size: 17px;
    padding: 5px 7.5px;
    top: 207.5px;
    left: 65px;
  }
  main section.main_girl .inner.fav_active:after {
    width: 55px;
    height: 48px;
    line-height: 20px;
    top: 200px;
    left: 7.5px;
  }
  main section.girl_select {
    top: -50px;
    padding-top: 40px;
    width: 500px;
    height: 900px;
  }
  main section.girl_select div.thumbnail2 {
    top: -800px;
  }
  main section.girl_select div.thumbnail2 div {
    width: 190px;
    height: 600px;
  }
  main section.girl_select div.thumbnail2 div a {
    top: 210px;
    left: -50px;
    width: 275px;
    height: 200px;
  }
  main section.girl_select .thumbnail {
    width: 100%;
    margin: 0 auto 5px;
    padding: 0;
  }
  main section.girls_index {
    padding-top: 150px;
    width: 500px;
    height: 900px;
  }
  main section.girls_index p.name {
    width: 5000px;
    top: 595px;
    left: 0;
    height: 140px;
  }
  main section.girls_index p.name img {
    width: 500px;
  }
  main section.girls_index div.thumbnail div.inner ul.score {
    top: 265px;
    left: -160px;
    width: 160px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board {
    padding: 0 10px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper {
    width: 160px;
    font-size: 15px;
    border-radius: 10px;
    padding: 5px 10px 2.5px;
    line-height: 20px;
    margin-bottom: 10px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper img.icon {
    width: 20px;
    height: 20px;
    margin-right: 2.5px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper p.score {
    right: 10px;
    top: 6.5px;
    font-size: 19px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.wrapper div.meter {
    height: 10px;
    width: 160px;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.favo {
    border-left: #f1168e 5px solid;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.achv {
    border-left: #2c8382 5px solid;
  }
  main section.girls_index div.thumbnail div.inner ul.score li.score_board div.acqu {
    border-left: #e4920e 5px solid;
  }
  main section.girls_index div.thumbnail2 {
    top: -825px;
  }
  main section.girls_index div.thumbnail2 div {
    width: 190px;
    height: 850px;
  }
  main section.girls_index div.thumbnail2 div a {
    top: 452.5px;
    left: -50px;
    width: 275px;
    height: 200px;
  }
  main section.girls_index .thumbnail {
    width: 100%;
    margin: 0 auto 5px;
    padding: 0;
  }
  header.girl_list_head .topboder div.title_img {
    width: 230px;
    bottom: 17.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  section.girls_details {
    width: 500px;
  }
  section.girls_details .head_bg {
    height: 105px;
  }
  section.girls_details figure {
    width: 390px;
    height: 830px;
  }
  section.girls_details figure img.stand_img {
    right: -135px;
    width: 500px;
  }
  section.girls_details p.name {
    top: 65px;
    padding: 5px 25px;
  }
  section.girls_details p.name img {
    width: 275px;
  }
  section.girls_details div.date {
    height: 530px;
    width: 300px;
    margin-bottom: 115px;
    margin-top: 165px;
    padding-left: 15px;
  }
  section.girls_details div.date p.mainset_bt {
    width: 170px;
    right: -20px;
  }
  section.girls_details div.date ul.profile {
    padding-bottom: 10px;
  }
  section.girls_details div.date ul.profile li {
    font-size: 17.5px;
    padding: 6px 0;
  }
  section.girls_details div.date p.text {
    padding: 0 20px 0 0;
    font-size: 17.5px;
    line-height: 1.45em;
    height: 230px;
    text-shadow: 0 0 5px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 8px #fff;
  }
  section.girls_details div.date ul.button {
    padding: 12.5px 0 0;
  }
  section.girls_details div.date ul.button li {
    margin-bottom: 10px;
    border-radius: 10px;
    width: 250px;
  }
  section.girls_details div.date ul.button li div {
    width: 55px;
  }
  section.girls_details div.date ul.button li.p_bt_link {
    padding: 10px 20px 0 0;
  }
  section.girls_details div.date ul.button li.p_bt_link div {
    width: 90px;
  }
  section.mem_list {
    padding: 15px;
  }
  section.mem_list ul {
    padding: 20px 0 20px;
    width: 465px;
  }
  section.mem_list ul li.lock::before {
    background-size: 7px 7px;
  }
  section.mem_list ul li.news::before {
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
  }
  section.mem_list ul li {
    margin-bottom: 30px;
    height: 125.5px;
    width: 465px;
  }
  section.mem_list ul li div.message {
    width: 295px;
    padding: 1.25px;
    height: 120.5px;
  }
  section.mem_list ul li div.message img.still {
    bottom: -75px;
    right: -50px;
  }
  section.mem_list ul li div.message img.name {
    padding-top: 15px;
    width: 295px;
  }
  section.mem_list ul li figure {
    bottom: 1px;
    left: 10px;
    height: 150px;
    width: 150px;
  }
  header.memorial_head .topboder div.title_img,
  .talklist_head .topboder div.title_img {
    width: 230px;
    top: -57.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header.memorial_head .topboder div.title_img img,
  .talklist_head .topboder div.title_img img {
    width: 230px;
  }
  header.memorial_head section.selected_girl,
  .talklist_head section.selected_girl {
    height: 195px;
  }
  header.memorial_head section.selected_girl div.inner,
  .talklist_head section.selected_girl div.inner {
    width: 500px;
    height: 195px;
  }
  header.memorial_head section.selected_girl div.inner figure,
  .talklist_head section.selected_girl div.inner figure {
    top: -100px;
    left: -60px;
    border-right: 10px solid #a35882;
  }
  header.memorial_head section.selected_girl div.inner img.bg_photo,
  .talklist_head section.selected_girl div.inner img.bg_photo {
    right: -65px;
    width: 350px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof,
  .talklist_head section.selected_girl div.inner ul.main_prof {
    height: 100px;
    width: 270px;
    top: 15px;
    right: 0;
    padding-top: 7.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name,
  .talklist_head section.selected_girl div.inner ul.main_prof li.name {
    height: 40px;
    width: 270px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name p,
  .talklist_head section.selected_girl div.inner ul.main_prof li.name p {
    width: 215px;
    padding: 12px 0 5px 0 ;
    font-size: 18px;
    margin-left: 50px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name p span,
  .talklist_head section.selected_girl div.inner ul.main_prof li.name p span {
    font-size: 22.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.profile,
  .talklist_head section.selected_girl div.inner ul.main_prof li.profile {
    padding: 0 15px 5px;
    font-size: 16.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board,
  .talklist_head section.selected_girl div.inner ul.main_prof li.score_board {
    padding: 0 7.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper,
  .talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper {
    width: 195px;
    font-size: 15px;
    border-radius: 10px;
    padding: 5px 10px 2.5px;
    line-height: 20px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon,
  .talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
    width: 20px;
    margin-right: 5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score,
  .talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
    right: 10px;
    top: 6.5px;
    font-size: 19px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter,
  .talklist_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
    height: 10px;
    width: 195px;
  }
  header.memorial_head div.m_caption,
  .talklist_head div.m_caption {
    bottom: -5px;
    left: 100px;
  }
  header.memorial_head div.m_caption img.caption_img,
  .talklist_head div.m_caption img.caption_img {
    height: 70px;
    top: -5px;
  }
  header.memorial_head div.m_caption p,
  .talklist_head div.m_caption p {
    top: 13px;
    left: 55px;
    width: 240px;
    padding: 9px 15px;
    font-size: 22.5px;
  }
  main section.memorial_tab {
    bottom: 2.5px;
  }
  main section.memorial_tab div.tab_bt {
    width: 112.5px;
    margin: 0 5px;
    font-size: 17.5px;
    line-height: 17.5px;
    padding: 7.5px 0;
    border-radius: 15px 15px 0 0;
  }
  main section.memorial_tab div.tab_bt img {
    padding: 0 5px;
  }
  main section.memorial_tab div.tab_bt span {
    top: -15px;
    right: -12.5px;
    width: 35px;
    height: 35px;
    line-height: 30px;
    font-size: 18.5px;
  }
  main section.memorial_tab div.tab_bt.active::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    left: 2.5px;
    background-size: 35px 35px;
  }
  main section.memorial_tab img.bottom_boder {
    bottom: -2.5px;
    left: 15px;
    width: 465px;
  }
  main section.memorial {
    padding: 15px;
  }
  main section.memorial ul.scenario_list {
    padding: 0 0 185px;
    width: 465px;
  }
  main section.memorial ul.scenario_list li.news::before {
    top: 10px;
    right: -5px;
    width: 30px;
    height: 30px;
  }
  main section.memorial ul.scenario_list li {
    margin-bottom: 15px;
    min-height: 139px;
  }
  main section.memorial ul.scenario_list li p.left_text {
    bottom: 7.5px;
    left: 10px;
    padding: 12.5px 8.5px;
    border-radius: 10px;
    font-size: 17.5px;
    width: 190px;
  }
  main section.memorial ul.scenario_list li p.right_text {
    bottom: 7.5px;
    right: 15px;
    border-radius: 10px;
    font-size: 17.5px;
    text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
  }
  main section.memorial ul.scenario_list li p.right_text span {
    font-size: 32.5px;
    color: #fffb09;
    text-shadow: 0 0 5px #ff004c, 0 0 5px #ff004c, 0 0 2px #ff004c;
    padding-top: 5px;
  }
  main section.memorial ul.scenario_list li p.right_text::before {
    bottom: -2.5px;
    right: -7.5px;
    border-width: 0 0 50px 100px;
    border-color: transparent transparent rgba(255, 0, 76, 0.829) transparent;
  }
  main section.memorial ul.scenario_list li.lock img.lock_caption {
    right: 107.5px;
    width: 250px;
  }
  main section.memorial ul.scenario_list li.lock p.lock_text {
    right: 30px;
    height: 70px;
    width: 405px;
    font-size: 14.5px;
  }
  main section.memorial ul.scenario_list li.after_story_lock::before {
    background-size: 7px 7px;
  }
  main section.memorial ul.scenario_list li.after_story_lock::after {
    right: 50px;
    height: 82.5px;
    width: 352px;
  }
  main section.memorial ul.voice {
    width: 460px;
    padding-bottom: 25px;
  }
  main section.memorial ul.voice li.news::before {
    top: 10px;
    right: -5px;
    width: 30px;
    height: 30px;
  }
  main section.memorial ul.voice li {
    margin-bottom: 15px;
    font-size: 15px;
    width: 460px;
    height: 90px;
  }
  main section.memorial ul.voice li p.v_num {
    padding-top: 30px;
    padding-left: 75px;
    font-size: 15px;
  }
  main section.memorial ul.voice li p.v_text {
    padding-top: 5px;
    padding-left: 80px;
    font-size: 24px;
  }
  main section.memorial ul.voice li p.v_text span {
    margin: 0 5px;
  }
  main section.memorial ul.voice li img {
    width: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  main section.memorial ul.still {
    width: 435px;
    padding-bottom: 25px;
  }
  main section.memorial ul.still li.news::before {
    top: -5px;
    right: -5px;
    width: 35px;
    height: 35px;
  }
  main section.memorial ul.still li {
    height: 180px;
    width: 135px;
    margin: 0 5px 25px;
    padding: 5px;
  }
  main section.memorial ul.still li figure {
    height: 125px;
  }
  main section.memorial ul.still li figure img {
    width: 100%;
  }
  main section.memorial ul.still li p {
    font-size: 15px;
    padding: 7.5px 0 2.5px;
  }
  main section.memorial ul.still li.lock::before {
    top: 5px;
    left: 5px;
    height: 125px;
    width: 125px;
    background-size: 7px 7px;
  }
  main section.memorial ul.still li.lock::after {
    top: 35px;
    right: 40px;
    height: 55px;
    width: 55px;
  }
  main section.memorial ul.still li.a_lock::before {
    height: 180px;
    width: 135px;
  }
  main section.memorial ul.still li.a_lock::after {
    top: 45px;
    left: 25px;
    height: 85px;
    width: 85px;
  }
  header.memorial_head section.selected_girl {
    height: 195px;
  }
  header.memorial_head section.selected_girl div.inner {
    width: 500px;
    height: 195px;
  }
  header.memorial_head section.selected_girl div.inner figure {
    top: -100px;
    left: -60px;
    border-right: 10px solid #a35882;
  }
  header.memorial_head section.selected_girl div.inner img.bg_photo {
    right: -65px;
    width: 350px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof {
    height: 100px;
    width: 270px;
    top: 15px;
    right: 0;
    padding-top: 7.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name {
    height: 40px;
    width: 270px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name p {
    width: 215px;
    padding: 12px 0 5px 0;
    font-size: 18px;
    margin-left: 50px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.name p span {
    font-size: 22.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.profile {
    padding: 0 15px 5px;
    font-size: 16.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board {
    padding: 0 7.5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper {
    width: 195px;
    font-size: 15px;
    border-radius: 10px;
    padding: 5px 10px 2.5px;
    line-height: 20px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper img.icon {
    width: 20px;
    margin-right: 5px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper p.score {
    right: 10px;
    top: 6.5px;
    font-size: 19px;
  }
  header.memorial_head section.selected_girl div.inner ul.main_prof li.score_board div.wrapper div.meter {
    height: 10px;
    width: 195px;
  }
  header.memorial_head div.m_caption {
    bottom: -5px;
    left: 100px;
  }
  header.memorial_head div.m_caption img.caption_img {
    height: 70px;
  }
  header.memorial_head div.m_caption p {
    top: 13px;
    left: 55px;
    width: 240px;
    padding: 9px 15px;
    font-size: 22.5px;
  }
  header.is_head img.topboder,
  header.campaign_head img.topboder {
    width: 470px;
    left: 15px;
  }
  header.is_head div.title_img,
  header.campaign_head div.title_img {
    width: 230px;
    bottom: 17.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  main section.item_tab {
    bottom: 2.5px;
  }
  main section.item_tab div.i_tab {
    width: 195px;
    margin: 0 5px;
    font-size: 17.5px;
    line-height: 17.5px;
    padding: 7px 0;
    border-radius: 15px 15px 0 0;
  }
  main section.item_tab div.i_tab img {
    padding: 0 5px;
  }
  main section.item_tab div.i_tab p.check {
    top: -10px;
    right: -17.5px;
    border-radius: 10px;
    font-size: 17.5px;
    line-height: 17.5px;
    padding: 5px 5px;
  }
  main section.item_tab div.i_tab.active::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    left: 2.5px;
    background-size: 35px 35px;
  }
  main section.item_tab img.bottom_boder {
    bottom: -2.5px;
    left: 15px;
    width: 465px;
  }
  main section.item_index {
    padding: 15px;
  }
  main section.item_index ul.item_box {
    width: 435px;
    padding-bottom: 25px;
  }
  main section.item_index ul.item_box li.lock figure::before {
    border-radius: 10px;
    width: 135px;
    height: 135px;
  }
  main section.item_index ul.item_box li.lock figure::after {
    top: 35px;
    right: 32.5px;
    height: 60px;
    width: 60px;
  }
  main section.item_index ul.item_box li {
    width: 135px;
    margin: 0 5px 10px;
    padding: 5px;
    height: 190px;
  }
  main section.item_index ul.item_box li figure {
    border-radius: 15px;
    width: 125px;
    height: 135px;
  }
  main section.item_index ul.item_box li figcaption {
    font-size: 15px;
    padding: 7.5px 0 2.5px;
    height: 42.5px;
  }
  main section.item_index ul.item_box li p.poss {
    top: 105px;
    right: 2.5px;
    border-radius: 10px;
    font-size: 17.5px;
    line-height: 15px;
    padding: 7.5px 7.5px;
  }
  main section.item_index ul.item_box li p.poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  main section.item_index ul.present_box {
    width: 465px;
    padding-bottom: 25px;
  }
  main section.item_index ul.present_box li.lock .pre_img::after {
    top: 15px;
    right: 15px;
    height: 50px;
    width: 50px;
  }
  main section.item_index ul.present_box li {
    height: 80px;
    border-radius: 10px;
    margin-bottom: 12.5px;
  }
  main section.item_index ul.present_box li .pre_img {
    height: 80px;
    width: 80px;
  }
  main section.item_index ul.present_box li .pre_date {
    width: 290px;
    height: 80px;
    font-size: 15px;
    padding: 13.5px 0 7.5px 12.5px;
  }
  main section.item_index ul.present_box li .pre_date span {
    font-size: 21px;
    padding: 12.5px 0 0;
  }
  main section.item_index ul.present_box li .receive {
    margin-top: 7.5px;
    width: 90px;
    font-size: 15px;
    border-radius: 10px;
  }
  main section.item_index ul.present_box li .receive span {
    bottom: -20px;
    width: 90px;
  }
  main section.item_index .all_receive {
    margin: 0 auto;
    height: 50px;
    width: 225px;
    padding-bottom: 150px;
  }
  main section.item_index .lb_check {
    margin: 15px auto 0;
    width: 325px;
  }
  footer.is_foot p.u_diamonds.inactive {
    right: -500px;
  }
  footer.is_foot p.u_diamonds {
    bottom: 10px;
    right: 12.5px;
    font-size: 20px;
    line-height: 20px;
    width: 175.5px;
    height: 50px;
    padding: 16px 15px 0 40px;
    border-radius: 10px;
  }
  main section.shop_tab {
    bottom: 2.5px;
  }
  main section.shop_tab div.tab_bt {
    width: 135px;
    margin: 0 5px;
    font-size: 16.5px;
    line-height: 17.5px;
    padding: 7px 0;
    border-radius: 15px 15px 0 0;
  }
  main section.shop_tab div.tab_bt img {
    width: 95px;
    padding: 0 5px;
  }
  main section.shop_tab img.bottom_boder {
    bottom: -2.5px;
    left: 15px;
    width: 465px;
  }
  main section.shop_index {
    padding-bottom: 125px;
  }
  main section.shop_index ul.shop_list {
    width: 500px;
    padding: 0 0 25px;
  }
  main section.shop_index ul.shop_list li:nth-child(odd) {
    margin: 0 12.5px 40px 52.5px;
  }
  main section.shop_index ul.shop_list li {
    width: 185px;
    margin: 0 12.5px 40px;
    height: 205px;
  }
  main section.shop_index ul.shop_list li figure {
    width: 185px;
    height: 185px;
    border-radius: 10px 10px 0 0;
  }
  main section.shop_index ul.shop_list li figure img {
    width: 185px;
    border-radius: 10px;
  }
  main section.shop_index ul.shop_list li figure figcaption {
    font-size: 15px;
    padding: 12.5px 0 2.5px;
    height: 42.5px;
  }
  main section.shop_index ul.shop_list li p.price {
    top: 162.5px;
    font-size: 20px;
    line-height: 20px;
    padding: 10px 7.5px;
    border-radius: 0 0 10px 10px;
  }
  main section.shop_index ul.shop_list li p.price img {
    height: 20px;
    padding-right: 2.5px;
  }
  main section.shop_index ul.shop_list li.lock::before {
    border-radius: 10px;
  }
  main section.shop_index ul.shop_list li.lock::after {
    top: 57.5px;
    right: 47.5px;
    height: 85px;
    width: 85px;
  }
  main section.shop_index ul.shop_list li.done figure:before {
    width: 185px;
    height: 202.5px;
    border-radius: 15px;
  }
  main section.shop_index ul.shop_list li.done figure:after {
    top: 90px;
    left: 25px;
    width: 135px;
    font-size: 15px;
    height: 202.5px;
  }
  main section.shop_index ul.shop_list + .bg_img li:nth-child(odd) {
    margin: 0 12.5px 40px 52.5px;
  }
  main section.shop_index ul.shop_list + .bg_img li {
    width: 185px;
    margin: 0 12.5px 40px;
    height: 225px;
  }
  main section.shop_index ul.shop_list + .bg_img li figure {
    width: 185px;
    height: 225px;
    border-radius: 10px 10px 0 0;
  }
  main section.shop_index ul.shop_list + .bg_img li figure img {
    border-radius: 10px;
  }
  main section.shop_index ul.shop_list + .bg_img li figure figcaption {
    font-size: 15px;
    padding: 12.5px 0 2.5px;
    height: 42.5px;
  }
  main section.shop_index ul.shop_list + .bg_img li p.price {
    top: 185px;
    font-size: 20px;
    line-height: 20px;
    padding: 10px 7.5px;
    border-radius: 0 0 10px 10px;
  }
  main section.shop_index ul.shop_list + .bg_img li p.price img {
    height: 20px;
    padding-right: 2.5px;
  }
  main section.shop_index ul.shop_list + .bg_img li.done figure:before {
    width: 185px;
    height: 227.5px;
    border-radius: 10px;
  }
  main section.shop_index ul.shop_list.shop_buy li {
    width: 450px;
    margin: 0 25px 12.5px;
  }
  main section.shop_index ul.shop_list.shop_buy li img {
    border-radius: 10px;
  }
  main section.shop_index .shop_info {
    padding: 0 0 20px;
  }
  main section.shop_index .shop_info img {
    width: 500px;
  }
  main section.shop_index .campaign_banner {
    padding: 25px 0 20px;
  }
  main section.shop_index .campaign_banner p {
    font-size: 20px;
    padding: 0 25px 7.5px 25px;
  }
  main section.shop_index .campaign_banner img {
    width: 450px;
  }
  main section.all_talklist {
    padding: 15px;
  }
  main section.all_talklist ul.all_list {
    padding: 0 0 120px;
    width: 465px;
  }
  main section.all_talklist ul.all_list li.lock::before {
    background-size: 7px 7px;
  }
  main section.all_talklist ul.all_list li.lock img.lock_caption {
    right: 107.5px;
    width: 250px;
  }
  main section.all_talklist ul.all_list li.lock p.lock_text {
    right: 30px;
    height: 70px;
    width: 405px;
    font-size: 14.5px;
  }
  main section.all_talklist ul.all_list li {
    margin-bottom: 22px;
    padding: 12.5px;
    height: 125.5px;
    width: 465px;
  }
  main section.all_talklist ul.all_list li div.meaage_status {
    bottom: 7.5px;
    right: 50px;
  }
  main section.all_talklist ul.all_list li div.meaage_status div.free_message {
    font-size: 15px;
    border-radius: 5px;
    padding: 3px 8.5px;
    margin: 0 2.5px;
  }
  main section.all_talklist ul.all_list li div.meaage_status div.img_message {
    font-size: 15px;
    border-radius: 5px;
    padding: 3px 8.5px;
    margin: 0 2.5px;
  }
  main section.all_talklist ul.all_list li div.message {
    width: 340px;
    height: 100px;
  }
  main section.all_talklist ul.all_list li div.message p.name {
    font-size: 24px;
    line-height: 30px;
    padding-top: 5px;
  }
  main section.all_talklist ul.all_list li div.message p.time {
    font-size: 20px;
    line-height: 30px;
    padding: 6.5px 5px 0 0;
  }
  main section.all_talklist ul.all_list li div.message p.text {
    border-top: 1px solid #e2e2e2;
    line-height: 25px;
    padding: 10px 7.5px 0 7.5px;
    font-size: 19.5px;
  }
  main section.all_talklist ul.all_list li figure {
    height: 100px;
    width: 100px;
  }
  main section.all_talklist ul.all_list li figure::before {
    height: 100px;
    width: 100px;
    bottom: -50px;
    left: -50px;
  }
  main section.all_talklist ul.all_list li p.unread {
    width: 50px;
    height: 50px;
    font-size: 20px;
    line-height: 52px;
  }
  main section.all_talklist ul.all_list li p.unread_sign {
    bottom: 5px;
    right: 52.5px;
    font-size: 14.5px;
  }
  main section.all_talklist ul.all_list li.y_mode {
    margin-bottom: 15px;
    padding: 12.5px;
    height: 125.5px;
    width: 465px;
  }
  main section.all_talklist ul.all_list li.y_mode div.message p.text {
    border-top: 1px solid #f0ddb5;
  }
  main section.all_talklist ul.all_list li.y_mode::before {
    bottom: 0;
    left: 12.5px;
    font-size: 14.5px;
    padding: 5px 7.5px;
    border-radius: 7.5px;
    line-height: 14.5px;
  }
  main section.all_talklist ul.all_list li.caution div.message p.name {
    font-size: 27.5px;
  }
  main section.all_talklist ul.all_list li.caution div.message p.text {
    padding: 6.5px 5px 0;
  }
  main section.all_talklist ul.all_list li.meme div.message p.time {
    font-size: 20px;
    line-height: 30px;
    padding: 6.5px 5px 0 0;
  }
  main section.all_talklist ul.all_list li.meme div.message p.text {
    border-top: 1px solid #adc1e7;
    line-height: 25px;
    padding: 6.5px 5px 0 0;
    font-size: 19px;
  }
  main section.ex_index {
    padding: 15px;
  }
  main section.ex_index ul.ex {
    width: 465px;
    padding-bottom: 25px;
  }
  main section.ex_index ul.ex li {
    height: 75px;
    border-radius: 10px;
    margin-bottom: 12.5px;
  }
  main section.ex_index ul.ex li .ex_img {
    height: 75px;
    width: 75px;
  }
  main section.ex_index ul.ex li .ex_date {
    width: 290px;
    height: 80px;
    font-size: 15px;
    padding: 13.5px 0 7.5px 12.5px;
  }
  main section.ex_index ul.ex li .ex_date span {
    font-size: 21px;
    padding: 12.5px 0 0;
  }
  main section.ex_index ul.ex li .receive {
    margin-top: 10px;
    width: 90px;
    font-size: 15px;
    border-radius: 10px;
  }
  main section.ex_index ul.ex li .receive span {
    bottom: -17.5px;
    width: 125px;
  }
  main section.ex_index .all_receive {
    width: 225px;
  }
  header.ex_head img.topboder {
    width: 470px;
    left: 15px;
  }
  header.ex_head div.title_img {
    width: 230px;
    bottom: 202.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header.ex_head .ex_img {
    height: 185px;
  }
  header.gacha_head .topboder div.title_img {
    width: 230px;
    bottom: 17.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header.gacha_head .g_percentage {
    height: 900px;
    width: 500px;
  }
  header.gacha_head .g_percentage div.percentage_inner {
    width: 500px;
    padding: 10px 0;
    top: -1250px;
  }
  header.gacha_head .g_percentage div.percentage_inner p.p_title img {
    padding: 10px 0 20px;
  }
  header.gacha_head .g_percentage div.percentage_inner p.p_title::before {
    height: 10.5px;
    width: 500px;
  }
  header.gacha_head .g_percentage div.percentage_inner ul.g_details {
    height: 450px;
    width: 500px;
    padding: 25px;
  }
  header.gacha_head .g_percentage div.percentage_inner ul.g_details li {
    height: 35px;
    margin-bottom: 12.5px;
  }
  header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dt p.item_title {
    font-size: 20px;
    width: 330px;
  }
  header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dt p.item_title::before {
    height: 17.5px;
    width: 80px;
    padding: 5px;
    margin-right: 10px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 17.5px;
  }
  header.gacha_head .g_percentage div.percentage_inner ul.g_details li dl dd.item_per {
    top: 7.5px;
    font-size: 20px;
  }
  header.gacha_head .g_percentage div.percentage_inner div.percentage_close {
    width: 500px;
    padding: 30px 0;
  }
  header.gacha_head .g_percentage div.percentage_inner div.percentage_close p {
    font-size: 15px;
    padding-bottom: 15px;
  }
  header.gacha_head .g_percentage div.percentage_inner div.percentage_close img {
    width: 140px;
    border-radius: 10px;
  }
  header.gacha_head .g_percentage div.percentage_inner div.percentage_close::before {
    height: 10.5px;
    width: 500px;
  }
  header.gacha_head .g_description {
    height: 900px;
    width: 500px;
  }
  header.gacha_head .g_description div.description_inner {
    width: 500px;
    padding: 10px 0;
    top: -1250px;
  }
  header.gacha_head .g_description div.description_inner p.d_title {
    padding: 20px 0;
    font-size: 24px;
  }
  header.gacha_head .g_description div.description_inner p.d_title::before {
    height: 10.5px;
    width: 500px;
  }
  header.gacha_head .g_description div.description_inner .gacha_campaign {
    height: 450px;
    width: 450px;
    padding: 25px;
  }
  header.gacha_head .g_description div.description_inner .gacha_campaign p.time_limit {
    padding: 7.5px;
    font-size: 18.5px;
  }
  header.gacha_head .g_description div.description_inner .gacha_campaign p.campaign_text {
    padding: 15px 0 0;
    font-size: 21.25px;
    line-height: 30px;
  }
  header.gacha_head .g_description div.description_inner div.description_close {
    width: 500px;
    padding: 30px 0;
  }
  header.gacha_head .g_description div.description_inner div.description_close p {
    font-size: 15px;
    padding-bottom: 15px;
  }
  header.gacha_head .g_description div.description_inner div.description_close img {
    width: 140px;
    border-radius: 10px;
  }
  header.gacha_head .g_description div.description_inner div.description_close::before {
    height: 10.5px;
    width: 500px;
  }
  header.gacha_head .g_anime {
    height: 900px;
    width: 500px;
  }
  header.gacha_head .g_anime div.ten_details {
    height: 900px;
    width: 500px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details {
    padding: 0 10px 75px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li.lock::before {
    border-radius: 15px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li.lock::after {
    top: 125px;
    right: 13.5px;
    height: 82px;
    width: 225px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li {
    width: 240px;
    padding: 10px;
    margin-bottom: 25px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate {
    width: 200px;
    top: 50px;
    left: 5px;
    padding: 15px;
    border-radius: 5px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p {
    font-size: 17.5px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p span {
    font-size: 15px;
    padding-top: 10px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p.possession {
    padding: 20px 0 10px;
    font-size: 22.5px;
    font-size: 18px;
    line-height: 70px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li .duplicate p.possession img {
    height: 70px;
  }
  header.gacha_head .g_anime div.ten_details ul.item_details li.caption_bt img {
    border-radius: 10px;
  }
  header.gacha_head .g_anime div.result {
    height: 620px;
    width: 500px;
  }
  header.gacha_head .g_anime div.result div.capsule {
    top: 60px;
    height: 500px;
    width: 500px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper {
    height: 500px;
    width: 500px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper p {
    width: 87.5px;
    height: 87.5px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_1 {
    top: 1px;
    left: 142px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_2 {
    top: 7.5px;
    left: 312px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_3 {
    top: 142.5px;
    left: 410px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_4 {
    top: 300px;
    left: 390px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_5 {
    top: 404px;
    left: 260px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_6 {
    top: 379px;
    left: 100px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_7 {
    top: 260px;
    left: 1px;
  }
  header.gacha_head .g_anime div.result div.capsule .capsule_wrapper .cap_8 {
    top: 92.5px;
    left: 17px;
  }
  header.gacha_head .g_anime div.result div.r_item {
    top: 60px;
    height: 500px;
    width: 500px;
  }
  header.gacha_head .g_anime div.result div.r_item p.result_close {
    width: 160px;
    left: 170px;
  }
  header.gacha_head .g_anime div.result div.r_item p.result_close p {
    font-size: 15px;
    padding-bottom: 15px;
  }
  header.gacha_head .g_anime div.result div.r_item p.result_close img {
    border-radius: 15px;
  }
  header.gacha_head .g_anime div.result div.r_item .up_capsule {
    width: 190px;
    top: 325px;
    left: 45px;
  }
  header.gacha_head .g_anime div.result div.r_item .down_capsule {
    width: 190px;
    top: 325px;
    right: 45px;
  }
  header.gacha_head .g_anime div.result div.r_item .item_card {
    width: 235px;
    top: 25px;
    left: 140px;
  }
  header.gacha_head .g_anime div.result div.r_item .lock::before {
    border-radius: 15px;
  }
  header.gacha_head .g_anime div.result div.r_item .lock::after {
    right: 22.5px;
    height: 69.5px;
    width: 190px;
  }
  header.gacha_head .g_anime div.result div.r_item .duplicate {
    width: 300px;
    top: 100px;
    left: 92.5px;
    padding: 15px;
    border-radius: 5px;
  }
  header.gacha_head .g_anime div.result div.r_item .duplicate p {
    font-size: 17.5px;
    line-height: 1.4em;
  }
  header.gacha_head .g_anime div.result div.r_item .duplicate p span {
    font-size: 15px;
  }
  header.gacha_head .g_anime div.result div.r_item .duplicate p.possession {
    padding: 20px 0 10px;
    font-size: 22.5px;
    font-size: 18px;
    line-height: 70px;
  }
  header.gacha_head .g_anime div.result div.r_item .duplicate p.possession img {
    height: 70px;
  }
  header.gacha_head .g_anime div.result div.r_item .item_back {
    width: 500px;
  }
  header.gacha_head .g_anime div.result div.r_item_10 {
    top: 12px;
    height: 140px;
    width: 105px;
  }
  header.gacha_head .g_anime div.result div.r_item_10 .item_card {
    width: 90px;
    top: 5px;
    left: 7.5px;
  }
  header.gacha_head .g_anime div.result div.r_item_10 .lock::before {
    border-radius: 15px;
  }
  header.gacha_head .g_anime div.result div.r_item_10 .lock::after {
    top: 35px;
    right: 17.5px;
    height: 55px;
    width: 55px;
  }
  header.gacha_head .g_anime div.result div.r_item_10 .item_back {
    width: 125px;
  }
  header.gacha_head .g_anime p.result_details {
    width: 200px;
    bottom: 50px;
    left: 150px;
  }
  header.gacha_head .g_anime p.result_details p {
    font-size: 15px;
    padding-bottom: 15px;
  }
  header.gacha_head .g_anime p.result_details img {
    border-radius: 15px;
  }
  @keyframes cap_anime3 {
    0% {
      transform: scale(1, 1);
      top: 60px;
    }
    100% {
      transform: scale(0, 0);
      opacity: 0;
      top: 150px;
    }
  }
  @keyframes result_close {
    0% {
      transform: scale(0, 0);
      opacity: 0;
      top: 150px;
    }
    80% {
      transform: scale(0, 0);
      opacity: 0;
      top: 150px;
    }
    100% {
      transform: scale(1, 1);
      top: 60px;
    }
  }
  .result_anime {
    animation: result_anime 2.5s ease-in-out forwards;
  }
  @keyframes result_anime {
    0% {
      transform: scale(0, 0);
      opacity: 0;
      top: 150px;
    }
    80% {
      transform: scale(0, 0);
      opacity: 0;
      top: 150px;
    }
    100% {
      transform: scale(1, 1);
      top: 60px;
    }
  }
  .u_cap_anime {
    animation: u_cap_anime 0.6s ease-in-out 2s forwards;
  }
  @keyframes u_cap_anime {
    0% {
      transform: rotate(80deg);
      top: 285px;
    }
    100% {
      transform: rotate(30deg);
      top: 325px;
    }
  }
  .d_cap_anime {
    animation: d_cap_anime 0.6s ease-in-out 2s forwards;
  }
  @keyframes d_cap_anime {
    0% {
      transform: rotate(-80deg);
      top: 285px;
    }
    100% {
      transform: rotate(-30deg);
      top: 325px;
    }
  }
  main .gacha {
    width: 500px;
    height: 900px;
    padding-bottom: 200px;
  }
  main .gacha .g_wrapper {
    padding-top: 65px;
    width: 500px;
    height: 655px;
  }
  main .gacha .g_wrapper .g_thumbnail {
    padding: 10px 15px;
  }
  main .gacha .g_wrapper .g_thumbnail p {
    border-radius: 15px;
  }
  main .gacha .g_wrapper .g_body {
    width: 500px;
    height: 585px;
  }
  main .gacha .g_wrapper .g_body img.g_back {
    width: 500px;
    height: 500px;
  }
  main .gacha .g_wrapper .g_body ul.bt_area {
    top: 375px;
  }
  main .gacha .g_wrapper .g_body ul.bt_area li img.g_bt {
    width: 175px;
  }
  main .gacha .g_wrapper .g_body ul.bt_area li p {
    font-size: 18px;
    padding: 5px;
    line-height: 22.5px;
    text-shadow: 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff;
  }
  main .gacha .g_wrapper .g_body ul.bt_area li p img {
    height: 20px;
    text-shadow: 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff, 0 0 4px #ffffff;
  }
  main .gacha .g_wrapper .g_body ul.bt_area li p span {
    font-size: 15px;
    font-weight: bold;
    padding: 0 2.5px;
  }
  main .gacha .g_wrapper .g_body ul.bt_area li:nth-child(n + 2) {
    padding-left: 25px;
  }
  main .gacha .g_wrapper .g_body .g_menu {
    width: 500px;
    padding: 12.5px 0;
  }
  main .gacha .g_wrapper .g_body .g_menu span {
    font-size: 18.5px;
    line-height: 18.5px;
    padding-bottom: 10px;
    text-shadow: 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 3px #ffffff;
  }
  main .gacha .g_wrapper .g_body .g_menu p img {
    height: 30px;
    border-radius: 10px;
  }
  header.contact_head img.topboder {
    width: 470px;
    left: 15px;
  }
  header.contact_head div.title_img {
    width: 230px;
    bottom: 17.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  main.contact,
  .information {
    padding-bottom: 125px;
  }
  main.contact section.info_wrapper div.info_details,
  .information section.info_wrapper div.info_details {
    margin-top: 30px;
    margin-bottom: 125px;
    padding: 25px 25px;
    width: 390px;
  }
  main.contact section.info_wrapper div.info_details img.caption,
  .information section.info_wrapper div.info_details img.caption {
    top: -35px;
    left: -20px;
    width: 80px;
  }
  main.contact section.info_wrapper div.info_details p.title,
  .information section.info_wrapper div.info_details p.title {
    font-size: 21.5px;
    line-height: 1.5em;
    padding: 15px 0 10px;
    border-bottom: 1px solid #beceda;
  }
  main.contact section.info_wrapper div.info_details p.type,
  .information section.info_wrapper div.info_details p.type {
    padding: 7.5px 10px;
    border-radius: 10px;
    font-size: 15px;
  }
  main.contact section.info_wrapper div.info_details p.time,
  .information section.info_wrapper div.info_details p.time {
    font-size: 17.5px;
  }
  main.contact section.info_wrapper div.info_details div.detail_text,
  .information section.info_wrapper div.info_details div.detail_text {
    padding: 25px 0 50px;
    line-height: 1.5em;
    font-size: 21.5px;
  }
  main.contact section.info_list,
  .information section.info_list {
    padding: 15px;
  }
  main.contact section.info_list ul,
  .information section.info_list ul {
    padding: 0 0 120px;
    width: 465px;
  }
  main.contact section.info_list ul li,
  .information section.info_list ul li {
    margin-bottom: 15px;
    padding: 12.5px;
    height: 125.5px;
    width: 465px;
  }
  main.contact section.info_list ul li div.message,
  .information section.info_list ul li div.message {
    width: 325px;
    height: 100px;
  }
  main.contact section.info_list ul li div.message p.time,
  .information section.info_list ul li div.message p.time {
    font-size: 17px;
    line-height: 30px;
    padding: 0 5px 0 0;
  }
  main.contact section.info_list ul li div.message p.text,
  .information section.info_list ul li div.message p.text {
    line-height: 30px;
    padding: 10px 5px 0 0;
    font-size: 21.5px;
  }
  main.contact section.info_list ul li figure,
  .information section.info_list ul li figure {
    height: 100px;
    width: 100px;
  }
  main.contact section.info_list ul li figure::before,
  .information section.info_list ul li figure::before {
    height: 100px;
    width: 100px;
    bottom: -50px;
    left: -50px;
  }
  main.contact section.linkage,
  .information section.linkage {
    margin-top: 25px;
    padding: 0 25px;
  }
  main.contact section.linkage input,
  .information section.linkage input {
    line-height: 2em;
    border-radius: 10px;
    width: 400px;
    height: 61px;
    font-size: 23px;
    padding: 7.5px 25px;
    margin: 10px auto;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) inset;
  }
  main.contact section.leave,
  .information section.leave {
    margin-top: 25px;
    padding: 0 25px;
  }
  main.contact section.leave p.leave_caption,
  .information section.leave p.leave_caption {
    border-radius: 10px 10px 0 0;
    font-size: 30px;
    padding: 10px;
    line-height: 1.5em;
  }
  main.contact section.leave div.leave_text,
  .information section.leave div.leave_text {
    border-radius: 0 0 10px 10px ;
    font-size: 17.5px;
    padding: 15px 15px;
    line-height: 1.5em;
  }
  main.contact section.leave div.leave_text p.leave_input,
  .information section.leave div.leave_text p.leave_input {
    font-size: 20px;
    padding: 10px;
    line-height: 2em;
    margin: 10px 0;
  }
  main.contact section.leave div.leave_text p.leave_input input,
  .information section.leave div.leave_text p.leave_input input {
    top: 0.2em;
  }
  main.contact section.leave div.leave_text p.leave_check,
  .information section.leave div.leave_text p.leave_check {
    font-size: 20px;
    padding: 10px;
    line-height: 2em;
    margin: 10px 0;
    border-radius: 7.5px;
  }
  main.contact section.leave div.leave_text p.leave_bt,
  .information section.leave div.leave_text p.leave_bt {
    border-radius: 15px;
    font-size: 20px;
    padding: 15px;
    line-height: 1.5em;
    width: 300px;
    margin: 25px auto 15px;
  }
  main.contact ul.info_menu,
  .information ul.info_menu {
    width: 470px;
    margin: 15px auto 0;
  }
  main.contact ul.info_menu li,
  .information ul.info_menu li {
    border-radius: 15px 0 0;
    margin-bottom: 15px;
  }
  main.contact ul.info_menu li p,
  .information ul.info_menu li p {
    padding: 17.5px 15px 17.5px;
  }
  main section.contact_bt {
    width: 500px;
  }
  main section.contact_bt span {
    top: -5px;
    right: 15px;
    width: 50px;
    height: 50px;
    line-height: 22.5px;
    font-size: 22.5px;
  }
  main section.c_details {
    padding: 15px 15px 465px;
  }
  main section.c_details ul.c_thread li {
    margin-bottom: 20px;
  }
  main section.c_details ul.c_thread li p.text {
    border-radius: 15px;
    padding: 15px;
    width: 465px;
    line-height: 1.3em;
    font-size: 20.25px;
  }
  main section.c_details ul.c_thread li p.time {
    padding-top: 5px;
    font-size: 15px;
  }
  main section.c_details ul.c_thread li.reply p.text {
    width: 415px;
  }
  main section.c_details ul.c_thread li.reply::before {
    left: -5px;
    height: 55px;
    width: 55px;
  }
  main section.help_index {
    padding: 15px;
  }
  main section.help_list {
    padding: 15px 15px 125px;
  }
  main section.contact_index {
    padding: 15px;
  }
  main section.contact_index ul.contact_list {
    width: 470px;
    padding-bottom: 25px;
    padding-bottom: 125px;
  }
  main section.contact_index ul.contact_list li {
    border-radius: 15px 0 15px;
    font-size: 21px;
    line-height: 1.3em;
    margin: 0 0 10px;
    padding: 17.5px 12.5px;
  }
  /*ボックス全体*/
  .accbox {
    padding-bottom: 125px;
  }
  .accbox label {
    border-radius: 15px 0 0;
    font-size: 21px;
    line-height: 1.3em;
    margin-top: 10px;
    padding: 17.5px 35px 17.5px 42.5px;
    text-indent: -32.5px;
  }
  .accbox label img {
    height: 25px;
    padding-right: 5px;
  }
  .accbox label:after {
    right: 5px;
    top: 10px;
    height: 40px;
    width: 40px;
  }
  .accbox .accshow img {
    height: 25px;
    padding-right: 5px;
  }
  .accbox .cssacc:checked + label + .accshow {
    padding: 17.5px 10px 17.5px 42.5px;
    font-size: 21px;
    text-indent: -32.5px;
  }
  /*help_ボックス全体*/
  .help_accbox,
  .help_accbox2,
  .help_accbox3,
  .help_accbox4,
  .help_accbox5,
  .help_accbox6,
  .help_accbox7 {
    padding-bottom: 20px;
    /*クリックで中身表示*/
  }
  .help_accbox label,
  .help_accbox2 label,
  .help_accbox3 label,
  .help_accbox4 label,
  .help_accbox5 label,
  .help_accbox6 label,
  .help_accbox7 label {
    font-size: 22.5px;
    line-height: 1.3em;
    padding: 17.5px 35px 17.5px 42.5px;
    border-top: #eeeeee 1px solid;
    text-indent: 40px;
  }
  .help_accbox label img,
  .help_accbox2 label img,
  .help_accbox3 label img,
  .help_accbox4 label img,
  .help_accbox5 label img,
  .help_accbox6 label img,
  .help_accbox7 label img {
    width: 90px;
    padding-right: 5px;
  }
  .help_accbox label:after,
  .help_accbox2 label:after,
  .help_accbox3 label:after,
  .help_accbox4 label:after,
  .help_accbox5 label:after,
  .help_accbox6 label:after,
  .help_accbox7 label:after {
    right: 5px;
    top: 10px;
    height: 40px;
    width: 40px;
  }
  .help_accbox .accshow label,
  .help_accbox2 .accshow label,
  .help_accbox3 .accshow label,
  .help_accbox4 .accshow label,
  .help_accbox5 .accshow label,
  .help_accbox6 .accshow label,
  .help_accbox7 .accshow label {
    font-size: 21px;
    line-height: 1.3em;
    padding: 17.5px 15px 17.5px;
    text-indent: 45px;
  }
  .help_accbox .accshow label img,
  .help_accbox2 .accshow label img,
  .help_accbox3 .accshow label img,
  .help_accbox4 .accshow label img,
  .help_accbox5 .accshow label img,
  .help_accbox6 .accshow label img,
  .help_accbox7 .accshow label img {
    bottom: 15px;
    left: 20px;
    width: 35px;
    padding-right: 5px;
  }
  .help_accbox .accshow label:after,
  .help_accbox2 .accshow label:after,
  .help_accbox3 .accshow label:after,
  .help_accbox4 .accshow label:after,
  .help_accbox5 .accshow label:after,
  .help_accbox6 .accshow label:after,
  .help_accbox7 .accshow label:after {
    right: 5px;
    top: 10px;
    height: 40px;
    width: 40px;
  }
  .help_accbox .cssacc:checked + label + .accshow,
  .help_accbox2 .cssacc:checked + label + .accshow,
  .help_accbox3 .cssacc:checked + label + .accshow,
  .help_accbox4 .cssacc:checked + label + .accshow,
  .help_accbox5 .cssacc:checked + label + .accshow,
  .help_accbox6 .cssacc:checked + label + .accshow,
  .help_accbox7 .cssacc:checked + label + .accshow {
    font-size: 21px;
  }
  .help_accbox .cssacc2:checked + label + .accshow2,
  .help_accbox2 .cssacc2:checked + label + .accshow2,
  .help_accbox3 .cssacc2:checked + label + .accshow2,
  .help_accbox4 .cssacc2:checked + label + .accshow2,
  .help_accbox5 .cssacc2:checked + label + .accshow2,
  .help_accbox6 .cssacc2:checked + label + .accshow2,
  .help_accbox7 .cssacc2:checked + label + .accshow2 {
    padding: 17.5px;
    font-size: 17.5px;
    margin: 0 15px 15px;
    box-shadow: 0px 0px 10px 5px #e6d9d9 inset;
    border-radius: 10px;
  }
  div.send_effect {
    top: -200px;
    height: 200px;
    width: 450px;
  }
  div.send_effect .effect_wrapper div.text {
    top: -50px;
    left: 100px;
    width: 300px;
  }
  div.send_effect .effect_wrapper p span {
    width: 20px;
    height: 20px;
  }
  div.send_effect .effect_wrapper .heart2 {
    width: 31px;
    height: 31px;
  }
  div.send_effect .effect_wrapper .heart3 {
    width: 40px;
    height: 40px;
  }
  div.send_effect .effect_wrapper .heart4 {
    width: 20px;
    height: 20px;
  }
  div.send_effect2 {
    top: -200px;
    height: 200px;
    width: 500px;
  }
  div.send_effect2 .effect_wrapper div.text {
    top: -50px;
    left: 100px;
    width: 300px;
  }
  div.back_image {
    top: -900px;
    left: -250px;
    width: 1000px;
    height: 2700px;
  }
  .heart1_move {
    left: 150px;
    top: -40px;
  }
  .heart2_move {
    left: 185px;
    top: -60px;
  }
  .heart3_move {
    left: 100px;
    top: -35px;
  }
  .heart4_move {
    left: 125px;
    top: -80px;
  }
  .heart5_move {
    left: 225px;
    top: -40px;
  }
  .heart6_move {
    left: 190px;
    top: -20px;
  }
  .heart7_move {
    left: 130px;
    top: 0px;
  }
  .heart8_move {
    left: 220px;
    top: 15px;
  }
  .heart9_move {
    left: 255px;
    top: -40px;
  }
  .heart10_move {
    left: 245px;
    top: -90px;
  }
  .heart11_move {
    left: 140px;
    top: 30px;
  }
  .heart12_move {
    left: 250px;
    top: 30px;
  }
  .heart13_move {
    left: 305px;
    top: -80px;
  }
  .heart14_move {
    left: 300px;
    top: 0px;
  }
  .heart15_move {
    left: 320px;
    top: -40px;
  }
  .heart16_move {
    left: 340px;
    top: -10px;
  }
  .heart17_move {
    left: 305px;
    top: 30px;
  }
  .heart18_move {
    left: 345px;
    top: -65px;
  }
  @keyframes overout {
    0% {
      left: 0;
    }
    100% {
      left: -550px;
    }
  }
  @keyframes send_effect_anime3 {
    0% {
      transform: scale(0, 0);
    }
    15% {
      transform: scale(1.2, 1.2);
    }
    18% {
      transform: scale(1, 1);
    }
    21% {
      transform: scale(1.2, 1.2);
    }
    24% {
      transform: scale(1, 1);
    }
    27% {
      transform: scale(1.2, 1.2);
    }
    90% {
      transform: scale(1.2, 1.2);
      opacity: 1;
      top: -50px;
      left: 100px;
    }
    100% {
      transform: scale(0, 0);
      opacity: 0;
    }
  }
  @keyframes send_effect_anime1 {
    0% {
      transform: scale(0, 0);
    }
    15% {
      transform: scale(1.2, 1.2);
    }
    18% {
      transform: scale(1, 1);
    }
    21% {
      transform: scale(1.2, 1.2);
    }
    24% {
      transform: scale(1, 1);
    }
    27% {
      transform: scale(1.2, 1.2);
    }
    90% {
      transform: scale(1.2, 1.2);
      opacity: 1;
      top: -50px;
      left: 100px;
    }
    100% {
      transform: scale(0.45, 0.45) rotate(360deg);
      opacity: 1;
      top: 45px;
      left: -75px;
    }
  }
  @keyframes up_action2 {
    0% {
      transform: scale(1, 1);
    }
    5.55% {
      transform: scale(1.1, 1.1);
    }
    11.1% {
      transform: scale(1, 1);
    }
    16.65% {
      transform: scale(1.1, 1.1);
    }
    27.75% {
      transform: scale(1, 1);
    }
    33.3% {
      transform: scale(1.1, 1.1);
    }
    38.85% {
      transform: scale(1, 1);
    }
    44.4% {
      transform: scale(1.1, 1.1);
    }
    50% {
      transform: scale(1, 1);
    }
    90% {
      transform: scale(1, 1);
      opacity: 1;
    }
    100% {
      transform: scale(0, 0) translateY(200px);
      opacity: 0;
    }
  }
  @keyframes wrapper_anime {
    0% {
      transform: scale(0, 0);
      top: 100px;
      left: 25px;
    }
    100% {
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart1_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 125px;
      left: 100px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart2_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 160px;
      left: 50px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart3_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 75px;
      left: 105px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart4_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 100px;
      left: 60px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart5_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 200px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart6_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 165px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart7_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 105px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart8_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 195px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart9_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 230px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart10_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 220px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart11_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 215px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart12_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 225px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart13_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 280px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart14_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 275px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart15_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 295px;
      left: 40px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart16_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 315px;
      left: 200px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart17_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 230px;
      left: 200px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart18_fade {
    0% {
      opacity: 0;
      transform: scale(0, 0);
      top: 320px;
      left: 200px;
    }
    100% {
      opacity: 1;
      transform: scale(1, 1);
      top: 0;
      left: 0;
    }
  }
  @keyframes heart1_move {
    0% {
      top: -40px;
      left: 150px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart2_move {
    0% {
      top: -60px;
      left: 185px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart3_move {
    0% {
      top: -35px;
      left: 100px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart4_move {
    0% {
      top: -80px;
      left: 125px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart5_move {
    0% {
      top: -40px;
      left: 225px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart6_move {
    0% {
      top: -20px;
      left: 190px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart7_move {
    0% {
      top: 0;
      left: 130px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart8_move {
    0% {
      top: 15px;
      left: 220px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart9_move {
    0% {
      top: -40px;
      left: 255px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart10_move {
    0% {
      top: -90px;
      left: 245px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart11_move {
    0% {
      top: 30px;
      left: 140px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart12_move {
    0% {
      top: 30px;
      left: 250px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart13_move {
    0% {
      top: -80px;
      left: 305px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart14_move {
    0% {
      top: 0vw;
      left: 300px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart15_move {
    0% {
      top: -40px;
      left: 320px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart16_move {
    0% {
      top: -10px;
      left: 340px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart17_move {
    0% {
      top: 30px;
      left: 305px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes heart18_move {
    0% {
      top: -65px;
      left: 345px;
      transform: scale(1, 1) rotate(0);
    }
    50% {
      transform: scale(0.6, 0.6);
    }
    70% {
      opacity: 1;
    }
    100% {
      top: 150px;
      left: 60px;
      transform: scale(0.2, 0.2);
      opacity: 0;
    }
  }
  @keyframes scroll_caption {
    0% {
      top: 25px;
    }
    50% {
      top: 35px;
    }
    100% {
      top: 25px;
    }
  }
  .not_payment_alert {
    height: 900px;
    width: 500px;
  }
  .not_payment_alert div.not_payment_inner {
    top: 900px;
    font-size: 20px;
  }
  .not_payment_alert div.not_payment_inner img.meme {
    top: -130px;
    left: 135px;
    width: 140px;
  }
  .not_payment_alert div.not_payment_inner div.alert::before {
    height: 25px;
    top: -22px;
  }
  .not_payment_alert div.not_payment_inner div.alert::after {
    height: 25px;
    bottom: -22px;
  }
  .not_payment_alert div.not_payment_inner div.alert {
    padding-bottom: 25px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.a_title {
    padding: 12.5px 0;
    font-size: 24px;
    margin: 15px 0 12.5px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.caution {
    margin: 10px auto 5px;
    padding: 10px;
    font-size: 17.5px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.caution span {
    padding-bottom: 10px;
    font-size: 20px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.a_text,
  .not_payment_alert div.not_payment_inner div.alert p.b_text,
  .not_payment_alert div.not_payment_inner div.alert p.c_text {
    padding: 10px 0 0;
    font-size: 15px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.a_text span,
  .not_payment_alert div.not_payment_inner div.alert p.b_text span,
  .not_payment_alert div.not_payment_inner div.alert p.c_text span {
    margin: 0 auto 5px;
    padding: 5px;
    font-size: 17px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.b_text,
  .not_payment_alert div.not_payment_inner div.alert p.c_text {
    margin: 5px auto 0;
  }
  .not_payment_alert div.not_payment_inner div.alert p.b_note {
    padding-top: 20px;
    font-size: 15px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.a_note {
    padding-top: 20px;
    font-size: 15px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.buttom {
    font-size: 20px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.buttom span.buy_diamond {
    font-size: 16.5px;
    top: 5px;
    padding: 20px 7.5px;
    margin-right: 7.5px;
    border-radius: 25px;
    width: 210px;
  }
  .not_payment_alert div.not_payment_inner div.alert p.buttom span.close {
    font-size: 16.5px;
    top: 5px;
    padding: 20px 7.5px;
    border-radius: 25px;
    width: 110px;
  }
  section.not_payment_buy {
    height: 900px;
    width: 500px;
    position: relative;
  }
  section.not_payment_buy .title_img {
    position: absolute;
    top: 0;
    width: 500px;
  }
  section.not_payment_buy .title_img img {
    width: 100%;
  }
  section.not_payment_buy ul.shop_list {
    margin: 275px 0 50px;
  }
  section.not_payment_buy ul.shop_list li {
    margin: 0 25px 25px;
  }
  section.not_payment_buy p.not_payment_buy_close {
    padding: 10px 20px;
    font-size: 17.5px;
    line-height: 20px;
    border-radius: 10px;
    width: 150px;
    margin: 0 175px 90px;
  }
  header.n_home .bg {
    bottom: 55px;
    left: 0;
    height: 208.5px;
    width: 500px;
  }
  header.n_home div.status_area {
    height: 45px;
    padding: 7.5px 10px 0 0;
  }
  header.n_home div.status_area p.u_status {
    font-size: 17px;
    line-height: 40px;
    padding: 0 5px;
  }
  header.n_home div.status_area p.u_status img {
    height: 40px;
  }
  header.n_home .logo_title {
    margin: 7.5px 0 0 2.5px;
    width: 204px;
    height: 37.5px;
  }
  header.n_home div.home_menu {
    height: 83px;
  }
  header.n_home div.home_menu div.bt img {
    width: 83px;
  }
  header.n_home div.home_menu span {
    top: 22.5px;
    right: 7.5px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    font-size: 15px;
  }
  main.n_home::-webkit-scrollbar,
  div.user_talk_text::-webkit-scrollbar,
  div.story_text::-webkit-scrollbar {
    width: 6px;
  }
  main.n_home::-webkit-scrollbar-track,
  div.user_talk_text::-webkit-scrollbar-track,
  div.story_text::-webkit-scrollbar-track {
    background-color: rgba(68, 42, 7, 0.25);
    border-radius: 3vw;
    animation: sc_anime3 2s ease-in-out infinite;
  }
  main.n_home::-webkit-scrollbar-thumb,
  div.user_talk_text::-webkit-scrollbar-thumb,
  div.story_text::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-color: #442a07;
  }
  main.n_home {
    padding-bottom: 150px;
    /* バナー本体 */
    /* バナー内コンテンツ */
  }
  main.n_home .girl_frame:before {
    top: -10px;
    left: -10px;
    width: 500px;
    height: 395px;
  }
  main.n_home .girl_frame {
    width: 480px;
    margin: 10px 10px 0;
    height: 375px;
  }
  main.n_home .girl_frame div.fab_level {
    font-size: 22px;
    bottom: 14px;
    left: 14.5px;
    width: 50px;
  }
  main.n_home .girl_frame div.fab_bg {
    bottom: 5px;
    left: 5px;
    width: 200px;
    height: 56.45px;
  }
  main.n_home .girl_frame div.fab_bg img {
    width: 200px;
  }
  main.n_home .girl_frame div.fab_score_bg {
    width: 145px;
    height: 22.5px;
    bottom: 15px;
    left: 52.5px;
    border-radius: 10px;
  }
  main.n_home .girl_frame div.fab_score_wrapper {
    width: 144px;
    height: 22.5px;
    bottom: 15px;
    left: 52.5px;
  }
  main.n_home .girl_frame div.g_changebt_wrapper {
    bottom: 7.5px;
    right: 5px;
  }
  main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt img {
    padding: 10px;
    width: 50px;
  }
  main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt:after {
    height: 50px;
    width: 50px;
  }
  main.n_home .girl_frame div.g_changebt_wrapper div.g_changebt::before {
    right: 2.5px;
    top: 2.5px;
    height: 50px;
    width: 50px;
  }
  main.n_home .girl_frame .chara {
    width: 480px;
    height: 375px;
  }
  main.n_home .girl_frame .chara .chara_body {
    top: -175px;
  }
  main.n_home .girl_frame .chara .chara_face {
    top: -175px;
  }
  main.n_home .title_caption {
    padding: 20px 0 12.5px;
  }
  main.n_home .title_caption img {
    height: 40px;
  }
  main.n_home ul.eventinfo_bunner li {
    padding-top: 20px;
  }
  main.n_home ul.eventinfo_bunner li:first-child {
    padding-top: 0;
  }
  main.n_home ul.help_menu {
    padding: 0 20px 15px 20px;
  }
  main.n_home ul.help_menu li {
    padding: 0 0 15px 0;
  }
  main.n_home section.news_list {
    padding: 0 15px 15px 15px;
  }
  main.n_home section.news_list ul {
    padding: 0 0 20px;
    width: 465px;
  }
  main.n_home section.news_list ul li {
    margin-bottom: 15px;
    padding: 12.5px;
    height: 125.5px;
    width: 465px;
  }
  main.n_home section.news_list ul li div.message {
    width: 325px;
    height: 100px;
  }
  main.n_home section.news_list ul li div.message p.time {
    font-size: 17px;
    line-height: 30px;
    padding: 0 5px 0 0;
  }
  main.n_home section.news_list ul li div.message p.text {
    line-height: 30px;
    padding: 10px 5px 0 0;
    font-size: 21.5px;
  }
  main.n_home section.news_list ul li figure {
    height: 100px;
    width: 100px;
  }
  main.n_home section.news_list ul li figure::before {
    height: 100px;
    width: 100px;
    bottom: -50px;
    left: -50px;
  }
  main.n_home .news_text:before {
    top: 20px;
    left: 89.5px;
    margin-top: -20px;
    border: 100px solid transparent;
    border-left: 10px solid #e4bfcc;
  }
  main.n_home .news_text:after {
    line-height: 40px;
    padding: 0 10px;
    font-size: 17.5px;
    height: 40px;
  }
  main.n_home .news_text {
    height: 40px;
  }
  main.n_home .news_text_content {
    line-height: 40px;
  }
  main.n_home .news_text_content p {
    line-height: 40px;
  }
  main.n_home .n_home_bunner .slick-next {
    right: 5px;
    height: 25px;
    width: 25px;
  }
  main.n_home .n_home_bunner .slick-prev {
    left: 5px;
    height: 25px;
    width: 25px;
  }
  main.n_home .n_home_bunner .slick-prev:before {
    font-size: 17.5px;
    line-height: 25px;
  }
  main.n_home .n_home_bunner .slick-next:before {
    font-size: 17.5px;
    line-height: 25px;
  }
  main.n_home .n_home_bunner .slick-dots {
    bottom: 15px;
  }
  footer.n_home .main_bt {
    height: 140px;
  }
  footer.n_home .main_bt .n_home_center_bt {
    left: 37%;
    width: 130px;
    height: 130px;
    font-size: 18px;
    letter-spacing: 0.5px;
  }
  footer.n_home .main_bt .n_home_center_bt span {
    top: 5px;
    right: 9.5px;
    width: 45px;
    height: 45px;
    line-height: 43px;
    font-size: 20px;
  }
  footer.n_home .left_bt {
    bottom: 5px;
    left: 10px;
    width: 170px;
  }
  footer.n_home .left_bt p.room_bt span {
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 19px;
  }
  footer.n_home .left_bt p.dressup_bt {
    margin-left: 2.5px;
  }
  footer.n_home .left_bt img {
    width: 70px;
    margin-left: 11.5px;
  }
  footer.n_home .right_bt {
    bottom: 5px;
    right: 10px;
    width: 170px;
  }
  footer.n_home .right_bt p.memorial_bt span {
    top: -10px;
    right: -2.5px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 19px;
  }
  footer.n_home .right_bt p.girls_bt {
    margin-right: 2.5px;
  }
  footer.n_home .right_bt img {
    width: 70px;
    margin-right: 11.5px;
  }
  footer.n_home .main_girls.active.fade_in {
    top: -260px;
  }
  footer.n_home .main_girls {
    position: absolute;
    top: 500px;
    width: 500px;
    height: 300px;
    margin-bottom: -90px;
    padding-bottom: 90px;
  }
  footer.n_home .main_girls .change_girls {
    width: 500px;
    padding: 15px 0 0;
  }
  footer.n_home .main_girls .change_girls p.change_close {
    width: 200px;
  }
  footer.n_home .main_girls .change_girls p.change_bt {
    width: 200px;
  }
  footer.n_home .main_girls .change_girls ul {
    width: 500px;
    height: 170px;
    padding: 10px 12.5px 0;
  }
  footer.n_home .main_girls .change_girls ul li {
    width: 127.5px;
    margin: 0 7.5px;
  }
  footer.n_home .main_girls .change_girls ul li figure {
    height: 137.5px;
    border-radius: 15px;
    margin-bottom: 5px;
  }
  footer.n_home .main_girls .change_girls ul li figure img {
    border-radius: 15px;
  }
  footer.n_home .main_girls .change_girls ul.change_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: -7.5px;
    background-size: 35px 35px;
  }
  footer.n_home .main_girls .change_girls ul.change_list li.lock::before {
    border-radius: 15px;
    background-color: rgba(17, 17, 17, 0.815);
    background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(31, 31, 31, 0.8)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(31, 31, 31, 0.8)), color-stop(0.75, rgba(31, 31, 31, 0.8)), color-stop(0.75, transparent), to(transparent));
    background-size: 7px 7px;
  }
  footer.n_home .main_girls .change_girls ul.change_list li.lock::after {
    top: 37.5px;
    right: 33.5px;
    height: 60px;
    width: 60px;
  }
  section.fav,
  section.fav_home {
    top: 12.5px;
    left: 1.5px;
  }
  section.fav div.fab_level,
  section.fav_home div.fab_level {
    font-size: 22px;
    bottom: 21.5px;
    left: 14.5px;
    width: 50px;
  }
  section.fav div.fab_bg,
  section.fav_home div.fab_bg {
    bottom: 5px;
    left: 5px;
    width: 200px;
    height: 56.45px;
  }
  section.fav div.fab_bg img,
  section.fav_home div.fab_bg img {
    width: 200px;
  }
  section.fav div.fab_score_bg,
  section.fav_home div.fab_score_bg {
    width: 145px;
    height: 22.5px;
    bottom: 12.5px;
    left: 55px;
    border-radius: 10px;
  }
  section.fav div.fab_score_wrapper,
  section.fav_home div.fab_score_wrapper {
    width: 144px;
    height: 22.5px;
    bottom: 12.5px;
    left: 55px;
  }
  section.log_img_wrapper {
    height: 900px;
    width: 500px;
  }
  section.log_img_wrapper div.log_img_inner {
    font-size: 20px;
    height: 100%;
    width: 100%;
  }
  section.log_img_wrapper div.log_img_inner img {
    height: 100%;
  }
  section.log_img_wrapper p.close_caption {
    bottom: 50px;
    border-radius: 50px;
    width: 250px;
    padding: 15px 20px;
    font-size: 19px;
    margin: 0 125px;
  }
  section.camp_dialog_wrapper {
    height: 900px;
    width: 500px;
  }
  section.camp_dialog_wrapper div.camp_dialog_inner {
    font-size: 20px;
    border-radius: 15px;
    padding-bottom: 10px;
  }
  section.camp_dialog_wrapper div.camp_dialog_inner p.caption {
    padding: 10px;
  }
  section.camp_dialog_wrapper div.camp_dialog_inner div.camp_close img {
    border-radius: 15px;
  }
  footer .contact_form {
    padding: 15px 10px 70px;
    margin-bottom: -60px;
  }
  footer .contact_form img.caption {
    width: 250px;
    padding: 10px 10px 5px ;
  }
  footer .contact_form p.text {
    font-size: 15px;
    padding: 10px 5px ;
  }
  footer .contact_form p.send_bt {
    width: 180px;
    margin: 5px auto;
  }
  footer .contact_form div.send_area {
    width: 430px;
    border: 2px dotted #b4c8d6;
    border-radius: 12.5px;
  }
  footer .contact_form div.send_area img.meme {
    width: 85px;
    bottom: -10px;
    right: -15px;
  }
  footer .contact_form div.send_area textarea {
    font-size: 23.5px;
    line-height: 1.6em;
    width: 430px;
    height: 154px;
    font-size: 21px;
    border-radius: 7.5px;
    padding: 10px 50px 10px 10px;
  }
  footer .contact_form div.send_area textarea.contact {
    width: 390px;
    margin: 5px 0 10px 5px;
  }
  footer .du_wrapper {
    width: 500px;
    height: 290px;
    margin-bottom: -90px;
    padding-bottom: 90px;
  }
  footer .du_wrapper .du_change {
    width: 500px;
    padding: 15px 0 0;
  }
  footer .du_wrapper .du_change .du_bt {
    width: 85px;
    margin: -10px auto 0;
    padding-bottom: 10px;
  }
  footer .du_wrapper .du_change ul {
    width: 500px;
    height: 185px;
    padding: 10px 12.5px 0;
  }
  footer .du_wrapper .du_change ul li {
    width: 112.5px;
    margin: 0 7.5px;
  }
  footer .du_wrapper .du_change ul li figure {
    height: 137.5px;
    border-radius: 15px;
    margin-bottom: 5px;
  }
  footer .du_wrapper .du_change ul li figure img {
    border-radius: 15px;
  }
  footer .du_wrapper .du_change ul::-webkit-scrollbar {
    height: 5px;
    display: block;
  }
  footer .du_wrapper .du_change ul::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 15px;
  }
  footer .du_wrapper .du_change ul::-webkit-scrollbar-thumb {
    border-radius: 15px;
    background-image: linear-gradient(180deg, rgba(192, 192, 192, 0.63) 0%, rgba(194, 194, 194, 0.69) 99%);
  }
  footer .du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: -7.5px;
    background-size: 35px 35px;
  }
  footer .du_wrapper .du_change ul.change_list li.lock::before {
    border-radius: 15px;
  }
  footer .du_wrapper .du_change ul.change_list li.lock::after {
    top: 45px;
    right: 27.5px;
    height: 55px;
    width: 55px;
  }
  footer .n_du_wrapper.active {
    height: 330px;
  }
  footer .n_du_wrapper {
    top: 290px;
    width: 500px;
    margin-bottom: -90px;
    padding-bottom: 90px;
  }
  footer .n_du_wrapper .n_du_select {
    top: -33px;
    width: 470px;
    padding: 0 15px;
  }
  footer .n_du_wrapper .n_du_select .change_bt {
    border-radius: 12.5px 12.5px 0 0;
    margin: 0 5px;
    font-size: 17px;
    padding: 8.75px 0;
    width: 130px;
  }
  footer .n_du_wrapper ul::-webkit-scrollbar {
    height: 9px;
    display: block;
  }
  footer .n_du_wrapper ul::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 15px;
  }
  footer .n_du_wrapper ul::-webkit-scrollbar-thumb {
    border-radius: 15px;
    background-color: rgba(94, 10, 45, 0.5);
  }
  footer .n_du_wrapper .du_change {
    width: 500px;
    padding: 15px 0 0;
  }
  footer .n_du_wrapper .du_change .du_bt {
    width: 85px;
    margin: -10px auto 0;
    padding-bottom: 10px;
  }
  footer .n_du_wrapper .du_change ul {
    width: 500px;
    height: 205px;
    padding: 10px 12.5px 0;
  }
  footer .n_du_wrapper .du_change ul li {
    width: 112.5px;
    margin: 0 7.5px;
  }
  footer .n_du_wrapper .du_change ul li figure {
    height: 137.5px;
    border-radius: 15px;
    margin-bottom: 5px;
  }
  footer .n_du_wrapper .du_change ul li figure img {
    border-radius: 15px;
  }
  footer .n_du_wrapper .du_change ul.g_list li figcaption {
    bottom: -25px;
    font-size: 15px;
    height: 25px;
    line-height: 25px;
  }
  footer .n_du_wrapper .du_change ul.change_list li figcaption {
    bottom: -25px;
    font-size: 15px;
    height: 25px;
    line-height: 25px;
  }
  footer .n_du_wrapper .du_change ul.change_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: -7.5px;
    background-size: 35px 35px;
  }
  footer .n_du_wrapper .du_change ul.change_list li.lock::after {
    top: 45px;
    right: 27.5px;
    height: 55px;
    width: 55px;
  }
  footer .n_du_wrapper .du_change ul.change_list li.lock::before {
    border-radius: 15px;
  }
  footer .dress_active .n_du_select .dress_bt:before {
    top: -15px;
    height: 40px;
    width: 40px;
  }
  footer .dress_active ul::-webkit-scrollbar {
    height: 9px;
    display: block;
  }
  footer .dress_active ul::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 15px;
  }
  footer .dress_active ul::-webkit-scrollbar-thumb {
    border-radius: 15px;
    background-color: rgba(94, 10, 45, 0.5);
  }
  footer .face_active .n_du_select .face_bt:before {
    top: -15px;
    height: 40px;
    width: 40px;
  }
  footer .face_active ul::-webkit-scrollbar {
    height: 9px;
    display: block;
  }
  footer .face_active ul::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 15px;
  }
  footer .face_active ul::-webkit-scrollbar-thumb {
    border-radius: 15px;
    background-color: rgba(94, 44, 10, 0.5);
  }
  footer .bg_active .n_du_select .bg_bt:before {
    top: -15px;
    height: 40px;
    width: 40px;
  }
  footer .bg_active ul::-webkit-scrollbar {
    height: 9px;
    display: block;
  }
  footer .bg_active ul::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 15px;
  }
  footer .bg_active ul::-webkit-scrollbar-thumb {
    border-radius: 15px;
    background-color: rgba(10, 23, 94, 0.5);
  }
  main.du_main .dress_preview {
    width: 100px;
    left: -425px;
    top: 160px;
  }
  main.du_main .dress_preview p {
    width: 60px;
    border-radius: 0 12.5px 12.5px 0;
    padding: 5px;
  }
  main.du_main .dress_preview figure {
    margin-top: 12.5px;
    border-radius: 0 12.5px 12.5px 0;
    padding: 7.5px;
    height: 125px;
    width: 100px;
  }
  main.du_main .dress_preview figure.lock {
    position: relative;
  }
  main.du_main .dress_preview figure.lock::before {
    border-radius: 0 12.5px 12.5px 0;
  }
  main.du_main .dress_preview figure.lock::after {
    top: 30px;
    right: 25px;
    height: 55px;
    width: 55px;
  }
  main.du_main .bg_preview {
    width: 100px;
    right: -425px;
    top: 160px;
  }
  main.du_main .bg_preview p {
    width: 60px;
    border-radius: 12.5px 0 0 12.5px;
    padding: 5px;
    margin-bottom: 12.5px;
  }
  main.du_main .bg_preview figure {
    margin-top: 12.5px;
    border-radius: 12.5px 0 0 12.5px;
    padding: 7.5px;
    height: 125px;
    width: 100px;
  }
  main.du_main .bg_preview figure.lock {
    position: relative;
  }
  main.du_main .bg_preview figure.lock::before {
    border-radius: 12.5px 0 0 12.5px;
  }
  main.du_main .bg_preview figure.lock::after {
    top: 30px;
    right: 20px;
    height: 55px;
    width: 55px;
  }
  main.du_main.new_dressup .face_preview {
    width: 100px;
    left: -425px;
    top: 125px;
  }
  main.du_main.new_dressup .face_preview p {
    font-size: 16px;
    top: -12.5px;
    width: 75px;
    height: 25px;
    line-height: 25px;
    border-radius: 0 10px 0 0;
  }
  main.du_main.new_dressup .face_preview figure {
    margin-top: 12.5px;
    border-radius: 0 12.5px 12.5px 0;
    padding: 7.5px;
    width: 100px;
    height: 110px;
  }
  main.du_main.new_dressup .face_preview figure.lock::before {
    border-radius: 0 12.5px 12.5px 0;
    background-size: 7px 7px;
  }
  main.du_main.new_dressup .face_preview figure.lock::after {
    top: 30px;
    right: 25px;
    height: 55px;
    width: 55px;
  }
  main.du_main.new_dressup .dress_preview {
    width: 100px;
    left: -425px;
    top: 285px;
  }
  main.du_main.new_dressup .dress_preview p {
    font-size: 16px;
    top: -11.5px;
    width: 75px;
    height: 25px;
    line-height: 25px;
    border-radius: 0 10px 0 0;
  }
  main.du_main.new_dressup .dress_preview figure {
    margin-top: 12.5px;
    border-radius: 0 12.5px 12.5px 0;
    padding: 7.5px;
    width: 100px;
    height: 110px;
  }
  main.du_main.new_dressup .dress_preview figure img {
    bottom: -10px;
  }
  main.du_main.new_dressup .dress_preview figure.lock::before {
    border-radius: 0 12.5px 12.5px 0;
  }
  main.du_main.new_dressup .dress_preview figure.lock::after {
    top: 30px;
    right: 25px;
    height: 55px;
    width: 55px;
  }
  main.du_main.new_dressup .bg_preview {
    width: 100px;
    right: -425px;
    top: 125px;
  }
  main.du_main.new_dressup .bg_preview p {
    font-size: 16px;
    top: -11.5px;
    width: 75px;
    height: 25px;
    line-height: 25px;
    border-radius: 10px 0 0 0;
  }
  main.du_main.new_dressup .bg_preview figure {
    margin-top: 12.5px;
    border-radius: 12.5px 0 0 12.5px;
    padding: 7.5px;
    width: 100px;
    height: 125px;
  }
  main.du_main.new_dressup .bg_preview figure.lock::before {
    border-radius: 12.5px 0 0 12.5px;
  }
  main.du_main.new_dressup .bg_preview figure.lock::after {
    top: 30px;
    right: 20px;
    height: 55px;
    width: 55px;
  }
  header.info_head .topboder div.title_img {
    width: 230px;
    bottom: 7.5px;
    left: 135px;
    font-size: 15px;
    line-height: 15px;
  }
  header.info_head .controller .back_bt p {
    top: 17.5px;
    left: 25px;
    width: 25px;
    height: 25px;
    border-top: 2px solid #1963b2;
    border-left: 2px solid #1963b2;
  }
  header.info_head .controller .i_nav_bt {
    width: 65px;
    height: 65px;
  }
  header.info_head .controller .i_nav_bt .c-trig span {
    left: 8.5px;
    width: 45px;
    height: 2px;
    border-radius: 4px;
  }
  header.info_head .controller .i_nav_bt .c-trig span:nth-of-type(1) {
    top: 30px;
  }
  header.info_head .controller .i_nav_bt .c-trig span:nth-of-type(2) {
    top: 30px;
  }
  header.info_head .controller .i_nav_bt .m-trigger span {
    left: 11px;
    width: 40px;
    height: 2px;
    border-radius: 4px;
  }
  header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(1) {
    top: 16px;
  }
  header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(2) {
    top: 30px;
  }
  header.info_head .controller .i_nav_bt .m-trigger span:nth-of-type(3) {
    bottom: 16px;
  }
  @keyframes next_anime {
    0% {
      transform: translate(0, 0px);
    }
    50% {
      transform: translate(0, 5px);
    }
    100% {
      transform: translate(0, 0px);
    }
  }
  @keyframes auto_reply {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(5px, 0);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  footer.scenario .reply_bt {
    top: 750px;
    margin-top: -25px;
    padding-bottom: 20px;
  }
  footer.scenario .reply_bt p img {
    width: 200px;
  }
  footer.scenario .reply_bt p:before {
    top: 11px;
    right: 15px;
    width: 25px;
    height: 25px;
  }
  footer.scenario .reply_bt.waiting p {
    font-size: 17px;
    line-height: 35px;
  }
  footer.scenario .reply_bt.waiting p img {
    width: 55px;
  }
  footer.scenario .reply_bt.waiting p span.batch {
    top: -12.5px;
    right: -15px;
    font-size: 15px;
    line-height: 15px;
    height: 25px;
    width: 25px;
    padding: 5px 5px;
  }
  footer.scenario .talk_option {
    right: 5px;
    width: 45px;
    top: 235px;
  }
  footer.scenario .talk_option p.bt {
    margin: 0 0 5px 0;
    padding: 7.5px;
    border-radius: 10px;
    font-size: 19px;
    line-height: 27.5px;
  }
  footer.scenario .talk_option p.bt img {
    width: 27.5px;
  }
  footer.scenario .talk_option.inactive {
    top: 700px;
  }
  footer.scenario .talk_option.inactive.none {
    display: none;
  }
  footer.scenario .backdrop.active {
    top: -30px;
  }
  footer.scenario .backdrop {
    width: 1000px;
    height: 900px;
    top: 750px;
    left: -250px;
  }
  footer.scenario .reply {
    top: -15px;
    width: 400px;
    padding-bottom: 5px;
    font-size: 22.5px;
  }
  footer.scenario .reply p.t_time {
    font-size: 17.5px;
    line-height: 42.5px;
    padding-right: 20px;
  }
  footer.scenario p.next_bt {
    margin-top: 25px;
    height: 40px;
  }
  footer.scenario p.next_bt img {
    width: 50px;
  }
  footer.scenario .text_area {
    top: 750px;
    height: 245px;
  }
  footer.scenario .text_area .level_area {
    width: 110px;
    height: 100px;
    top: -95px;
    left: 15px;
  }
  footer.scenario .text_area .level_area div.favorability {
    margin: 10px;
    width: 90px;
    height: 80px;
  }
  footer.scenario .text_area .level_area div.favorability .measure {
    width: 110px;
    height: 80px;
    left: -10px;
    border-bottom-right-radius: 50% 5px;
    border-bottom-left-radius: 50% 5px;
  }
  footer.scenario .text_area .level_area div.favorability p.level {
    font-size: 37.5px;
    top: -2.5px;
  }
  footer.scenario .text_area p {
    font-size: 22.5px;
    line-height: 40px;
  }
  footer.scenario .text_area div.talk_wr {
    padding-top: 21px;
  }
  footer.scenario .text_area div.talk_wr .image-caption {
    top: -60px;
    right: -47.5px;
  }
  footer.scenario .text_area div.talk_wr .image-caption img {
    width: 170px;
  }
  footer.scenario .text_area div.talk_wr .scroll-caption {
    top: 25px;
    left: 10px;
  }
  footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down {
    width: 70px;
  }
  footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line01 {
    height: 1.75px;
    width: 50px;
  }
  footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line01::before {
    bottom: 1px;
    right: 50px;
    width: 12.5px;
    height: 1.75px;
  }
  footer.scenario .text_area div.talk_wr .scroll-caption .scroll-down .line02 {
    width: 12.5px;
    height: 1.75px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar {
    width: 8px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar-track {
    border-radius: 15px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text::-webkit-scrollbar-thumb {
    border-radius: 15px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 157.5px;
  }
  footer.scenario .text_area div.talk_wr div.user_talk_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 157.5px;
  }
  footer.scenario .text_area div.talk_wr div.story_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 157.5px;
  }
  footer.scenario .text_area div.talk_wr div.story_text span {
    font-size: 22.5px;
    line-height: 40px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text .action_bt,
  footer.scenario .text_area div.talk_wr div.user_talk_text .action_bt,
  footer.scenario .text_area div.talk_wr div.story_text .action_bt {
    margin: 20px auto;
    width: 190px;
  }
  footer.scenario .text_area div.talk_wr div.talk_text .action_bt img,
  footer.scenario .text_area div.talk_wr div.user_talk_text .action_bt img,
  footer.scenario .text_area div.talk_wr div.story_text .action_bt img {
    padding-left: 20px;
  }
  footer.scenario .text_area p.t_name {
    font-size: 17.5px;
    line-height: 17.5px;
    padding-top: 10px;
    padding-right: 5px;
  }
  footer.scenario .text_area p.t_time {
    font-size: 17.5px;
    line-height: 42.5px;
    padding-left: 20px;
    height: 42.5px;
    width: 165px;
  }
  footer.scenario .text_area p.f_next_bt {
    margin-top: -15px;
    height: 40px;
  }
  footer.scenario .text_area p.f_next_bt img {
    width: 50px;
  }
  footer.scenario .content_area p.face {
    width: 100px;
    margin-left: 50px;
    margin-top: -55px;
  }
  footer.scenario .content_area div.talk_textarea {
    width: 375px;
    height: 135px;
    margin: 0 35px 35px;
    padding: 22.5px 20px 22.5px 35px;
    border-radius: 15px;
  }
  footer.scenario .content_area div.talk_textarea p.text {
    height: 115px;
    font-size: 22.5px;
    padding-right: 15px;
    text-shadow: 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
  }
  footer.scenario .content_area div.talk_textarea p.next {
    border: 22.5px solid transparent;
    border-top: 17.5px solid #3f3f3f;
    width: 10px;
    margin: 15px auto 0;
  }
  footer.scenario .t_item_wrapper.active {
    bottom: 150px;
  }
  footer.scenario .t_item_wrapper {
    bottom: -650px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner,
  footer.scenario .t_item_wrapper .t_item_inner {
    width: 500px;
    height: 300px;
    padding-bottom: 25px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner .title,
  footer.scenario .t_item_wrapper .t_item_inner .title {
    height: 55px;
    padding: 15px 0 7.5px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner .close_bt,
  footer.scenario .t_item_wrapper .t_item_inner .close_bt {
    top: -5px;
    height: 70px;
    padding: 20px 0 10px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner .tm_bt,
  footer.scenario .t_item_wrapper .t_item_inner .tm_bt {
    width: 130px;
    margin: 10px auto 0;
  }
  footer.scenario .t_item_wrapper .t_shop_inner div.option_bt,
  footer.scenario .t_item_wrapper .t_item_inner div.option_bt {
    bottom: 17.5px;
    right: 10px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner div.option_bt img,
  footer.scenario .t_item_wrapper .t_item_inner div.option_bt img {
    width: 45px;
    padding-left: 2.5px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar {
    height: 5px;
    display: block;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar-track,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 3vw;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar-thumb,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-image: linear-gradient(180deg, rgba(192, 192, 192, 0.43) 0%, rgba(194, 194, 194, 0.49) 99%);
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list {
    width: 500px;
    height: 245px;
    padding: 10px 14.5px 10px;
    margin-top: 10px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li {
    width: 135px;
    height: 202.5px;
    margin: 0 10px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li figure,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li figure {
    height: 155px;
    padding: 10px 0;
    border-radius: 10px;
    margin-bottom: 5px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p.price,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p.price,
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li .poss,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li .poss {
    top: 122.5px;
    right: 5px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 6.25px 6.25px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p.price img,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p.price img,
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li .poss img,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li .poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure::before,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: 2.5px;
    background-size: 35px 35px;
  }
  footer.scenario .t_item_wrapper .t_shop_inner ul.shop_list li p,
  footer.scenario .t_item_wrapper .t_item_inner ul.shop_list li p {
    font-size: 15px;
    padding: 5px;
  }
  footer.free_talk .reply_bt {
    top: 750px;
    margin-top: -25px;
    padding-bottom: 20px;
  }
  footer.free_talk .reply_bt p img {
    width: 200px;
  }
  footer.free_talk .reply_bt p span.batch {
    top: -12.5px;
    right: -15px;
    font-size: 15px;
    line-height: 17px;
    height: 30px;
    width: 30px;
    padding: 5px 5px;
  }
  footer.free_talk .reply_bt p:before {
    top: 11px;
    right: 15px;
    width: 25px;
    height: 25px;
  }
  footer.free_talk .reply_bt.active.waiting {
    top: 0;
    margin-top: -25px;
    padding-bottom: 20px;
  }
  footer.free_talk .reply_bt.active.waiting p img {
    width: 200px;
  }
  footer.free_talk .reply_bt.active.waiting p img.span_image {
    width: 50px;
    bottom: -25px;
    left: -50px;
  }
  footer.free_talk .reply_bt.active.waiting p span {
    position: absolute;
    bottom: -1.3em;
    color: #666;
    left: 5px;
    width: 250px;
    text-align: left;
    font-size: 0.8em;
    letter-spacing: 0.1em;
    text-shadow: 0 0 8px #ffffff;
  }
  footer.free_talk .reply_bt.active.waiting p:before {
    top: 11px;
    right: 15px;
    width: 25px;
    height: 25px;
  }
  footer.free_talk .reply_bt.active.next_bt {
    margin-top: -75px;
    padding-bottom: 20px;
  }
  footer.free_talk .talk_option {
    right: 17px;
    width: 45px;
    top: 274px;
  }
  footer.free_talk .talk_option p {
    margin: 0 0 5px 0;
    padding: 7.5px;
    border-radius: 10px;
    font-size: 19px;
    line-height: 27.5px;
  }
  footer.free_talk .talk_option p img {
    width: 45px;
  }
  footer.free_talk .talk_option p.log_open {
    position: relative;
  }
  footer.free_talk .talk_option p.log_open span {
    top: 0px;
    right: 2px;
    width: 20px;
    height: 20px;
    line-height: 25px;
  }
  footer.free_talk .talk_option.inactive {
    top: 700px;
  }
  footer.free_talk .talk_option.inactive.none {
    display: none;
  }
  footer.free_talk .backdrop.active {
    top: -30px;
  }
  footer.free_talk .backdrop {
    width: 1000px;
    height: 900px;
    top: 750px;
    left: -250px;
  }
  footer.free_talk .reply {
    top: -15px;
    width: 400px;
    padding-bottom: 5px;
    font-size: 22.5px;
  }
  footer.free_talk .reply p.t_time {
    font-size: 17.5px;
    line-height: 42.5px;
    padding-right: 20px;
  }
  footer.free_talk p.next_bt {
    height: 40px;
  }
  footer.free_talk p.next_bt img {
    width: 50px;
  }
  footer.free_talk .text_area.active {
    top: 45px;
  }
  footer.free_talk .text_area {
    top: 750px;
    height: 312.5px;
  }
  footer.free_talk .text_area .level_area {
    width: 110px;
    height: 100px;
    top: -95px;
    left: 15px;
  }
  footer.free_talk .text_area .level_area div.favorability {
    margin: 10px;
    width: 90px;
    height: 80px;
  }
  footer.free_talk .text_area .level_area div.favorability .measure {
    width: 110px;
    height: 80px;
    left: -10px;
    border-bottom-right-radius: 50% 5px;
    border-bottom-left-radius: 50% 5px;
  }
  footer.free_talk .text_area .level_area div.favorability p.level {
    font-size: 37.5px;
    top: -2.5px;
  }
  footer.free_talk .text_area p {
    font-size: 22.5px;
    line-height: 40px;
  }
  footer.free_talk .text_area div.talk_wr {
    padding-top: 21px;
  }
  footer.free_talk .text_area div.talk_wr .image-caption {
    top: -60px;
    right: -47.5px;
  }
  footer.free_talk .text_area div.talk_wr .image-caption img {
    width: 170px;
  }
  footer.free_talk .text_area div.talk_wr .scroll-caption {
    top: 25px;
    left: 10px;
  }
  footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down {
    width: 70px;
  }
  footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line01 {
    height: 1.75px;
    width: 50px;
  }
  footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line01::before {
    bottom: 1px;
    right: 50px;
    width: 12.5px;
    height: 1.75px;
  }
  footer.free_talk .text_area div.talk_wr .scroll-caption .scroll-down .line02 {
    width: 12.5px;
    height: 1.75px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar {
    width: 8px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar-track {
    border-radius: 15px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text::-webkit-scrollbar-thumb {
    border-radius: 15px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 197.5px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li {
    margin-bottom: 25px;
    padding: 15px 20px;
    border-radius: 15px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li p {
    line-height: 35px;
    font-size: 20px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk {
    min-height: 115px;
    width: 375px;
    padding: 15px 25px 20px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk p {
    width: 325px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area {
    bottom: 15px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.msg_open {
    margin: 0 2.5px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.msg_open img {
    width: 140px;
    border-radius: 10px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.img_open {
    margin: 0 2.5px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.img_open img {
    width: 140px;
    border-radius: 10px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.unopened {
    margin: 0 2.5px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text ul.talk_details li.talk div.bt_area div.unopened img {
    width: 155px;
    border-radius: 10px;
  }
  footer.free_talk .text_area div.talk_wr div.user_talk_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 157.5px;
  }
  footer.free_talk .text_area div.talk_wr div.story_text {
    padding: 0 10px 0 35px;
    margin-left: 40px;
    font-size: 23px;
    width: 385px;
    height: 157.5px;
  }
  footer.free_talk .text_area div.talk_wr div.story_text span {
    font-size: 22.5px;
    line-height: 40px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text .action_bt,
  footer.free_talk .text_area div.talk_wr div.user_talk_text .action_bt,
  footer.free_talk .text_area div.talk_wr div.story_text .action_bt {
    margin: 20px auto;
    width: 190px;
  }
  footer.free_talk .text_area div.talk_wr div.talk_text .action_bt img,
  footer.free_talk .text_area div.talk_wr div.user_talk_text .action_bt img,
  footer.free_talk .text_area div.talk_wr div.story_text .action_bt img {
    padding-left: 20px;
  }
  footer.free_talk .text_area p.f_next_bt {
    margin-top: -15px;
    height: 40px;
  }
  footer.free_talk .text_area p.f_next_bt img {
    width: 50px;
  }
  footer.free_talk .content_area p.face {
    width: 100px;
    margin-left: 50px;
    margin-top: -55px;
  }
  footer.free_talk .content_area div.talk_textarea {
    width: 375px;
    height: 135px;
    margin: 0 35px 35px;
    padding: 22.5px 20px 22.5px 35px;
    border-radius: 15px;
  }
  footer.free_talk .content_area div.talk_textarea p.text {
    height: 115px;
    font-size: 22.5px;
    padding-right: 15px;
    text-shadow: 0 0 4px #FFFFFF, 0 0 4px #FFFFFF, 0 0 4px #FFFFFF;
  }
  footer.free_talk .content_area div.talk_textarea p.next {
    border: 22.5px solid transparent;
    border-top: 17.5px solid #3f3f3f;
    width: 10px;
    margin: 15px auto 0;
  }
  footer.free_talk .t_item_wrapper.active {
    bottom: 150px;
  }
  footer.free_talk .t_item_wrapper {
    bottom: -650px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner,
  footer.free_talk .t_item_wrapper .t_item_inner {
    width: 500px;
    height: 300px;
    padding-bottom: 25px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner .title,
  footer.free_talk .t_item_wrapper .t_item_inner .title {
    height: 55px;
    padding: 15px 0 7.5px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner .close_bt,
  footer.free_talk .t_item_wrapper .t_item_inner .close_bt {
    top: -5px;
    height: 70px;
    padding: 20px 0 10px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner .tm_bt,
  footer.free_talk .t_item_wrapper .t_item_inner .tm_bt {
    width: 130px;
    margin: 10px auto 0;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner div.option_bt,
  footer.free_talk .t_item_wrapper .t_item_inner div.option_bt {
    bottom: 17.5px;
    right: 10px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner div.option_bt img,
  footer.free_talk .t_item_wrapper .t_item_inner div.option_bt img {
    width: 45px;
    padding-left: 2.5px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar {
    height: 5px;
    display: block;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar-track,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 3vw;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list::-webkit-scrollbar-thumb,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list::-webkit-scrollbar-thumb {
    border-radius: 3vw;
    background-image: linear-gradient(180deg, rgba(192, 192, 192, 0.43) 0%, rgba(194, 194, 194, 0.49) 99%);
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list {
    width: 500px;
    height: 245px;
    padding: 10px 14.5px 10px;
    margin-top: 10px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li {
    width: 135px;
    height: 202.5px;
    margin: 0 10px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li figure,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li figure {
    height: 155px;
    padding: 10px 0;
    border-radius: 10px;
    margin-bottom: 5px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p.price,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p.price,
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li .poss,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li .poss {
    top: 122.5px;
    right: 5px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 6.25px 6.25px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p.price img,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p.price img,
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li .poss img,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li .poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li input[type="radio"]:checked + figure::before,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li input[type="radio"]:checked + figure::before {
    width: 35px;
    height: 35px;
    top: -7.5px;
    right: 2.5px;
    background-size: 35px 35px;
  }
  footer.free_talk .t_item_wrapper .t_shop_inner ul.shop_list li p,
  footer.free_talk .t_item_wrapper .t_item_inner ul.shop_list li p {
    font-size: 15px;
    padding: 5px;
  }
  footer.fav_active .text_area:before {
    content: "親密度UP中";
    border-radius: 13.5px;
    font-size: 15px;
    top: -46px;
    left: 79.5px;
  }
  footer.fav_active div.reply_bt p:before {
    width: 55px;
    height: 48px;
    line-height: 20px;
    top: -7.5px;
    right: -17.5px;
  }
  @keyframes fav_b_anime {
    0% {
      top: -12.5px;
    }
    100% {
      top: 500px;
    }
  }
  @keyframes fav_b_anime2 {
    0% {
      top: 500px;
    }
    100% {
      top: -12.5px;
    }
  }
  footer.fav_active:after {
    width: 55px;
    height: 48px;
    line-height: 20px;
    top: -25px;
    left: 10px;
  }
  @keyframes fav_a_anime {
    0% {
      top: -25px;
    }
    100% {
      top: 500px;
    }
  }
  @keyframes fav_a_anime2 {
    0% {
      top: 500px;
    }
    100% {
      top: -25px;
    }
  }
  footer section.home_talk_form div.send_area.fav_active:before {
    content: "↑親密度UP中↑";
    text-shadow: 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067, 0 0 4px #e60067;
    letter-spacing: 0.2em;
    border-radius: 12.5px;
    font-size: 17px;
    padding: 5px 7.5px;
    right: 2.5px;
    top: -40px;
  }
  .tap_t1_wrapper {
    left: 25px;
    min-width: 100px;
    max-width: 300px;
    padding: 10px;
    border-radius: 15px;
    font-size: 25px;
    opacity: 0.85;
  }
  .tap_t2_wrapper {
    left: 35px;
    min-width: 100px;
    max-width: 300px;
    padding: 10px;
    border-radius: 15px;
    font-size: 25px;
  }
  .tap_t3_wrapper {
    right: 25px;
    min-width: 100px;
    max-width: 300px;
    padding: 10px;
    border-radius: 15px;
    font-size: 25px;
  }
  .tap_t4_wrapper {
    right: 40px;
    min-width: 100px;
    max-width: 300px;
    padding: 10px;
    border-radius: 15px;
    font-size: 25px;
  }
  section.leave_fix {
    height: 900px;
    width: 500px;
  }
  section.leave_fix div.innar p.caption {
    margin-top: 35px;
    font-size: 18.5px;
    padding: 15px 25px;
    border-radius: 15px;
  }
  section.free_reply {
    height: 900px;
    width: 500px;
  }
  section.free_reply div.reply_inner {
    font-size: 20px;
  }
  section.free_reply div.reply_inner .reply_close {
    top: -25px;
    right: 25px;
    height: 35px;
    width: 35px;
  }
  section.free_reply div.reply_inner .contact_form {
    padding: 15px 10px 70px;
    margin-bottom: -60px;
  }
  section.free_reply div.reply_inner .contact_form p.caption {
    width: 425px;
    font-size: 22.5px;
    margin: 0 auto 20px;
  }
  section.free_reply div.reply_inner .contact_form p.send_bt {
    width: 225px;
    margin: 5px auto;
  }
  section.free_reply div.reply_inner .contact_form div.send_area {
    width: 425px;
    border-radius: 22.5px;
  }
  section.free_reply div.reply_inner .contact_form div.send_area textarea {
    height: 200px;
    width: 430px;
    padding: 15px;
    margin: 0 auto 20px;
    font-size: 22.5px;
    border-radius: 15px;
    z-index: 30;
  }
  section.free_reply div.reply_inner .contact_form div.send_area textarea:focus {
    outline: 0;
  }
  section.free_reply div.reply_inner .contact_form div.send_area textarea.contact {
    width: 390px;
    margin: 5px 0 10px 5px;
  }
  section.free_reply div.reply_inner .contact_form div.send_item_open {
    border-radius: 25px;
    width: 400px;
    height: 30px;
    margin: 20px 10px 50px;
    padding: 10px 0;
  }
  section.free_reply div.reply_inner .contact_form div.send_item_open.active {
    border-radius: 25vw;
    width: 400px;
    height: 30px;
    margin: 20px 10px 50px;
    padding: 10px 0;
  }
  section.s_reply {
    height: 900px;
    width: 500px;
  }
  section.s_reply div.reply_inner {
    font-size: 20px;
  }
  section.s_reply div.reply_inner .reply_close {
    top: -5px;
    right: 25px;
    height: 35px;
    width: 35px;
  }
  section.s_reply div.reply_inner .contact_form {
    padding: 15px 10px 70px;
    margin-bottom: -60px;
  }
  section.s_reply div.reply_inner .contact_form p.caption {
    width: 425px;
    font-size: 22.5px;
    margin: 0 auto 20px;
  }
  section.s_reply div.reply_inner .contact_form p.send_bt {
    width: 225px;
    margin: 5px auto;
  }
  section.s_reply div.reply_inner .contact_form div.send_area {
    width: 425px;
    border-radius: 12.5px;
  }
  section.s_reply div.reply_inner .contact_form div.send_area textarea {
    height: 154px;
    width: 430px;
    padding: 15px;
    margin: 0 auto 20px;
    font-size: 22.5px;
    box-shadow: 0px 0px 0px 5px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 15px;
  }
  section.s_reply div.reply_inner .contact_form div.send_area textarea.contact {
    width: 390px;
    margin: 5px 0 10px 5px;
  }
  section.s_reply div.reply_inner .contact_form div.send_item_open {
    border-radius: 25px;
    width: 400px;
    height: 30px;
    margin: 20px 10px 50px;
    padding: 10px 0;
  }
  section.s_reply div.reply_inner .contact_form div.send_item_open.active {
    border-radius: 25vw;
    width: 400px;
    height: 30px;
    margin: 20px 10px 50px;
    padding: 10px 0;
  }
  section.s_reply div.reply_inner ul.automatic {
    padding: 10px 0 0;
  }
  section.s_reply div.reply_inner ul.automatic li.auto_reply {
    width: 425px;
    border-radius: 15px;
    min-height: 75px;
    max-height: 110px;
    font-size: 21px;
    margin: 0 auto 30px;
    box-shadow: 0px 0px 0px 5px #ffeaea;
    border: dashed 2px #ffc3c3;
    padding: 15px;
  }
  section.s_reply div.reply_inner ul.automatic li.a_caption {
    width: 425px;
    font-size: 20px;
    margin: 0 auto 10px;
  }
  section.s_reply div.reply_inner ul.automatic li.auto_reply::before {
    left: -20px;
    margin-top: -10px;
    border: 20px solid transparent;
    border-left: 12.5px solid #d80847;
  }
  section.l_alert {
    height: 900px;
    width: 500px;
  }
  section.l_alert div.alert_inner {
    font-size: 20px;
  }
  section.l_alert div.alert_inner div.level_text {
    font-size: 21.5px;
    padding-bottom: 20px;
  }
  section.l_alert div.alert_inner div.level_text img.favo_text {
    padding-top: 10px;
    border-bottom: 1px solid #d3b2b2;
  }
  section.l_alert div.alert_inner div.level_text ul.user_level {
    padding-top: 15px;
  }
  section.l_alert div.alert_inner div.level_text ul.user_level li {
    padding: 25px 15px 25px 45%;
  }
  section.l_alert div.alert_inner div.level_text ul.user_level li.n_level::before {
    height: 40px;
    width: 157px;
    border-radius: 10px;
    top: 15px;
    left: 25px;
  }
  section.l_alert div.alert_inner div.level_text ul.user_level li.n_score::before {
    height: 40px;
    width: 157px;
    border-radius: 10px;
    top: 15px;
    left: 25px;
  }
  section.l_alert div.alert_inner div.level_text ul.user_level li.n_item::before {
    height: 40px;
    width: 157px;
    border-radius: 10px;
    top: 15px;
    left: 25px;
  }
  section.l_alert div.alert_inner div.level_text::before {
    height: 30px;
    width: 450px;
    top: -25px;
  }
  section.l_alert div.alert_inner div.level_text::after {
    height: 30.5px;
    width: 450px;
    bottom: -25px;
  }
  section.login_bonus {
    height: 900px;
    width: 500px;
  }
  section.login_bonus div.bonus_wrapper {
    font-size: 20px;
  }
  section.login_bonus div.bonus_wrapper img.meme {
    top: -140px;
    left: 125px;
    width: 135px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner::before {
    height: 25px;
    top: -22px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner::after {
    height: 25px;
    width: 100%;
    bottom: -22px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner {
    height: 230px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_title {
    padding: 27.5px 0 15px;
    font-size: 36px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_note {
    padding-top: 20px;
    font-size: 18px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_text {
    padding-top: 2.5px;
    font-size: 70px;
    height: 70px;
    margin-left: 85px;
  }
  section.login_bonus div.bonus_wrapper div.bonus_inner p.bonus_text:before {
    top: 2.5px;
    left: -85px;
    height: 85px;
    width: 85px;
  }
  section.still_bt_area {
    right: 150px;
  }
  section.still_bt_area div.open_bt {
    width: 200px;
    height: 200px;
  }
  section.talk_menu.inactive {
    right: -100px;
  }
  div.img_mask {
    height: 900px;
    width: 500px;
  }
  section.talk_menu {
    right: 10px;
    top: 30%;
    width: 50px;
  }
  section.talk_menu p {
    margin: 0 0 5px 0;
    font-size: 19px;
    line-height: 22.5px;
  }
  section.talk_menu p img {
    width: 50px;
  }
  section.talk_menu p.log_open span {
    top: -5px;
    right: -5px;
    width: 20px;
    height: 20px;
    line-height: 25px;
    font-size: 0;
  }
  section.time_alert {
    top: 75px;
    padding: 20px 0 17.5px;
  }
  section.time_alert img.meme {
    width: 90px;
  }
  section.time_alert p {
    font-size: 21px;
  }
  section.time_alert p span {
    font-size: 16.5px;
    padding-top: 7.5px;
  }
  section.time_alert.full_screen {
    animation: time_alert_in 0.5s linear forwards;
  }
  @keyframes time_alert_in {
    0% {
      top: 75px;
      opacity: 1;
    }
    100% {
      top: -250px;
      opacity: 0;
    }
  }
  section.time_alert.full_screen.full_end {
    animation: time_alert_out 0.3s linear forwards;
  }
  @keyframes time_alert_out {
    0% {
      top: -250px;
      opacity: 0;
    }
    100% {
      top: 75px;
      opacity: 1;
    }
  }
  section.payment_details {
    height: 900px;
    width: 500px;
  }
  section.payment_details div.payment_inner {
    font-size: 20px;
  }
  section.payment_details div.payment_inner .payment_details_close {
    top: 5px;
    right: 5px;
  }
  section.payment_details div.payment_inner .payment_details_close img {
    width: 35px;
    height: 35px;
  }
  section.payment_details div.payment_inner div.details {
    width: 100%;
    font-size: 0;
  }
  section.payment_details div.payment_inner div.details p.payment_title {
    font-size: 25px;
    padding: 0 0 7.5px;
  }
  section.payment_details div.payment_inner div.details p.payment_image {
    padding: 5px 0;
    border-radius: 10px;
  }
  section.payment_details div.payment_inner div.details p.payment_image img {
    height: 125px;
  }
  section.payment_details div.payment_inner div.details p.details_text {
    font-size: 18px;
    padding: 5px 0 5px;
  }
  section.payment_details div.payment_inner div.details p.details_text span {
    font-size: 15px;
  }
  section.payment_details div.payment_inner div.details div.explanation {
    margin-top: 30px;
    font-size: 25px;
    height: 175px;
    background-color: rgba(255, 255, 255, 0.39);
  }
  section.payment_details div.payment_inner div.details div.explanation p.caption {
    font-size: 21px;
    padding: 20px 0 10px;
  }
  section.payment_details div.payment_inner div.details div.explanation p.ex_text {
    font-size: 17px;
    padding: 15px 0;
  }
  section.payment_details div.payment_inner div.details .payment_bt {
    font-size: 20.5px;
    padding: 15.5px 5px;
    line-height: 1.4em;
    border-radius: 10px;
    margin-top: 10px;
  }
  section.payment_details div.payment_inner div.n_alert {
    font-size: 20px;
    padding: 20px 0 30px;
  }
  section.payment_details div.payment_inner div.n_alert::before {
    height: 26px;
    top: -25px;
  }
  section.payment_details div.payment_inner div.n_alert::after {
    height: 26px;
    bottom: -25px;
  }
  section.alert {
    height: 900px;
    width: 500px;
  }
  section.alert div.payment_inner {
    font-size: 20px;
  }
  section.alert div.payment_inner img.wb_c_img {
    top: -90px;
    left: 20px;
    width: 400px;
  }
  section.alert div.payment_inner ul.payment_select {
    height: 510px;
  }
  section.alert div.payment_inner ul.payment_select li {
    margin: 15px 0 15px 20px;
    border-radius: 10px;
    width: 185px;
    font-size: 17px;
    padding: 0 0 10px;
  }
  section.alert div.payment_inner ul.payment_select li img {
    width: 185px;
    height: 139px;
  }
  section.alert div.payment_inner ul.payment_select li p.payment_title {
    padding: 10px 0 5px;
    border-top: 1px solid #efefef;
    text-indent: 0.2em;
  }
  section.alert div.payment_inner ul.payment_select li p span {
    font-size: 15px;
    right: 0;
    padding: 5px 10px;
    border-radius: 10px;
  }
  section.alert div.payment_inner .rereceive_close {
    top: 10px;
    font-size: 19px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 170px;
  }
  section.alert div.payment_inner div.n_alert {
    font-size: 20px;
    padding: 20px 0 30px;
  }
  section.alert div.payment_inner div.n_alert::before {
    height: 26px;
    top: -25px;
  }
  section.alert div.payment_inner div.n_alert::after {
    height: 26px;
    bottom: -25px;
  }
  section.alert div.large_inner img.n_c_img {
    top: -115px;
    left: 175px;
    width: 150px;
  }
  section.alert div.large_inner div.l_alert {
    font-size: 20px;
    top: 25px;
    padding: 20px 0;
  }
  section.alert div.large_inner div.l_alert ul.item_list {
    margin: 0 auto 10px;
    max-height: 500px;
    overflow: auto;
  }
  section.alert div.large_inner div.l_alert ul.item_list li {
    margin: 0 2.5px 15px 2.5px;
    border-radius: 10px;
    padding-bottom: 15px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li figure {
    height: 110px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li figure img {
    top: -25px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li p.poss {
    top: 80px;
    right: 5px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 15px;
    padding: 6.25px 6.25px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li p.poss img {
    height: 15px;
    padding-right: 2.5px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li p.item_text {
    font-size: 17px;
    padding: 5px 0 10px;
  }
  section.alert div.large_inner div.l_alert ul.item_list li p.send_item_use {
    padding: 10px 0;
    font-size: 17.5px;
    line-height: 20px;
    border-radius: 15px;
  }
  section.alert div.large_inner div.l_alert p.send_item_close {
    padding: 10px 20px;
    font-size: 17.5px;
    line-height: 20px;
    border-radius: 10px;
    width: 140px;
  }
  section.alert div.large_inner div.l_alert p.item_caption {
    font-size: 20px;
    padding-bottom: 15px;
  }
  section.alert div.normal_inner {
    font-size: 20px;
  }
  section.alert div.normal_inner img.n_c_img {
    top: -110px;
    left: 120px;
    width: 95px;
  }
  section.alert div.normal_inner div.n_alert {
    font-size: 20px;
    padding: 30px 0;
  }
  section.alert div.normal_inner div.n_alert p.text {
    font-size: 20px;
    padding: 0 40px;
  }
  section.alert div.normal_inner div.n_alert p.text span {
    font-size: 20px;
  }
  section.alert div.normal_inner div.n_alert p.rereceive_close {
    margin-top: 20px;
    font-size: 19px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 170px;
  }
  section.alert div.normal_inner div.n_alert p.c_text {
    font-size: 20px;
    padding: 0 40px;
  }
  section.alert div.normal_inner div.n_alert p.gacha_diamond {
    width: 165px;
    padding: 17.5px 0 25px;
    line-height: 50px;
    font-size: 25px;
    margin: 10px 2.5px 10px 0;
  }
  section.alert div.normal_inner div.n_alert p.gacha_diamond img {
    width: 55px;
    padding-right: 5px;
  }
  section.alert div.normal_inner div.n_alert p.gacha_ticket {
    width: 165px;
    padding: 17.5px 0 25px;
    line-height: 50px;
    font-size: 25px;
    margin: 10px 2.5px 10px 0;
  }
  section.alert div.normal_inner div.n_alert p.gacha_ticket img {
    width: 55px;
    padding-right: 5px;
  }
  section.alert div.normal_inner div.n_alert p.gacha_close {
    margin-top: 15px;
    font-size: 19px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 130px;
  }
  section.alert div.normal_inner div.n_alert p.as_hp_bt {
    font-size: 19px;
    margin-top: 20px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 275px;
  }
  section.alert div.normal_inner div.n_alert p.as_hp_close {
    margin-top: 15px;
    font-size: 19px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 275px;
  }
  section.alert div.normal_inner div.n_alert::before {
    height: 25px;
    width: 100%;
    top: -20px;
  }
  section.alert div.normal_inner div.n_alert::after {
    height: 25px;
    width: 100%;
    bottom: -20px;
  }
  section.alert div.receive_inner {
    font-size: 20px;
  }
  section.alert div.receive_inner img.receive_cap {
    top: -140px;
    left: 100px;
    width: 135px;
  }
  section.alert div.receive_inner div.p_alert {
    font-size: 20px;
    border-radius: 5px;
    padding: 40px 0;
  }
  section.alert div.receive_inner div.p_alert figure {
    padding-top: 1px;
    width: 100px;
  }
  section.alert div.receive_inner div.p_alert figure img {
    margin-top: -15px;
  }
  section.alert div.receive_inner div.p_alert figure.lock {
    margin-bottom: 10px;
  }
  section.alert div.receive_inner div.p_alert figure.lock::before {
    border-radius: 12.5px;
  }
  section.alert div.receive_inner div.p_alert figure.lock::after {
    top: 5px;
    right: 25px;
    height: 55px;
    width: 55px;
    background: url(https://oshimemo.com/api/img/memorial/lock.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
    z-index: 3;
  }
  section.alert div.receive_inner div.p_alert span.lock_text {
    padding-top: 0.1em;
    font-size: 15px;
  }
  section.alert div.receive_inner div.p_alert .duplicate {
    font-size: 20px;
    border-radius: 10px;
    padding: 15px 0 5px;
    margin: 30px auto -10px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p {
    font-size: 17.5px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p span {
    font-size: 15px;
    padding-top: 10px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p.possession {
    padding: 10px 0 10px;
    font-size: 22.5px;
    font-size: 18px;
    line-height: 55px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p.possession img {
    height: 55px;
  }
  section.alert div.receive_inner div.p_alert {
    font-size: 20px;
    border-radius: 5px;
    padding: 40px 0;
  }
  section.alert div.receive_inner div.p_alert figure {
    padding-top: 1px;
  }
  section.alert div.receive_inner div.p_alert figure img {
    width: 100px;
    margin-top: -15px;
  }
  section.alert div.receive_inner div.p_alert span {
    font-size: 20px;
  }
  section.alert div.receive_inner div.p_alert .duplicate {
    font-size: 20px;
    border-radius: 10px;
    padding: 15px 0 5px;
    margin: 30px auto -10px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p {
    font-size: 17.5px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p span {
    font-size: 15px;
    padding-top: 10px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p.possession {
    padding: 10px 0 10px;
    font-size: 22.5px;
    font-size: 18px;
    line-height: 55px;
  }
  section.alert div.receive_inner div.p_alert .duplicate p.possession img {
    height: 55px;
  }
  section.alert div.receive_inner div.p_alert p.buttom {
    height: auto;
  }
  section.alert div.receive_inner div.p_alert p.buttom .rereceive_close {
    position: relative;
    top: 20px;
    font-size: 19px;
    padding: 12.5px 5px;
    border-radius: 10px;
    width: 170px;
  }
  section.alert div.receive_inner div.p_alert::before {
    height: 25px;
    top: -20px;
  }
  section.alert div.receive_inner div.p_alert::after {
    height: 25px;
    bottom: -20px;
  }
  section.alert div.select_inner {
    font-size: 20px;
  }
  section.alert div.select_inner img.meme {
    top: -140px;
    left: 125px;
    width: 135px;
  }
  section.alert div.select_inner div.select_alert::before {
    height: 25px;
    top: -22px;
  }
  section.alert div.select_inner div.select_alert::after {
    height: 25px;
    bottom: -22px;
  }
  section.alert div.select_inner div.select_alert {
    height: 260px;
  }
  section.alert div.select_inner div.select_alert p.send_a_title {
    padding-top: 25px;
    font-size: 36px;
  }
  section.alert div.select_inner div.select_alert p.send_a_note {
    padding-top: 20px;
    font-size: 15px;
  }
  section.alert div.select_inner div.select_alert p.send_a_text,
  section.alert div.select_inner div.select_alert p.dia_a_text {
    padding-top: 20px;
    font-size: 21px;
    height: 70px;
    margin-left: 85px;
  }
  section.alert div.select_inner div.select_alert p.send_a_text span,
  section.alert div.select_inner div.select_alert p.dia_a_text span {
    top: 10px;
  }
  section.alert div.select_inner div.select_alert p.dia_a_text:before {
    top: 7.5px;
    left: -80px;
    height: 70px;
    width: 70px;
  }
  section.alert div.select_inner div.select_alert p.send_a_text:before {
    top: 7.5px;
    left: -80px;
    height: 70px;
    width: 70px;
  }
  section.alert div.select_inner div.select_alert p.buttom {
    font-size: 20px;
  }
  section.alert div.select_inner div.select_alert p.buttom span.sending {
    top: 20px;
    padding: 12.5px 20px;
    margin-right: 15px;
    border-radius: 10px;
    width: 150px;
    cursor: pointer;
  }
  section.alert div.select_inner div.select_alert p.buttom span.send_close {
    top: 20px;
    padding: 12.5px 20px;
    border-radius: 10px;
    width: 150px;
    cursor: pointer;
  }
  section.alert div.select_inner div.select_alert p.buttom span.buy_ticket {
    font-size: 16.5px;
    top: 20px;
    padding: 12.5px 7.5px;
    margin-right: 7.5px;
    border-radius: 10px;
    width: 110px;
    cursor: pointer;
  }
  section.alert div.select_inner div.select_alert p.buttom span.buy_diamond {
    font-size: 16.5px;
    top: 20px;
    padding: 12.5px 7.5px;
    margin-right: 7.5px;
    border-radius: 10px;
    width: 110px;
    cursor: pointer;
  }
  section.alert div.select_inner div.select_alert p.buttom span.send_buy_close {
    font-size: 16.5px;
    top: 20px;
    padding: 12.5px 7.5px;
    border-radius: 10px;
    width: 110px;
    cursor: pointer;
  }
  section.alert div.alert_inner {
    font-size: 20px;
  }
  section.alert div.alert_inner img {
    top: -120px;
    left: 100px;
    width: 135px;
  }
  section.alert div.alert_inner p.b_alert {
    height: 125px;
    line-height: 125px;
    font-size: 25px;
    border-radius: 15px;
  }
  section.alert div.alert_inner img.pink {
    top: -90px;
    left: 115px;
    width: 100px;
  }
  section.alert div.alert_inner p.p_alert {
    height: 125px;
    line-height: 125px;
    font-size: 25px;
    border-radius: 15px;
  }
  section.alert div.alert_inner p.p_alert span.a_close {
    font-size: 21px;
  }
  section.alert div.alert_inner p.buttom {
    font-size: 20px;
  }
  section.alert div.alert_inner p.buttom span.logout_fin {
    top: 20px;
    padding: 12.5px 20px;
    margin: 0 15px;
    border-radius: 10px;
    width: 150px;
    cursor: pointer;
  }
  section.alert div.alert_inner p.buttom span.logout_close {
    top: 20px;
    padding: 12.5px 20px;
    border-radius: 10px;
    width: 150px;
    cursor: pointer;
  }
  section.still_details {
    height: 900px;
    width: 500px;
  }
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 30px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 30px;
  }
  .login_bonus {
    height: 900px;
    width: 500px;
  }
  .login_bonus div.lb_inner {
    width: 405px;
    height: 660px;
    padding: 20px;
    top: -1250px;
  }
  .login_bonus div.lb_inner div.login_bonus_close {
    width: 140px;
    height: 42px;
    border-radius: 12.5px;
    margin: 15px auto 0;
    bottom: 40px;
    left: 150px;
  }
  .login_bonus div.lb_inner img.bg {
    width: 445px;
    top: -25px;
  }
  .login_bonus div.lb_inner p.time_limit {
    margin: 45px auto 0;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 18.5px;
  }
  .login_bonus div.lb_inner ul {
    top: 100px;
    left: 20px;
    width: 405px;
  }
  .login_bonus div.lb_inner ul li.end {
    border-radius: 10px;
  }
  .login_bonus div.lb_inner ul li.end::before {
    width: 25px;
    height: 25px;
    top: -9px;
    right: -2.5px;
    background-size: 25px 25px;
  }
  .login_bonus div.lb_inner ul .lock::before {
    border-radius: 10px;
  }
  .login_bonus div.lb_inner ul .lock::after {
    top: 11px;
    right: 12.5px;
    height: 40px;
    width: 40px;
  }
  .login_bonus div.lb_inner ul li {
    width: 65px;
    height: 65px;
    margin: 8.5px 7.5px;
  }
  .login_bonus div.lb_inner ul li figure {
    border-radius: 10px;
  }
  .login_bonus div.lb_inner ul li::before {
    width: 25px;
    height: 25px;
    top: -7px;
    right: -3.5px;
    font-size: 15px;
    line-height: 25px;
    border-radius: 5px;
  }
}
@media screen and (max-width: 441px) and (max-height: 960px) {
  body {
    background-color: #ffe1eb;
  }
  body .home div.chara img {
    width: 120%;
    left: -10%;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 50px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 120%;
    left: -10%;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 50px;
  }
  body div.guide_img_inner {
    overflow-y: scroll;
    border-radius: 15px;
  }
  body div.guide_img_inner img {
    width: 100%;
  }
  body div.guide_img_inner img.guide_img2 {
    width: 100%;
    left: 0px;
  }
}
@media screen and (max-width: 428px) and (max-height: 700px) {
  body .home div.chara img {
    width: 110%;
    left: -5%;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 0;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 110%;
    left: -5%;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 0;
  }
}
@media screen and (max-width: 414px) and (max-height: 896px) {
  body .home div.chara img {
    width: 110%;
    left: -5%;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 90px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 110%;
    left: -5%;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 90px;
  }
}
@media screen and (max-width: 414px) and (max-height: 820px) {
  body .home .chara_body,
  body .home .chara_face {
    top: 60px;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 60px;
  }
}
@media screen and (max-width: 414px) and (max-height: 736px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 50px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 50px;
  }
  body div.guide_img_inner {
    border-radius: 15px;
  }
  body div.guide_img_inner img {
    width: 90%;
  }
  body div.guide_img_inner img.guide_img2 {
    width: 90%;
    margin-left: 4vw;
  }
}
@media screen and (max-width: 414px) and (max-height: 670px) {
  body .home .chara_body,
  body .home .chara_face {
    top: 10px;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 10px;
  }
}
@media screen and (max-width: 375px) and (max-height: 812px) {
  body .home div.chara img {
    width: 110%;
    left: -5%;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 80px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 110%;
    left: -5%;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 80px;
  }
}
@media screen and (max-width: 375px) and (max-height: 762px) {
  body .home .chara_body,
  body .home .chara_face {
    top: 50px;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 50px;
  }
}
@media screen and (max-width: 375px) and (max-height: 720px) {
  body .home .chara_body,
  body .home .chara_face {
    top: 30px;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 30px;
  }
}
@media screen and (max-width: 375px) and (max-height: 667px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 20px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 20px;
  }
}
@media screen and (max-height: 600px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 0px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: -10px;
  }
  body main.of_scroll {
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  body main.of_scroll::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 50px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: 10px;
  }
}
@media screen and (max-width: 320px) and (max-height: 560px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 0px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: -10px;
  }
}
@media screen and (max-width: 320px) and (max-height: 510px) {
  body .home div.chara img {
    width: 100%;
    left: 0;
  }
  body .home .chara_body,
  body .home .chara_face {
    top: 0px;
  }
  body .talk div.chara img,
  body .du_main div.chara img {
    width: 100%;
    left: 0;
  }
  body .talk .chara_body,
  body .du_main .chara_body,
  body .talk .chara_face,
  body .du_main .chara_face {
    top: -50px;
  }
}
@charset "UTF-8";
.slide-up.ng-enter, 
.slide-up.ng-leave { 
	-webkit-transition: .5s ease;
	transition: .5s ease;
} 
.slide-up.ng-enter {
	-webkit-transform: translate3d(0,100%,0);
	transform: translate3d(0,100%,0); 
}
.slide-up.ng-enter.ng-enter-active {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-up.ng-leave {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-up.ng-leave.ng-leave-active{
	-webkit-transform: translate3d(0,-100%,0);
	transform: translate3d(0,-100%,0); 
}

/* slide-bottom */
.slide-bottom.ng-enter, 
.slide-bottom.ng-leave { 
	-webkit-transition: .5s ease;
	transition: .5s ease;
} 
.slide-bottom.ng-enter {
	-webkit-transform: translate3d(0,-100%,0);
	transform: translate3d(0,-100%,0); 
}
.slide-bottom.ng-enter.ng-enter-active {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-bottom.ng-leave {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-bottom.ng-leave.ng-leave-active{
	-webkit-transform: translate3d(0,100%,0);
	transform: translate3d(0,100%,0); 
}

/* slide-left */
.slide-left.ng-enter, 
.slide-left.ng-leave { 
	-webkit-transition: .5s ease;
	transition: .5s ease;
} 
.slide-left.ng-enter {
	-webkit-transform: translate3d(100%,0,0);
	transform: translate3d(100%,0,0); 
}
.slide-left.ng-enter.ng-enter-active {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-left.ng-leave {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-left.ng-leave.ng-leave-active{
	-webkit-transform: translate3d(-100%,0,0);
	transform: translate3d(-100%,0,0); 
}

/* slide-right */
.slide-right.ng-enter, 
.slide-right.ng-leave { 
	-webkit-transition: .5s ease;
	transition: .5s ease;
} 
.slide-right.ng-enter {
	-webkit-transform: translate3d(-100%,0,0);
	transform: translate3d(-100%,0,0); 
}
.slide-right.ng-enter.ng-enter-active {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-right.ng-leave {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); 
}
.slide-right.ng-leave.ng-leave-active{
	-webkit-transform: translate3d(100%,0,0);
	transform: translate3d(100%,0,0); 
}

.fader{
	-webkit-transition:linear .5s;
	transition:linear .5s;
}
.fader.ng-enter{
	opacity:0;
}
.fader.ng-enter-active{
	opacity:1;
}
.fader.ng-leave{
	opacity:1;
}
.fader.ng-leave-active{
	opacity:0;
}


/*
.fader-in{
	-webkit-transition:linear .5s;
	transition:linear .5s;
}
.fader-in.ng-enter{
	opacity:0;
}
.fader-in.ng-enter-active{
	opacity:1;
}
.fader-in.ng-leave{
	opacity:1;
}
.fader-in.ng-leave-active{
	opacity:0;
}
*/
/*	display: none; */

.message-item-swipe {
  -webkit-animation: message-item-swipe 0.2s ease;
}
@-webkit-keyframes message-item-swipe {
  0% { -webkit-transform: translate3d(0px, 0px, 0px) }
  100% { -webkit-transform: translate3d(100px, 0px, 0px) }
}



/* toggle button */
.tgl {
  display: none;
}
.tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-btn {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-btn::-moz-selection {
  background: none;
}
.tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-btn::selection {
  background: none;
}
.tgl + .tgl-btn {
  outline: 0;
  display: block;
  width: 4em;
  height: 2em;
  position: relative;
  cursor: pointer;
}
.tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
  position: relative;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
}
.tgl + .tgl-btn:after {
  left: 0;
}
.tgl + .tgl-btn:before {
  display: none;
}
.tgl:checked + .tgl-btn:after {
  left: 50%;
}

.tgl-light + .tgl-btn {
  background: #b8b8b8;
  border-radius: 2em;
  padding: 2px;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}
.tgl-light + .tgl-btn:after {
  border-radius: 50%;
  background: #fff;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.tgl-light:checked + .tgl-btn {
  background: #f00;
}

/* uibModal common css */

/* modal before rendered */
div[uib-modal-window="modal-window"] {
	display: none;
}
/* modalDialogMethod css */

/* outer wrapper position */
.modalDialog.modal {
	outline: 0;
	position: absolute;
	top:0;
	left:0;
}
/* content wrapper position */
.modalDialog.modal .modal-content {
/*	position: fixed; */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
/* content wrapper position in tight outer */
.modalDialog.modal.modal-wrapper-tight .modal-content {
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
}

/* wrappers basic */
.modalDialog.modal,
.modalDialog.modal > .modal-dialog, 
.modalDialog.modal > .modal-dialog > .modal-content,
.modalDialog.modal > .modal-dialog > .modal-content > .modal-detail {
	max-width: 100%;
	max-height: 100%;
}
/* wrappers size-screen */
.modalDialog.modal[size="size-screen"],
.modalDialog.modal[size="size-screen"] > .modal-dialog, 
.modalDialog.modal[size="size-screen"] > .modal-dialog > .modal-content,
.modalDialog.modal[size="size-screen"] > .modal-dialog > .modal-content > .modal-detail {
	width: 100%;
	height: 100%;
}
/* wrappers size-w100 */
.modalDialog.modal[size="size-w100"],
.modalDialog.modal[size="size-w100"] > .modal-dialog,
.modalDialog.modal[size="size-w100"] > .modal-dialog > .modal-content,
.modalDialog.modal[size="size-w100"] > .modal-dialog > .modal-content > .modal-detail {
	width: 100%;
}
/* wrappers size-h100 */
.modalDialog.modal[size="size-h100"],
.modalDialog.modal[size="size-h100"] > .modal-dialog,
.modalDialog.modal[size="size-h100"] > .modal-dialog > .modal-content,
.modalDialog.modal[size="size-h100"] > .modal-dialog > .modal-content > .modal-detail {
	height: 100%;
}
/* wrappers pc */
/*
@media screen and (min-width: 429px) {
	.modalDialog.modal {
		max-width: 500px;
		max-height: 900px;
	}
	.modalDialog.modal[size="size-screen"] {
		width: 500px;
		height: 900px;
	}
	.modalDialog.modal[size="size-w100"] {
		width: 500px;
	}
	.modalDialog.modal[size="size-h100"] {
		height: 900px;
	}
}
*/

/* detail wrapper basic */
.modalDialog.modal > .modal-dialog > .modal-content > .modal-detail {
/*	position: fixed; */
	position: absolute;
/*	overflow: auto; */
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
}

/* backdrop */
.modalDialog.modal.modal-backdrop:first-child {
/*	position: fixed; */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.modalDialog.modal.modal-backdrop:first-child {
	background: rgba(0,0,0,0.87);
}

/* anim (fade status) */
.modalDialog.modal.fade.modal-anim-slideInRight .modal-content {
  -webkit-transition: -webkit-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(100vw, 0, 0);
          transform: translate3d(100vw, 0, 0);
}
.modalDialog.modal.fade.modal-anim-slideInLeft .modal-content {
  -webkit-transition: -webkit-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(-100vw, 0, 0);
          transform: translate3d(-100vw, 0, 0);
}
.modalDialog.modal.fade.modal-anim-slideInTop .modal-content {
  -webkit-transition: -webkit-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(0, -100vh, 0);
          transform: translate3d(0, -100vh, 0);
}
.modalDialog.modal.fade.modal-anim-slideInBottom .modal-content {
  -webkit-transition: -webkit-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(0, 100vh, 0);
          transform: translate3d(0, 100vh, 0);
}
.modalDialog.modal.fade.modal-anim-fadeIn .modal-content {
  -webkit-transition: all .5s ease-out;
          transition: all .5s ease-out;
  opacity: 0;
}
/* anim (in status) */
.modalDialog.modal.in.modal-anim-slideInRight .modal-content,
.modalDialog.modal.in.modal-anim-slideInLeft .modal-content,
.modalDialog.modal.in.modal-anim-slideInTop .modal-content,
.modalDialog.modal.in.modal-anim-slideInBottom .modal-content {
  -webkit-transition: -webkit-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.modalDialog.modal.in.modal-anim-fadeIn .modal-content {
  -webkit-transition: all .5s ease-out;
          transition: all .5s ease-out;
  opacity: 1;
}

/* backdrop */
/*
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  filter: alpha(opacity=0);
  opacity: 0;
}
.modal-backdrop.in {
  filter: alpha(opacity=70);
  opacity: .7;
}
*/
* {
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-ms-user-select: none;
}
input,
textarea {
	user-select: auto !important;
	-webkit-user-select: auto !important;
	-moz-user-select: auto !important;
	-khtml-user-select: auto !important;
	-ms-user-select: auto !important;
}

/* header-main-footer 縦並び基本 */
html,
body {
/*
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  height: 100%;
  position: relative;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
*/
/*  background-color: #FFFFFF; */
}
.headerMain {
/*
  position: relative;
  width: 100%;
  height: auto;
*/
}
.contentsMain {
/*
  width: 100%;
  flex-basis: 100%;
  overflow: scroll;
  position: relative;
  -webkit-overflow-scrolling: touch;
*/
}
.footerMain {
/*
  width: 100%;
  position: relative;
*/
}
.contents::-webkit-scrollbar {
/*
	width: 0;
	height: 0;
*/
}
main {
/*
  overflow-y: scroll;
  overflow-x: hidden ;
  -webkit-overflow-scrolling: touch;
*/
}
body.android #main-contents {
/*
	transform:translateZ(0);
	-webkit-transform:translateZ(0);
*/
}


.allow-select,
.allow-select * {
	user-select: text !important;
	-webkit-user-select: text !important;
	-moz-user-select: text !important;
	-khtml-user-select: text !important;
	-ms-user-select: text !important;
}
.not-allow-select,
.not-allow-select * {
	user-select: none !important;
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	-khtml-user-select: none !important;
	-ms-user-select: none !important;
}

/* for map body style */
/*
body.ios,
body.android {
	background: url(..) !important;
}
body._map {
	background: transparent !important;
}
*/
.blockColumn {
	display: block;
}
.flexColumn {
	display: flex;
	flex-direction: column;
}
/*
.ofScrollY {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
*/
body.ios header,
body.ios .modal header,
body.ios .iosPaddingTop {
	padding-top: 20px;
}
body.ios.safearea header,
body.ios.safearea .modal header,
body.ios.safearea .iosPaddingTop {
	padding-top: 44px;
}
body.ios.safearea footer,
body.ios.safearea .iosPaddingBottom {
	padding-bottom: 34px;
}

body.ios .iosMarginTop {
	margin-top: 20px;
}
body.ios.safearea .iosMarginTop {
	margin-top: 44px;
}
body.ios.safearea .iosMarginBottom {
	margin-bottom: 34px;
}

.bodyBg {
	background: #fff;
}

.iosSpaceTop,
.iosSpaceBottom {
	opacity: 0;
	height: 0;
}
body.ios .iosSpaceTop {
	height: 20px;
}
body.safearea .iosSpaceTop {
	height: 44px;
}
body.safearea .iosSpaceBottom {
	height: 34px;
}

/* touch action */
/*
a:not(._nohighlight) *:active, 
*[ng-click]:not(._nohighlight):active, 
*[ui-sref]:not(._nohighlight):active, 
*/
._activeHighlight:active {
	opacity: .7;
}

/* 改行を有効 */
.nl2br {
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* slick banner */
.slickGeneral {
	display: none;
}
.slickGeneral.slick-initialized {
	display: block;
}
.slickGeneral .slick-slide img {
	margin: 0 auto;
	width: 100%;
	height: auto;
}
.slickGeneral .slick-track {
	display: flex;
	justify-content: center;
	align-items: center;
}
.slickGeneral.slickGlobalMenu .slick-slide img {
/*	width: 90%; */
}
.slickGlobalMenu .slick-prev {
	left: -3%;
}
.slickGlobalMenu .slick-next {
	right: -3%;
}


/* modal 組み込み design調整 */
.modalDialog section.overlay {
	position: static;
}
.modalDialog section.overlay .overlay_wrapper {
	display: flex !important;
	opacity: 1 !important;
}
.modalDialog section.overlay .overlay_wrapper .overlay_inner {
	display: block !important;
	opacity: 1 !important;
}
.modalDialog section.overlay .buy {
	top: 0;
}
.modalDialog section.not_payment_alert {
	background: none;
}
.modalDialog section.not_payment_alert .alert {
	display: block;
}
.modalDialog section.login_bonus {
	display: flex;
	opacity: 1;
	background: none;
}
.modalDialog section.login_bonus .lb_inner {
	top: 0 !important;
}
.modalDialog.modal.modalDialogLoginBonus.modal-backdrop:first-child {
	background: rgba(105, 17, 58, 0.77);
}
.modalDialog section.camp_dialog_wrapper {
	background: none;
}

.modalDialog section.app_setting {
	display: flex;
	opacity: 1;
	background: none;
}
.modalDialog section.app_setting .setting_inner {
	top: 0 !important;
}

.modalDialog section.entry_form, 
.modalDialog section.reminder,
.modalDialog section.date_link {
	display: flex;
	opacity: 1;
	background: none;
}

.modalDialog #level_details {
	display: block;
	opacity: 1;
}
.modalDialog .l_alert {
	display: flex;
	opacity: 1;
	background: none;
}

.modalDialog .alert {
	display: flex;
	opacity: 1;
	background: none;
}
.modalDialog .alert .normal_inner {
	display: inline-block;
}

.modalDialog .prologue {
	top: 0;
	opacity: 1;
}
.modalDialog header section.product {
	display: block;
	opacity: 1;
}
.modalDialog .alert .alert_inner,
.modalDialog .alert .normal_inner,
.modalDialog .alert .payment_inner,
.modalDialog .alert .large_inner,
.modalDialog .alert .large_inner .l_alert {
	display: block !important;
	opacity: 1 !important;
}

.modalDialog .item_use,
.modalDialog .item_buy,
.modalDialog .pre_item_details,
.modalDialog section.still_details,
.modalDialog .talk_log,
.modalDialog .g_description,
.modalDialog .g_percentage,
.modalDialog .guide {
	display: flex !important;
	opacity: 1 !important;
	background: none !important;
}
.modalDialog .item_use .item_inner,
.modalDialog .item_buy .item_inner,
.modalDialog .pre_item_details .item_inner,
.modalDialog .talk_log .talk_log_inner,
.modalDialog .g_description .description_inner,
.modalDialog .g_percentage .percentage_inner,
.modalDialog .guide .guide_inner {
	top: 0 !important;
}


/* design調整 */
a, [ng-click], [ui-sref] {
	cursor: pointer;
}
main.transparent {
	background: none;
}
main.home div.chara,
main.du_main div.chara,
main.talk div.chara {
	background-color: #e48c8c;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	height: 100%;
	width: 100%;
}
main.home div.chara .charaPosition,
main.du_main div.chara .charaPosition,
main.talk div.chara .charaPosition {
	height: 100%;
	width: 100%;
}
footer [data-close-footer="main"],
footer [data-open-footer="main"] {
	display: inline-block;
	opacity: 1;
}
footer [data-close-footer="homeDressUp"] {
	display: none;
	opacity: 1;
}
main section.shop_index ul.shop_list.item_l,
main section.shop_index ul.shop_list.bg_img {
	display: block;
	opacity: 1;
}
/* allage img_mask */
div.img_mask.allage {
  background-image: url(https://oshimemo.com/api/img/talk/mask_normal.png);
}
