@charset "UTF-8";

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

[wrapper]
	[content]

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

a:link {
}
a:visited {
}
a:hover {
}
a:active {
}
body{
background:#f3f3f3;
color:#333;
width:100%;
line-height:1.5;
font-size:14px;
font-family: Helvetica , "游ゴシック", sans-serif;
}
img{
max-width:100%;
}
/* =========================================================
wrapper
========================================================= */
#wrapper {
min-width:320px;
max-width:750px;
margin:0 auto;
}

#wrapper #header {
}

#wrapper #header .main_ttl {
margin:0;
background:#2c4eff;
}

#wrapper #header .main_ttl img {
vertical-align: bottom;
}

#wrapper #header .read_txt {
background:#2c4eff;
color:#fff;
margin:5px 0 0;
padding:10px;
font-weight:bold;
text-align:center;
font-size:12px;
overflow:hidden;
}

#wrapper #header .read_txt span {
color:#fff;
font-size:16px;
animation : textscroll 8s linear infinite;
margin:0;
display : inline-block;
padding-left: 100%;
white-space : nowrap;
line-height : 1em;
}
@keyframes textscroll{
0% { transform: translateX(0)}
100% { transform: translateX(-100%)}
}

/* =========================================================
content
========================================================= */
#wrapper #content {
margin:10px;
}

#wrapper #content .item_wrap {
}

#wrapper #content .item_wrap .item_box {
background:#fff;
padding:10px;
margin:10px 0;
border-radius:8px;
}
#wrapper #content .item_wrap .item_box h2 {
font-size:22px;
margin:0 0 10px 0;
border-bottom:solid 3px #2c4eff;
}
#wrapper #content .item_wrap .item_box .cardlist{
padding:0;
margin:0 0 10px;
}
#wrapper #content .item_wrap .item_box .cardlist li{
display:inline-block;
padding:3px 10px;
background:#ffa211;
color:#fff;
font-size:10px;
border-radius:4px;
}
#wrapper #content .item_wrap.toppage .item_box h2 {
position:relative;
padding: 15px 0 15px 65px;
}
#wrapper #content .item_wrap.toppage .item_box h2:after {
content:"";
display:block;
background-image:url(../images/rank_bg.webp);
background-size:56px 612px;
background-repeat:no-repeat;
width:56px;
height:60px;
position:absolute;
left:0;
top:0;
}

#wrapper #content .item_wrap.toppage .item_box:nth-child(1) h2:after {
background-position:0 0;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(2) h2:after {
background-position:0 -62px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(3) h2:after {
background-position:0 -122px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(4) h2:after {
background-position:0 -184px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(5) h2:after {
background-position:0 -244px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(6) h2:after {
background-position:0 -306px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(7) h2:after {
background-position:0 -368px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(8) h2:after {
background-position:0 -428px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(9) h2:after {
background-position:0 -489px;
}
#wrapper #content .item_wrap.toppage .item_box:nth-child(10) h2:after {
background-position:0 -551px;
}

#wrapper #content .item_wrap .item_box .item_box_inner {
overflow:hidden;
}

#wrapper #content .item_wrap .item_box .item_box_inner .left {
width:100%;
}

#wrapper #content .item_wrap .item_box .item_box_inner .left a {
}

#wrapper #content .item_wrap .item_box .item_box_inner .left a img {
overflow:hidden;
}

#wrapper #content .item_wrap .item_box .item_box_inner .right {
margin:20px;
}

#wrapper #content .item_wrap .item_box .item_box_inner .right .main_txt {
margin:0;
}

.marker_yellow {
background:linear-gradient(transparent 60%, #ff6 60%);
}

.dli-check-circle {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}

.dli-check-circle > span {
  width: 0.58em;
  height: 0.261em;
  border: 0.1em solid currentColor;
  border-top: 0;
  border-right: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(-45deg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#wrapper #content .item_wrap .item_box .item_box_inner .info {
clear:both;
display:flex;
width:100%;
}

#wrapper #content .item_wrap .item_box .item_box_inner .info dl {
text-align:center;
flex-basis:33.3333%;
border:solid 1px #2c4eff;
margin:3px;
font-size:12px;
}

#wrapper #content .item_wrap .item_box .item_box_inner .info dl dt {
background:#2c4eff;
color:#fff;
font-weight:bold;
padding:3px 0;
color:#fff;
}

#wrapper #content .item_wrap .item_box .item_box_inner .info dl dd {
padding:3px 0;
margin:0;
color:#ffa211555;
}

#wrapper #content .item_wrap .item_box .item_box_inner .info dl dd span {
color:#ffc107;
}


.cv_btn a {
    background: #ef1616;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    max-width: 90%;
    padding: 20px 25px;
    color: #FFF;
	font-size: 1.5em;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    border-radius: 5px;
    border-bottom: 4px solid #732121;
    overflow: hidden;
	text-decoration: none;
}
.cv_btn a:active {
  transform: translateY(4px);
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  border-bottom: none;
}
.cv_btn a:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
  animation: shine 3s infinite;
}
@keyframes shine {
  33% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}


#wrapper #footer {
}


