@charset "utf-8";
/*////////////////////////////////////////////////////////

contents

////////////////////////////////////////////////////////*/

/* common
------------------------------------------------------- */
section {
  margin-bottom: 20px;
}
section section:last-child {
  margin-bottom: 0;
}
aside {
  padding: 0 10px 20px;
}
video {
  display: block;
  /*黒い線対策*/
  width: calc(100% + 2px);
  margin: 0 -1px;
  backface-visibility: hidden;
  transform: translateZ(0);
  pointer-events: none;
}
/* 汎用box
------------------------- */
.flex-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
[class*="col2"] {
  justify-content: space-between;
}
[class*="col2"] > div,
[class*="col2"] > li,
[class*="col2"] > p {
  width: 49%;
}
.col2 > .left {
  width: 40%;
}
.col2 > .right {
  width: 60%;
}
.col3 > li, .col3 > div {
  width: 32%;
}
.flex-pack {
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  flex-wrap: wrap;
}
[class^="box_"] {
  position: relative;
  clear: both;
}
a.box_ {
  display: block;
}
/* 点滅 */
.box_tenmetsu .tenmetsu {
  position: absolute;
  top: 0;
  left: 0;
}
/* 注釈 */
.box_notice {
  width: 92%;
  margin: 10px auto 15px;
  padding: 10px;
  border: 1.5px solid #d5c163;
  border-radius: 8px;
  font-size: 11px;
  font-weight: bold;
}
/* 【削除禁止】display
------------------------- */
/*----- 新規2日間出し分け -----*/
.new_member_off, .new_member_on {
  display: none;
}
.new_member-0 .new_member_off, .new_member-1 .new_member_on {
  display: block;
}
/*----- 従量未購入出し分け -----*/
.unpaido_off, .unpaido_on, .new_member-0 .unpaido_off, .new_member-0 .unpaido_on {
  display: none;
}
/*----- COIPO以外 新規2日間・7日間出し分け -----*/
.join_member_off, .join_member_on,
.join_member1week_off, .join_member1week_on {
  display: none;
  position: relative;
}
.join_member-0 .join_member_off, .join_member-1 .join_member_on,
.join_member1week-0 .join_member1week_off, .join_member1week-1 .join_member1week_on {
  display: block;
}
.unpaido-0 .unpaido_off, .unpaido-1 .unpaido_on {
  display: block;
}
/*----- 新規7日間ログイン出し分け -----*/
.status-0 .status-1,
.status-1 .status-0 {
  display: none;
}
/*----- バナー出し分け -----*/
.bnr .open-0, .bnr .close-1,
.slider .open-0 {
  display: none;
}
.bnr.open-0, .bnr.open-2,
.bnropen-0,
.bnrlink-2 {
  display: none;
}
.bnrlink-0 a {
  pointer-events: none;
}
.bnr {
  margin: 0 auto 15px;
  padding: 0 10px;
}
.bnr li {
  margin: 5px 0 10px;
}
.bnr li:first-child {
  margin-top: 0;
}
.bnr li:last-child {
  margin-bottom: 0;
}
.bnr a {
  display: inline-block;
  position: relative;
}
/*----- docomo出し分け -----*/
.disp-docomo .common, .disp-common .docomo {
  display: none;
}
.disp-docomo .lead .docomo, .disp-common .lead .common {
  display: inline;
}
/*----- 注釈出し分け -----*/
.notice-0 {
  display: none;
}
/*----- 1人用/2人用経由入会出し分け -----*/
[class^="join_member_pr"] {
  display: none;
}
.join_member_pr1-1, .join_member_pr2-2 {
  display: block;
}
/* animation
------------------------- */
.tenmetsu {
  -webkit-animation: tenmetsu 1.2s ease-in-out infinite alternate;
  -moz-animation: tenmetsu 1.2s ease-in-out infinite alternate;
  animation: tenmetsu 1.2s ease-in-out infinite alternate;
}
@-webkit-keyframes tenmetsu {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
@-moz-keyframes tenmetsu {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.1;
  }
}
@keyframes tenmetsu {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.1;
  }
}
.float {
  -webkit-animation: float 2.5s ease-in-out infinite alternate;
  animation: float 2.5s ease-in-out infinite alternate;
  transform-origin: 50% 50%;
  position: relative;
  z-index: 2;
}
@-webkit-keyframes float {
  0% {
    transform: translate3d(0, -3px, 0);
  }
  50% {
    transform: translate3d(0, 3px, 0);
  }
  100% {
    transform: translate3d(0, -3px, 0);
  }
}
@keyframes float {
  0% {
    transform: translate3d(0, -3px, 0);
  }
  50% {
    transform: translate3d(0, 3px, 0);
  }
  100% {
    transform: translate3d(0, -3px, 0);
  }
}
.float.fuki {
  margin: -10px auto -10px;
  padding: 0 15px;
}
.float.fuki2 {
  margin: -5px auto -60px;
  padding: 0 15px;
}
.float2 {
  -webkit-animation: float2 1.8s ease-in-out infinite alternate;
  animation: float2 1.8s ease-in-out infinite alternate;
  transform-origin: 50% 50%;
}
@keyframes float2 {
  0% {
    transform: translate3d(0, -3px, 0) rotate(15deg);
  }
  50% {
    transform: translate3d(0, 3px, 0) rotate(15deg);
  }
  100% {
    transform: translate3d(0, -3px, 0) rotate(15deg);
  }
}
.float3 {
  -webkit-animation: float3 3s ease-in-out infinite alternate;
  animation: float3 3s ease-in-out infinite alternate;
  transform-origin: 50% 50%;
}
@keyframes float3 {
  0% {
    transform: translate3d(0, -3px, 0) rotate(-13deg);
  }
  50% {
    transform: translate3d(0, 3px, 0) rotate(-13deg);
  }
  100% {
    transform: translate3d(0, -3px, 0) rotate(-13deg);
  }
}

