a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1.5}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

html{
	height: 100%;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;

  color: #1c1c1c;
  font-size: 16px;
}
table{
  width: 100%;
  border: solid 2px #c7d26c;
}
tbody>tr{border-top: solid 1px #c7d26c;}
thead{background: #fdffed;}
td, th{border-right: solid 1px #c7d26c;}
td:last-of-type, th:last-of-type{border: none;}
/*header*/
header{
  background: white;
  width: 100%;
  height: 80px;
}
header>div{
  width: 1000px;
  margin: 0 auto;
  display: table;
}
h1{
  display: table-cell;
  vertical-align: middle;
}
header nav{
  float: right;
}
header nav li{
  display: inline-block;
  line-height: 80px;
  cursor: pointer;
  margin-left: 60px;
}
/*#ksrank*/
#ksrank{
  width: 100%;
	height: auto;
  text-align: center;
  position: relative;
}
#ksrank a{
  position: absolute;
  width: 194px;
  height: 194px;
  top: 298px;
  left: calc(50% + 302px);
  border-radius: 50%;
}
/*#rank*/
#rank h2{
  text-align: center;
  margin: 48px 0;
}

.cl-name{
  width: 100%;
  position: relative;
  background: #F2FFDA;
  font-weight: bold;
}
.cl-name:after{
  content: "";
  width: 100%;
  height: calc(100% - 10px);
  box-sizing: border-box;
  border-style: dashed;
  border-color: #81AD2A;
  border-width: 3px 0;
  position: absolute;
  top: 5px;
  left: 0;
  display: block;
  z-index: 1;
}
.cl-name>div{
  width: 1000px;
  margin: 0 auto;
  position: relative;
}
.cl-name>div:before{
  content: "";
  display: block;
  width: 130px;
  height: 160px;
  background-image: url(../img/rank1.png);
  background-size: contain;
  z-index: 2;
  position: absolute;
  top: -22px;
  left: 0;
}
#rank>section:nth-of-type(2) .cl-name>div:before{background-image: url(../img/rank2.png);}
#rank>section:nth-of-type(3) .cl-name>div:before{background-image: url(../img/rank3.png);}
#rank>section:nth-of-type(4) .cl-name>div:before{background-image: url(../img/rank4.png);}
#rank>section:nth-of-type(5) .cl-name>div:before{background-image: url(../img/rank5.png);}
.cl-name h3{
  font-size: 34px;
  color: #577C17;
  margin: 0 0 0 152px;
  padding: 44px 0;
}
.cl-name>div>div{
  position: absolute;
  right: 0;
  top: calc(50% - 40px);
  display: table;
  width: 276px;
  height: 80px;
  border-radius: 4px;
  background: white;
  z-index: 2;
}
.cl-name>div>div>div:first-of-type{
  background: #52B1FF;
  color: white;
  font-size: 18px;
  line-height: 80px;
  padding: 0 22px 0 24px;
  display: inline-table;
  border-radius: 4px 0 0 4px;
  vertical-align: middle;
}
.cl-name>div>div>div:last-of-type{
  font-size: 36px;
  color: #f02828;
  display: inline-table;
  vertical-align: middle;
  text-align: center;
  width: 158px;
}
.cl-name>div>div>div:last-of-type span{font-size: 20px;}
.cl-name>div>div>div:last-of-type img{
  margin-top: 8px;
  width: 80px;
}
.rating{
  color: #0066c0;
  font-size: 1rem;
  padding-left: 10px;
}
.value{
  font-size: 1.2rem;
}
.cl-detail{
  width: 1000px;
  margin: 40px auto 118px;
}
.cl-pic{
  width: 400px;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 36px;
}
.cl-point{
  display: inline-block;
  vertical-align: top;
  margin: 0 0 36px 30px;
  width: 564px;
}
.cl-point th{
  line-height: 38px;
  font-size: 14px;
}
.cl-point td{text-align: center;}
.cl-point tbody{
  line-height: 46px;
  font-size: 18px;
}
.cl-point tbody td:first-of-type{font-size: 24px;}
.cl-point tbody td:first-of-type>span{font-size: 16px;}
.cl-point dl{margin-top: 24px;}
.cl-point dt{
  font-size: 22px;
  margin-bottom: 18px;
	padding-bottom: 3px;
  display: inline-flex;
  line-height: 27px;
  border-bottom: 2px dashed #5db9d9;
  width: 100%;
}
.cl-point dt:before{
  content: "";
  background-image: url(../img/rank_check.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 12px;
  width: 27px;
  height: 27px;
}
.cl-point dd{
	line-height: 2.0;
	font-family: "ヒラギノ角ゴ StdN W4", "Hiragino Kaku Gothic StdN W4";
}
.cl-point dd span{background: linear-gradient(transparent 50%, #dcff7e 50%)}
.cl-score th{
  line-height: 48px;
  font-size: 20px;
}
.cl-score td{
  padding: 20px 0 20px 166px;
  position: relative;
}
.cl-score td>*{
  display: inline-block;
  vertical-align: middle;
}
.cl-score td>span:first-of-type{
  position: absolute;
  top: calc(50% - 8px);
  left: 22px;
}
.cl-score td>span:last-of-type{
  color: #f02828;
  font-size: 32px;
  margin-right: 40px;
}
.cl-score td>span:last-of-type span{
  font-size: 18px;
}
.cl-point td, .cl-point td *{
	font-family: "ヒラギノ角ゴ StdN W4", "Hiragino Kaku Gothic StdN W4";
}
.cl-score tr:last-of-type td>span:last-of-type{
  font-size: 16px;
  color: inherit;
}
.rank-but{
  width: 600px;
  margin: 36px auto 0 auto;
  background: linear-gradient(#ff7d44, #f2530d);
  color: white;
  font-size: 30px;
  line-height: 90px;
  border-radius: 45px;
  text-align: center;
  position: relative;
  display: table;
  text-decoration: none;
}
.rank-but:after{
  content: "";
  background-image: url(../img/but_arrow.png);
  background-size: contain;
  width: 17px;
  height: 25px;
  position: absolute;
  top: calc(50% - 12.5px);
  right: 40px;
}
/*#tr*/
#tr>h2{
  text-align: center;
  font-size: 40px;
  color: white;
}
#tr{
  text-align: center;
}
/*#conts01*/
#conts01>h2{
  text-align: center;
  font-size: 40px;
  color: white;
}
#conts01{
  text-align: center;
}
/*#conts02*/
#conts02>h2{
  text-align: center;
  font-size: 40px;
  color: white;
}
#conts02>div{
  text-align: center;
	padding: 0 8%;
}
#conts02>div>p {
	text-align: left;
	line-height: 2em;
}
#conts02>div>img {
	width: 100%;
	height: auto;
}
h2.ttlimg {
	max-width: 1000px;
	height: auto;
	margin: 0 auto;
}
p.button {
	text-align: center;
	margin-top: 5rem;
}
p.button img {
}
.btnArea {
	text-align: center;
}
.btn {
	margin: 3rem auto 1rem;
	display: block;
	color: #fff;
	font-size: 1.5em;
	font-weight: 700;
	padding: 0.85rem 1.8rem;
	border-radius: 12px;
	position: relative;
	color: #fff;
	background-image: -webkit-linear-gradient(#ffbb00 0%, #ffe156 100%);
	background-image: linear-gradient(#ffbb00 0%, #ffe156 100%);
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	width:220px;
	text-decoration: none;
}
.btn:before {
	font-family: "FontAwesome", 'Quicksand', 'Avenir', 'Arial', sans-serif;
	content: "\f040";
	position: absolute;
	padding: 0 1rem;
	color: white;
	font-weight: normal;
	left:0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.grid {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.item {
  border-radius: 10px;
  background: #edf;
  padding: 15px;
  text-align: center;
}
img {
  max-width: 100%;
  height: auto;
}
p {
  text-align: left;
}
footer section{
  text-align: center;
}
.nationwide{
  display: inline-flex;
  font-size: 1.3rem;
  font-weight: bold;
  margin:1rem 1rem 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: dashed 2px #FC6985;
}
.region{
  display: grid;
  grid-gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin: 0 auto 1rem;
  padding-bottom: 0.5rem;
  max-width: 800px;
}
.region li{
  margin: 0 0.5rem;
  padding-bottom: 0.5rem;
  list-style-type:none;
  text-align: left;
}
.region span{
  color: #fff;
  font-weight: 700;
  margin-left: 0.5rem;
  padding: 0.5rem;
  background-color: #1d9a00;
  border-radius: 5px;
}
.region li ul{
  padding: 0.8rem 0 0.5rem 0.5rem;
  list-style-type:none;
  background-color:#fff;
  display: flex;
  flex-flow: row wrap;
}
.region li ul li{
    padding: 0.3rem;
}
@media(max-width:999px) {
	h2.ttlimg img {
		width: 100%;
		height: auto;
	}
	span.fit img {
		width: 100%;
		height: auto;
	}
}
/*.temp*/
.temp>h2{
  background: #fbdec0;
  text-align: center;
  padding: 30px 0;
  font-size: 30px;
  color: #ea5614;
}
.temp{
  text-align: center;
}
.but{
  width: 760px;
  margin: 0 auto 100px auto;
  background: linear-gradient(#ff7d44, #f2530d);
  color: white;
  font-size: 30px;
  line-height: 90px;
  border-radius: 45px;
  text-align: center;
  position: relative;
  display: table;
  text-decoration: none;
}
.but:after{
  content: "";
	background-image: url(../img/but_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 17px;
	height: 25px;
  position: absolute;
  top: calc(50% - 12.5px);
  right: 40px;
}
/*footer*/
footer{
  width: 100%;
  background: #f1fcfd;
}
footer>div{
  width: 800px;
  margin: 0 auto;
  padding: 40px 0;
	text-align: center;
}
footer>div ul{
	margin: 30px 0;
}
footer>div li{
	float: left;
	margin-left: 20px;
}
footer>div>p{
	line-height: 1.8em;
}
footer>div>*{
  display: inline-block;
  vertical-align: top;
}
footer>div>div {
	text-align: left;
}
footer>div>div>p {
	margin-bottom: 1em;
	line-height: 1.8em;
}
footer>div>div>a{
  margin-top: 26px;
  line-height: 40px;
  color: white;
  border-radius: 20px;
  display: block;
  text-align: center;
  background: #9d998a;
  text-decoration: none;
  position: relative;
}
footer>div>div>a:before{
  content: "";
  width: 8px;
  height: 10px;
  background-image: url(../img/but_arrow.png);
  background-size: cover;
  right: 18px;
  top: calc(50% - 5px);
  position: absolute;
  display: block;
}
footer>div>img{
}
footer>div:last-of-type{
  padding: 0;
  line-height: 56px;
  font-size: 12px;
  background: white;
  text-align: center;
  color: #a1a0a0;
  width: 100%;
}

.ttlkey{
  display: none;
}
.contact-fixed {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  list-style-type: none;
  margin: 0;
  padding: 0;
  -webkit-padding-start: 0;
  background: rgba(255, 255, 255, .9);
  z-index: 30;
}

.contact-fixed li {
  margin: 3px auto;
  text-align: center;
  width: 100%;
}

.contact-fixed a {
  display: inline-block;
}

.contact-fixed img {
  margin: auto;
  width: 100%;
  max-width: 310px;
}

.callout {
  border: solid #ff7878;
}
@media(max-width:999px) {
  /*共通*/
  html{
    font-size: 3.2vw;
  }
  .ttlkey{
    display: block;
  }
  .sp_nonedis{
    display: none;
  }
  table{
    width: 100%;
    border: solid 0.6vw #c7d26c;
  }
  tbody>tr{border-top: solid 0.3vw #c7d26c;}
  thead{background: #fdffed;}
  td, th{border-right: solid 0.3vw #c7d26c;}
  td:last-of-type, th:last-of-type{border: none;}
  /*header*/
  header{
    height: 13.3vw;
    position: relative;
  }
  header>div{width: 100%;}
  h1{padding: 2.1vw 0 0 3.5vw;}
  h1>img{height: 8.9vw;}
  header nav{
    float: none;
    position: absolute;
    left: 0;
    top: 13.3vw;
    background: rgba(64,182,188,0.90);
    width: 100vw;
  }
  header .open{
    height: 100vh;
		z-index: 3;
  }
  header nav:before{
    content: "";
    width: 5.3vw;
    height: 4.5vw;
    background-image: url(../img/sp_ham.png);
    background-size: contain;
    right: 4vw;
    top: -8.9vw;
    position: absolute;
    display: block;
    background-repeat: no-repeat;
  }
  header .open:before{
    background-image: url(../img/sp_hamc.png);
  }
  header .open>ul{
    display: block !important;
    padding: 8.5vw 4vw;
  }
  header nav>ul>li{
    color: white;
    display: block;
    margin: 0 0 7.3vw 0;
    font-size: 4.8vw;
    line-height: 1;
    padding: 0 0 4vw 2.1vw;
    border-bottom: solid 0.3vw white;
    position: relative;
  }
  header nav>ul>li:after{
    content: "";
    width: 4.1vw;
    height: 2.5vw;
    background-image: url(../img/nav_arrow.png);
    background-size: contain;
    position: absolute;
    right: 4vw;
    top: 1vw;
  }
  /*#ksrank*/
/*  #ksrank{height: 61.8vw;} */
  #ksrank img{width: 100vw;}
  /*#rank*/
  #rank h2{margin: 5.7vw auto}
  #rank h2 img{width: 61.2vw;}
  .cl-name>div{width: 90.7vw}
  .cl-name:after{
    top: 0.7vw;
    height: calc(100% - 1.4vw);
    border-width: 0.4vw 0;
  }
  .cl-name>div:before{
    width: 17.3vw;
    height: 21.3vw;
    top: -2.9vw;
  }
  .cl-name h3{
    font-size: 4.5vw;
    margin-left: 21.6vw;
    padding: 5.9vw 0;
  }
  .cl-name>div>div{
    top: calc(100% + 5.3vw);
    right: 0;
    width: 35vw;
    border-radius: 0;
  }
  .cl-name>div>div>div:first-of-type{
    display: block;
    border-radius: 0.9vw;
    text-align: center;
    line-height: 9.3vw;
    font-size: 4vw;
    position: relative;
  }
  .cl-name>div>div>div:first-of-type:after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 1.5vw 0 1.5vw;
    border-color: #52B1FF transparent transparent transparent;
    position: absolute;
    bottom: -2vw;
    left: calc(50% - 1.5vw);
  }
  .cl-name>div>div>div:last-of-type{
    width: auto;
    display: block;
    font-size: 9.3vw;
  }
  .cl-name>div>div>div:last-of-type>div:first-of-type{
    margin-top: 5.8vw;
  }
  .cl-name>div>div>div:last-of-type span{
    font-size: 5.3vw;
  }
  .cl-name>div>div>div:last-of-type img{
    margin-top: 3.5vw;
    width: 15vw;
  }
  .rating {
    padding-left: 5px;
}
  .cl-detail{
    width: 90.7vw;
    margin: 5.3vw auto 12vw auto;
  }
  .cl-pic{
    width: 53.3vw;
    margin: 0;
  }
  .cl-point{
    width: 100%;
    margin: 4vw 0 0 0;
  }
  .cl-point thead>tr{
    height: 8.8vw;
  }
  .cl-point th{
    line-height: 1;
    vertical-align: middle;
  }
  .cl-point td, .cl-point td *{font-size: 4vw !important;}
  .cl-point dl{margin-top: 4.9vw;}
  .cl-point dt{
    font-size: 4vw;
    line-height: 5.3vw;
    margin-bottom: 3.6vw;
  }
  .cl-point dt:before{
    margin-right: 2.8vw;
    width: 5.3vw;
    height: 5.3vw;
  }
  .cl-point dd{
    line-height: 1.6;
		font-size: 3.6vw;
  }
  .cl-score{margin-top: 6.1vw;}
  .cl-score th{
    line-height: 10.3vw;
    font-size: 4vw;
  }
  .cl-score td>span:first-of-type{
    position: static;
    display: block;
    text-align: center;
    font-size: 4vw;
    margin-bottom: 2.9vw;
  }
  .cl-score td{
    padding: 2.9vw 0;
    text-align: center;
  }
  .cl-score td>span:last-of-type{
    margin: 0 2.4vw 0 0;
    vertical-align: top;
    font-size: 5.3vw;
  }
  .cl-score td>img{
    vertical-align: top;
    width: 22.7vw;
  }
  .cl-score tr:last-of-type td>span:last-of-type{
    font-size: 3.6vw;
    margin: 0;
    padding: 0 4.5vw;
    text-align: left;
  }
  .rank-but{
    width: 100%;
    margin-top: 5.3vw;
    line-height: 16vw;
    font-size: 4.8vw;
    border-radius: 8vw;
  }
  .rank-but:after{
    width: 2.3vw;
    height: 3.3vw;
    right: 7.5vw;
    top: calc(50% - 1.65vw);
  }
  /*#tr*/
  #tr>h2{
    font-size: 5.3vw;
    padding: 5.5vw 0;
  }
  #tr>img{
    width: 100vw;
  }
  /*.temp*/
  .temp>h2{
    font-size: 4.8vw;
    padding: 3.7vw 0;
  }
  .temp>img{
    width: 100vw;
  }
  .but{
    width: 90.7vw;
    margin-bottom: 8vw;
    box-sizing: border-box;
    line-height: 1;
    font-size: 4.8vw;
    padding: 4.4vw 16vw;
  }
	.but:after{
		width: 2.3vw;
		height: 3.3vw;
		right: 5.9vw;
		top: calc(50% - 1.65vw);
	}
	/*#qa-cont*/
	#qa-cont>div h3{
		font-size: 4vw;
		color: #1199c0;
		border-bottom: solid 0.3vw #babcbc;
		padding: 4vw 22vw 4vw 12.4vw;
		text-align: left;
		position: relative;
		cursor: pointer;
		line-height: 1.4;
	}
	#qa-cont>div h3:before{
		content: "Q";
		width: 5.3vw;
		line-height: 5.3vw;
		background: #2473ab;
		color: white;
		text-align: center;
		display: block;
		font-size: 2.7vw;
		position: absolute;
		top: 4vw;
		left: 4vw;
	}
	#qa-cont>div h3>img{
		height: 2.1vw;
		position: absolute;
		right: 4vw;
		top: calc(50% - 1.05vw);
		transform: rotate(180deg);
	}
	#qa-cont>div h4{
		font-size: 3.2vw;
		border-bottom: solid 0.3vw #babcbc;
		padding: 4vw 4vw 4vw 12.4vw;
		text-align: left;
		position: relative;
		line-height: 1.5;
		display: none;
	}
	#qa-cont>div h4:after{
		content: "A";
		width: 5.3vw;
		line-height: 5.3vw;
		background: #f25362;
		color: white;
		text-align: center;
		display: block;
		font-size: 2.7vw;
		position: absolute;
		top: 4vw;
		left: 4vw;
	}
  /*footer*/
  footer{
		margin-bottom: 4rem;
	}
	footer>div{
		width: 100%;
		padding: 7.6vw 0 0;
	}
	footer>div>*{
		display: block;
		text-align: center;
	}
	footer>div>div:first-of-type{
		margin: 0 auto 4.8vw;
		padding: 0 0 5.9vw;
		border-bottom: solid 1px #cccbc6;
		display: table;
	}
	footer>div>div:first-of-type>*{
		display: inline-block;
		vertical-align: middle;
	}
	footer>div>div>img{
		width: 42.1vw;
	}
	footer>div>div>a{
		margin: 0 0 0 3.6vw;
		width: 40vw;
		line-height: 8vw;
		font-variant: 3.2vw;
	}
	footer>div>div>a:before{
		width: 1.3vw;
		height: 1.9vw;
		right: 2.8vw;
		top: calc(50% - 0.95vw);
	}
	footer>div>img{
		width: 100%;
		border: none;
		padding: 0;
		margin: 0;
	}
	footer>div:last-of-type{
		line-height: 11.3vw;
		font-size: 2.9vw;
	}
	footer ul {
		margin: 0 auto;
		text-align: center;
	}
	footer ul li {
		margin-bottom: 1em;
		text-align: center;
	}
	footer>div>p {
		line-height: 1.8em;
	}
	footer>div>div {
		width: 95%;
		text-align: left;
		line-height: 1.8em;
	}
	footer>div>div>p {
		margin-bottom: 1em; 
	}
	p.button {
	margin-top: 2rem;
}
p.button img {
	width: 100%;
	height: auto;
}
}
.redb {
	font-weight: bold;
	color: #F52E32;
}
.button03{
     display:block;
     width: 100%;
     height:80px;
     line-height: 80px;
     color: #FFF;
     text-decoration: none;
     text-align: center;
     background-color: #f39800; /*ボタン色*/
     border-bottom: solid 6px #ec6c00; /*下線色*/
     border-radius: 5px; /*角丸*/
	 margin-top: 5.3vw;
	    font-size: 3.8vw;
}
.button03:hover{
     background-color: #f9c500;/*ボタン色*/
     border-bottom: solid 6px #f39800; /*下線色*/
}
.button03:active {
     margin-top: 6px;
     border-bottom: none;
     -webkit-transform: translateY(6px);　/*下移動*/
     transform: translateY(6px);
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	font-family: 'FontAwesome', sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa dt,.cp_qa dd {
	position: relative;
	padding: 0.5em;
	box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
	border-radius: 0.3em;
}
.cp_qa dt {
	margin: 0 3em 1em 3em;
	background: #ffe0b2;
	text-align: left;
}
.cp_qa dd {
	margin: 0 3em 3em 3em;
	background: #b2ebf2;
	text-align: left;
	line-height: 1.8em;
}
.cp_qa dd span {
	background: linear-gradient(transparent 50%, #dcff7e 50%);
}
/* 吹き出し▶︎ */
.cp_qa dt::before,.cp_qa dd::before{
	position: absolute;
	z-index: 99;
	top: 0.5em;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
}
/* 質問吹き出し▶︎ */
.cp_qa dt::before {
	left: -0.5em;
	border-width: 5px 8.7px 5px 0;
	border-color: transparent #ffe0b2 transparent transparent;
}
/* 答え吹き出し▶︎ */
.cp_qa dd::before {
	right: -0.5em;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #b2ebf2;
}
/* ?!アイコン */
.cp_qa dt::after,.cp_qa dd::after {
	font-size: 1.2em;
	position: absolute;
	top: 0;
	color: #ffffff;
	border-radius: 50%;
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.2em;
}
/* ?アイコン */
.cp_qa dt::after {
	left: -2.5em;
	margin: 0 0.5em 0 0;
	padding: 0.2em 0.4em;
	content: '\f128';
	background: #f57c00;
}
/* !アイコン */
.cp_qa dd::after {
	right: -2.5em;
	margin: 0 0 0 0.5em;
	padding: 0.15em 0 0 .25em;
	content: '\f2bd';
	background: #0097a7;
}
.underyl {
  background: linear-gradient(transparent 50%, #dcff7e 50%);
  }
.float
{
    -webkit-animation: float 1.6s;
            animation: float 1.6s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
.float:hover
{
    -webkit-animation: none;
            animation: none;
    -webkit-animation-iteration-count: none;
    animation-iteration-count: none;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
@keyframes float
{
    0%, 100%
    {
        transform: translateY(0);
    }
    50%
    {
        transform: translateY(-20px);
    }
}
@-webkit-keyframes float
{
    0%, 100%
    {
        -webkit-transform: translateY(0);
    }
    50%
    {
        -webkit-transform: translateY(-20px);
    }
}

.prime-cp {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family:"Sawarabi Mincho","游明朝体","YuMincho","游明朝","Yu Mincho","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN W3";
  margin: 1rem auto;
  display: flex;
  justify-content: center;
  -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, .6));
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, .6));
  position:relative;
  overflow:hidden;
  padding:1.5rem 0 1rem;
}

.cp-btn {
  width: 98%;
  border-radius: 10px;
  background-image: linear-gradient(to right bottom, #41fd2e, #0c8300);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4), inset 2px 4px 4px rgba(255, 255, 255, 0.4);
  text-align: center;
  display: flex;
  justify-content: center;
  background-size: 380% 380%;
  animation: cp-anima 8s infinite;
}

.cp-link {
  color: #fff;
  text-decoration: none;
  width: 90%;
  margin:1%;
  padding: 1rem;
  font-size: 4vw !important;
  font-weight: bold;
  border-radius: 10px;
  box-shadow: inset 2px 4px 4px -2px rgba(255, 255, 255, 0.6), 0px 4px 4px rgba(0, 0, 0, 0.2);
  background-image: linear-gradient(to right bottom, #56e600, #0c8300);
  background-image: linear-gradient(to top left, #165102, #01671e, #13a342, #20ec42, #abffc8, #0dda47, #01671e, #13a342);
  background-size: 420% 420%;
  animation: cp-anima 8s infinite;
}

.today {
  color: #333;
  font-weight: bold;
  padding: 5px 15px;
  position: absolute;
  left: 0;
  top: 0.5rem;
  transform: skewY(-5deg);
  background-color: rgba(255, 240, 0, .9);
  border: solid 1px #fff000;
  -webkit-filter: drop-shadow(0px 2px 4px rgba(255, 240, 0, 1));
  filter: drop-shadow(0px 0px 4px rgba(255, 240, 0, 1));
  line-height: 0.9;

}

.time-cp, .more-cp {
  display: block;
  line-height: 1.2;
}

.flush {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: flush 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: flush 2s ease-in-out infinite;
}

@keyframes cp-anima {
  0% {
    background-position: 0% 50%
  }
  50% {
    background-position: 100% 50%
  }
  100% {
    background-position: 0% 50%
  }
}

@keyframes flush {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

@media screen and (min-width:1020px){
.prime-cp {
padding:3rem 0 1rem;
}
.cp-link {
  font-size: 2.5vw !important;
  width: 98%;
}
.today {
  top: 1rem;
}
}

/* 追記css */
.table-wrap {
 width: 100%;
}
.table {
 margin:0 0 20px 0;
 padding:5px;
 width: 100%;
 font-size:100%;
}
.table th,
.table td {
 padding:8px;
 text-align: center;
 font-weight: bold;
}

td a{
 font-size:120%;
}

.mds{
 color:#ff0000;
}

.kig{
 font-size:120%;
}

.mds{
 color:#ff0000;
}

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

.adimg img {
 padding:5px;
 width:80%;
 max-width: 100%;
 height: auto;
}

.adbtn img {
 padding:5px;
 width:100%;
 max-width: 100%;
 height: auto;
}

#prs{
 margin:0 0 30px 0;
 padding:5px 0;
 border-style: solid;
 width:100%;
 max-width: 98%;
 font-size:108%;
 text-align: center;
 font-weight: bold;
 border: dashed 3px #f39800; /*下線色*/
}

#prs span{
 background:linear-gradient(transparent 60%, #b2ebf2 0%);
}

.im_point{
   text-align: center;
}

.button_detail{
  text-align: center;
}

.button_detail2{
  text-align: center;
  margin-top: 30px;
}
