/* Theme Name: 記事LPサイト  */

*{
	margin: 0;
	padding: 0;
}
body {
	background: #FFF;
	text-align: left;
	line-height: 2;
	font-family: Helvetica,Arial,’Hiragino Kaku Gothic Pro’,'ヒラギノ角ゴ Pro W3','Droid Sans',sans-serif;
	font-weight: 400;
	font-feature-settings : "palt";
	color: #000;
	margin: 0;
}
@media (min-width: 641px){
	html{ font-size: 62.5%; }
	body{ font-size: 2rem; }
}
@media (max-width: 640px){
	body{ font-size: 4.2666vw; }
}
a{ color: #2e80c1; }
img{
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
p, main h3, main h4, table, .cta{ margin: 30px 0; }
table{
	width: 100%;
	background: #fff;
	border-collapse: collapse;
}
th, td{
	border: 1px solid #d3d3d3;
	line-height: 1.6;
	font-size: .875em;
}
th{background: #f7f8f8;}
ul, ol{ padding-left: 20px; }
li{ margin: 10px 0; }

@media (min-width: 751px){
	a:hover{ text-decoration: none; }
	a:hover img{
		opacity: .7;
		-webkit-transition: .3s;
		transition: .3s;
	}
	th, td{ padding: 15px; }
	.inner{
		margin: auto;
		width: 800px;
	}
}
@media (max-width: 750px){
	th, td{ padding: 10px; }
	.inner{ padding: 0 15px; }
}

/* ------------------------------------------------
 header
------------------------------------------------ */
header{ border-bottom: 1px solid #ddd; }
header .flex{
	position: relative;
	align-items: center;
	justify-content: space-between;
}
#logo{
	flex: 1;
	padding: 5px 0;
}
.pr{
	padding: 2px 5px;
	background: rgba(255,255,255,0.8);
	border: 1px solid #999;
	line-height: 1;
	font-size: 10px;
	color: #666;
}

/* ------------------------------------------------
 main
------------------------------------------------ */
h1, h2, h3, h4{ font-weight: bold; }
main h1, main h2{
	line-height: 1.4;
}
main h2.img, main h3.img{
	position: static;
	padding: 0;
	background: none;
}
main h2.img:after, main h3.img:after{
	width: 0;
	height: 0;
	border: 0;
}
main h1{
	margin: 20px 0;
	font-size: 1.5em;
}
main h2{
	margin: 40px 0;
	padding: 10px 15px;
	background: #58b5c9;
	font-size: 1.25em;
	color: #fff;
}
main h3{
	margin: 40px 0;
	padding: 10px 5px;
	border-top: 2px solid #58b5c9;
	border-bottom: 2px solid #58b5c9;
	line-height: 1.6;
	font-size: 1.125em;
	color: #58b5c9;
}
main h4{
	border-bottom: 2px dotted #aaa;
    font-size: 1em;
}
@media (min-width: 641px){
	main{ padding-bottom: 100px; }
}
@media (max-width: 640px){
	main{ padding-bottom: 50px; }
	main h2{ margin: 40px -15px; }
}

/* ------------------------------------------------
 top
------------------------------------------------ */
.eyecatch{ text-align: center; }
.inner1000 .sidebar{ font-size: .8em; }
.inner1000 .sidebar h3{
	padding: 10px;
	background: #58b5c9;
	line-height: 1.2;
	color: #fff;
}
.inner1000 .sidebar ul{
	padding: 10px;
	list-style: none;
	border: 1px solid #58b5c9;
}
.inner1000 .sidebar ul li{
	border-bottom: 1px dotted #ccc;
	line-height: 1.4;
}
.inner1000 .sidebar ul li:last-child{ border-bottom: 0; }
.inner1000 .sidebar ul li a{
	position: relative;
	display: block;
	padding: 10px 20px 10px 5px;
	text-decoration: none;
	-webkit-transition: .3s;
	transition: .3s;
}
.inner1000 .sidebar ul li a:after{
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	border: 5px solid transparent;
	border-left: 8px solid #58b5c9;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media (min-width: 1001px){
	.eyecatch{
		margin: 30px auto;
		width: 1000px;
	}
	.inner1000{
		display: flex;
		justify-content: space-between;
		margin: auto;
		width: 1000px;
	}
	.inner1000 main{ flex: 70% 0 0; }
	.inner1000 .sidebar{
		flex: 28% 0 0;
		margin: 20px 0 50px;
	}
	.inner1000 .sidebar ul li a:hover{ background: #fffae7; }
}
@media (max-width: 1000px){
	.inner1000{ padding: 0 15px; }
	.inner1000 .sidebar{ margin-bottom: 50px; }
}

/* ------------------------------------------------
 footer
------------------------------------------------ */
footer{
	padding: 20px 0;
	background: #58b5c9;
	text-align: center;
	line-height: 1.6;
	font-size: .75em;
	color: #fff;
}
footer a{ color: #fff; }
#copyright a { color: #fff !important; text-decoration: none !important; }

#pop{
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	z-index: 99;
}
.pop_wrap{
	position: absolute;
	top: 50%;
	left: 0;
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.pop_box{ text-align: center; }
.pop_box a{ display: inline-block; }
.pop_close{
	position: relative;
	margin: 0 auto 20px;
	width: 50%;
	max-width: 600px;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	cursor: pointer;
}
.pop_close:after{
	position: absolute;
	content: "×";
	top: 50%;
	right: 10px;
	font-weight: bold;
	font-size: 2rem;
	color: #fff;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* ------------------------------------------------
 styles
------------------------------------------------ */
.hide{ display: none; }
.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* box
-------------------- */
.box{ padding: 15px; }
.box_point{ padding: 0 10px; }

.flex .col2{ width: 48%; }
.flex .col3{ width: 32%; }
.flex .col4{ width: 24%; }
.flex .col_half{width: 50%;}
.flex.box_img{
	align-items: center;
	margin: 30px 0;
}
.flex.box_img .txt{ flex: 1; }
.flex.box_img .img{
	padding: 0 10px;
	width: 30%;
}
.flex.box_img .txt.fuki_l, .flex.box_img .txt.fuki_r{
	position: relative;
	padding: 15px;
	border: 1px solid #ddd;
	border-radius: 10px;
}
.flex.box_img .txt.fuki_l:before, .flex.box_img .txt.fuki_l:after,
.flex.box_img .txt.fuki_r:before, .flex.box_img .txt.fuki_r:after{
	position: absolute;
	content: "";
	top: 50px;
	border: 5px solid transparent;
}
.flex.box_img .txt.fuki_r:before{
	left: -25px;
	border-right: 20px solid #ddd;
}
.flex.box_img .txt.fuki_r:after{
	left: -21px;
	border-right: 20px solid #fff;
}
.flex .box, .flex .box_point,
.flex .box_pk, .flex .box_bl, .flex .box_or,
.flex .box_gr, .flex .box_br{
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
}
.flex .box_point{ padding: 0 10px; }

.box, .box_point, .box_pk, .box_bl,
.box_or, .box_gr, .box_br, .box_sky, .step{
	margin: 30px 0;
	background: #fff;
	border: 1px solid #ddd;
	box-sizing: border-box;
	line-height: 1.4;
	font-size: 0.9em;
}
.box_point .ttl_pk, .box_point .ttl_bl{
	margin: 0 -10px 10px;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	color: #fff;
}
.box_point .ttl_pk{ background: #ff8cb5; }
.box_point .ttl_bl{ background: #4493dd; }
.box_pk{ border-color: #ff8cb5; }
.box_bl{ border-color: #4493dd; }
.box_or{ border-color: #ffa200; }
.box_gr{ border-color: #555; }
.box_br{ border-color: #855521; }
.box_sky{ border-color: #9abef5; }
.box_bgbl, .box_bgpk{
	margin: 30px 0;
	padding: 15px;
}
.box_bgbl{ background: #e0efff; }
.box_bgpk{ background: #fff1f6; }
.box_bgye{ background: #fffeef; }
.box_bgpk h2{
	margin: 10px 0;
	padding: 0;
}
.scroll .step{
	flex: 1;
	margin-right: 10px;
}
.scroll .step:last-child{ margin-right: 0; }
.step{
	margin: 0;
	padding: 10px;
	text-align: center;
}
.step .ttl{
	display: inline-block;
	padding: 5px 10px;
	line-height: 1;
	font-weight: bold;
	color: #fff;
}

.rank1, .rank2, .rank3{
	margin: 0 auto 10px;
	background-position: 0 0;
	background-repeat: no-repeat;
}

@media (min-width: 751px){
	.rank1, .rank2, .rank3{
		width: 80px;
		height: 75px;
	}
}
@media (max-width: 750px){
	.flex.scroll{
		flex-wrap: nowrap;
		overflow-x: scroll;
	}
	.scroll .step{ min-width: 130px; }
	.rank1, .rank2, .rank3{
		width: 50px;
		height: 47px;
	}
}

/* box_items
-------------------- */
.box_items{
	position: relative;
	margin: 20px 0;
	border: 1px solid #b8b8b8;
}
.box_items .ttl{
	margin-bottom: 20px;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
}
.box_items .ttl a{
	display: block;
	padding: 0 10px 10px;
}
.box_items table th{ font-weight: normal; }
.box_items .point, .box_items .osusume{
	margin: 20px 0;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
	font-size: 0.9em;
}
.box_items .point .ttl, .box_items .osusume .ttl,
.box_items .box .ttl, .box_items .review_wrap .ttl{
	border: 0;
	font-weight: bold;
	font-size: 1.1em;
	color: #fff;
}
.box_items .point{
	margin-top: 30px;
	width: 100%;
}
.box_items .point .ttl{
	margin: -30px 0 0;
	padding: 5px 10px;
	border-radius: 10px;
}
.box_items .point ul li{
	text-align: left;
	font-weight: normal;
	font-size: 0.9em;
}
.box_items .point ul li strong{ font-size: 1.2em; }
.box_items .osusume .ttl{
	padding: 5px;
	border-radius: 10px 10px 0 0;
}
.box_items .osusume ul li{ font-weight: bold; }
.box_items.pickup, .box_items_wrap:first-of-type .box_items{
	background: #fffeef;
	border: 2px solid #ffd177;
}
.box_items.pickup .ribon{
	position: absolute;
	display: flex;
	align-items: center;
	top: 10px;
	left: -10px;
	padding: 5px;
	background: #ffc22f;
	box-sizing: border-box;
	text-align: center;
	line-height: 1.2;
	font-weight: bold;
	font-size: 0.8em;
	color: #fff;
	z-index: 1;
}
.box_items.pickup .ribon:before,
.box_items.pickup .ribon:after{
	position: absolute;
	content: "";
}
.box_items.pickup .ribon:before{
	top: -8px;
	left: 0;
	border: 4px solid transparent;
	border-right: 4px solid #f1b500;
	border-bottom: 4px solid #f1b500;
}
.box_items.pickup .ribon:after{
	top: 0;
	right: -15px;
	z-index: -1;
}
.box_items.pickup .ribon span{
	display: inline-block;
	padding: 5px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.box_items_notes{
	margin: -10px 0 20px;
	font-size: 0.8em;
	color: #999;
}
.ranking_wrap .box_items .ttl.rank{
	background-position: 0 0;
	background-repeat: no-repeat;
}
.ranking_wrap .box_items_wrap:nth-of-type(1) .box_items .ttl.rank, .rank1{ background-image: url(images/ranking_01.png); }
.ranking_wrap .box_items_wrap:nth-of-type(2) .box_items .ttl.rank, .rank2{ background-image: url(images/ranking_02.png); }
.ranking_wrap .box_items_wrap:nth-of-type(3) .box_items .ttl.rank, .rank3{ background-image: url(images/ranking_03.png); }
.box_items .cta2{
	margin: 20px 0 0;
	padding: 15px;
	background: #fff;
	border: 1px solid #ddd;
}
.box_items .cta2 p{ margin: 10px 0; }
.box_items .cta2 a{ font-size: 0.9em; }

@media (min-width: 751px){
	.box_items, .box_items .point, .box_items .osusume{
		padding: 15px 30px;
	}
	.box_items .osusume .ttl{ margin: -15px -30px 20px; }
	.box_items.pickup .ribon{ height: 60px; }
	.box_items.pickup .ribon:after{
		border: 30px solid #ffc22f;
		border-right: 15px solid transparent;
	}
	.ranking_wrap .box_items .ttl.rank{
		padding: 10px 0 0 80px;
		height: 70px;
	}
	.box_items .ttl.rank,
	.rank1, .rank2, .rank3{
		background-size: 80px 74px;
	}
}
@media (max-width: 750px){
	.box_items, .box_items .point, .box_items .osusume{
		padding: 15px;
	}
	.box_items .osusume .ttl{ margin: -15px -15px 20px; }
	.box_items.pickup .ribon{ height: 50px; }
	.box_items.pickup .ribon:after{
		border: 25px solid #ffc22f;
		border-right: 15px solid transparent;
	}
	.ranking_wrap .box_items .ttl.rank{
		padding-left: 50px;
		height: 50px;
	}
	.box_items .ttl.rank,
	.rank1, .rank2, .rank3{
		background-size: 50px 47px;
	}
}

/* refine
-------------------- */
.refine{
	margin: 30px -15px;
	padding: 15px 20px;
	background: #fff;
	border: 10px solid #eaf8f9;
}
.refine h4{
	margin-bottom: 10px;
	padding-left: 5px;
	border-left: 5px solid #58b5c9;
	text-align: left;
	font-size: 1.1em;
}
.refine input[type="radio"], .refine input[type="checkbox"]{
	display: none;
}
.refine label{
	position: relative;
	padding: 8px 0 8px 24px;
	box-sizing: border-box;
	line-height: 1.2;
	cursor: pointer;
}
.refine label:before, .refine label:after{
	position: absolute;
	content: "";
	border-radius: 100%;
}
.refine label:before{
	top: 7px;
	left: 0;
	width: 16px;
	height: 16px;
	border: 1px solid #ddd;
}
.refine label.checked:after{
	top: 10px;
	left: 3px;
	width: 12px;
	height: 12px;
	background: #58b5c9;
}
.refine label.checkbox:before, .refine label.checkbox:after{
	border-radius: 0;
}
.refine label.checkbox.checked:after{
	top: 8px;
	left: 6px;
	width: 4px;
	background: none;
	border-bottom: 3px solid #58b5c9;
	border-right: 3px solid #58b5c9;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.refine .refine_btn{
	display: block;
	margin: 20px auto 10px;
	padding: 10px;
	width: 100%;
	background: #58b5c9;
	border: 0;
	border-radius: 5px;
	font-weight: bold;
	font-size: 1.1em;
	color: #fff;
	cursor: pointer;
	-webkit-appearance: none;
}

@media (max-width:750px){
	.refine label{
		width: 48%!important;
	}
}

/* result
-------------------- */
.result{
	border: 1px solid #ddd;
	font-size: 0.9em;
}
.result .ttl{
	margin-bottom: 10px;
	border-bottom: 1px solid #ddd;
	font-weight: bold;
}
.result dl{
	justify-content: flex-start;
	padding: 2px 0;
	font-size: 0.8em;
}
.result dl dt{ width: 30%; }
.result dl dd{ flex: 1; }
.result dl dd span{ margin-right: 20px; }
.result .count{
	margin-top: 10px;
	padding: 5px;
	background: #f5f5f5;
}

@media (min-width: 751px){
	.result{ padding: 10px 100px; }
}
@media (max-width: 750px){
	.result{ padding: 10px 15px; }
}

/* relate
-------------------- */
ul.relate{
	margin: -40px 0 0;
	padding: 0;
	list-style: none;
}
ul.relate li{
	margin: 0;
	border-bottom: 1px solid #ddd;
	font-size: 0.8em;
}
ul.relate li a{
	position: relative;
	display: flex;
	align-items: center;
	text-decoration: none;
	line-height: 1.4;
	color: #666;
}
ul.relate li a:after{
	position: absolute;
	content: "";
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #58b5c9;
	border-right: 2px solid #58b5c9;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
}
ul.relate li .thumb{
	margin-right: 10px;
	width: 100px;
}
ul.relate li .thumb img{
	width: 100%;
	height: 60px;
	object-fit: cover;
}
ul.relate li .ttl{ flex: 1; }
ul.relate li.more{
	position: relative;
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	text-align: center;
	font-size: 0.7em;
	color: #666;
	cursor: pointer;
}
ul.relate li.more:after{
	position: absolute;
	content: "\025bc";
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media (min-width: 751px){
	ul.relate{ margin: -40px -15px 0; }
	ul.relate li a{
		padding: 15px 30px 15px 15px;
		font-size: .8em;
		-webkit-transition: .3s;
		transition: .3s;
	}
    ul.relate li a:after{ right: 15px; }
	ul.relate li a:hover{ background: #fafafa; }
}
@media (max-width: 750px){
	ul.relate li a{ padding: 15px 30px 15px 0; }
    ul.relate li a:after{ right: 5px; }
}

/* list
-------------------- */
ul.liststylenone{
	padding: 0;
	list-style: none;
}
ul.merit, ul.demerit{
	padding-left: 0;
	list-style: none;
}
ul.merit li, ul.demerit li{
	position: relative;
	padding-left: 30px;
}
ul.merit li:before, ul.demerit li:before{
	position: absolute;
	left: 0;
	line-height: 1;
	font-size: 2.5em;
}
ul.merit li:before{
	content: "○";
	top: -8px;
	color: #e6534c;
}
ul.demerit li:before{
	content: "×";
	top: -5px;
	color: #0dafcb;
}

ul.check, ul.check_pk, ul.check_bl{
	padding: 0;
	list-style: none;
}
ul.check li, ul.check_pk li, ul.check_bl li{
	position: relative;
	padding-left: 20px;
}
ul.check li:after, ul.check_pk li:after, ul.check_bl li:after{
	position: absolute;
	content: "";
	top: 3px;
	left: 5px;
	width: 3px;
	height: 10px;
	border-bottom: 3px solid;
	border-right: 3px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
ul.check li:after{ border-color: #ffb245; }
ul.check_pk li:after{ border-color: #ff6985; }
ul.check_bl li:after{ border-color: #196bb8; }

/* tab
-------------------- */
.tab_list ul{
	margin: 0 -1px;
	padding: 0;
	list-style: none;
}
.tab_list ul li{
	flex: 1;
	margin: 0 1px;
	padding: 5px;
	border: 1px solid #ddd;
	border-radius: 10px 10px 0 0;
	text-align: center;
	font-size: 0.9em;
	color: #fff;
	cursor: pointer;
}
.tab_list ul li.select{
	background: #fff;
	border-bottom: 0;
	font-weight: bold;
	color: #333;
}
.tab_box{
	margin-top: -1px;
	padding: 15px;
	border: 1px solid #ddd;
}
.tab_box .ttl{
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
}
.tab_box table{ margin: 0; }
.tab_box table th, .tab_box table td,
.tab_box .ttl_sub{
	text-align: center;
}
.tab_box .ttl_sub span{
	padding: 8px 15px;
	font-weight: bold;
	color: #fff;
}
.tab_box .col3{ justify-content: space-around; }

/* table
-------------------- */
table.hikaku th, table.hikaku td{
	text-align: center;
}
table.hikaku.thpk th, table.hikaku.thbl th{
	border-color: #fff;
	color: #fff;
}
table.hikaku.thpk th{ background: #ff8cb5; }
table.hikaku.thbl th{ background: #4493dd; }

table.hikaku tbody tr:nth-of-type(1) td{
	border: 2px solid #f00;
	box-sizing: border-box;
}
td.maru2, td.maru, td.sankaku, td.batsu{
	padding-top: 46px!important;
	background: center 10px no-repeat;
}
td.maru2{ background-image: url(images/hikaku_maru2.png); }
td.maru{ background-image: url(images/hikaku_maru.png); }
td.sankaku{ background-image: url(images/hikaku_sankaku.png); }
td.batsu{ background-image: url(images/hikaku_batsu.png); }

/* btn
-------------------- */
.bt_cv a, .bt_cv2 a{
	position: relative;
	display: block;
	border-radius: 5px;
	box-sizing: border-box;
	text-decoration: none;
	text-align: center;
	line-height: 1.2;
	font-weight: bold;
	color: #fff;
}
.bt_cv a{
	background: #fe941e;
	box-shadow: 0 3px 0 #ec9627;
}
.bt_cv2 a{
	background: #43a047;
	box-shadow: 0 3px 0 #2e7d32;
}
.bt_cv a:after, .bt_cv2 a:after{
	position: absolute;
	content: "";
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.bound a{
	-webkit-animation: bound .5s ease infinite alternate;
	animation: bound .5s ease infinite alternate;
}
@-webkit-keyframes bound{
	50%{ -webkit-transform: translateY(0); }
	75%{ -webkit-transform: translateY(5px); }
}
@keyframes bound{
	50%{ transform: translateY(0); }
	75%{ transform: translateY(5px); }
}
.shiny a{ overflow: hidden; }
.shiny a:before{
	position: absolute;
	content: "";
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, .5) 50%, rgba(255, 255, 255, 0) 75%);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, .5) 50%, rgba(255, 255, 255, 0) 75%);
	-webkit-animation: shiny 3s infinite;
	animation: shiny 3s infinite;
}
@-webkit-keyframes shiny{
	100%{ left: 100%; }
}
@keyframes shiny{
	100%{ left: 100%; }
}
.fix_btn{
	position: fixed;
	left:0 ;
	bottom: 0;
	padding: 1em;
	width: 100%;
	background: rgba(0, 0, 0, .2);
	box-sizing: border-box;
	z-index: 9;
}
.fix_btn .bt_cv a, .fix_btn .bt_cv2 a{ margin: 0 auto; }

.cta{ text-align: center; }
.cta p{ margin: 0; }
.cta a{
	display: block;
	margin: auto;
	padding: 15px;
	max-width: 400px;
	border-radius: 10px;
	text-decoration: none;
	line-height: 1.4;
	font-weight: bold;
	font-size: 1.1em;
	color: #fff;
}
.cta.round a{ border-radius: 100px; }
.cta_fl{
	align-items: center;
	font-size: 0.8em;
}
.cta_fl .fuki_l, .cta_fl .fuki_r{
	width: 40%;
	position: relative;
	margin-right: 10px;
	padding: 5px;
	border: 2px solid #ddd;
	border-radius: 5px;
	text-align: center;
	line-height: 1.4;
}
.cta_fl .fuki_l:before, .cta_fl .fuki_l:after,
.cta_fl .fuki_r:before, .cta_fl .fuki_r:after{
	position: absolute;
	content: "";
	top: 50%;
	border: 5px solid transparent;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.cta_fl .fuki_l:before{
	right: -20px;
	border-left: 15px solid #ddd;
}
.cta_fl .fuki_l:after{
	right: -14px;
	border-left: 15px solid #fff;
}
.cta_fl .cta{ flex: 1; }
.cta_box{
	margin: 60px auto 30px;
	max-width: 600px;
	border-width: 2px;
	border-radius: 10px;
	text-align: center;
}
.cta_box .ttl_pk, .cta_box .ttl_bl{
	margin: -30px 0 10px;
	padding: 10px;
	border-radius: 10px;
	line-height: 1.4;
	font-weight: bold;
	color: #fff;
}
.cta_box .ttl_pk{ background: #ff8cb5; }
.cta_box .ttl_bl{ background: #4493dd; }
.cta_box .cta{ margin: 5px 0; }
.cta .copy{
	position: relative;
	display: inline-block;
	padding: 5px;
	margin-bottom: -30px;
	background: #fff;
	border: 2px solid;
	border-radius: 10px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, .2);
	text-align: center;
	font-size: 0.8em;
}
.cta .copy:before, .cta .copy:after{
	position: absolute;
	content: "";
	left: 50%;
	border: 11px solid transparent;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.cta .copy:before{
	bottom: -22px;
	border-top-color: #000;
}
.cta .copy:after{
	bottom: -20px;
	border-top-color: #fff;
}
.cta .microcopy{ font-size: 0.8em; }
.cta .microcopy:before, .cta .microcopy:after{
	vertical-align: middle;
	font-size: 1.3em;
}
.cta .microcopy:before{
	content: "\005C";
	margin-right: 5px;
}
.cta .microcopy:after{
	content: "\002F";
	margin-left: 5px;
}

.bt_tbl_or a, .bt_tbl_gr a, .bt_tbl_aqua a, .bt_tbl_pk a{
	display: block;
	padding: 15px 10px;
	border-radius: 8px;
	text-decoration: none;
	text-align: center;
	line-height: 1.3;
	font-weight: bold;
	font-size: 0.8em;
	color: #fff;
}

.bt_pk a, .bt_tbl_pk a{ background: #ff69ba; }
.bt_pk .copy{ border-color: #ff69ba; }
.bt_pk .copy:before{ border-top-color: #ff69ba; }
.bt_red a{ background: #ff0000; }
.bt_red .copy{ border-color: #ff0000; }
.bt_red .copy:before{ border-top-color: #ff0000; }
.bt_bl a{ background: #4169e1; }
.bt_bl .copy{ border-color: #4169e1; }
.bt_bl .copy:before{ border-top-color: #4169e1; }
.bt_aqua a, .bt_tbl_aqua a{ background: #05cdaa; }
.bt_aqua .copy{ border-color: #05cdaa; }
.bt_aqua .copy:before{ border-top-color: #05cdaa; }
.bt_gr a{ background: #a9a9a9; }
.bt_gr .copy{ border-color: #a9a9a9; }
.bt_gr .copy:before{ border-top-color: #a9a9a9; }
.bt_tbl_or a{ background: #fe941e; }
.bt_tbl_gr a{ background: #bbb; }

.osusume_ranking{ background: #ffc; }
.osusume_ranking table{ background: #fff; }
.osusume_ranking table tbody tr:nth-of-type(1) td{ background: #FFF59D; }

@media (min-width: 641px){
	.sp{ display: none; }
	.box_ylw{ padding: 1px 40px; }
	.box_merit, .box_demerit{ padding: 20px 40px; }
	.bt_cv a, .bt_cv2 a{
		margin: 50px auto;
		padding: 20px;
		width: 600px;
	}
	.bt_cv a:hover, .bt_cv2 a:hover{
		top: 2px;
		-webkit-animation: none;
		animation: none;
	}
	.bt_cv a:hover{ box-shadow: 0 1px 0 #ec9627; }
	.bt_cv2 a:hover{ box-shadow: 0 1px 0 #2e7d32; }
	.bt_cv a:after, .bt_cv2 a:after{
		right: 20px;
		border: 10px solid transparent;
		border-left: 14px solid;
	}
	.osusume_ranking table{ border: 10px solid #ffc; }
}

@media (max-width: 640px){
	.pc{ display: none; }
    .point{
		background-color: #58b5c9;
		color: white;
		width: 25%;
		text-align: center;
		margin-bottom: -30px;
		font-size: 16px;
		border-radius: 5px 5px 0 0;
		font-weight: bold;
	}
	.box_ylw{ padding: 1px 20px; }
	.box_merit, .box_demerit{ padding: 20px; }
	.bt_cv a, .bt_cv2 a{
		margin: 30px auto;
		padding: 15px 20px;
	}
	.bt_cv a:after, .bt_cv2 a:after{
		right: 8px;
		border: 7px solid transparent;
		border-left: 10px solid;
	}
	table.swipe{
		position: relative;
		display: block;
		font-size: 0;
		overflow-x: scroll;
	}
	table.swipe:before{
		position: absolute;
		content: "";
		top: 30%;
		left: 50%;
		width: 90px;
		height: 75px;
		background: url(../images/tbl_slide.png) 0 0 no-repeat;
		background-size: 90px 75px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		z-index: 2;
	}
	table.swipe.close:before{
		opacity: 0;
		-webkit-transition: .3s;
		transition: .3s;
	}
	table.swipe thead, table.swipe tbody{
		display: block;
		width: -webkit-max-content;
		width: max-content;
	}
	table.swipe th, table.swipe td{
		width: 110px!important;
		font-size: .8rem;
	}
	table.swipe tbody th{
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		line-height: 1.4;
		z-index: 1;
	}
	table.swipe thead th.blank{
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		left: 0;
		z-index: 1;
	}
	table.swipe tbody th:before, table.swipe thead th.blank:before,
	table.swipe tbody th:after, table.swipe thead th.blank:after{
		position: absolute;
		content: "";
		top: 0;
		width: 1px;
		height: 100%;
		background: #ccc;
	}
	table.swipe tbody th:before, table.swipe thead th.blank:before{
		left: -1px;
	}
	table.swipe tbody th:after, table.swipe thead th.blank:after{
		right: -1px;
	}
	table.swipe::-webkit-scrollbar{ height: 10px; }
	table.swipe::-webkit-scrollbar-track{ background: #f1f1f1; }
	table.swipe::-webkit-scrollbar-thumb{ background: #bcbcbc; }
	.osusume_ranking{
		margin: 0 -15px;
		padding: 10px 15px;
	}
}

/* ------------------------------------------------
 chat content style
------------------------------------------------ */
.chat-wrap{
	margin: 20px 0;
	padding: 10px;
}
.chat-r, .chat-l{
	clear: both;
	overflow: hidden;
	margin-bottom: 10px;
}
.chat-r img{ float: right; width:80px; }
.chat-l img{ float: left; width:80px; }
.chat-name{ margin-top: -10px; }
.chat-r .chat-name{
	margin-right: 95px;
	text-align: right;
}
.chat-message + .chat-message {
margin-top: 10px;
}
.chat-l .chat-name { margin-left: 95px; }
.chat-message {
	position: relative;
	padding: 10px 15px;
	border-radius: 20px;
}
.chat-r .chat-message {
	margin-right: 95px;
	background-color: #ededed;
}
.chat-l .chat-message {
	margin-left: 95px;
	background-color: #ededed;
}
.chat-message:before {
	position: absolute;
	content: "";
	top: 10px;
	width: 0;
	height: 0;
	border: 15px solid transparent;
	border-top: 15px solid;
}
.chat-r .chat-message:before {
	right: -10px;
	border-top-color: #ededed;
}
.chat-l .chat-message:before {
	left: -10px;
	border-top-color: #ededed;
}

/* ------------------------------------------------
 holiday visible
------------------------------------------------ */
.holiday-off,
.holiday-on {
	display: none;
}

/* ------------------------------------------------
------------------------------------------------ */
.alignleft{ text-align: left!important; }
.aligncenter{ text-align: center!important; }

.mt0{ margin-top: 0!important; }
.mt10{ margin-top: 10px!important; }
.mt20{ margin-top: 20px!important; }
.mt30{ margin-top: 30px!important; }

.mb0{ margin-bottom: 0!important; }
.mb10{ margin-bottom: 10px!important; }
.mb20{ margin-bottom: 20px!important; }
.mb30{ margin-bottom: 30px!important; }

.small{ font-size: 0.8em; }

.marker{
	background: -webkit-linear-gradient(transparent 60%, #FFd700 60%);
	background: linear-gradient(transparent 60%, #FFd700 60%);
	font-weight: 700;
}

.pink{ color: #ff6985; }
.blue{ color: #196bb8; }
.red{ color: #d50000; }
.orange{ color: #ffa200; }
.yellow{ color: #f0ff00; }