/* 共通パーツ
------------------------------------------------------- */
/* 共通背景
------------------------- */
/*----- デフォルト -----*/
._bg {
  padding: 8px 8px 10px;
  border-radius: 3px;
  color: #fff;
  background: #0B4B6B !important;
}
._bg2 {
  padding: 10px;
  background: #6B0B0D;
}
._bg .list_menu,
._bg2 .list_menu {
  padding: 5px 0;
}
._bg2 .btn_more a {
  border: 0;
}
/* list_menu
------------------------- */
/*----- デフォルト -----*/
.list_menu {
  padding: 8px;
}
.list_menu li {
  margin: 0 0 4px;
  position: relative;
  text-align: left;
  font-weight: bold;
  color: #333;
  background-image: url("../images/menulist/bg_top.jpg"), url("../images/menulist/bg_btm.jpg"), url("../images/menulist/bg_mid.jpg");
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: top, center bottom -1px, center;
  background-size: 100%;
}
.list_menu li.new {
  background-image: url("../images/menulist/bg_top.jpg"), url("../images/menulist/bg_btm.jpg"), url("../images/menulist/new/bg_mid.jpg");
}
.list_menu li a {
  padding: 15px 20px 15px 15px;
}
.list_menu a {
  display: block;
  position: relative;
  line-height: 1.3;
  text-decoration: none;
  color: #333;
}
.list_menu li a:after, .btn_more a:after, .arrow:after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
}
.list_menu li a:after, .arrow:after {
  border-color: transparent transparent transparent #9F7D18;
}
.arrow {
  position: relative;
}
.arrow.white:after {
  border-color: transparent transparent transparent #fff;
}
/*--- もっと見る ---*/
.btn_more {
  margin: 8px 0 0;
  text-align: right;
}
.btn_more a {
  display: inline-block;
  padding: 0 18px 0 15px;
  border: 1px solid #fff;
  border-radius: 20px;
  line-height: 20px;
  font-size: 11px;
  color: #000;
  position: relative;
  background: rgba(255,255,255,.8);
}
.btn_more a:after {
  border-color: transparent transparent transparent #000;
  transform: translateY(-55%) scale(.85);
}
/*[class*="free_"] .btn_more a {
  padding: 0;
  border: 0;
  pointer-events: none;
  text-decoration: none;
  text-indent: 0;
  font-weight: bold;
  color: #281605;
  background: none !important;
}
[class*="free_"] .btn_more a:after {
  content: none;
}
/* img */
.btn_more_img {
  margin: 5px 0 0;
  text-align: right;
}
.btn_more_img a {
  display: inline-block;
  width: 160px;
}
.btn_more_img a:after {
  content: none;
}
/*--- ppv icon ---*/
.icon-ppv {
  display: flex;
  align-items: center;
  height: 17px;
  margin: 0 -7px 4px 0;
  padding: 0 2px 4px;
  font-size: 10px;
  border-bottom: 1px solid #575757;
}
.icon-ppv .days {
  order: 2;
  padding: 1px 0 0 2px;
}
.icon-ppv:before, .icon-ppv:after {
  content: '';
  order: 1;
  height: 100%;
  margin-right: 5px;
}
.icon-ppv:before {
  width: 50px;
  background: url(../images/icon/icon-ppv.png) no-repeat center;
  background-size: 100%;
}
.icon-ppv:after {
  opacity: .5;
  width: 20px;
}
.icon-ppv.one:after {
  width: 10px;
  background: url(../images/icon/icon-person.png) no-repeat left center;
  background-size: 20px;
}
.icon-ppv.two:after {
  background: url(../images/icon/icon-person.png) no-repeat center;
  background-size: 100%;
}
li.new .icon-ppv:before {
  width: 85px;
  background: url(../images/icon/icon-new.png) no-repeat left center, url(../images/icon/icon-ppv.png) no-repeat right center;
  background-size: 42px;
}
/*----- color -----*/
.list_menu.new {
  background-color: #0B4B6B;
}
.list_menu.pink1 {
  background-color: rgba(212, 84, 157, .8);
}
.list_menu.pink2 {
  background-color: #bb1e75;
}
.list_menu.red {
  background-color: rgba(217, 62, 62, .8);
}
.list_menu.purple {
  background-color: rgba(150, 90, 233, .8);
}
.list_menu.purple2 {
  background-color: #4a0890;
}
.list_menu.violet {
  background-color: #400847;
}
.list_menu.yellow {
  background-color: rgba(217, 185, 66, .8);
}
.list_menu.orange {
  background-color: #bb4007;
}
.list_menu.blue {
  background-color: rgba(85, 157, 201, .8);
}
.list_menu.green {
  background-color: rgba(87, 189, 167, .8);
}
/*----- ppv -----*/
.list_menu.ppv {
  padding: 0 0 8px;
}
/*----- 新着サムネイル -----*/
.list_menu.thumbnail ul {
  align-items: stretch;
  padding: 0;
}
.list_menu.thumbnail li:nth-last-of-type(-n+2) {
  margin-bottom: 0;
}
.list_menu.thumbnail li a {
  padding: 7px !important;
}
.list_menu.thumbnail li a:after {
  content: none;
}
.list_menu.thumbnail li.new:after,
.list_menu.thumbnail .icon-ppv {
  margin: 0;
  transform: scale(.8, .8);
  transform-origin: left bottom;
}
.list_menu.thumbnail li.new:after {
  top: -8px;
  left: -3px;
}
.list_menu.thumbnail .icon-ppv {
  border-bottom: 0;
  font-size: 10px;
}
.list_menu.thumbnail .ppvtitle {
  font-size: 11px;
}
/*----- ランキング -----*/
/*--- アイコン ---*/
.list_menu .rankingicon {
  display: inline-block;
  margin-right: 2px;
  padding: 0 10px;
  border-radius: 2px;
  line-height: 15px;
  font-size: 10px;
  font-weight: bold;
  color: #fff;
}
.list_menu.ranking li:nth-child(1) {
  background: linear-gradient(to right, #f1d767 0%, #fff 50%, #f1d767 100%);
}
.list_menu.ranking li:nth-child(1) .rankingicon {
  background-color: #948100;
}
.list_menu.ranking li:nth-child(2) .rankingicon {
  background-color: #4599d4;
}
.list_menu.ranking li:nth-child(3) .rankingicon {
  background-color: #d3721b;
}
.list_menu.ranking li:nth-child(4) .rankingicon,
.list_menu.ranking li:nth-child(5) .rankingicon {
  background-color: #00a475;
}
.list_menu.ranking .text-right {
  padding: 7px 5px 0;
  font-size: 11px;
}
/*----- チュートリアル -----*/
.list_menu.tutorial li {
  border-radius: 3px;
  background: #fff;
}
.list_menu.tutorial li a:after {
  transform: translateY(-50%) rotate(90deg);
}
.list_menu.tutorial a {
  padding: 10px;
}
/*----- nolink -----*/
.list_menu li.nolink {
  padding: 8px 10px;
  position: relative;
  overflow: hidden;
  color: #888;
}
.list_menu li.nolink a {
  opacity: .85;
  padding: 0 0 5px !important;
  pointer-events: none;
}
.list_menu li.nolink .ppvtitle {
  color: #333;
  text-decoration: none;
}
.list_menu li.nolink .ppvtitle font {
  color: brown;
}
.list_menu li.nolink[class*="label"]:after {
  display: inline-block;
  min-width: 155px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  position: absolute;
  top: 5px;
  left: -45px;
  z-index: 1;
  transform: rotate(-17deg);
  line-height: 17px;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  color: #000033;
  background: #ffff0a;
}
.list_menu li.nolink.label5:after {
  content: '500円OFF';
}
.list_menu li.nolink.label10:after {
  content: '1000円OFF';
}
/*----- 誘導 -----*/
.text_yudo {
  width: 90%;
  margin: 10px auto;
  padding: 7px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
  border: 1px solid #fff;
  border-radius: 5px;
  line-height: 1.2;
  font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", Quicksand, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-shadow: none;
  text-align: left;
  font-size: 11px;
  color: #333;
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, .9);
}
.text_yudo p:last-child {
  margin-bottom: 0;
}
.lead .text_yudo {
  width: 100%;
  margin-top: -30px;
  margin-bottom: 0;
}
/*--- 見出し ---*/
.text_yudo > span {
  display: block;
  margin-bottom: 4px;
  text-align: center;
  font-size: 1.07em;
  font-weight: bold;
  color: deeppink;
}
/* 特別鑑定ボタン
------------------------- */
/* 画像 */
.btn_ppv {
  width: 80%;
  margin: 12px auto 15px;
}
.menudo .btn_ppv,
.menuList .btn_ppv {
  margin-top: 30px;
}
/* 背景テキスト */
.btn_ppvmenu {
  clear: both;
  margin: 5px 10px 0;
}
.btn_ppvmenu,
.btn_ppvmenu a {
  position: relative;
}
.btn_ppvmenu + .btn_ppvmenu {
  margin-top: 10px;
}
.btn_ppvmenu a {
  display: block;
  padding: 10px 15px 10px 10px;
  border: 2px solid #9a711f;
  border-radius: 2px;
  line-height: 1.35;
  text-align: left;
  font-weight: bold;
  color: #333;
  background: linear-gradient(90deg, #FFF5A9 0%, #FFFEF3 50%, #FFF5A9 100%);
}
.btn_ppvmenu span {
  font-size: 1.05em;
  color: red;
}
.btn_ppvmenu a:before,
.btn_ppvmenu a:after {
  position: absolute;
}
.btn_ppvmenu a:before {
  content: '';
  width: 65px;
  height: 15px;
  top: -8px;
  left: -2px;
  background-image: url("../images/icon/icon-ppv.png");
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.btn_ppvmenu a:after {
  content: '▶︎';
  font-size: .5em;
  color: #1f1f1f;
  top: 50%;
  right: 5px;
  transform: translateY(-50%) scale(1,1.5);
}
/* 注目 / 人気 */
.btn_ppvmenu.notice a:before,
.btn_ppvmenu.popular a:before {
  width: 117px;
  background-position: center left, center right;
}
.btn_ppvmenu.notice a:before {
  background-image: url("../images/icon/icon-ppv.png"), url("../images/icon/icon-notice.png"); 
}
.btn_ppvmenu.popular a:before {
  background-image: url("../images/icon/icon-ppv.png"), url("../images/icon/icon-popular.png");
}
/* margin調整 */
.btn_ppvmenu li + li,
.btn_ppvmenu + .list_menu {
  margin-top: 10px;
}
/* ラベル
------------------------- */
.obi {
  display: inline-block;
  padding: 4px 10px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
  position: absolute;
  top: -5px;
  right: -13px;
  transform: scale(.8, .8) rotate(12deg);
  transform-origin: left top;
  line-height: 1;
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  background: #f601e2;
}
.obi.two {
  background: #4f20ff;
}
/* lead
------------------------- */
.lead {
  padding: 5px 10px;
  text-align: left;
  position: relative;
  overflow: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.lead p:last-of-type {
  margin-bottom: 0;
}
/* popup
------------------------- */
.box_notice_popup {
  display: none;
  width: 100%;
  height: 100%;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  text-align: left;
  background: rgba(0, 0, 0, .5);
}
.box_notice_popup.disp-1 {
  display: block;
}
.box_notice_popup .inner {
  width: 250px;
  margin: auto;
  padding: 10px 15px;
  border: 2px solid #7800FF;
  border-radius: 10px;
  position: relative;
  top: 50%;
  transform: translateY(-55%);
  overflow-y: scroll;
  color: #444;
  background: #fff;
}
.box_notice_popup .btn-close {
  width: 22px;
  height: 22px;
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 100;
  background: url(../images/icon/icon_close_purple.png) no-repeat;
  background-size: 100%;
}
.box_notice_cap {
  margin: 0 0 8px;
  padding: 0 0 4px;
  border-bottom: 1px solid #7800FF;
  line-height: 1.3;
  text-align: center;
  color: #7800FF;
}
.box_notice_popup dt {
  padding-bottom: 3px;
  text-align: center;
  font-weight: bold;
}
.box_notice_popup dd {
  font-size: .88em;
}
.box_notice_popup li {
  margin: 0 0 3px;
  font-size: 11px;
}
.box_notice_popup a {
  color: deeppink;
}
.box_notice_popup .icon_share {
  width: 15px;
  margin: 0 1px;
  vertical-align: -3px;
}
.box_notice_popup input {
  width: 100%;
  border: 0;
  text-align: center;
}

/* 無料TOP
------------------------------------------------------- */
[class*="free_top"],
[class*="free_index"] {
  padding: 0 0 40px;
}
[class*="free_top"] section,
[class*="free_top"] p {
  margin-bottom: 0;
}
/*----- main_visual -----*/
[class*="free_top"] .main_visual {
  height: 520px;
  position: relative;
  overflow: hidden;
  background: url("../images/free/main/bg.jpg") no-repeat;
  background-size: 100% 100%;
}
.title_mv {
  width: 93%;
  margin: auto;
  position: absolute;
  left: 18px;
  bottom: 0;
}
.koryu_anm1 {
  opacity: 0;
  transform: translateY(-70px);
}
/*----- 帯 -----*/
[class*="free_top"] .main_obi {
  padding: 5px;
  line-height: 1.3;
  font-weight: bold;
  font-size: 15px;
  color: #fff;
  background: #ff0066;
}
[class*="free_top"] .main_obi span {
  color: yellow;
}
/*----- btn -----*/
/* 無料占い */
.box_ff .btn_free {
  position: absolute;
  bottom: 5px;
}
.btn_free {
  justify-content: space-between;
  padding: 0 10px;
}
.btn_free li {
  width: 49%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.btn_free a {
  display: block;
  height: 100%;
  width: 100%;
}
.btn_free._select li {
  position: relative;
}
.btn_free._select .active:after {
  content: '';
  width: 98%;
  height: 100%;
  margin: auto;
  box-shadow: 0 0 5px yellow inset, 0 0 8px #fff inset, 0 0 10px #fff inset;
  border-radius: 15px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
/* 会員登録ボタン */
.btn-regist {
  margin: 15px auto;
  position: relative;
}
.btn-regist a {
  display: block;
  width: 85%;
  height: 55px;
  margin: auto;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/btn/btn_regist.png) no-repeat center;
  background-size: 100%;
}
/*----- anime -----*/
[class^="box_anm"] {
  overflow: hidden;
}
.box_anm1 .uroko_first {
  top: 40px;
}
.koryu_anm2 {
  width: 57%;
  position: absolute;
  top: 0;
  right: 0;
  animation-delay: 1.5s !important;
}

/* 無料占い
------------------------------------------------------- */
[class^="free_fortune"] {
  color: #2e2102;
}
/*----- form -----*/
.form_wrap {
  padding: 0 30px 20px;
  position: relative;
  color: #fff;
  background: url("../images/free/form/bg_btm.jpg") no-repeat bottom, url("../images/free/form/bg_mid.jpg") repeat-y;
  background-size: 100%;
}
/* title */
.form_wrap h2 {
  margin: 0 -30px;
}
.ff_tit {
  margin: -35px 0 10px;
  text-shadow: 0 0 5px #090e11, 0 0 5px #090e11, 0 0 5px #090e11, 0 0 5px #090e11, 0 0 5px #090e11, 0 0 5px #090e11;
  font-size: 13px;
}
/* 鑑定内容 */
.ff_name {
  margin-bottom: 8px;
}
.form_wrap .flex-box:not(.select_wrap) {
  justify-content: space-between;
}
.form_wrap .flex-box dl {
  display: flex;
  align-items: center;
  width: 49%;
}
.form_wrap dt {
  flex-shrink: 0;
  width: 33px;
  position: relative;
  line-height: 30px;
  text-align: center;
  font-size: 11px;
}
.form_wrap input[type="text"], .form_wrap select {
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0;
  border: 1px solid #c5c5c5;
  border-radius: 2px;
  line-height: 30px;
  /*font-weight: bold;*/
  color: #9a7b67;
}
.form_wrap ::placeholder {
  color: #9a7b67;
}
.form_wrap input[type="text"] {
  padding: 0 7px;
}
.form_wrap select {
  width: 60px;
  padding: 0 8px;
  background: url("../images/icon/arrow_cha2.png") no-repeat 94% center #fff;
  background-size: 7px;
}
/* 性別 */
.select_wrap {
  flex-wrap: nowrap;
  position: relative;
}
.select_wrap:not(:last-child) {
  margin: 0 0 20px;
}
/* 生年月日 */
.select_wrap.birthday dt {
  width: 58px;
  letter-spacing: 0;
}
.select_wrap [name='birthmonth'], .select_wrap [name='birthday'], .select_wrap [name='birthmonth2'], .select_wrap [name='birthday2'] {
  width: 45px;
}
.select_wrap span {
  padding: 18px 4px 0 2px;
  font-size: 10px;
}
/* 注意文言 */
.form_wrap .att {
  margin: 8px 0 15px;
  line-height: 1;
  font-size: 10px;
}
.form_wrap .txt_notice {
  margin: 18px 0 0;
  padding: 0;
  font-size: 10px;
}
/*--- 占うボタン ---*/
.btn_ff {
  width: 60%;
  margin: auto;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.btn_ff::before {
  content: '';
  position: absolute;
  inset: -3px;
  background: linear-gradient(90deg, #aafafa, #fa9efa, #f9f99f, #a5fba5, #aafafa);
  background-size: 300% 100%;
  border-radius: inherit;
  animation: rainbow 4s linear infinite;
}
.btn_ff input {
  transform-origin: center;
  position: relative;
  z-index: 1;
}

@keyframes rainbow {
  to {
    background-position: 300% 0;
  }
}

/* 月額TOP
------------------------------------------------------- */
/*----- main_visual -----*/
/*--- teller ---*/
.box_teller.main {
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
}
.menu .box_teller.main {
  height: 255px;
  background-image: url("../images/menu/main/teller.jpg");
}
.menu .box_teller.main.docomo {
  background-image: url("../images/menu/main/teller_docomo.jpg");
}
/*--- btn ---*/
.btn_main {
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: absolute;
  left: 0;
}
.btn_main a {
  height: 100%;
}
.menu .btn_main {
  padding: 0 3px 0 10px;
  bottom: 50px;
}
.menu .btn_main li {
  width: 100px;
  height: 130px;
}
.menu .btn_main li:nth-child(2) {
  padding-top: 10px;
}
/*----- メインメニュー -----*/
.box_menu {
  padding: 0 10px;
}
.box_menu ul {
  justify-content: space-between;
}
.box_menu li:before,
.box_menu li:after {
  content: none;
}
.box_menu li:not(.btn_img) {
  border: 1px solid #fff;
  border-radius: 7px;
  background: linear-gradient(to right, #82b4f0 0%,#6836f3 100%);
}
.box_menu li:not(.btn_img):nth-child(even) {
  background: linear-gradient(to right, #ff76f8 0%,#de5b94 100%);
}
.box_menu li:not(.w-100) {
  width: 49%;
}
.box_menu li:not(.btn_img) a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 43px;
  padding: 7px 14px 7px 7px;
  line-height: 1.2;
  text-align: left;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
  font-size: 12px;
  color: #fff; 
}
.box_menu li:not(.btn_img) a:after {
  border-color: transparent transparent transparent #fff;
}
.box_menu li.purple {
  background: #7F76FF !important;
}
.box_menu li.purple a {
  color: #fff;
}
.box_menu li.purple a:after {
  border-color: transparent transparent transparent #fff;
}
.box_menu li.btn_img {
  border: 0;
  background: none;
}
.box_menu li.btn_img a {
  padding: 0;
}
.box_menu li.btn_img a:after {
  content: none;
}
/* 更新バッジ */
.box_menu .icon-1:after {
  content: "";
  position: absolute;
  z-index: 1;
}
.box_menu .icon-1:after {
  width: 20px;
  height: 20px;
  top: -5px;
  right: -4px;
  background: url(../images/icon/icon-mark.png) no-repeat;
  background-size: 100%;
}
/* 検索 */
.pulldown_menu {
  height: 50px;
  padding: 10px 18px 0;
  position: relative;
  background: url("../images/menu/bg_pulldown_menu.jpg") no-repeat;
  background-size: 100%;
}
.pulldown_menu select {
  width: 100%;
  margin: 0;
  padding: 0 40px 0 10px;
  border: 0;
  line-height: 30px;
  background: none;
}
.box_search_btn {
  width: 67px;
  height: 35px;
  display: inline-block;
  margin: 0 auto;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: 1px;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/pay/btn_search.png) no-repeat;
  background-size: 100%;
}
.fortune_search {
  margin: 50px auto 30px;
}
.fortuneSearch .fortune_search {
  margin: 0 auto 30px;
}
/*----- menu_link -----*/
.menu_link {
  width: 92%;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 5;
}
.menu_link li {
  background: none;
}
.menu_link a {
  display: block;
  height: 100%;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
}
[class*="bg_"] .box_teller + .list_menu {
  padding-top: 0;
}
/*--- color ---*/
.menu [class*="bg_"] {
  padding-bottom: 15px;
}
.menu [class*="bg_"] .cornertitle {
  color: #EDD78D;
}
.menu [class*="bg_"] .tit_sub {
  color: #fff;
}
.menu [class*="bg_"] .list_menu {
  padding: 8px;
}
.menu [class*="bg_"] .list_menu li {
  background: rgba(255,255,255,.8);
}
.menu [class*="bg_"] .tit_sub:before,
.menu [class*="bg_"] .tit_sub:after {
  content: none;
}
.menu [class*="bg_"] .list_menu li a {
  padding: 8px 15px 8px 8px;
}
[class*="bg_"] .tit_sub {
  margin-bottom: 5px;
  padding: 8px 10px;
  background: none;
}
[class*="bg_"] .btn_more a {
  color: #000;
  background-color: rgba(255,255,255,.5);
}
[class*="bg_"] .btn_more a:after {
  border-color: transparent transparent transparent #000;
}
.bg_pink,
.bg_pink3 [class*="tit"]:not(.ppvtitle) {
  background-color: #A42D70;
}
.bg_pink2 {
  background-color: #CF2373;
}
.bg_pink3 {
  background-color: #BB5E92;
}
.bg_red,
.bg_red3 [class*="tit"]:not(.ppvtitle) {
  background-color: #9F2727;
}
.bg_red2 {
  background-color: #8D2E47;
}
.bg_red3 {
  background-color: #AE4545;
}
.bg_purple {
  background-color: #923DB9;
}
.bg_violet,
.bg_violet2 [class*="tit"]:not(.ppvtitle) {
  background-color: #573E7C;
}
.bg_violet2 {
  background-color: #634590;
}
.bg_blue,
.bg_blue2 [class*="tit"]:not(.ppvtitle) {
  background-color: #38619E;
}
.bg_blue2 {
  background-color: #6F8EBD;
}
.bg_yellow {
  background-color: #A98C36;
}
.bg_yellow [class*="tit"]:not(.ppvtitle) {
  background-color: #755114;
}
.bg_green {
  background-color: #549285;
}
.bg_green [class*="tit"]:not(.ppvtitle) {
  background-color: #2F7667;
}
.bg_black {
  background-color: #3E3E3E;
}
.bg_black [class*="tit"]:not(.ppvtitle) {
  background-color: #363334;
}
/*----- 7days -----*/
/* close */
.days7 li:not(.open) a {
  pointer-events: none;
  opacity: .45;
}
.days7 li:not(.open) a:after {
  content: none;
}
.menu .days7 li:nth-child(n+4) {
  display: none;
}
/*----- midnight -----*/
.box_midnight-0 .count {
  width: 165px;
  position: absolute;
  top: 105px;
  right: 13px;
  font-size: 20px;
  text-shadow: 0 0 10px yellow;
  font-weight: bold;
  color: #fff;
}
.box_midnight-1 .count {
  display: none;
}
.box_midnight-1 a {
  display: block;
}
.box_midnight-0 a {
  pointer-events: none;
}
/*----- 占断画面 -----*/
.box_sendan {
  width: 50%;
  margin: 10px auto 20px;
}
.box_sendan .text {
  margin-top: -30px;
}

/* 有料TOP
------------------------------------------------------- */
.pay_top p {
  margin-bottom: 0;
}
/*----- レコメンドbigバナー -----*/
.reco_banner {
  display: none;
  height: 120vh;
  height: 100dvh; /* safari */
  margin: auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  background: rgba(0, 0, 0, 0.8);
}
.pay_top .reco-1 {
  display: block;
}
.pay_top .reco-0 {
  display: none;
}
.reco_bigbnr {
  width: 300px;
  margin: 10px auto 0;
  padding: 0 0 0;
  position: relative;
  border-radius: 5px;
  border: 2px solid #ab8449;
  background: #fafafa;
  min-height: 290px;
}
.reco_bigbnr img {
  border-radius: 3px 3px 0 0;
}
.btn_reco_close {
  width: 30px;
  height: 30px;
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: 2000;
  background: url(../images/icon/icon_close.png) no-repeat;
  background-size: 100%;
}
/*----- 新規クーポンプレゼントバナー -----*/
/*.bnr_regist_coupon {
  width: 92%;
  margin: 0 auto 20px;
  position: relative;
}
.bnr_regist_coupon p {
  width: 100%;
  margin: 0;
  line-height: 1.5;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  color: yellow;
  position: absolute;
  bottom: 8px;
  left: 0;
}*/
/*----- main_visual -----*/
.today {
  letter-spacing: .05em;
  text-align: center;
  font-family: "Zen Old Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #2F7495;
}
/*--- 新メニュー ---*/
[class*="new_notice"] {
  display: none;
  width: 300px;
  margin: 5px auto 2px;
}
.new_notice-1 {
  display: block;
}
/*----- お知らせ -----*/
.news_list {
  margin: 0 0 20px;
  padding: 8px;
  position: relative;
  line-height: 1.4;
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  background: url("../images/line/05.png") no-repeat top, url("../images/line/05.png") no-repeat center bottom, #fff;
  background-size: 100%;
}
.news_list,
.news_list a {
  color: #573B3B;
}
.news_list dl {
  display: flex;
  align-items: flex-start;
  padding: 7px 5px;
  position: relative;
}
.news_list dl + dl {
  border-top: 1px dashed rgba(106,76,17,.5);
}
.news_list dt {
  flex-shrink: 0;
  padding-right: 3px;
}
.news_list .open-0 {
  display: none;
}
.news_list .list_submit {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.news_list a {
  display: block;
}
.news_list form {
  text-decoration: underline;
}
/*----- 緊急メッセージ THEATER -----*/
.box_emergency {
  width: 100%;
  height: 70px;
  align-items: center;
  flex-wrap: nowrap;
}
.emergency_mes {
  flex-shrink: 0;
  width: 20%;
  height: 100%;
  margin-right: 10px;
  position: relative;
  background: url("../images/pay/emergency/bg.png") no-repeat bottom;
  background-size: 100%;
}
.emergency_mes a {
  display: block;
  height: 100%;
}
.emergency_mes .float {
  width: 108%;
  position: absolute;
  top: 0;
  left: -4%;
}
/*---
ランダム訴求1 RANDOM_WEEK_VIEW
ランダム訴求2 RANDOM_WEEK_TEXT
---*/
.random {
  padding: 0 10px;
}
[class^="random_week_"] {
  overflow: hidden;
  margin-top: 5px;
  padding: 4px;
  border-radius: 3px;
  border: 1.5px solid #3e2d00;
  outline: 1.5px solid #ebc36c;
  outline-offset: -3px;
  line-height: 1.3;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  background: #fff;
}
[class^="random_week_"] a {
  display: block;
  padding: 7px 15px 7px 7px;
  position: relative;
  text-decoration: underline;
  color: #333;
}
[class^="random_week_"] a:after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3%;
}
[class^="random_week_view"] {
  width: 100%;
}
.random_week_view-1 a {
  background: #fddde7;
}
.random_week_view-2 a {
  background: #efdbfa;
}
.random_week_view-3 a {
  background: #fdfdb6;
}
.random_week_text-1 a {
  background: #efdbfa;
}
.random_week_text-2 a {
  background: #fdfdb6;
}
.random_week_text-3 a {
  background: #fddde7;
}
/*----- 2ボタン -----*/
.btn_info_ppv {
  margin-bottom: 20px;
  padding: 0 15px;
  position: relative;
}
.btn_info_ppv ul {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.btn_info_ppv li {
  width: 50%;
  height: 65px;
  position: relative;
}
.btn_info_ppv li a {
  display: block;
  width: 100%;
  height: 100%;
}
.btn_notice.icon-1:after {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: -2px;
  left: 15px;
  z-index: 1;
  background: url(../images/icon/icon-mark.png) no-repeat;
  background-size: 100%;
  -webkit-animation: tenmetsu 1s ease-in-out infinite alternate;
  -moz-animation: tenmetsu 1s ease-in-out infinite alternate;
  animation: tenmetsu 1s ease-in-out infinite alternate;
}
/*----- スライダー -----*/
.join_member_on .bxslider_wrap {
  padding: 0 0 15px;
}
/*----- タブメニュー -----*/
.sec_tab_menu {
  margin-top: 5px;
}
/* 出しわけ */
.tab_menu_item .open-0, .tab_menu_item .close-1 {
  display: none;
}
/* tab */
.sec_tab_menu .tab,
.box_free_more .tab {
  margin: 0;
  position: relative;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.sec_tab_menu .tab {
  margin-bottom: -0.5px;
  padding: 0 11px;
  background-image: url("../images/pay/tab/1.png"), url("../images/pay/tab/2.png"), url("../images/pay/tab/3.png");
  background-size: 92%, 0, 0;
}
.sec_tab_menu .tab.on2 {
  background-size: 0, 92%, 0;
}
.sec_tab_menu .tab.on3 {
  background-size: 0, 0, 92%;
}
.sec_tab_menu .tab li {
  width: 33.333%;
  height: 45px;
  padding: 0;
  background: none;
}
.tab li.icon-1:after,
.list_menu.thumbnail li.new:after {
  content: '';
  width: 55px;
  height: 20px;
  margin: auto;
  position: absolute;
  background: url("../images/icon/icon-new.png") no-repeat;
  background-size: 100%;
}
.tab li.icon-1:after {
  left: 50%;
  top: -10px;
  transform: translateX(-50%);
}
/* panel */
[class^="panel"] .bnr {
  padding: 5px 0;
}
[class^="panel"] .bnr {
  margin: 0;
}
/*----- 無料占いの続き -----*/
.btn_free_more {
  width: 95%;
  margin: 15px auto 8px;
  height: 60px;
  background-image: url("../images/btn/btn_free_more.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
}
.btn_free_more.active {
  margin-bottom: 10px;
}
.box_free_more {
  margin-top: -10px;
}
/* tab */
.box_free_more .tab {
  margin: 0 12px;
}
.box_free_more .tab li {
  border: 1px solid #FB5F62;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  color: #FFF5A9;
  background: #952F34;
}
.box_free_more .tab li.active {
  background: #6B0B0D;
}
/* panel */
.box_free_more .content_wrap {
  border-radius: 3px;
}
.box_free_more .content_wrap ul {
  padding: 10px 10px 10px 8px;
  box-shadow: 0 0 10px rgba(0,0,0,.5) inset;
  background: #F8F5E9;
}
.box_free_more .content_wrap li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: bold;
  color: #333;
}
.box_free_more .content_wrap li:not([class]):before {
  content: '・';
}
.free_cmn {
  font-size: 1.02em !important;
}
.free_indent {
  margin-top: -6px;
  margin-left: 7px;
}
.free_indent:before {
  flex-shrink: 0;
  content: '∟';
  color: #fb3990;
}
.free_ppv:before {
  flex-shrink: 0;
  content: '';
  width: 50px;
  height: 14px;
  margin-right: 4px;
  background: url("../images/icon/icon-ppv.png") no-repeat center;
  background-size: 100%;
}
.box_free_more .content_wrap a {
  display: inline-block;
  padding: 0;
  text-decoration: underline;
  color: #333;
  background: none;
}
.free_cmn a,
.free_indent a {
  color: darkred!important;
}
/*--- 月額TOPの無料占いの続き(背景あり) ---*/
.menu .btn_free_more,
.menu .box_free_more {
  background-color: #2E7292;
}
.menu .btn_free_more {
  width: 100%;
  height: 80px;
  margin: 0;
  background-position: center 15px;
  background-size: 90%;
}
.menu .box_free_more {
  margin-bottom: 0;
  padding-bottom: 1px;
}
/*----- nextopen -----*/
[class^="nextopen-"] .fuki_caption span {
  display: none;
}
.nextopen-0 .close, .nextopen-1 .open {
  display: block !important;
}
[class^="nextopen-"] a {
  display: block;
  position: relative;
}
.next_month {  
  width: 105px;
  line-height: 23px;
  text-align: center;
  font-size: 16px;
  color: yellow;
  position: absolute;
  top: 5px;
  right: 14px;
}
.nextopen-0 a {
  pointer-events: none;
}
.nextopen-0 a:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../images/pay/nextopen/soon.png") no-repeat;
  background-size: 100% 100%;
}
/*----- アンケート別レコメンド -----*/
.recommend {
  padding: 0 0 20px;
  background: url("../images/pay/recommend/bg_btm.jpg") no-repeat bottom, url("../images/pay/recommend/bg_mid.jpg") repeat-y;
  background-size: 100%;
}
.recommend .btn_ppvmenu {
  margin: 0 15px;
}
/*----- deliレコメンド -----*/
.tit_deli {
  position: relative;
}
/*.tit_deli .text-mincho {
  width: 67%;
  padding: 0 10px;
  text-shadow: 0 5px 30px #0C0220;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #6E4EA2;
  position: absolute;
  top: 68px;
  left: 0;
}*/
.tit_deli .text-mincho {
  width: 100%;
  padding: 0 10px;
  text-shadow: 0 0 1px rgba(154,113,31,.2), 0 0 5px #fff, 0 0 5px #fff;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #9A711F;
  position: absolute;
  top: 5px;
  left: 0;
}
/*----- 本日追加されました -----*/
.box_update {
  margin-right: 10px;
  margin-left: 10px;
  border: 1px solid #9A711F;
  border-radius: 8px;
}
/*----- 滞在特典 -----*/
.box_special {
  padding: 10px 12px 12px;
  color: #fff;
}
.box_special h2 {
  margin: 0 -3px 10px;
}
.box_special li + li {
  margin-top: 15px;
}
.fuki_caption {
  height: 50px;
  margin: auto;
  line-height: 38px;
  letter-spacing: .03em;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  color: #333;
  background: url("../images/pay/special/fuki_caption.png") no-repeat top;
  background-size: 100%;
}
.fuki_caption.float {
  margin: -3px auto -5px;
}
/* 翌月プレゼント */
.btn-pre-link {
  display: block;
  line-height: 23px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
}
/* スペシャルプレゼント */
.box_special #premium_link {
  margin-bottom: 5px;
  border-radius: 3px;
  padding: 10px;
  color: #1a1a1a;
  background: #fff;
}
.box_special .premium_btn {
  width: 100% !important;
}
/*----- おすすめサイト -----*/
.promotion {
  position: relative;
}
.promotion .inner {
  padding: 10px;
  position: relative;
  z-index: 1;
}
.promotion li {
  margin-top: 10px;
}
.promotion .officialLink {
  padding: 0 10px;
}
.box_recc .inner {
  margin: 5px 5px 0;
  padding: 0 20px 25px;
  border: 1px solid #d8a5f6;
  border-radius: 7px;
  background: #714d71;
}
/*----- free_connect -----*/
.free_connect-0 {
  display: none !important;
}
.free_connect-1 {
  margin: -10px 0 25px;
}
.btn_free_connect {
  width: 60%;
  margin: auto;
  cursor: pointer;
}
/* 相手未登録時 */
.disabled-1 .btn_free_connect {
  opacity: .5;
  pointer-events: none;
}
.disabled-1 .btn-color-purple {
  display: block;
  width: 80%;
  margin: 0 auto 13px;
}
.disabled-0 .btn-color-purple {
  display: none;
}

/* beginner
------------------------------------------------------- */
.beginner_day {
  margin: 5px;
  background: #ff0055;
}
.beginner .tab {
  background-image: url(../images/pay/beginner/tab/1.jpg), url(../images/pay/beginner/tab/2.jpg), url(../images/pay/beginner/tab/3.jpg);
}
.box_count {
  margin: 10px;
  padding: 5px;
  border-radius: 3px;
  text-align: center;
  font-weight: bold;
  color: red;
  background: #fefefe;
}

/* お知らせ・プレゼントBOX
------------------------------------------------------- */
.notice .list_menu dt {
  margin-bottom: 7px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(0, 0, 0, .3);
  font-size: 12px;
}
.notice .icon_1 {
  background: url(../images/icon/icon-mark.png) no-repeat right top;
  background-size: 15px;
}

/* menulist / menu.do
------------------------------------------------------- */
/*----- common -----*/
/* title */
.menuList .title, .menuList .tit_sub, .menudo.index .title {
  margin: 0;
}
.menuList .title span {
  font-size: 1.3em;
}
/* text */
.menudo .serif a {
  font-size: 1.05em;
  font-weight: bold;
}
.menudo .icon-hart {
  margin-top: 50px;
}
.text-rotate {
  margin: 0 100px -10px 0;
  padding: 0 20px;
  transform: rotate(-10deg);
  text-align: left;
  font-weight: bold;
}
/* img */
[class^="yudo_img"] {
  position: relative;
}
.yudo_img {
  margin: -35px auto 0;
  z-index: 2;
}
.yudo_img2 {
  margin: 0 auto -35px;
  z-index: -1;
}
/* 占者画像 */
.result-picture {
  width: 90px;
  float: left;
  margin: 0 8px 0 0;
}
.result-picture.right {
  float: right;
  margin: 0 0 0 8px;
}
.result-picture.right img {
  transform: scale(-1, 1);
}
/*----- タブメニュー -----*/
.menuList .sec_tab_menu {
  margin-top: 30px;
}
.menudo .sec_tab_menu {
  margin-top: 40px;
}
/*----- yudo -----*/
[class*="box_yudo"] ul {
  width: 90%;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  font-weight: bold;
}
[class*="box_yudo"] li a {
  font-size: 13px;
}
/*--- 04 ---*/
.box_yudo4 ul {
  top: 15px;
}
.box_yudo4 li {
  width: 55%;
}
.box_yudo4 li:nth-child(2) {
  margin: -10px 0 -10px auto;
}
/*--- 05 ---*/
.box_yudo5 ul {
  width: 70%;
  align-items: flex-start;
  top: -10px;
  right: auto;
}
.box_yudo5 li {
  width: 90px;
  margin: 0;
}
.box_yudo5 li:nth-child(2) {
  margin-left: 20px;
}
.box_yudo5 li:last-child {
  margin-left: 30px;
}
/*--- 07 ---*/
.box_yudo7 ul {
  width: 55%;
  margin: 0 15px 0 auto;
  top: 25px;
}
/*--- 08 ---*/
.box_yudo8 ul {
  justify-content: space-between;
  top: 25px;
}
.box_yudo8 li {
  width: 47%;
}
/*--- 11 ---*/
.box_yudo11 ul {
  width: 70%;
  margin: 0 15px 0 auto;
  top: 10px;
}

/* 従量TOP
------------------------------------------------------- */
/*----- ナビ -----*/
.fuki_navi {
  display: block;
  width: 80%;
  margin: 0 auto -5px;
}
.box_navi {
  margin: 10px 10px 15px;
  z-index: 1;
  background: url("../images/ppv/bg_navi.png") no-repeat center;
  background-size: 100%;
}
.box_navi ul {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  height: 160px;
}
.box_navi li {
  width: 20%;
  height: 50%;
}
.box_navi a {
  display: block;
  height: 100%;
}
/*----- 検索 -----*/
.ppv_top .box_search {
  padding: 10px 15px;
  background: linear-gradient(to bottom, #113C51 0%, #234e63 100%);
}
/*--- 検索窓 ---*/
.box_input {
  display: flex;
  align-items: center;
  height: 30px;
  margin: 0 0 8px;
  background: url("../images/ppv/bg_search.png") no-repeat center;
  background-size: 100%;
}
.box_input * {
  border: 0;
}
#input_word {
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0 0 0 15px;
  line-height: 30px;
  border: 0;
  color: #000;
  background: none;
}
#btn_search {
  opacity: 0;
  flex-shrink: 0;
  width: 40px;
  height: 35px;
  padding: 0;
  cursor: pointer;
}
::-webkit-calendar-picker-indicator {
  width: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
}
#not_found {
  margin-bottom: 8px;
  text-shadow: 0 1px 2px rgba(0,0,0,.1);
  font-size: 10px;
  font-weight: bold;
  color: yellow;
}
/*--- 検索結果modal ---*/
.result_modal .modal_inner h2 {
  height: 37px;
  border-bottom: 2px solid #e3c02f;
}
.result_modal .modal_inner h2 span {
  line-height: 1.15 !important;
}
.result_modal .ppv_box {
  margin: 0;
}
.result_modal [id*="_pack"], .result_modal .icon-ppv, .result_modal .icon-ppv + br {
  display: none;
}
/*--- 検索カテゴリ ---*/
.box_search_cate {
  overflow: hidden;
}
.box_search_cate ul {
  justify-content: space-between;
}
.box_search_cate li {
  width: 49%;
  margin-bottom: 5px;
  padding: 8px;
  border-radius: 5px;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  background: #E0C977;
}
.box_search_cate a {
  display: block;
  text-decoration: none;
  color: #573B3B;
}
.box_search_cate .btn_history {
  width: 110px;
  float: right;
}
/*----- menu -----*/
.ppv_top .cornertitle {
  font-size: 1.4em;
}
.ppvicon, .ppvtitle {
  display: table-cell;
  vertical-align: top;
}
.ppvicon {
  width: 50px;
  padding: 0 7px 0 0;
}
.ppvtitle {
  text-decoration: underline;
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  color: #000;
}
.ppvtitle > h3,
.ppvtitle > h4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden; 
}
.ppv_top .price,
.list_menu .price {
  margin: 7px 0 0;
  text-align: right;
  font-size: 10px;
  font-weight: normal;
  color: #fe0054;
}
/* history */
.ppvhistory .list-menu01 a > span:last-of-type {
  display: block;
  text-align: right;
  font-size: 10px;
  margin-top: 5px;
}

/* ppv.do
------------------------------------------------------- */
/*----- confirm -----*/
.ppvdo.confirm .box_teller {
  margin: 10px 0;
}
.ppvdo .box_pre a {
  display: block;
  text-align: center;
  font-weight: bold;
}
.ppv_price {
  padding: 20px 0 0;
  text-shadow: 0 1px 1px #010101;
  font-size: 16px;
}
.ppvdo .subtitle {
  font-size: 12px;
}
.ppvdo .list-menu {
  margin: 5px auto 20px;
}
.ppvdo .tit_sub01 {
  margin: 10px 10px 15px;
  color: #fff;
}
/* アイコン */
.icon-person {
  width: 100%;
  margin: 5px 0 0 auto;
  padding: 0 10px;
  line-height: 20px;
  text-align: right;
  font-weight: bold;
  font-size: 10px;
}
.icon-person p {
  display: inline-block;
  margin: 0;
}
.icon-person .icon {
  background-image: url(../images/icon/icon-person.png);
  background-repeat: no-repeat;
  background-size: 17px;
}
.icon-person.一人用 .icon {
  padding-left: 15px;
  background-position: -9px;
}
.icon-person.二人用 .icon {
  padding-left: 22px;
  background-position: left;
}
/* menu_list */
.menu_list {
  margin: 5px 5px 20px;
  padding: 5px 13px 20px;
  box-shadow: 0 0 10px #0B4B6B inset, 0 0 10px #0B4B6B inset, 0 0 15px #0B4B6B inset;
  text-shadow: 0 1px 5px #3b307d, 0 0 10px #3b307d, 0 0 10px #3b307d;
  font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", Quicksand, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
  color: #fff;
  background: rgba(11,75,107,.6);
}
.list_wrap {
  padding: 0 3px;
}
.menu_list h4 {
  margin: 0 0 15px;
}
.menu_list li {
  margin: 0 0 8px;
  padding: 0 0 0 18px;
  position: relative;
  line-height: 1.4;
  text-align: left;
  background-repeat: no-repeat;
  background-position: 2px 3px;
  background-size: 12px;
}
.menu_list li[class=""]:before {
  content: '●';
  line-height: 1;
  font-size: .5em;
  position: absolute;
  top: 5px;
  left: 3px;
}
.menu_list li:last-child {
  margin-bottom: 0;
}
.menu_list .ic_com_indent {
  display: flex;
  margin: -5px 0 10px;
  background: none;
}
.ic_com_indent + .ic_com_indent {
  margin-top: -7px;
}
.ic_com_indent:before {
  content: '∟';
  margin: -2px 3px 0 0;
  font-size: 0.8em;
}
.menu_list .ic_com_indent,
.menu_list .icon01,
.menu_list .icon03 {
  font-weight: bold;
}
.menu_list [class^="icon"] {
  background-position: 2px 3px;
  background-size: 10px;
}
.menu_list .icon01 {
  text-shadow: 0 0 2px #003bad, 0 0 3px #003bad, 0 0 5px #0050eb, 0 0 5px #0050eb;
  font-size: 13px;
  background-image: url(../images/icon/01.png);
  background-position: 0 2px; 
  background-size: 14px;
}
.menu_list .icon02 {
  background-image: url(../images/icon/02.png);
}
.menu_list .icon03 {
  background-image: url(../images/icon/03.png);
}
.menu_list .icon04 {
  background-image: url(../images/icon/04.png);
}
.menu_list .icon02,
.menu_list .icon02 a {
  text-shadow: 0 0 2px #a28201, 0 0 3px #a28201;
}
.menu_list .icon03,
.menu_list .icon03 a {
  text-shadow: 0 0 2px #9b015f, 0 0 3px #9b015f, 0 0 5px #ca017c, 0 0 5px #ca017c;
  font-weight: bold;
}
/* パック用文言エリア */
.ppvdo.confirm .text_pack {
  display: block;
  margin: 10px 10px 20px;
  padding: 10px 15px;
  border: 1px solid #ba8787;
  border-radius: 7px;
  text-align: left;
  color: #000;
  background: #fff;
}
.ppvdo.confirm .text_pack + br {
  display: none;
}
.ppvdo.confirm .text_pack font {
  color: #f92771;
  font-weight: bold;
}
/* 承諾事項 */
.box_approval {
  padding: 0 0 30px;
  text-align: left;
  font-size: 12px;
  color: #000;
  background: rgba(255, 255, 255, 1);
}
.box_approval #approval {
  margin-bottom: 15px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  background: #675e71;
}
.box_approval li {
  margin-bottom: 5px;
}
.box_approval a {
  color: #f92771;
  font-weight: bold;
}
.box_approval .text-canter {
  text-align: center;
}

/* 占者紹介
------------------------------------------------------- */
.tellerProfile .box_teller {
  background-position: 88% center;
}
.tellerProfile .serif_none {
  width: 160px;
  letter-spacing: .12em;
  text-align: center;
  font-size: 24px;
}
.tellerProfile .lead {
  padding: 5px 15px 20px;
}
.tellerProfile ul {
  margin-bottom: 20px;
  padding: 0 10px;
}
.tellerProfile li {
  margin: 0 0 7px;
  padding-left: 8px;
  text-indent: -11px;
  font-size: .9em;
}
.tellerProfile dl {
  margin-top: 15px;
}
.tellerProfile dt {
  margin-bottom: 5px;
  font-weight: bold;
}
.tellerProfile dd {
  margin: 0 0 15px;
  font-size: .9em;
}
.tellerProfile dd:last-child {
  margin-bottom: 0;
}

/* マイページ
------------------------------------------------------- */
/* メニュー */
.list-icon li.tutorial {
  background: url(../images/mypage/icon01.png) no-repeat 5px center;
  background-size: 30px;
}
.list-icon li.history {
  background: url(../images/mypage/icon02.png) no-repeat 5px center;
  background-size: 30px;
}
.list-icon li.bookmark {
  background: url(../images/mypage/icon03.png) no-repeat 5px center;
  background-size: 30px;
}
.list-icon li.stamp {
  background: url(../images/mypage/icon04.png) no-repeat 8px center;
  background-size: 25px;
}
.list-icon a {
  padding-left: 40px;
}
#pref {
  margin-bottom: 30px
}
#pref .btn-menu {
  margin: 15px auto;
}
/* プレミアムコード */
.mypage .box_special {
  text-align: left;
}
.mypage .box_special a {
  font-weight: bold;
  color: yellow;
}