@keyframes dlBtn {
0%, 100% { -webkit-transform: scale(0.9) }
  30% { -webkit-transform: scale(1.0) }
  80% { -webkit-transform: scale(1.0) }
}

.review_box{
margin:10px 0;
clear:both;
}
.review_box .review_item{
background:#f3f3f3;
border-radius:8px;
padding:8px;
margin:3px;
}
.review_box .review_item p{
margin:0;
}
.review_box .review_item .review_item_upper{
border-bottom:solid 1px #eee;
overflow:hidden;
padding-bottom:8px;
margin-bottom:8px;
}
.review_box .review_item .review_item_upper .user_icon{
float:left;
width:40px;
height:40px;
background-size:40px auto;
background-position:top left;
background-repeat:no-repeat;
background-color:#fff;
border-radius:1000px;
border:solid 1px #333;
margin-right:10px;
}
.review_box .review_item .review_item_upper .review_title{
overflow:hidden;
font-weight:bold;
font-size:14px;
}
.review_box .review_item .review_item_upper .review_title span{
display:block;
font-size:10px;
font-weight:normal;
color:#999;
}
.review_box .review_item .review_item_under .review_text{
font-size:13px;
}
.page_navi ul{
padding:0;
marign:0;
overflow:hidden;
list-style:none;
}
.page_navi ul li.prev_btn{
width:50%;
float:left;
}
.page_navi ul li.next_btn{
width:50%;
float:right;
}
.page_navi ul li a{
display:block;
background:#ffa211;
padding:10px;
margin-right:10px;
text-decoration:none;
font-weight:bold;
font-size:18px;
text-align:center;
border-radius:6px;
color:#fff;
border-bottom:solid 3px #333;
}
.page_navi ul li.next_btn a{
margin-left:10px;
margin-right:0px;
}


.nenkaku{
position:relative;
}
.nenkaku img{
z-index:-1;
top:0;
left:0;
width:100%;
}
.nenkaku .confirm_box{
position:absolute;
width:100%;
margin:0 auto;
bottom:10px;
padding:10px;
box-sizing:border-box;
}
.nenkaku .confirm_box .confirm_inner{
background:rgba(255,255,255,0.8);
text-align:center;
padding:10px;
}
.nenkaku .confirm_box .confirm_inner p{
margin:0;
font-weight:bold;
}
.nenkaku .confirm_box .confirm_inner p.yes_btn{
width:80%;
margin:10px auto;
}
.nenkaku .confirm_box .confirm_inner p.yes_btn a{
display:block;
padding:12px;
text-decoration:none;
color:#fff;
border-radius:10px;
font-size:16px;
background:#ff54a0;
border-bottom:solid 3px #ba2668;
animation: dlBtn ease-in-out infinite alternate;
animation-duration: 1.5s;
}
.nenkaku .confirm_box .confirm_inner p.no_btn a{
font-weight:normal;
font-size:12px;
color:#333;
}


.popup_bg{
display:none;
background:rgba(0,0,0,0.5);
position:fixed;
top:0;
bottom:0;
left:0;
right:0;
z-index:100;
text-align:center;
padding-top:50px;
}
.popup_bg .popup_ad{
position:relative;
display:inline-block;
width:80%;
background:#fff;
margin:0 auto;
border-radius:8px;
border:solid 2px #2c4eff;
padding-bottom:10px;
overflow:hidden;
}
.popup_bg .popup_ad p{
margin:5px 0;
}
.popup_bg .popup_ad .popup_ad_title{
font-weight:bold;
margin:10px 0;
}
.popup_bg .popup_ad .popup_ad_banner img {
max-width:100%;
}
.popup_bg .popup_ad .popup_ad_timer{
font-weight:bold;
font-size:14px;
}
.popup_bg .popup_ad .popup_ad_timer span{
font-size:18px;
color:red;
text-aling:center;
}
.popup_bg .popup_ad .popup_ad_timer span div{
display:inline;
}
.popup_bg .popup_ad .popup_ad_btn a{
display:inline-block;
background:#2c4eff;
color:#fff;
text-decoration:none;
font-weight:bold;
width:80%;
padding:10px;
border-radius:6px;
border-bottom:solid 3px #2c4eff;
}
.popup_bg .popup_ad .popup_ad_close{
background:#aaa;
color:#fff;
text-decoration:none;
width:70%;
padding:5px 10px;
font-size:14px;
border-radius:6px;
border-bottom:solid 3px #6c6c6c;
margin:0 auto;
}


.bback_box{
    top: 0;
    left: 0;
    transition: all 0.5s ease-out;
    position: fixed;
    width: 100%;
    z-index: 30001;
    margin-top: 100px;
}
.bback_box .bback_box_bnr img{
    max-width: 100%;
}
.bback_box .bback_box_link {
    padding:0px 10px 10px 10px;
}
.bback_box p {
    padding:10px;
    width: 80%;
    background: #fff;
    margin: 0 auto;
}
.bback_box .bback_box_link a {
    display: block;
    background: #00b52f;
    padding:20px 10px;
    font-size:16px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 8px;
    text-decoration:none;
    font-weight:bold;
    border-bottom:solid 5px #006019;
}
.bback_bg {
    top: 0;
    left: 0;
    transition: left 0.1s ease-out;
    transition: opacity 0.5s ease-out;
    opacity: 1;
    position: fixed;
    width: 100%;
    min-height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 30000;
}
.bback_box.hide {
    left: -100%;
}
.bback_bg.hide {
    left: -100%;
    opacity: 0;
}