/* ブックマーク
------------------------------------------------------- */
.bookmark p {
  padding: 0 10px;
}
.bookmark .list-menu02 {
  margin-bottom: 30px;
  text-align: left;
}
.bookmark .list-menu02 li {
  display: flex;
  align-items: center;
  padding-left: 10px;
  color: #fff;
}
.bookmark .list-menu02 a {
  width: 100%;
  margin: auto;
  padding: 10px 20px 10px 10px;
}
.bookmark input[type="checkbox"] {
  display: none;
}
.bookmark input[type="checkbox"] + label {
  flex-shrink: 0;
  position: static;
}

/* チュートリアル
------------------------------------------------------- */
.tutorial .box_txt {
  padding: 5px 10px 40px;
  text-align: left;
}
.site_cap {
  margin: 0 20px 40px 20px;
  position: relative;
}
.site_cap span {
  display: inline-block;
  position: absolute;
  bottom: -18px;
  width: 105px;
}
#link01 .site_cap span {
  left: 65px;
}
#link02 .site_cap span {
  left: 123px;
}
#link03 .site_cap span {
  left: 9px;
}
#link04 .site_cap span {
  left: 178px;
}

/* unregist
------------------------------------------------------- */
/*----- index -----*/
.box_unregist_notice p {
  padding: 0 10px;
  text-align: left;
}
.box_unregist_notice .icon-hart {
  width: 12px !important;
  margin: 0 5px 0 0;
}
/*----- modal -----*/
.unregist #modal section {
  margin: 0;
}
.unregist #modal .tit_sub {
  margin: 0 -5px 10px;
  font-size: 13px;
}
.unregist .open-1 .btn-link {
  margin: 0;
}
.reserve_Button {
  display: block;
  width: 80%;
  margin: 10px auto 20px;
  padding: 0;
  box-shadow: 0 1px inset #fff, 0 3px #9c8e1c;
  border-radius: 5px;
  line-height: 35px;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
  font-weight: bold;
  color: #fff;
  background: #beae24;
}
#overlay.mail_modal.open-1 {
  display: block;
}
/*----- done -----*/
.unregist .list-icon .line_me {
  background: url(../images/common/icon-line.png) no-repeat 8px center;
  background-size: 33px;
}
.unregist .list-icon .uranavi {
  background: url(../images/common/icon-navi.png) no-repeat 8px center;
  background-size: 33px;
}
.unregist .list-icon .mag {
  background: url(../images/common/icon-mag.png) no-repeat 8px center;
  background-size: 33px;
}
.unregist .list-icon .kantei {
  background: url(../images/common/icon-kantei.png) no-repeat 8px center;
  background-size: 33px;
}
.unregist .list-icon a {
  padding-left: 50px;
}
.unregist .list-icon span {
  font-size: 0.9em;
}

/* プレゼントキャンペーン
------------------------------------------------------- */
.present_entry .menu_title {
  justify-content: center;
  margin: 0 -10px 10px;
  text-align: center;
}
.present_entry .detail {
  padding: 0 10px;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.present_entry .detail dt {
  margin: 20px 0 5px;
  padding-left: 20px;
  font-weight: bold;
  color: #fbf781;
  background: url(../images/icon/01.png) no-repeat left;
  background-size: 15px;
}
.present_entry .txt_notice {
  margin: 0;
  padding: 0 0 5px 10px;
  text-indent: -11px;
  font-size: 11px;
}
.present_entry .box_notice li:not(:last-child) {
  margin: 0 0 5px;
}
.present_banner {
  margin: 5px 0 15px;
  padding: 0 10px;
}
.present_banner.open-0, .present_banner.open-2, .present_banner02.open-0, .present_banner02.open-2 {
  display: none;
}
.present_banner.open-1, .present_banner02.open-1 {
  display: block;
}
.present_entry h2 span {
  font-size: 13px;
}
.present_entry .box_flow {
  background: #fff;
}
.present_entry .box_flow .inner {
  padding: 20px 0;
}
.present_entry .tit {
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  margin: 0 0 0 0;
  padding: 10px 10px 10px 30px;
  font: bold;
  color: #666;
  background: #ccc;
  border-top: #ccc solid 1px;
  border-right: #999 solid 1px;
  border-bottom: #999 solid 1px;
  border-left: #ccc solid 1px;
  text-shadow: 1px 1px 0 rgb(255 255 255);
  box-shadow: 0 0 0 1px rgb(255 255 255 / 50%) inset;
  background-image: linear-gradient(to bottom, rgba(220, 220, 220, 1.0), rgba(240, 240, 240, 1.0) 25%, rgba(235, 235, 235, 1.0) 30%, rgba(240, 240, 240, 1.0) 36%, rgba(235, 235, 235, 1.0) 50%, rgba(215, 215, 215, 1.0) 80%, rgba(210, 210, 210, 1.0));
}
.present_entry .tit:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 15px;
  width: 0;
  height: 100%;
  border-left: #ccc solid 1px;
}
.present_entry .tit:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 16px;
  width: 0;
  height: 100%;
  border-right: #eee solid 1px;
}
.present_entry .na {
  width: 94%;
  margin: 0 auto;
  font-weight: bold;
  color: #592b30;
  letter-spacing: 0;
  border: 1px solid #f49b7a;
  border-radius: 6px;
  text-decoration: none;
  padding: 15px 25px;
  background-color: #f5b5a0;
  line-height: 1.4;
  text-align: left;
}
.present_entry .box_flow img {
  width: 32px;
}
.present_entry .entry_require {
  line-height: 1.4;
  text-align: left;
  margin: 0 7px 20px 7px;
  font-weight: bold;
}
.present_entry .entry_require span {
  font-size: 12px;
  font-weight: normal;
}
.present_entry .entry_kome {
  text-align: left;
  font-size: 11px;
  padding: 12px 10px 15px 10px;
  background: #6921a0;
  margin-bottom: 0;
  color: #fff;
}
.present_entry .entry_arrow {
  text-align: center;
  margin: 10px auto;
  width: 32px;
}
.present_entry .box_t {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  font-size: 80%;
  line-height: 1.4;
}
.box-entry {
  background: #fff;
  color: #333;
  text-align: left;
}
.present_entry form {
  width: 90% !important;
  margin: 20px auto 0 auto;
}
.box-entry .pink {
  color: #ff0066;
}
.box-entry label.label_txt {
  border-bottom: dotted 1px #ff0066;
  border-left: solid 3px #ff0066;
  padding: 5px;
  width: 90%;
  margin: 0 10px 10px 10px;
  display: block;
  font-weight: bold;
  line-height: 1;
}
.input-layout {
  width: 88%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  border: 1px solid #ccc;
  outline: none;
  border-radius: 5px;
  margin-left: 10px;
  margin-bottom: 15px;
}
.box-entry .title3 {
  color: hsl(0, 50%, 50%);
  padding-left: 5px;
  border-left: 10px solid hsl(0, 50%, 50%);
  text-align: left;
  font-weight: bold;
  font-size: 13px;
}
.box-entry .box_t2 {
  width: 100%;
  margin: 10px auto 5px auto;
  font-size: 80%;
  line-height: 1.4;
}
.box-entry .privacy {
  background: #f5b5a0;
  padding: 10px;
  font-size: 80%;
  line-height: 1.4;
  margin-bottom: 15px;
}
.box-entry .dou {
  margin: 20px auto 0;
  font-size: 15px;
  font-weight: bold;
}
.box-entry .dou label {
  display: flex;
  align-items: center;
  justify-content: center;
}
.box-entry .dou input {
  width: 18px;
  height: 18px;
  margin-right: 5px;
  -webkit-appearance: auto;
}
#disableButton {
  margin: auto;
  width: 100%;
  height: 80px;
  border: 0;
  background: url(../images/pay/present_entry/btn01.png) no-repeat center;
  background-size: 90%;
  background-position: 50%;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  margin-bottom: 15px;
}
.present_entry .bg_box {
  background: #fff;
  font-size: 24px;
  padding: 20px 0 35px 0;
  color: red;
  font-weight: bold;
}
.present_entry .bg_box span {
  display: block;
  border-radius: 3px;
  border: 2px solid #fd0807;
  padding: 15px 0;
  margin: 0 20px;
}
.present_entry .bg_box a {
  color: red;
}
.present_entry p.des {
  margin-right: auto;
  margin-left: auto;
  font-size: 12px;
  line-height: 1.4;
  padding: 10px 0 0 0;
  width: 88%;
  margin-bottom: 0;
}
.present_entry p.des span {
  font-size: 87%;
  display: block;
  padding: 8px;
  background: #f5b5a0;
  border-radius: 4px;
  margin-top: 5px;
}
.present_entry .confirm_entry {
  text-align: center;
  margin: 20px 0 0 0;
  padding-bottom: 15px;
}
.present_entry .confirm_entry input {
  padding: 10px 20px;
  margin: 5px;
  border: 1px solid #7f7f7f;
  background: #efefef;
  color: #2c2c2c;
  border-radius: 2px;
  font-size: 12px;
  line-height: 1;
}
.present_entry .txt_entry_mail {
  padding: 0 18px;
}
.present_entry .entry_title_box {
  padding: 15px 0 20px 0;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 20px;
  background: url(../images/line/01.png) no-repeat left bottom #663399;
  background-size: 100% auto;
  text-shadow: 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0, 0 0 6px #8537f0;
}
.present_entry .entry_title_box span {
  color: #f6f200;
}
.present_entry .c_txt {
  background: url(../images/line/02.png) no-repeat left bottom, url(../images/line/02.png) no-repeat left top #7d47a7;
  background-size: 100% auto;
  font-weight: bold;
  padding: 20px 0;
  margin-bottom: 15px;
  font-size: 15px;
}
.present_entry .kome {
  margin: 0 13px 20px 13px;
  font-weight: normal;
}
.present_entry .kome li {
  padding-left: 1em;
  text-indent: -1em;
}