.csn_page #wrapper #content .item_wrap .item_box .item_box_inner .no_btn a{
animation:none;
transform: scale(0.8);
background:#3c89de;
border-bottom:solid 5px #15559b;
}
#footer{
background:#333;
color:#fff;
padding:15px 0;
text-align: center;
}
.lineBtn a {
	display: block;
	background: #00B900;
	padding: 15px;
	border-radius: 12px;
	text-align: center;
	border-bottom: solid 5px #008e00;
}
.lineBtn a img{
	width:80%;
	vertical-align: bottom;
}
.lineBtn a {
    display: block;
    position: relative;
    padding: 10px 0;
    border-radius: 5px;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
}
.lineBtn a:hover {
    text-decoration: none;
    color: #fff;
}
.lineBtn a::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}






/*=============== VARIABLES CSS ===============*/
:root {
  /*========== Colors ==========*/
  --hue: 240;
  --first-color: hsl(var(--hue), 16%, 18%);
  --first-color-alt: hsl(var(--hue), 16%, 12%);
  --title-color: hsl(var(--hue), 8%, 15%);
  --text-color: hsl(var(--hue), 8%, 35%);
  --body-color: hsl(var(--hue), 100%, 99%);
  --container-color: #FFF;

  /*========== Font and typography ==========*/
  --body-font: 'Poppins', sans-serif;
  --big-font-size: 1.5rem;
  --normal-font-size: .938rem;

  /*========== z index ==========*/
  --z-modal: 1000;
}

@media screen and (min-width: 968px) {
  :root {
    --big-font-size: 1.75rem;
    --normal-font-size: 1rem;
  }
}

/*=============== BASE ===============*/
*{
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body,
button{
  font-family: var(--body-font);
  font-size: var(--normal-font-size);
}

body{
  background-color: var(--body-color);
  color: var(--text-color);
  position: relative;
}

button{
  cursor: pointer;
  border: none;
  outline: none;
}

img{
  max-width: 100%;
  height: auto;
}

/*=============== MODAL ===============*/
.container{
  margin-left: 1rem;
  margin-right: 1rem;
}

.modal{
  height: 100vh;
  display: grid;
  place-items: center;
}

.modal__button{
  display: inline-block;
  background-color: var(--first-color);
  color: #FFF;
  padding: 1rem 1.25rem;
  border-radius: .5rem;
  transition: .3s;
}

.modal__button:hover{
  background-color: var(--first-color-alt);
}

.modal__container{
  position: absolute;
  top: 0;
  left: 0;
  background-color: hsla(var(--hue), 18%, 75%, .8);
  width: 100%;
  height: 100%;
  display: grid;
  align-items: flex-end;
  overflow: hidden;
  transition: all .3s;
  z-index: var(--z-modal);
  visibility: hidden;
  opacity: 0;

  /*=== Effect 3 ===*/
  /* perspective: 1000px; */
}

.modal__content{
  position: relative;
  background-color: var(--container-color);
  text-align: center;
  padding: 3rem 2rem 2rem;
  border-radius: 1rem 1rem 0 0;
  transition: all .3s;

  /*=== Effect 1 ===*/
  transform: translateY(10%);

  /*=== Effect 2 ===*/
  /* transform: scale(.5) translateY(10%); */

  /*=== Effect 3 ===*/
  /* transform: rotateX(65deg) scale(.75) translateY(10%);
  transform-origin: 50% 100%; */
}

.modal__img{
  width: 150px;
  margin-bottom: .75rem;
}

.modal__close{
  display: inline-flex;
  background-color: var(--first-color);
  border-radius: .25rem;
  color: #FFF;
  font-size: 1.5rem;
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
}

.modal__title{
  font-size: var(--big-font-size);
  color: var(--title-color);
  font-weight: 500;
}

.modal__description{
  margin-bottom: 1.5rem;
}

.modal__button-width{
  width: 90%;
}

.modal__button-link{
  display: block;
  margin: 1rem auto 0;
  background-color: transparent;
  color: var(--first-color);
  font-weight: 500;
}

/* Show modal */
.show-modal{
  visibility: visible;
  opacity: 1;
}

.show-modal .modal__content{
  /*=== Effect 1 ===*/
  transform: translateY(0);

  /*=== Effect 2 ===*/
  /* transform: scale(1) translateY(0); */

  /*=== Effect 3 ===*/
  /* transform: rotateX(0) scale(1) translateY(0); */
}

/*=============== BREAKPOINTS ===============*/
/* For small devices */
@media screen and (min-width: 576px){
  .modal__content{
    margin: auto;
    width: 380px;
    border-radius: 1.25rem;
  }

  .modal__img{
    width: 170px;
  }
}