/* キャンペーン施策
------------------------------------------------------- */
.pay_top .campaign.open-1 {
  display: block;
}
.pay_top .campaign.open-0, .pay_top .campaign.open-2 {
  display: none;
}
.pay_top .campaign {
  color: #000;
  border: 7px solid red;
  padding: 15px;
  background-color: #fff;
  margin: 25px 10px 25px;
  border-radius: 20px;
}
.pay_top .campaign p {
  font-size: 15px;
}
.pay_top .campaign p a {
  color: red;
}
.pre_campaign {
  word-break: break-all;
}
.pre_campaign .title_bg {
  background: #e8e8f0;
  padding: 15px;
  font-size: 17px;
  font-weight: bold;
}
.pre_campaign .title_bg span {
  color: red;
}
.pre_campaign .text {
  margin: 15px 15px 25px;
  text-align: left;
  font-size: 12px;
}
.pre_campaign .text.indent {
  text-indent: -1em;
  padding-left: 1em;
}
.pre_campaign .text-cam {
  margin: 15px 15px 25px;
  text-align: left;
  font-weight: bold;
}
.pre_campaign .box_ticket_menu {
  width: 95%;
  margin: 0 auto;
}
.pre_campaign .box_ticket_menu li {
  padding: 10px 5px;
}
.campaign_tokuten {
  margin: 0 8px 25px 8px;
}
.campaign_tokuten dt {
  text-align: left;
  background: #8117e1;
  font-weight: bold;
  padding: 5px 5px 5px 7px;
  margin-bottom: 15px;
  color: #fff;
}
.campaign .ticket_use .inner_box {
  position: relative;
}
.campaign .ticket_use .inner_box input[type="reset"].btn_cancel {
  position: absolute;
  top: 5px;
  right: 5px;
}
.site-btn a {
  display: block;
  text-decoration: none;
  font-size: 15px;
  padding: 15px 0;
  border-radius: 20px;
  margin: 0 10px;
  line-height: 1.4;
  font-weight: bold;
  border: 2px solid #ecca7d;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #f6eba6));
  background-image: -moz-linear-gradient(top, #ffffff 0%, #f6eba6 100%);
  background-image: linear-gradient(to bottom, #ffffff 0%, #f6eba6 100%);
  color: #000;
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.site-btn.l a {
  font-size: 19px;
}
.campaign .em {
  background: #e117b5;
  color: #fff;
  margin: 0 15px;
  font-weight: bold;
  padding: 8px 0;
  line-height: 1;
  font-size: 16px;
}
.kaikin.open-1 .before, .kaikin.open-0 .after {
  display: none;
}
.kaikin.open-1 .after, .kaikin.open-0 .before {
  display: block;
}
.cam-step {
  margin-bottom: 30px;
}
.cam-step h3 {
  text-align: left;
  background: #8117e1;
  font-weight: bold;
  padding: 5px 5px 5px 7px;
  margin-bottom: 10px;
  color: #fff;
}
.cam-step p.txt {
  font-weight: bold;
  padding: 0 5px;
}
.cam-step p.txt.text-left {
  padding: 0 5px 0 10px;
}
.campaign.index img {
  width: 100%;
}
.download {
  width: 150px;
  margin: 0 auto;
}

/* 割引キャンペーンsale
------------------------------------------------------- */
.sale-box.disp-0, .sale-box.disp-2, .sale-anchor.disp-0, .sale-anchor.disp-2 {
  display: none;
}
.sale-box.disp-1, .sale-anchor.disp-1 {
  display: block;
}
.sale-box .sale-tit {
  margin-bottom: 5px;
  padding: 8px 0;
  line-height: 1;
  font-size: 16px;
  color: #ff4b1b;
  font-weight: bold;
  background: yellow;
}
.sale-box .sale-here {
  margin-bottom: 5px;
  background: #333;
}
.sale-box .sale-here a {
  display: block;
  padding: 30px 20px;
  font-size: 17px;
  font-weight: bold;
  color: yellow;
}
.sale-site {
  background: red;
  color: #ffff00;
  padding: 7px 0;
  font-weight: bold;
  border-top: 1px solid #ffff00;
  border-bottom: 1px solid #ffff00;
}
.sale-box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5px 0;
  padding: 10px 5px;
  background: radial-gradient(#c7c7c7 22%, transparent 22%) 0 0 / 6px 6px, radial-gradient(#c7c7c7 22%, #f2f2f2 22%) 3px 3px / 6px 6px;
}
.sale-box li {
  width: 153px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.1);
  background: #fff;
}
.sale-box li p, .sale-box li font {
  font-weight: bold;
  font-size: 11px;
  margin: 0;
}
.sale-box li p:nth-child(1) {
  margin-bottom: 6px;
}
.sale-box li p:nth-child(2) {
  position: relative;
  margin: 0 76px 5px 0;
}
/* 1カラム表示 */
.sale-box li.one-column {
  width: 310px;
}
.sale-box li.one-column p {
  font-size: 13px;
}
.sale-box li.one-column p:nth-child(2) {
  margin: 0 236px 5px 0;
}
.sale-box li p:nth-child(2)::before {
  content: "";
  position: absolute;
  left: 60px;
  top: 2px;
  width: 26px;
  height: 15px;
}
.sale-box li p:nth-child(2).two::before {
  background: url(../images/icon/icon-person.png) top / 100% no-repeat;
}
.sale-box li p:nth-child(2).one::before {
  background: url(../images/icon/icon-person.png) top / 100% no-repeat;
  background-position: -13px
}
.sale-box li a {
  display: block;
  color: #000;
  text-align: left;
  line-height: 1.4;
  width: 100%;
  height: 100%;
}
.sale-em {
  color: #f00;
  font-weight: bold;
  font-size: 15px;
}
.sale-menu {
  text-decoration: underline;
}
.sale-box .open-0, .sale-box .open-2 {
  display: none;
}
.sale-box .open-1 {
  display: block;
}
.sale-box .open-1.time-0, .sale-box .open-1.time-2 {
  display: none;
}
.sale-box .open-1.time-1 {
  display: block;
}
/* タイマー */
.sale_box-count {
  padding: 7px;
  line-height: 40px;
  color: red;
  background: #333;
}
.sale_box-count .inner {
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  background: url(../images/pay/bg_count2.png) no-repeat top;
  background-size: 100% auto;
}
.sale_box-count .sale-menu font {
  font-size: 14px;
}
.sale_box-count.switch-0 .second,
.sale_box-count.switch-1 .first {
  display: none;
}
/* 800番台 */
.ppv_num_check.disp-0,
.ppv_num_check.disp-1 {
  display: none;
}
/* 占いの日クーポン */
.sale_coupon_box {
  border: 10px solid #c00; /* フレームの色（クリスマスらしい赤） */
  border-radius: 10px;
  margin: 0 10px 20px;
  padding: 10px;
  background: #00953f;
  position: relative;
}
.sale_coupon_box:before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  border: 5px solid #c00;
  z-index: 1;
}
.sale_coupon_box:after {
  content: '';
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  border: 5px solid #c00;
  z-index: 1;
}
.sale_coupon_box h4 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}
.sale_coupon_box p.text {
  color: red;
  font-size: 16px;
  font-weight: bold;
  text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}
.sale_coupon_box p.period {
  color: yellow;
  font-size: 13px;
  margin: 5px 0 10px;
}
.sale_coupon_box form {
  width: 90%;
  margin: 0 auto;
  position: relative;
  margin-top: 1px;
}
.sale_coupon_box input {
  width: 100%;
  border: 1px solid #977c0f;
  background-color: #fff;
  color: #350000;
  padding: 5px 5px 5px 30px;
  border-radius: 5px;
  box-sizing: border-box;
}
.sale_coupon_box input.use_btn {
  width: 65px;
  min-height: 18px;
  padding: 0;
  display: block;
  background: url(../images/pay/stamp/stamprally/btn_get.png) no-repeat;
  background-size: 100%;
  border: none;
  position: absolute;
  top: 5px;
  right: 15px;
}

/* 相互送客
------------------------------------------------------- */
.banner_mutual {
  margin-bottom: 30px;
}
.banner_mutual.open-0, .banner_mutual.open-2 {
  display: none;
}
.banner_mutual.open-1 {
  display: block;
}
.banner_mutual .txt {
  font-weight: bold;
}
.banner_mutual .txt span {
  font-size: 16px;
}
