@charset "utf-8";

/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');*/

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/NotoSansJP-Regular.woff") format("woff");
}


@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("font/NotoSansJP-Bold.woff") format("woff");
}




/***********************
	共通
************************/

.cf, .clearfix{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

p.min, span.min{
 font-size:0.6rem !important;
 font-weight:normal !important;
 width:100%;
 display:block;
}

p.min-re{
 font-size:0.6rem !important;
 font-weight:normal !important;
 margin:0;
}

.header {
    background-color: #fff;
    border-bottom: 2px solid #88c866;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 80px;
}

.header__brand {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    width:calc(100% - 70%);
}

.header__logo {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1;
}

h1 {
    font-size: 2em;
    margin: .67em 0;
}

.header__logo img{
  width: 30px;
    padding-right: 3px;
 margin-top: -2px;
}

.header__brand h2 {
    margin-top: 0;
    margin-bottom: -5px;
    font-size: 10px;
    font-weight: 400;
    color: #fff;
}

.header__logo a {
    font-size: 20px;
    color: #666;
    text-decoration: none;
}

.wrap.short{
  max-width:740px;
}

.type__d{
  margin-right: .5em;
}

@media screen and (max-width: 767px) {

	.header__logo img{
	  width: 20px;
	}

	h1{
	font-size: 10px;
	}

  h1.page{
    font-size: 20px;
    margin: 0 0 10px;
  }

	.header__logo a{
	font-size: 10px;
	}

	.header__brand{
	  width:40%;
  	flex-direction: row;
	}

	header.smaller{
	 position:fixed;
	 width:100%;
	 top:0;
	}

	header.smaller .header__brand{
	 display:none !important;
	}

	header.smaller nav.mobile-nav{
	 width:94% !important;
	}

	header.smaller nav.mobile-nav li{
	 width:33.333%;
	}

}

.home #content {
  margin-top: 0;
}

#content {
	padding-bottom: 0;
}
table {
	width: 100%;
}
.ac_input {
	display: none;
}
.ac_input ~ label {
  display: block;
  position: relative;
  padding: 5px 20px;
  font-weight: bold;
  border: 1px solid #47b980;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 2px;
  font-size: 0.8em;
  color: #47b980;
}
.ac_input ~ label:after {
  content: "+";
  font-family: "Quicksand", sans-serif;
  position: absolute;
  right: 14px;
  top: 17px;
  top: calc(50% - 7.5px);
  line-height: 11px;
  font-size: 23px;
  font-weight: normal;
  color: #47b980;
}
.detail_table_wrap .ac_input ~ label,
.detail_table_wrap .ac_input ~ label:after {
	border-color: #525252;
  color: #525252;
}
.ac_input:checked + label:after {
  content: "-";
}
.ac_content {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.5s;
  margin-bottom: 10px;
}
.ac_input:checked ~ .ac_content {
	height: auto;
  opacity: 1;
  overflow: visible;
}
.rel {
	position: relative;
}
.keiko_yellow,
.keiko_green,
.keiko_blue,
.red,
.green,
.orange,
.silver {
  font-weight: bold;
}

#item_top td span, .cs_item td span.red, .cs_item td span.black{
 font-size:12px;
}

.cs_item td span.bold-b{
 font-weight:bold;
 font-size:16px;
}

.nofound-img{
	text-align:center;
}

.nofound-contents form div{
	margin-left:auto;
	margin-right:auto;
}

/***********************
	ヘッダー
************************/
.header {
	box-shadow: none;
	padding: 5px 0 8px;
}
.header-info a {
	padding: 4px;
	font-size: 0.7em;
}
#logo {
	font-size: 1.0em;
}
#logo:before {
	display: none;
}
#logo a {
	display: block;
}
#logo span {
  display: block;
  font-size: 0.6em;
  line-height: 1;
	color: #e1ff6f;
}
#logo img {
  height: auto;
  width: 180px;
  padding: 0;
}
.spring-nav {
  line-height: 1;
}
.spring-nav li {
  list-style: none;
  text-align: center;
  display: inline-block;
  width: 20%;
  line-height: 1;
  position: relative;
}
.spring-nav li:before {
  content: '';
  position: absolute;
  display: block;
  height: 80%;
  width: 1px;
  left: 0;
  top: 50%;
  margin-top: -25%;
  background: #e6e6e6;
}
.spring-nav li:first-child:before {
	display: none;
}
.spring-nav li a {
  color: #a4a4a4;
  font-size: 0.67em;
  font-weight: bold;
  line-height: 1;
  display: block;
  padding: 4px 0;
}
.spring-nav li a span {
  display: block;
}
.spring-nav li a span svg {
  width: 18px;
  height: 18px;
}
.spring-nav li a span svg path,
.spring-nav li a span svg polygon {
  fill: #47b980;
}
body .totop {
  background: #47b980;
}
/***********************
	トップ
************************/
#mv {
  margin: 1em 0;
}
#custom_search_form {
  padding: 20px 20px 40px;
	position: relative;
  margin-top:0px;
}
#custom_search_form:after {
	position: absolute;
	content: '';
	background: #f5f5f5;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
  z-index: -10;
  border-radius: 2px;
}
.csf_title {
  margin: -20px -20px 0 -20px;
  background:#394959;
  color: #fff;
  padding: 10px 20px;
  text-align: left;
  position: relative;
  border-top-left-radius:4px;
  border-top-right-radius:4px;
}
.csf_title:before {
  content: '\f002';
  font-family: Fontawesome;
  font-size: 1.2em;
  margin-right:10px;
}
#custom_search_form dt {
  font-weight: bold;
  padding: 6px;
    padding: 1px 15px;
    line-height: 1;
    font-size: 16px;
    font-weight: 500;
    border-left: 4px solid #efa53a;
  margin-bottom:15px;
}
#custom_search_form table {
	width: 100%;
}
#custom_search_form th, #custom_search_form td {
	border: 2px solid #ddd;
	padding: 10px;
	font-size: 0.85em;
}
#custom_search_form th {
	background: #fafafa;
  width: 13%;
	font-size: 0.75em;
}
#custom_search_form td {
	position: relative;
}
#custom_search_form td:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -3;
}
#custom_search_form .csf_labels,
#sp_custom_search_form .csf_labels {
	display: inline-block;
}
#custom_search_form .csf_labels img {
	width: 64px;
}
#sp_custom_search_form .csf_labels img {
	width: 32px;
}
.csf_osusume {
  margin: 0 0 20px;
}

ul.csf_osusume li input[type=checkbox]+label>i {
    position: absolute;
    top: calc(50% - 14px);
    right: -10px;
    height: 28px;
    font-size: 30px;
}

.csf_osusume .fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#custom_search_form .csf_labels{
 margin-right:10px;
}

.csf_osusume li {
  display: inline-block;
  margin: 0 1% 0 0;
  font-size: 0.9em;
  position: relative;
  padding: 18px 30px 19px 15px;
  transition: all .3s;
}
.csf_osusume li span {
	display: block;
  font-size: 0.8em;
}
.csf_osusume li:before {
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	background: #fff;
	z-index: -2;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 9px;
  box-shadow:1px 1px 1px #ccc;
}
.csf_osusume li:hover:before {
	background: #fafafa;
}
.csf_labels span {
	font-size: .9em;
}
@keyframes click-wave {
	0% {
		position: relative;
		width: 24px;
		height: 24px;
		opacity: 0.35;
	}
	100% {
		width: 200px;
		height: 200px;
		margin-top: -86px;
		margin-left: -86px;
		opacity: 0;
	}
}
.csf_radio input,
.csf_check input {
	position: relative;
	top: 2px;
	right: 0;
	bottom: 0;
        left: -5px;
        width: 17px;
        height: 17px;
	cursor: pointer;
	transition: all 0.15s ease-out 0s;
	color: #ffffff;
	border: none;
	outline: none;

    background-color: #f9f6f1;
    border: 1px solid #ccc;
	-webkit-appearance: none;
	        appearance: none;
	border-radius: 50%;
-webkit-box-shadow: 1px 1px #c7c5c1 inset;
    box-shadow: inset 1px 1px #c7c5c1;

}
.csf_check input {
	border-radius: 2px;
}
.csf_radio input::after,
.csf_check input::after {
	border-radius: 50%;
}
.csf_radio input:hover,
.csf_check input:hover {
	background: #f9f6f1;
}

.csf_radio input:checked::before,
.csf_check input:checked::before {
position: absolute;
    top: calc(50% - 6px);
    left: -1px;
    width: 11px;
    height: 11px;
    cursor: pointer;
    content: "";
    background-color: #f9f6f1;
    border: 1px solid #ccc;
    border-radius: 50%;
    -webkit-box-shadow: 1px 1px #c7c5c1 inset;
    box-shadow: inset 1px 1px #c7c5c1;

}

.csf_radio input:checked,
.csf_check input:checked {
    background-color: #fff;
    border: 4px solid #b21a2d;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.csf_radio input:checked::before, .csf_check input:checked::before{
  box-shadow:none;
  border:0;
}

.csf_radio,
.csf_check {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 5px;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

}
#sp_custom_search_form .csf_radio {
	margin: 0;
}
#sp_custom_search_form .csf_radio input:checked::before,
#sp_custom_search_form .csf_radio input {
 top:-1px;
}
#sp_custom_search_form .csf_radio input {
	top: -1px;
	left: -1px;
}
#sp_custom_search_form .csf_labels span {
	font-size: 0.65em;
}
#sp_custom_search_form .csf_radio input#brand_1 {
	margin-left: 4px;
}
.csf_cover {
	margin-right: 5px;
}
.csf_cover input[type='checkbox'] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.csf_cover label {
	position: relative;
	display: inline-block;
	padding-left: 25px;
	cursor: pointer;
  line-height: 23px;
}
.csf_cover label::before {
    position: absolute;
    top: calc(50% - 7px);
    left: 0;
    width: 15px;
    height: 15px;
    cursor: pointer;
    content: "";
    background-color: #f9f6f1;
    background-repeat: no-repeat;
    border: 1px solid #ccc;
    -webkit-box-shadow: 1px 1px #c7c5c1 inset;
    box-shadow: inset 1px 1px #c7c5c1;
}
.csf_osusume label::before{
    position: absolute;
    top: calc(50% - 10px);
    left: 0px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    content: "";
    background-color: #fff;
    background-repeat: no-repeat;
    border: 1px solid #ccc;
    -webkit-box-shadow: 1px 1px #c7c5c1 inset;
    box-shadow: inset 1px 1px #c7c5c1;
}

.csf_cover input[type='checkbox'] + label::before {
	border-radius: 4px;
}

.csf_cover input[type='checkbox']:checked + label::after {
    position: absolute;
    top: calc(50% - 9px);
    left: 0;
    width: 18px;
    height: 18px;
    content: "";
    background: url(img/check.png)no-repeat center center;
    background-position: 4px 6px;
    background-size: 10px 10px;
}

.csf_osusume input[type='checkbox']:checked + label::after {
    position: absolute;
    top: calc(50% - 9px);
    left: 0;
    width: 22px;
    height: 22px;
    content: "";
    background: url(img/check.png)no-repeat center center;
    background-position: 4px 0px;
    background-size: 15px 15px;
}

.csf_cover label, .csf_cover label::before {
	-webkit-transition: 0.25s all ease;
	        transition: 0.25s all ease;
}
.csf_osusume .csf_cover label {
	padding-left: 28px;
  padding-right: 25px;
  font-weight:bold;
  font-size:16px;
}
.csf_osusume .csf_cover label::before {
	border-color: #ccc;
	top: 50%;
	margin-top: -10px;
}
.csf_osusume .csf_cover label svg {
  width: 32px;
  height: 33px;
  position: absolute;
  right: -12px;
  top: 8px;
}
.csf_osusume .csf_cover label svg path,
.csf_osusume .csf_cover label svg polygon {
  fill: #ffa23f;
}
.csf_osusume .csf_cover input[type='checkbox']:checked + label svg path,
.csf_osusume .csf_cover input[type='checkbox']:checked + label svg polygon {
  fill: #fff;
}
.csf_btn_wrap {
  text-align: center;
  position: relative;
}
#csf_btn {
    position:relative;
    display: block;
    width: 100%;
    max-width: 450px;
    height: 55px;
    padding: 0 15px;
    margin: 20px auto 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 55px;
    color: #333;
    text-align: center;
    text-decoration: none;
    letter-spacing: 2px;
    background-color: #efa53a;
    border: none;
    border-radius: 2px;
    -webkit-box-shadow: 0 -5px #c97f2a inset;
    box-shadow: inset 0 -5px #c97f2a;
}
#csf_btn:disabled {
	background: #ffd045;
  color: #fff;
}
#csf_btn:hover {
	background: #ffd045;
}
#csf_btn:before {
    content: '\f002';
    font-family: Fontawesome;
    position: absolute;
    left: 25%;
    top: 0;
    font-size: 1.5em;
}

#csf_btn:hover {
    background-color: #1d1d1d;
    -webkit-box-shadow: 0 -5px #000 inset;
    box-shadow: inset 0 -5px #000;
    color: #fff;
}

#found {
  display: inline-block;
  background: #fff;
  font-size: 0.9em;
  position: absolute;
  right: 50px;
    top: 5px;
    padding: 0 10px;
    line-height: 40px;
    text-align: center;
    font-size: 13px;
    background-color: #fff;
    border-radius: 4px;
    -webkit-box-shadow: 1px 1px #ccc;
    box-shadow: 1px 1px #ccc;
        color: #999;
}
#found span {
  font-size: 16px;
  font-weight: bold;
  color: #930001;
}
.sp_custom_search_form_wrap {
  margin: 0 auto 1em;
  padding: 25px 15px;
  background: #f5f5f5;
  border-bottom: 3px solid #eee;
  animation: bgiLoop 8s linear infinite;
}
@keyframes bgiLoop {
    0% { background-position: 0 0;}
  100% { background-position: -22px 78px;}
}

.sp_csf_title {
  margin: -25px -15px 15px;
  text-align: center;
  font-size: 1.0em;
  background:#394959;
  color: #fff;
  padding: 6px;
  position: relative;
}
.sp_csf_title:before {
  content: '\f002';
  font-family: Fontawesome;
  position: absolute;
  top: 2px;
  left: 15px;
  font-size: 1.2em;
}
.sp_csf_list {
	margin: 0;
}
.sp_csf_list li {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
}
.sp_csf_label {
  display: inline-block;
  width: 20%;
  background: #fff;
  font-weight: bold;
  text-align: center;
  padding: 11px 4px;
  line-height: 1.5;
  border-radius: 4px;
  float: left;
  margin: 0;
  box-shadow: 0px 3px 0 0 rgb(226,226,226);
  font-size: 0.9em;
  border: 1px solid #eee;
}
.sp_csf_options {
  position: relative;
  font-weight: bold;
  width: 77%;
  float: right;
}
.sp_csf_options .replace_select {
  padding: 11px 2em 11px 0.6em;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0px 3px 0 0 rgb(226,226,226);
  line-height: 1.6;
  position: relative;
  font-size: 0.755em;
  border: 1px solid #eee;
}
.next .sp_csf_label,
.next .sp_csf_options .replace_select {
	background: #fbffd0;
	box-shadow: 0px 3px 0 0 rgba(179, 158, 39, 0.3);
}
.next .sp_csf_options .replace_select {
  animation: flash 1s linear infinite;
  border: 2px solid transparent;
}
@keyframes flash {
  0%,100% {
    border-color: #ffa23f;
  }

  50% {
    border-color: #fff;
  }
}
.sp_csf_options .replace_select p {
	margin: 0;
	position: relative;
}
.sp_csf_options .replace_select p:before {
	content: '\f063';
	font-family: Fontawesome;
  margin-right: 10px;
}
.sp_csf_options .replace_select span {
  position: absolute;
  right: 10px;
  top: 50%;
  color: #ffa23f;
  display: block;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  border: 2px solid #ffa23f;
  border-radius: 2px;
  font-weight: bold;
  font-size: 20px;
  line-height: 20px;
  text-align: center;
}
.sp_csf_options .replace_select span.done {
	background: #ffa23f;
	color: #fff;
}
.sp_csf_options select {
  position: absolute;
  top: 2px;
  font-size: 42px;
  line-height: 42px;
  height: 42px;
  opacity: 0;
  border: 1px solid rgba(255,255,255,0);
}
#sp_custom_search_form .csf_btn_wrap {
 	text-align: right;
}
#sp_custom_search_form #csf_btn {
  font-size: 1em;
  padding: 10px 25px 10px 50px;
  color:#000;
  font-weight:normal;
  border-radius:4px;
}

#sp_custom_search_form #csf_btn:hover, #sp_custom_search_form #csf_btn:active, #sp_custom_search_form #csf_btn:focus{
    background-color: #1d1d1d !important;
    -webkit-box-shadow: 0 -5px #000 inset;
    box-shadow: inset 0 -5px #000;
    color: #fff;
        opacity: .8;
}

#sp_custom_search_form #found {
  right: auto;
  padding: 2px 5px;
  left: 0;
}
.spcs_advance {
  border: 1px solid #eee;
  padding: 4px;
  border-radius: 2px;
  margin: 5px 0 14px;
  background: #fff;
}
.csf_headline {
  font-size: 0.9em;
  font-weight: bold;
  padding: 3px 9px;
  background: #efefef;
  margin: -4px -4px 2px;
}
#short_ranking {
	padding-bottom: 20px;
	margin-top: 20px;
}
.s_rank_item {
}
.s_rank_item a {
  border: 1px solid #bf9763;
  -webkit-box-shadow: 1px 1px #ccc;
  box-shadow: 1px 1px #ccc;
  display: block;
  padding: 15px 15px 25px;
  color: #555;
  font-size: 0.85em;
  text-decoration: none;
  position: relative;
}
.s_rank_item a .rank_num {
  position: absolute;
  left: 0;
  top: 3px;
  display: inline-block;
  padding: 2px 12px 2px 6px;
  width: 48px;
  height: 48px;
  background-image: url(library/icon/rank_other.png);
  background-size: contain;
  background-repeat: no-repeat;
  line-height: 31px;
  font-weight: bold;
  text-align: center;
  font-size: 1.1em;
  color: #47b980;
}
.s_rank_item a .rank_ico {
  position: absolute;
  left: 0;
  top: 8px;
  display: inline-block;
  width: 36px;
  height: 36px;
}
.s_rank_title,
.s_rank_img {
	text-align: center;
}
.s_rank_title {
	font-weight: bold;
	font-size: 1.15em;
	width: 85%;
	margin: 0 auto;
}
.s_rank_img img {
	width: 50%;
}
.s_rank_catch {
  min-height: 4.9em;
  overflow: hidden;
  font-weight: bold;
  font-size: 1.0em;
  margin-bottom: 10px;
}
.s_rank_catch p {
  margin: 0;
}
.s_rank_item th,
.s_rank_item td {
	border: 1px solid #ddd;
	font-size: 0.8em;
	padding: 4px;
}
.s_rank_item th {
	width: 45%;
	background: #fafafa;
}
.s_rank_item td {
	background: #fff;
}
.s_rank_item .btn {
  margin-top: 20px;
  border-radius: 30px;
}
.s_rank_item .cs_list li.none {
	height: 20.89px;
}

#short_ranking .swiper-pagination {
	bottom: 0;
}
#short_ranking .swiper-pagination-bullet-active {
	background: #ffa23f;
}

/***********************
	ランキング一覧
************************/
#ranking {
	margin: 0 -15px 24px;
}
#ranking_lists {
	border-top: 1px solid #999;
	margin: 20px 0 20px;
}
.ranking_list {
	width: 50%;
	float: left;
}

.ranking_list:nth-of-type(3n) a{
  border-right: 1px solid #999;
}

.ranking_list a {
  border: 1px solid #999;
  border-right:0;
  display: block;
  padding: 8px 4px;
  color: #000;
  line-height: 1.4;
  font-size: 0.82em;
  border-top: none;
  position: relative;
font-family: 'メイリオ', Meiryo, 'Hiragino Maru Gothic Pro', 'ヒラギノ丸ゴ Pro W4', Osaka, 'ＭＳ Ｐゴシック', sans-serif;
  font-weight:400;
}

.ranking_list:nth-of-type(even) a{
 border-left:none;
}

.ranking_list a .rl_img {
  margin: 5px 0 0;
  display: block;
  width: 16%;
  float: left;
  text-align: center;
  height:49px;
}
.ranking_list a .rl_title {
  margin: 0 0 0 3%;
  width: 73%;
  float: left;
}
.ranking_list a .rl_title span {
  display: block;
}
.ranking_list a .rl_title:before,
.ranking_list a .rl_title:after {
	content: '';
	position: absolute;
	height: 1px;
	width: 7px;
	right: 4px;
	top: 50%;
	margin-top: -3px;
	background: #555;
}
.ranking_list a .rl_title:before {
	transform: rotate(45deg);
}
.ranking_list a .rl_title:after {
	transform: rotate(-45deg);
  bottom: 50%;
  top: auto;
  margin-bottom: -3px;
}

.cs_desc p.item_desc_title{
 margin-bottom:.75em;
}

.cs_item.ms_item td{
    width:33.333%;
    min-width:auto;
    border: 1px solid #ddd;
    padding: 4px;
 text-align:center;
 font-weight:400;
 }

.cs_item.ms_item th{
    width:33.333%;
    min-width:auto;
    background: #fafafa;
    border: 1px solid #ddd;
    padding: 4px;
    font-size: .78rem;
    text-align:center;
    color:#000;
}

.cs_item.ms_item table:first-child{
 margin-bottom:.5em;
}

.btn.official{
	box-shadow:none;
	background:#15ad2f;
	border-radius: 0.65em;
	border-bottom:5px solid #084112;
	height:auto;
	letter-spacing:1px;
	position:relative;
	display:block;
	margin:1em auto 0;
	max-width:400px;
	}

	.btn.official .card-detail__official-inner{
	letter-spacing:1px;
	font-weight:600;
	font-size:20.8px;
	display:block;
	line-height:1.075;
	padding:.675em .5em .7em .5em;
	color:#fff;
	text-align:center;
	}

	.btn.official .card-detail__official-inner span.sub{
	  color:#FFFF00;
	  font-size:16px;
	  display:block;
	  margin:0 auto 10px;
	  position:relative;
	  text-align: center;
	  font-weight:500;
	  max-width:220px;
	}

	.btn.official .card-detail__official-inner span.sub:before{
	  content:'─';
	  position:absolute;
	  top:0;
	  left:16px;
	  transform:rotate(45deg);
	}

	.btn.official .card-detail__official-inner span.sub:after{
	  content:'─';
	  position:absolute;
	  top:0;
	  right:16px;
	  transform:rotate(-45deg);
	}

	.btn.official:before{
	    background-size: 13px 52px;
	}

	.btn.official:after{
	    background-size: 8px 52px;
		}

	.pc_btn_wrap.flexnone{
		display:block !important;
	}

  .ms_head .item_img_slider > img {
    max-width: 200px;
    margin-left: -100px;
  }

/***********************
	キャンペーン一覧
************************/
#cam_list {
  margin: 5px -15px 5px;
}

.cam_list a {
	display: block;
	color: #252525;
	background: #fff;
  padding: 10px;
}
.cam_list:nth-child(even) a {
	background: #fafafa;
}
.cam_list_img {
	width: 35%;
	float: left;
}
.cam_list_body {
	width: 60%;
	float: right;
}
.cam_list_name {
  font-size: 0.8em;
  font-weight: bold;
  line-height: 1.5;
}
.cam_list_desc {
  font-size: 0.8em;
  margin: 5px 0;
}
.cam_list_end {
  background: #fff495;
  color: #e11739;
  font-weight: bold;
  font-size: 0.7em;
  padding: 4px;
  border-radius: 2px;
}
#content .pagination ul {
  padding: 0;
  margin: 0;
}
#content .pagination li a {
  color: #47b980;
}
#content .pagination .current {
  background-color: #47b980;
}
/***********************
	カード詳細ページ
************************/

.item_title {
	font-size: 1.0em;
	text-align: center;
	position: relative;
	padding: 6px 15px;
	border-bottom:1px solid #ddd;
	margin-bottom:30px;
}

.item_cam_alert {
  background: #fff495;
  color: #e11739;
  font-weight: bold;
  font-size: .8em;
  text-align: center;
  padding: 4px;
  border-radius: 2px;
  margin-bottom: 15px;
}
#item_top {
	position: relative;
}
.item_img {
	text-align: center;
	margin: 1em 0;
}
.item_img_slider {
	padding-top: 141px;
	position: relative;
	margin: 0 auto;
	text-align: center;
}
.item_img_slider > img {
	position: absolute;
  left: 50%;
  margin-left: -100px;
	top: 0;
	transition: all 0.5s;
	border-radius: 2px;
  max-width: 200px;
}
.item_img_slider input[name='ii_switch'] {
	display: none;
}
.item_img_slider label {
	margin: 0 5px -5px 5px;
	border-bottom: 3px solid #fff;
	display: inline-block;
	cursor: pointer;
	transition: all 0.5s ease;
	opacity: 0.6;
	border-radius: 1px;
}
.item_img_slider label:hover {
	opacity: 0.9;
}
.item_img_slider label img {
	display: block;
	width: 50px;
	border-radius: 1px;
}
.item_img_slider input[name='ii_switch']:checked + label {
	border-bottom: 3px solid #FF7043;
	opacity: 1;
	}
	.item_img_slider input[name='ii_switch'] ~ img {
	opacity: 0;
	}

  .item_img_slider label:first-of-type + img{
    opacity:1;
  }

	.item_img_slider input[name='ii_switch']:checked + label + img {
	opacity: 1;
}
.sp_merits {
	background: #47b980;
  padding: 2px;
  border-radius: 2px;
  margin: 15px 0;
}
.sp_merits ul {
  margin: 0;
  background: #fff;
  padding: 5px;
}
.sp_merits li {
  font-size: 0.8em;
  line-height: 1.5;
  border-bottom: 1px solid #eee;
  padding: 5px 5px 5px 25px;
  position: relative;
  font-weight: bold;
}
.sp_merits li:last-child {
	border: none;
}
.sp_merits li:before {
	content: '';
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #47b980;
}
#item_top table {
	font-size: 0.8em;
	width: 100%;
}
#item_top table.bdt1 {
	border-top: 1px solid #ddd;
}

#item_top table.bdt1 ul{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
}

#item_top table.bdt1 ul li img{
 width:30px;
}

#item_top th,
#item_top td {
	text-align: left;
	padding: 4px;
}

#item_top th{
 min-width:120px;
}

#item_top td{
 text-align:left;
}

#item_top td span,
.cs_item td span {
	font-size: 0.8em;
}

.btn_wrap {
  margin: 20px 0;
}

.single-card .btn.official {
	margin: 0;
}
.item_terms_wrap {
	margin: 15px 0;
}
.item_specs {
  margin-bottom: 15px;
}
.item_desc {
  border:1px solid;
  padding: 20px;
  border-radius:2px;
}

.item_desc p {
	font-size: 0.8em;
	margin: 0 0 1em;
}

.card-detail__description p{
	font-size: 0.75em;
	margin:1em 0;
	line-height:1.7;
}

.basic_headline {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 700;
    border-bottom: 2px solid #e5ded0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  position: relative;
}

.basic_headline i.fa{
     margin-right: 8px;
    color: #262f3e;
}

.basic_headline.blk {
	background: #525252;
  color: #fff;
}
.basic_headline:before {
  content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100px;
    height: 2px;
    content: "";
    background-color: #262f3e;
  z-index: 100;
}
.cam_body,
#cta {
  background-image: linear-gradient(
    -45deg,
    #f2f2f2 25%,
    #efefef 25%,
    #efefef 50%,
    #f2f2f2 50%,
    #f2f2f2 75%,
    #efefef 75%,
    #efefef
  );
  background-size: 30px 30px;
  background-attachment: fixed;
  margin: 0 -15px;
  padding: 15px;
}
.cam_banner,
.cta_banner {
	text-align: center;
  margin-bottom: 15px;
}
.cam_banner p,
.cta_banner p {
	margin: 0;
}
.cam_content,
.cta_text {
  background: #fff;
}
.cam_content p,
#cta p,
#cta li {
	font-size: 0.8em;
}
.kuchikomi li {
  font-size: 0.8em;
  padding: 10px;
}
.kuchikomi li:nth-child(even) {
  background: #f7f7f7;
}
.kuchi_img {
  width: 17%;
  float: left;
}
.kuchi_right {
  float: right;
  width: 76%;
}
.kuchi_stats_wrap {
  text-align:center;
}
.kuchi_stats {
  display:block;
}

.kuchi_stats .kuchi_status{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:center;
    align-items: center;
}

.stars {
  font-size: 0.9em;
  color: #f2ab00;
  line-height: 0;
  margin-bottom: 5px;
}
.kuchi_review {
  margin: 10px 0 0;
}
.single .tablepress {
	font-size: 0.6em;
  border: 1px solid #ddd;
}
.single .tablepress th,
.single .tablepress td {
	padding: 4px;
}
.single .tablepress br {
	display: none;
}
.single .tablepress .column-1 {
	font-weight: bold;
  width: 29%;
  background: #f3f3f3;
  border-right: 1px solid #ddd;
}
.detail_table_wrap {
  margin-top: 10px;
}
.stars.avg {
  float: left;
  margin-right: 7px;
  margin-bottom: 0;
  font-size: 1.2em;
}
.stars.avg i {
  margin: 0 1px;
}
.avg_score {
  color: #ff7700;
  font-weight: 700;
  font-size: 15px;
}
.avg_score span {
  font-size: 0.6em;
}
.kuchi_switcher {
  text-decoration: underline;
  color: orange;
  font-size: 0.85em;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 10px;
  margin-left:auto;
  margin-right:auto;
  padding-top: 6px;
  cursor: pointer;
  transition: all .2s;
  width:100px;
}
.kuchi_switcher:hover {
  color:#ff7804;
}
.kuchi_list_wrap {
  padding: 0;
  margin-bottom: 10px;
  display: none;
}
.kuchi_list_wrap ul {
  margin: 0;
}
.kuchi_list_wrap li {
  border-bottom: 1px dashed #d3d3d3;
  padding: 10px 0;
}
.kuchi_list_wrap li:last-child {
  border: none;
}
.kuchi_list_wrap .stars {
  font-size: 0.9em;
  color:#eda43d;
  line-height: 0;
  margin: 0 2px;
}
.kuchi_score {
  color: #903;
  font-size: 0.9em;
}
.kuchi_list_wrap .kuchi_who {
  font-size: 0.7em;
  color: #888;
  margin-left: 10px;
}
.kuchi_list_wrap .kuchi_title {
  font-weight: bold;
  margin: 0;
  font-size: 0.7em;
}
.kuchi_list_wrap .kuchi_review {
  margin: 0;
  font-size: 0.7em;
}

.card-item__feature h2 {
    padding-bottom: 5px;
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    color: #999;
    border-bottom: 1px solid #ccc;
}

.btn.detail .fa-angle-right {
    margin-right: 5px;
}

.btn.official .card-detail__official-inner i{
 margin-left:5px;
 margin-top:3px;
}


.btn.official-detail:before, .btn.official-detail:after{
 display:none;
}

.btn.official-detail{
 height:55px;
    background: -webkit-gradient(linear, left top, left bottom, from(#ebcdcd), to(#e78888));
    background: linear-gradient(
180deg
, #ebcdcd 0, #e78888);
    border: 2px solid #570001;
    border-radius: 4px;
}

.btn.official-detail .card-detail__official-inner{
    background: -webkit-gradient(linear, left top, left bottom, color-stop(33%, #900), to(#620000));
    background: linear-gradient(
180deg
, #900 33%, #620000);
    border-radius: 4px;
    width:100%;
   border:1px solid #fff;
   align-items:center;
   justify-content:center;
   font-size:16px;
   letter-spacing: 3px;
}

.btn.official-detail .fa-angle-right {
    margin-top: 0px;
    font-size: 24px;
    margin-left: 20px;
}
.microcopy {
  display: block;
  font-size: 0.8em;
  position: relative;
  color: #ff3c3c;
  font-weight: bold;
  text-align: center;
}
.microcopy:before,
.microcopy:after {
  content: '';
  position: absolute;
  width: 2px;
  height: 1.5em;
  top: 0px;
  background: #ff3c3c;
}
.microcopy:before {
  transform: rotate(-45deg);
  margin-left: -1em;
}
.microcopy:after {
  transform: rotate(45deg);
  margin-left: 0.7em;
}
@-webkit-keyframes shiny_btn {
  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; }
}
.btn.detail {
	text-align: center;
  display: block;
  color: #000;
  font-weight: 400;
  height:40px;
  padding: 0 8px;
  font-size: 16px;
background-color: #e5ded1;
border-radius:4px;
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    -webkit-box-shadow: 0 1px #ccc;
    box-shadow: 0 1px #ccc;
  margin: 0;
	position:relative;
}
.s_rank_item .btn.detail {
  background-color: #e5ded1;
  color: #000;
  border:none;
    -webkit-box-shadow: 0 1px #ccc;
    box-shadow: 0 1px #ccc;
  height:40px;
  line-height:40px;
  width:100%;
}
.copyright {
	opacity: 1.0;
  text-align: center;
  font-size:11px !important;
  margin-top:0;
  margin-bottom:30px;
}

@media screen and (max-width: 767px) {

	.btn.official .card-detail__official-inner{
	 font-size:14px;
	 letter-spacing:0px;
	 justify-content:center;
	 line-height: 46px;
	}

	.btn.official .card-detail__official-inner i{
	 margin-left:3px;
	 margin-top:2px;
	}

	.btn.official .fa-angle-right, .btn.detail .fa-angle-right{
	 margin-left:10px;
	     font-size: 24px;
	}

	.btn.detail{
	    height: 52px;
	}

	.btn.official .fa-angle-right{
	position: absolute;
	    top:15px;
	    right: -20px;
	    font-size: 24px;
	}

	.sp_btn_wrap .btn.official{
	box-shadow:none;
	background:#15ad2f;
	border-radius:0.65em;
	border-bottom:5px solid #cecece;
	height:auto;
	letter-spacing:1px;
	}

	.sp_btn_wrap .btn.official .card-detail__official-inner{
	letter-spacing:0;
	font-weight:600;
	font-size:14px;
	display:block;
	line-height:1.075;
	padding:.675em .5em .7em .5em;
	}

	.sp_btn_wrap .btn.official .card-detail__official-inner span.sub{
	  color:#FFFF00;
	  font-size:14px;
	  display:block;
	  margin:0 auto 5px;
	  position:relative;
	  text-align: center;
	  font-weight:500;
	}

	.sp_btn_wrap .btn.official .card-detail__official-inner span.sub:before{
	  content:'─';
	  position:absolute;
	  top:0;
	  left:6px;
	  transform:rotate(45deg);
	}

	.sp_btn_wrap .btn.official .card-detail__official-inner span.sub:after{
	  content:'─';
	  position:absolute;
	  top:0;
	  right:6px;
	  transform:rotate(-45deg);
	}

	.btn.official:before{
	    background-size: 13px 52px;
	}

	.btn.official:after{
	    background-size: 8px 52px;
		}

	.ranking_list a{
	border: 1px solid #999;
	border-top:0;
	}
	
		.sp_btn_wrap.flexnone{
		display:block;
	}
	
	.sp_btn_wrap.flexnone .btn_o_wrap, .sp_btn_wrap.flexnone .btn_d_wrap{
		margin-left:auto;
		margin-right:auto;
		width:100%;
	}
	
	.sp_btn_wrap.flexnone .btn.detail{
		background:transparent;
		padding:0;
		text-align:center;
		    border-bottom:none;
		text-decoration:underline;
		height:auto;
		margin-top:1em;
	}

}
/***********************
	おすすめポイント
************************/

.recommend-point__heading {
    display: block;
    padding-bottom: 8px;
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #ccc;
}

.recommend-point__heading i {
    margin: 0 10px;
    font-size: 24px;
    color: #c6a174;
}

.recommend-point__list {
    padding: 0;
    margin-top: 0;
    margin-bottom: 20px;
    list-style: none;
}

.recommend-point__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 0;
    counter-increment: recommend-point;
    border-bottom: 1px dashed #ccc;
}

.recommend-point__item:before {
    height: 30px;
    padding: 4px 20px;
    margin-right: 20px;
    font-size: 24px;
    line-height: 1;
    color: #fff;
    content: counter(recommend-point);
    background-color: #c6a174;
}

.recommend-point__item__heading {
    display: block;
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 500;
}
@media screen and (max-width: 767px) {
.recommend-point__item__heading {
    display: block;
    margin-top: 7px;
    margin-bottom: 0;
    font-size: 15px;
    font-weight: 400;
}
}
/***********************
	カスタム検索結果
************************/
.search_title {
  margin: 20px 0 0;
}
.result_meta_wrap {
  background: #f7f7f7;
  padding: 10px;
  border-radius: 2px;
}
.result_meta_label {
	font-weight: bold;
	font-size: .8em;
  margin: 0;
}
.result_orders {
	margin: 10px 0;
}
.cs_found {
  display: inline-block;
  font-weight: bold;
  font-size: .8em;
}
.cs_found span {
    font-size: 30px;
    color: #b48b55;
}
.joken {    
  margin: 0;
  font-size: 0.75em;
  border-bottom: 1px dotted #bbb;
}
.joken dt {
  display: inline-block;
  width: 45%;
  position: relative;
}
.joken dt:after {
	content: '：';
  right: 0;
  position: absolute;
  top: 0;
}
.joken dd {
  display: inline-block;
  width: 50%;
  margin-left: 5%;
}
.joken dd span.on {
	color: #47b980;
	font-weight: bold;
}
#order {
  display: block;
}
#order select,
#order .research_skip {
  background-color: #fff;
  font-size: 0.75em;
  height: auto;
  line-height: 1.4;
  padding: 6px 10px;
  margin: 0;
  border-radius: 2px;
  color: #47b980;
  transition: all 0s;
  border: 2px solid #47b980;
  font-weight: bold;
  width: 60%;
  float: left;
}
#order .research_skip {
	width: 35%;
	float: left;
	display: block;
	margin-left: 5%;
	text-align: center;
	transition: all .3s;
}
#order.fixed {
	display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  background: #fff;
  width: 100%;
  padding: 6px 12px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2);
}
#cs_results {
  margin: 0 -4% 0;
}
.cs_item {
  background: #fff;
  margin: 14px 0;
  position: relative;
}

.cs_item .rank_num {
  width: 48px;
  height: 48px;
  display: block;
  line-height: 37px;
  text-align: center;
  position: absolute;
  top: 5px;
  left: 5px;
  font-weight: bold;
  font-size: 1.1em;
  background-image: url(library/icon/rank_other.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  color: #47b980;
}
.cs_item .rank_ico {
  width: 43.2px;
  height: 43.2px;
  display: block;
  text-align: center;
  position: absolute;
  top: 5px;
  left: 3px;
}

.cs_item .rank_ico.pr{
	  top: 15px;
}

.cs_item .rank_ico.rank_4, .cs_item .rank_ico.rank_5, .cs_item .rank_ico.rank_6, .cs_item .rank_ico.rank_7, .cs_item .rank_ico.rank_8, .cs_item .rank_ico.rank_9, .cs_item .rank_ico.rank_10, .cs_item .rank_ico.rank_11,
.cs_item .rank_ico.rank_12, .cs_item .rank_ico.rank_13, .cs_item .rank_ico.rank_14, .cs_item .rank_ico.rank_15, .cs_item .rank_ico.rank_16, .cs_item .rank_ico.rank_17, .cs_item .rank_ico.rank_18, .cs_item .rank_ico.rank_19,
.cs_item .rank_ico.rank_20{
 top:12px;
}

#ranking .cs_item {
  margin: 0 0 28px;
  padding:0;
}

#ranking .cs_item:last-child{
 margin-bottom:40px;
}

.rank_num.rank_1,
.s_rank_item a .rank_num.rank_1 {
  background-image: url('library/icon/rank1.png');
  color: #f3a62e;
}
.rank_num.rank_2,
.s_rank_item a .rank_num.rank_2 {
  background-image: url('library/icon/rank2.png');
  color: #899a9a;
}
.rank_num.rank_3,
.s_rank_item a .rank_num.rank_3 {
  background-image: url('library/icon/rank3.png');
  color: #b08469;
}
.cs_title {
  font-size: 0.95em;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
  position: relative;
  padding: 0 40px;
}


.cs_img {
  margin: 10px auto 12px;
  width: 50%;
  text-align: center;
}
.cs_sp_lists {
  border:0;
  border-radius: 1px;
  margin-bottom: 10px;
}

.cs_sp_lists:before{
 display:none;
}

.cs_sp_lists table th, .cs_sp_lists table td{
 font-weight:normal;
 font-size:11px;
 width:50%;
 border-bottom:1px solid #ccc;
 padding:3px 0;
}

.cs_sp_lists table th{
 text-align:left;
}

.cs_head {
  margin-bottom: 10px;
}
.cs_half {
  width: 50%;
  float: left;
  background: #f7f7f7;
  padding: 4px;
  display: table;
}
.cs_catch,
#cs_results .cs_right > p {
  margin: 10px 0 5px;
font-weight: bold;
  line-height: 1.4;
  display:block;
}

.cs_catchtype03{
  border:0;
  padding:0;
  text-align: center;
  display: block !important;
}

.cs_catchtype03::before{
  display: none !important;
}

.cs_catch.none{
	padding-left:0;
}

p.cs_catch:before {
    content: '';
    display: inline-block;
    width: .5em;
    height: 1em;
    margin-right: .3em;
    background: #ff3a3a;
    vertical-align: -2px;
}

.cs_catch.none::before, .cs_catchtype03::before{
	display:none;
}

p.cs_catch span{
 font-weight:bold;
}

p.item_catch {
 font-size:20px;
 font-weight:bold;
 margin-bottom:15px;
}
.cs_list {
  text-align: center;
  margin: 0;
  background: #fff;
}
.cs_list li {
  display: inline-block;
  width: 25%;
}
.cs_list li.none {
  font-size: 0.7em;
}
#content .cs_list_label {
  margin: 0;
  text-align: center;
  font-size: .75em;
  font-weight: bold;
}
.cs_item table {
	width: 100%;
  margin:0px;
}


.cs_item th, .cs_item td {
	border-bottom: 1px solid #ddd;
	padding: 2px 3px;
	background: #fff;
	text-align:left;
	font-size: 14px;
	    font-weight: 700;
}
.cs_item th {
	min-width:100px;
	text-align:left;
        color: #666;
        font-weight: 500;
	font-size: 12px;
}

.cs_points {
  margin: 0;
  background: #f7f7f7;
  padding: 6px 12px;
  border: 3px solid #eee;
  border-top: none;
}
.cs_points li {
  position: relative;
  font-size: 0.75em;
  border-bottom: 1px solid #47b980;
  padding: 2px 0 2px 20px;
  margin: 4px 0px;
  font-weight: bold;
}
.cs_points li:before {
  position: absolute;
  left: 0;
  top: 50%;
  content: '';
  width: 10px;
  height: 10px;
  background: #47b980;
  margin-top: -5px;
  border-radius: 50%;
}
.cs_points li:last-child {
	border-bottom: none;
}
.cs_desc {
	margin-top: 10px;
}
.cs_desc p {
	font-size: 0.8em;
	margin: 0;
}
.sp_btn_wrap {
  width:100%;
  display:flex;
	flex-direction:row-reverse;
  margin:1em auto 0 auto;
  position: relative;
}
.sp_btn_wrap .btn_o_wrap {
  width: calc(98% / 2);
  text-align:center;
  margin:0 auto 5px;
}
.sp_btn_wrap .btn_d_wrap {
  width: calc(98% / 2);
  position: relative;
  margin-bottom:10px;
}
.sp_btn_wrap .btn.official {
  font-size: 15px;
  padding:1px;
}

.btn.detail {
  padding:0;
  font-size: 15px;
  box-shadow:none;
  height:auto;
  color:#a6a6a6;
  background:none;
  display:inline-block;
 border-bottom:1px solid #cecece;
 border-radius:0;
}

.sp_btn_wrap .btn.detail {
  padding:23px 5px;
  font-size: 14px;
  box-shadow:none;
  height:71px;
  max-height:71px;
	color:#121212;
  background:#dbdbdb;
  display:block;
  border-bottom:none;
	border-radius: 0.65em;
    border-bottom: 5px solid #cecece;
}


.sp_btn_wrap .btn.detail:hover, .sp_btn_wrap .btn.detail:active{
 text-decoration:none;
}

.sp_btn_wrap .btn.detail .fa-angle-right{
  color:#979797;
  font-size:15px;
  margin-right:5px;
  margin-left:0;
}


.cam_label {
  text-align: center;
  font-size: 0.75em;
    background-color: #ebffe6;
    border-color: #ddd;
  position: relative;
  margin-top: 10px;
    padding: 5px 10px 8px 10px;
}

.cam_label_left{
 text-align:left;
}

.cam_label_left a{
 margin-left: 25px;
 color: rgb(0, 0, 238);
 text-decoration:underline;
 padding-top: 5px;
    display: inline-block;
 font-size:16px;
}

.cam_label p {
  margin: 0;
  padding: 0 10px 3px;
}

.more_btn {
    display: block;
    width: 100%;
    max-width: 600px;
    padding: 10px;
    margin: 0 auto;
    font-size: 16px;
    color: #666;
    text-align: center;
    text-decoration: none;
    background-color: #efefef;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.more_btn:after{
 	font-family: "FontAwesome";
	content: '\f105';
	    margin-left: 10px;
	    font-size: 22px;
	    color: #666;
	    margin-top: -3px;
	    display: inline-block;
	    vertical-align: middle;
 }

#pickup_lists {
  margin: 0 -15px;
  padding: 10px 10px 0;
}
.pickup_list {
	width: 49%;
	margin: 0 2% 10px 0;
	float: left;
}
.pickup_list:nth-child(even) {
	margin-right: 0;
}
.pickup_list a {
	display: block;
	color: #252525;
  background: #fff;
}
.pl_img {
  margin: 0;
}
.pl_title {
  font-weight: bold;
  font-size: 0.8em;
  margin: 0;
  height: 85px;
  padding: 8px;
  overflow: hidden;
}
.pl_desc {
	display: none;
}
.ranking_head_banner {
  margin: 0px -15px 15px;
}
.ranking_desc {
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 0.85em;
}
.header.header_link {
  text-align: center;
  padding: 8px;
  color: #fff;
  font-weight: bold;
  margin-bottom: 20px;
}
.for_waiting {
  text-align: center;
}
.small_memo {
  font-size: 0.6em!important;
  font-weight: normal!important;
  line-height: 1.7!important;
  margin: 0 0 15px!important;
  display: block!important;
}

.top-line{
 border-top: 4px solid #ddd;
 margin-top:20px;
 margin-bottom:20px;
}

.page-top-seo-text__description {
    padding: 10px 10px 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: #333;
}

.footer__to-top__sp{
 display:none;
 }

@media screen and (max-width:767px) {

	.small_memo{
	 margin:1.5em auto 0 !important;
	}

	#mv {
	    margin: 0 auto 1em auto;
	}



	#ranking .cs_item:last-child{
	 margin-bottom:0;
	}

	.cs_title{
	font-size: 1.14em;
	text-align: left;
	padding: 0 0 0 45px;
	margin-bottom:26px;
	}

	.cs_title_sp{
	padding:0;
	font-size:1.1rem;
	}

	.cs_title.line_1:after, .cs_title.line_2:after, .cs_title.line_3:after, .cs_title:after{
	 display:none;
	}

	.cs_item .rank_ico{
	 top:8px;
	 left: 11px;
	}
	
    .cs_item .rank_ico.pr{
	 top:8px;
	}

	.cs_item table:not(:last-child){
	 margin-bottom:10px;
	}

	.cs_item table tr.bottom td:first-child{
	  width:60%;
	}

	.cs_item table tr.bottom td:nth-of-type(2){
	  width:40%;
	}

	.cam_label_left a{
	 margin-left:19px;
	 color: rgb(0, 0, 238);
	 text-decoration:underline;
font-size:0.8em;
	}

	.item_title{
	 margin-bottom:20px;
	 text-align:left;
	 padding-bottom:0;
	 border-bottom:0;
	    font-size: 1.2em;
	}

	.item_img_slider > img{
	    max-width: 240px;
	    margin-left: -120px;
	}

	.item_img_slider{
	padding-top: 171px;
	position: relative;
	margin: 0 auto;
	text-align: center;
	}

	.item_cam_alert{
	 display:none;
	}

	.item_head{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
	justify-content:space-between;	
	}

	.item_left{
	 width:100%;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
	justify-content:center;	
	margin-bottom:20px;
	}

	.item_right{
	 width:100%;
	}

	#item_top th {
	    min-width: 70px;
	}

	h2.sp_image{
	display:none !important;
	}

	.cs_desc p:first-child {
	  border:0;
	  padding:0;
	}

	.top-line{
	    margin-left: -15px;
	    margin-right: -15px;
	    margin-bottom:0;
	}

	.cs_desc p.item_desc_title{
	 font-size:16px !important;
	 margin-bottom:10px !important;
	 position:relative;
	 line-height:1.35;
         border-bottom: 1px dashed #ddd;
	 padding-bottom:5px;
	}

	.stars{
	 font-size:1.27rem;
	 margin-right:0;
	}

	.stars.avg{
	float:none;
	font-size:17.6px;
	margin-right:0;
	}

	.stars.ra{
	 margin-right:5px;
	 margin-top: 1px;
	 font-size:0.7rem;
	 display:block;
	 margin-left:8px;
	 margin-right:5px;
	 float:none;
	 text-align:center;
	}

	.kuchi_stats {
	 text-align:center;
	}

	.avg_score{
	 font-size:0.9em;
	 margin-top: -5px;
	 display: inline-block;
	}

	.kuchi_switcher{
	 display:block;
	 margin:0 auto;
	 padding-top:0;
	 line-height:1.2;
	 margin-bottom:0;
	 font-size:0.9rem;
	}

	.ra_kuchi_switcher{
	 display:block;
	 margin:0 auto;
	 padding-top:0;
	 line-height:1.2;
	 margin-bottom:0;
	 text-align:center;
	 font-size:0.77rem;
	}

	.cs_catch, #cs_results .cs_right > p{
	 font-size: 16px;
	 line-height:1.55;
	 display: inline-block;
	margin: 5px 0 0px;
	}

	.cs_catch{
	 font-size: 20px;
	 line-height:1.45;
	}

	#ranking .cs_item .main_wrap{
	 padding: 13px 13px;
         border: 2px solid #bf9763;
         -webkit-box-shadow: 1px 1px #ccc;
         box-shadow: 1px 1px #ccc;
	 border-radius:4px;
	}

	.sp_btn_wrap .btn.official{
	 width:100%;
	 margin-top:0;
	box-shadow:none;
	margin-bottom:0;
	    padding:6px 5px;
	height:71px;
    display: flex;
    flex-direction: column;
    justify-content: center;
	}
	
	.sp_btn_wrap .btn_o_wrap{
		width:63%;
	}
	
	.sp_btn_wrap .btn_d_wrap{
		margin-bottom:0;
		width:34%;
	}

	.sp_btn_wrap .btn.official:before, .sp_btn_wrap .btn.official:after{
	 display:none;
	}

}

.chara-box {
  width: 500px;
  margin: 15px auto;
  overflow: hidden;
  max-width:100%;
}
.chara-img {
  float: left;
  margin-right: -90px;
  width: 80px;
}
.chara-img img{
  width: 100%;
  height: auto;
}
.chara-chat {
  width: 100%;
}
.chara-says {
  display:block;
  position: relative; 
  margin: 0;
  padding:1em;
  font-weight: bold;
 text-align:center;
}

.link-title{
 font-weight:bold;
 font-size:20px;
 text-align:center;
 margin-bottom:1em;
  padding:0 1em;
}

p.link-min{
 font-size:13px;
 text-align:center;
 font-weight:normal;
}

p.link-min a{
 text-decoration:udnerline !important;
 color:#0033cc;
}

/*************** フッター *******************/

.footer{
 margin-top:70px;
}

.footer-links {
    max-width:850px;
    margin:40px auto 40px auto;
}

footer .footer-links li{
 padding-left:0 !important;
}

.footer-links__list {
    padding: 0;
    padding-left: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;

}

.footer__nav ul li a {
    font-size: 12px;
    color: #fff;
}

.footer-links__item {
    width:calc(98% / 2);
    text-align:center;
}

.footer__nav {
    padding: 30px 0 30px 0;
    border-bottom: 1px solid #999;
}

nav .footer-links{
 margin-top:0;
 margin-bottom:0;
}

.footer__nav ul li:not(:last-child):after {
    margin-left: 10px;
    content: "/";
    color: #fff;
}

.footer__base-corporate-link {
    margin: 30px 0;
    text-align: center;
}

.footer__base-corporate-link a {
    font-size: 12px;
    color: #fff;
    padding: 0 15px;
    border-right: 1px solid #fff;
}

.footer__to-top {
    position: absolute;
    top:-65px;
    right: 0;
    width: 0;
    height: 0;
    border-color: transparent transparent #262f3e;
    border-style: solid;
    border-width: 0 50px 50px;
}

.footer__to-top a:before {
    display: block;
    content: "PAGE";
    color:#fff;
}

.footer__to-top a:after {
    display: block;
    content: "TOP";
    color:#fff;
}

.footer__to-top a {
    position: absolute;
    left: -50px;
    display: block;
    width: 100px;
    height: 50px;
    padding-top: 20px;
    font-size: 11px;
    font-weight: 700;
    line-height: 14px;
    color: #fff;
    text-align: center;
    border: none;
    cursor: pointer;
    background:transparent;
}

/**********キャンペーン****************/
.cam_label {
    position: relative;
    padding: 5px 10px 8px 10px;
    border: 1px dashed #ddd;
}
.cam_label:after {
		display: none;
	}

  .cam_label p {
    padding: 0.3em 0 0.3em 1.3em;
    text-align: left;
    position:relative;
    margin-left:5px;
  }

@media screen and (min-width: 768px) {
	.cam_label p{
	 font-size:16px;
	}
}

.cam_label p:before {
    position: absolute;
    content: '';
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 13px solid #ee8992;
    top: 9px;
    left: 0em;
}

  .cam_label .cam_tip {
    margin: 0 0 5px 0;
    padding-bottom:5px;
    display:block;
    text-align:left;
    padding: 3px;
    font-weight: bold;
    font-size: 16px;
        border-bottom: 1px dashed #ddd;

 }

.cam_banner_wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
}

.cam_content, .cta_text{
 width:calc(100% - 270px);
}

span.title{
 font-weight:bold;
 font-size:20px;
 display:block;
}

.cam_label .cam_tip:before {
    content: "●";
    color: #00bf36;
    font-size: 13px;
    margin-right: 3px;
}

@media screen and (max-width:767px) {
.cam_label .cam_tip{
 font-size:16px;
}

.cam_label{
    padding: 3px 5px 10px;
    font-size: 15px;
    border:1px dashed #ddd;
}

.cam_label p:before {
    top: 14px;
}

}

@media screen and (min-width:768px) {

	#logo {
		display: block;
		text-align: center;
    height: auto;
    line-height: 42px;
    font-size: 1.3em;
	}
	#logo:before {
		display: block;
	}
  #logo img {
    width: 260px;
  }

	.basic_headline,
	.sp_csf_title {
		text-align: center;
	}
	#short_ranking {
		padding-bottom: 30px;
	}
	#ranking {
		margin-bottom: 60px;
	}
	.ranking_list a {
		font-size:0.9em;
    padding: 8px 10px;
	}
	.ranking_list:nth-child(even) a {
		border-left: none;
	}
	.ranking_list a .rl_title:before,
	.ranking_list a .rl_title:after {
		right: 15px;
		width: 14px;
		margin-top: -5px;
		right: 12px;
	}
	.ranking_list a .rl_title:after {
		margin-bottom: -5px;
	}
	#cs_results {
  	margin: 0 -2% 0;
  }
  .search_title {
    margin: .67em 0;
	}
	.result_orders {
		margin: 30px 0 20px;
	}
	.result_meta {
	  display: table;
	  width: 100%;
	}
	.joken {    
	  margin: 0;
	  display: table-cell;
	  background: #fff;
	  font-size: 0.75em;
	  border: none;
	}
	.joken dt {
	  background: #898989;
	  color: #fff;
	  padding: 2px;
	  text-align: center;
	  border: 1px solid #fff;
    width: 100%;
    display: block;
	}
	.joken dt:after {
		content: none;
	}
	.joken dd {
	  padding: 5px 10px;
	  border: 1px solid #eee;
	  border-top: 0;
    width: 100%;
    display: block;
    margin: 0;
	}
	#order select,
	#order .research_skip {
		border-width: 3px;
		padding: 10px;
  	font-size: 0.85em;
	}
	.cs_title {
		font-size: 1.05em;
	}
  .cs_item {
    padding: 20px 0px 25px;
  }
  .cs_img {
  	width: 20%;
  }
  .cs_catch {
    text-align: center;
    width: 80%;
    margin: 15px auto 15px;
    font-size:22px;
    font-weight:400;
  }
  .cs_list li {
  	padding: 5px;
  }
  .cs_list li img {
  	width: 60px;
  }
  .cs_list li.none,
  .s_rank_item .cs_list li.none {
  	height: 30px;
  }
  .cs_item table {
  	margin:0;
  }
  .cs_desc,
  .sp_btn_wrap {
  	margin-top: 15px;
  }
  .s_rank_item a:hover {
    background: #f2f2f2;
  }
  .cs_item .rank_num {
    width: 64px;
    height: 64px;
    line-height: 44px;
    top: 4px;
    font-size: 1.2em;
  }
  .cs_item .rank_ico {
    width: 54px;
    height: 54px;
    left:25px;
    top:5px;
  }
  .item_title {
    text-align: left;
    font-size: 1.5em;
    padding: 10px;
  }
  .item_title:after {
  	left: 0;
  	margin-left: 0;
  }
  .basic_headline {
  	padding: 10px 20px;
  }
  .item_left {
  	float: left;
  	width: 35%;
  }
  .sp_merits {
  	float: right;
  	width: 60%;
  	margin: 0;
  }
  .item_right {
  	float: right;
  	width: 60%;
  }

  .cam_body,
  #cta {
  	padding:0;
    border-top: none;
  }
  .cam_banner,
  .cta_banner {
  	width: 25%;
  	float: left;
  	margin-bottom: 15px;
  }
  .cam_content,
  .cta_text {
    float: none;
    width: 75%;
    margin: 0 auto 15px;
    padding: 5px 20px;
  }
  .cam_content.with_b,
  .cta_text.with_b {
    width: 70%;
    float: right;
  }
  .cta_banner {
    float: right;
  }
  .cta_text.with_b {
    float: left;
  }
  .kuchi_img {
    width: 8%;
    text-align: center;
  }
  .kuchi_right {
    width: 88%;
  }
  .stars {
    display: inline-block;
    margin: 0 10px 0 0;
  }
  .single .tablepress {
  	font-size: 0.85em;
  }
  .single .tablepress th, .single .tablepress td {
  	padding: 8px;
  }
  .detail_table_wrap .ac_content {
    margin-top: 5px;
  }
  #breads, .breads {
    display: table;
    width: 100%;
  }
  #breads li, .breads li {
    width: 33.3%;
    display: table-cell;
    border: 2px solid #ddd;
    border-right: none;
    padding: 10px 20px;
    text-align: center;
    font-weight: bold;
    font-size: 0.88em;
  }
  #breads li:last-child, .breads li:last-child {
  	border-right: 2px solid #ddd;
  }
  #breads li span, .breads li span {    
  	display: block;
    background: #47b980;
    color: #fff;
    font-weight: bold;
    font-size: 1.2em;
    width: 38px;
    margin: 0 auto 10px;
    border-radius: 50%;
    height: 38px;
    line-height: 38px;
  }
  .cam_list {
    width: 33.3%;
    display: inline-block;
    vertical-align: top;
    float: left;
  }
  .cam_list a {
    height: 397.5px;
    overflow: hidden;
    padding: 20px;
  }
  .cam_list:nth-child(even) a {
  	background: #f7f7f7;
  }
  .cam_list_img,
  .cam_list_body {
  	width: 100%;
  	float: none;
  }
  .cam_list_name {
    font-size: 0.9em;
    margin: 8px 0;
    height: 46px;
  	overflow: hidden;
  }
  .cam_list_desc {
  	height: 46px;
  	overflow: hidden;
  }

  #pickup_lists {
    padding: 15px 15px 5px;
  }
  .pickup_list,
  .pickup_list:nth-child(even) {
  	width: 32%;
  	margin-right: 2%;
  }
  .pickup_list.pc_r {
  	margin-right: 0;
  }
  .pl_title {
    font-size: 0.9em;
    padding: 10px 10px 0;
    height: 63px;
  }
  .pl_desc {
  	display: block;
    margin: 0;
    font-size: 0.75em;
    padding: 5px 5px 10px;
    height: 81px;
    overflow: hidden;
    color: #777;
  }
  .ranking_head_banner {
    margin: 0px;
    text-align: center;
  }
}

#inner-header{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
    align-items:center;
}



@media screen and (min-width: 1024px) {
	.header {
		box-shadow: none;
		padding: 0;
	}
	#inner-header {
		padding: 3px 0;
	}
  #mv {
    margin: 2em auto 2em auto;
    padding:0;
  }
	#logo {
    display: inline-block;
    width: 29%;
    font-size: 1.2em;
    line-height: 47px;
    text-align: left;
    padding: 0;
    margin: 11px 0 0;
  }
	#logo span {
		font-size: 0.6em;
	}
  #logo img {
    width: 230px;
  }
	.desktop-nav {
		width: 69%;
	}
  .desktop-nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-end;
    align-items:center;
  }

  .desktop-nav li {
    width:calc(100% / 6);
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;
    align-items:center;
    border-right:1px solid #fff;
  }

  .desktop-nav li:first-child{
    border-left:1px solid #fff;
 }

  .desktop-nav li a {
    height: auto;
    line-height: 1.5;
    font-size: 12px;
    display: block;
    padding: 15px 0;
    font-weight:normal;
  }

  .desktop-nav li a:hover{
	 opacity:0.5;
	}

  .desktop-nav li a span {
    display: block;
  }
  .desktop-nav li a span svg {
    width: 24px;
    height: 24px;
  }
  .desktop-nav li a span svg path,
  .desktop-nav li a span svg polygon {
    transition: all .3s;
    fill: #fff;
  }

	.desktop-nav li:hover:after {
		background: #eda43d;
	}

	.desktop-nav li:hover a span svg path,
	.desktop-nav li:hover a span svg polygon {
		fill: #e1ff6f;
	}
	.desktop-nav li a span svg {
    width: 30px;
    height: 30px;
	}
  #ranking {
    margin: 0;
  }
	.ranking_list {
		width: 33.3%;
		float: left;
	}
	.ranking_list a:hover {
		background: #fafafa;
	}
	.ranking_list:nth-child(even) a {
    border-left: 1px solid #999;
	}
	.ranking_list:nth-child(2) a,
	.ranking_list:nth-child(5) a,
	.ranking_list:nth-child(8) a {
		border-right: none;
	}
	.ranking_list:last-child a {
		border-right: 1px solid #999;
	}
	#cs_results {
    margin: 0;
	}
	#order {
	  display: inline-block;
	  width: 60%;
	  float: left;
	}
	#order.fixed {
    padding: 10px;
    background: rgba(255, 255, 255, 0.9);
	}
	#order.fixed .pc_wrap {
		width: 1000px;
		margin: 0 auto;
	}
  .cs_found {
	  width: 40%;
	  float: left;
	  display: block;
	  font-size: 1.0em;
	}
	.cs_item .main_wrap{
    padding: 10px 25px 25px 25px;
    border: 1px solid #bf9763;
-webkit-box-shadow: 1px 1px #ccc;
    box-shadow: 1px 1px #ccc;
	}
  #ranking .cs_item {
    margin-bottom: 60px;
  }

	.cs_item:nth-child(even) {
		background: #fff;
	}
	.cs_title {
		text-align: left;
		font-size: 1.25em;
    padding: 5px 15px 5px 15px;
	}
  .cam_on .cs_title {
    padding: 5px 330px 5px 15px;
  }
  .cs_title.rnk {
    padding: 5px 15px 20px 60px;
  }

  .line_4, .line_5, .line_6, .line_7, .line_8, .line_9, .line_10, .line_11, .line_12{
  margin-bottom:5px !important;
 }

  .cam_on .cs_title.rnk {
    padding: 5px 0 15px 60px;
    margin-bottom:20px;
    color: #333;
    border-bottom:none;
  }
	.cs_title:after {
		left: -20px;
		margin-left: 0;
	}

.cs_flex_wrap, .ca_flex_wrap{
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
    justify-content:space-between;	   
}

	.cs_left {
    width: 100%;
    margin-right: 0;
	}
	.cs_img {
    width: 200px;
    margin:0 0 15px 0;
	}

    .cs_img p{
	margin-top:0;
	}
	.cs_right {
    width: 100%;
    margin-top: 1em;
	}
	.cs_catch {
    width: 100%;
    text-align: left;
	}
	.cs_pc_lists {
    width:calc(95% - 200px - 47%);
    padding-top:0;
	}

	.cs_pc_lists:nth-of-type(2) {
    width:47%;
    padding-top:0;
	}

	.cs_pc_lists:after{
	 display:none;
	}

	#content .cs_list_label {
    display: table-cell;
    width: 40%;
    vertical-align: middle;
    text-align: left;
    background: #fff;
    padding-left: 10px;
	}

	#item_top table.bdt1{
	 border-top:0;
	}

	.ca_flex_wrap .item_terms_wrap{
	  width:calc(97% - 250px);
	}

	.ca_flex_wrap .special_labels{
	   max-width:250px;
	}

	.ca_flex_wrap .item_terms_wrap{
	 padding:0;
	 margin:0;
	}

	.ca_flex_wrap{
	 margin-top:20px;
	}

	ul.card{
	     display: flex;
	     flex-direction: row;
	     flex-wrap: wrap;
	    justify-content:flex-start;	   
	    margin:0;
	}

	ul.card li{
	 max-width:30px;
	}

	.cs_list {
	  display: table-cell;
	  width: 65%;
	  vertical-align: middle;
    padding: 0 5px 0 0;
	}
	td .cs_list {
		display: block;
		width: 100%;
	}
	.cs_list li {
    padding: 5px 0px;
	}
  .cs_list li.none,
  .s_rank_item .cs_list li.none {
  	height: 32px;
  }
  #item_top .cs_list li.none {
  	height: 40px;
  }
	.cs_item table {
    margin:0;
	}

	.special_labels ul {
		margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
	}
	.special_labels li {
    font-size: 0.6em;
    text-align: center;
    width: calc(97% / 2);
    padding: 5px;
    vertical-align: middle;
    margin-bottom: 3px;
    color: #ccc;
    border: 1px solid #ccc;
    line-height: 1.5;
    border-radius: 3px;
	}

	.special_labels li br{
	 display:none;
	}

	.special_labels li.end {
		margin-right: 0;
	}
	.special_labels li.on {
    color: #b48b55;
    border-color: #b48b55;
    background: #fff;
	}
	.ac_input ~ label {
    border-radius: 1px;
    font-size: 0.8em;
    transition: all .2s;
    background: #fff;
	}
	.ac_input ~ label:hover {
		background: #f6f6f6;
	}
	.cs_points {
    background: #fff;
	}
	.cs_points li {
    border-bottom: 1px solid #ddd;
	}
	.cs_desc,
	.pc_btn_wrap {
    margin-top: 20px;
	}
  .pc_btn_wrap {
    position: relative;
        display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
justify-content:center;
	align-items:center;
    margin:0 auto;
    max-width:98%;
  }
	
	.pc_btn_wrap .flexnone{
		display:block;
	}
	
	.pc_btn_wrap .btn_o_wrap{
    width:62%;
	}
	
	.pc_btn_wrap .btn_o_wrap:nth-of-type(2){
    width:35%;
    margin:0;
	}
	
	.pc_btn_wrap.flexnone .btn_o_wrap{
		margin-left:auto;
		margin-right:auto;
	}
	
	.pc_btn_wrap.flexnone .btn.detail{
		background:transparent;
		padding:0;
		text-align:center;
		    border-bottom:none;
		text-decoration:underline;
	}

.pc_btn_wrap .btn_o_wrap .btn.official{
	width:92%;
	max-width:100%;
	margin:1em 0 0 auto;
	}

.pc_btn_wrap .btn.detail {
    padding: 1.5em;
    box-shadow: none;
    height: auto;
    color: #121212;
	font-size: 17px;
    background: #dbdbdb;
    display: block;
    border-radius: 0.65em;
    border-bottom: 5px solid #cecece;
	margin: 1em auto 0;
	max-width: 400px;
	}

  .btn_wrap {
    margin: 30px 0;
  }
	.single-card .btn.official {
		max-width: 500px;
    margin: 0 auto;
	width:100%;
	}
	.btn.official:hover {
		text-decoration: none;
		opacity:0.8;
	}
	.btn.detail:hover {
		background: #eee;
		text-decoration: none;
	}

  .kuchi_img {
    width: 10%;
  }
  .kuchi_img img {
    width: 48px;
  }
  .kuchi_right {
    width: 90%;
  }
	.basic_headline {
		margin: 2em 0 0;
	}
	.item_title {
		font-size: 20px;
		margin-top: 0;
    padding: 10px 240px 10px 10px;
	}
	.item_cam_alert {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    font-size: .79em;
    letter-spacing: 1px;
    margin: 0;
    padding: 13px 6px;
    background: #eb5252;
    color: #fff;
	}
	.item_left {
		width: 30%;
	}
	.item_right {
		width: 67%;
	}

	.item_specs {
		margin: 20px 0;
	}
	.item_spec {
		width: 33.3%;
		float: left;
	}

  .item_desc {
    padding: 20px 30px;
  }
	.cam_body,
  #cta {
		margin: 0 0 10px;
	}
	.cam_banner, .cam_content,
  .cta_banner, .cta_text {
		margin-top:15px;
		margin-bottom:0px;
	}
  .cam_content p,
  .cta_text p {
    line-height: 1.9;
    font-size: 0.85em;
  }
	.single .tablepress .column-1 {
    width: 20%;
    background-color: rgb(249, 246, 241);
    font-weight:normal;
    vertical-align:middle;
	}

	.single .tablepress .column-2{
	    border-right: 1px solid #ddd;
            vertical-align:middle;
	    width:15%;
	}

	.single .tablepress th, .single .tablepress td {
		padding: 10px;
	}
	.detail_table_wrap label {
		font-weight: bold;
    font-size: 1em;
	}
	#cam_list {
    margin: 20px 0;
    border: 2px solid #eee;
	}
	.cam_list {
    width: 25%;
    display: inline-block;
    vertical-align: top;
    float: left
  }
  .cam_list:nth-child(even) a {
  	background: #fff;
  }
  .cam_list:nth-child(1) a,
  .cam_list:nth-child(3) a,
  .cam_list:nth-child(6) a,
  .cam_list:nth-child(8) a,
  .cam_list:nth-child(9) a,
  .cam_list:nth-child(11) a,
  .cam_list:nth-child(14) a,
  .cam_list:nth-child(16) a {
  	background: #f7f7f7;
  }
  .cam_list a:hover {
  	text-decoration: none;
    background: #efefef;
  }
  .cam_list a:hover .cam_list_name {
  	color: #47b980;
  }
  .cam_list_name {
  	transition: all .3s;
  }
  .more_btn:hover {
    background: #dedede;
    text-decoration: none;
  }
  #pickup_lists {
    margin: 0;
    padding: 20px 0px 10px;
  }
  .pickup_list {
    margin-bottom: 15px;
  }
  .pickup_list a {
    border: 1px solid #ccc;
  }
  .pickup_list a:hover {
  	background: #fff;
	opacity:0.7;
	text-decoration:none;
  }
  .pl_title {
  	padding: 10px 15px 0;
  	height: 70px;
  }
  .pl_desc {
    padding: 5px 15px 10px;
    height: 88px;
  }
  .kuchi_stats_wrap {
    text-align: center;
  }

}

.dokidoki{
    animation: dokidoki 1.5s infinite;
}
@keyframes dokidoki {
    0% {
        transform: scale(1.05)
    }
    5% {
        transform: scale(1)
    }
    95% {
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.05)
    }
}

.card-item__description_sp table {
    margin-bottom: 1em;
    font-size: 15px;
    border: 1px dashed;
    width: 100%;
}

.card-item__description_sp .t-right {
    text-align: right;
}

.card-item__description_sp table td, .card-item__description_sp table th {
    padding: 3px;
}

table.disc_sp1 .t-right {
    border-right: 1px solid gray;
    border-bottom: 1px dashed gray;
   text-align:right;
   color:#000;
}

.card-detail-table {
    width: 100%;
    border: 1px solid #e5ded1;
    margin:0 auto 0 auto;
}

table.disc_sp1 {
    margin-bottom: 1em;
    font-size: 15px;
    border: 1px dashed;
    width: 100%;
}

table.disc_sp1 td{
 padding:10px;
border-bottom: 1px dashed gray;
font-weight:normal;
}

table.disc_sp1 td a{
color:rgb(0, 0, 238);
text-decoration:underline;
}

.card-detail-table .card-detail-table__title {
    line-height: 1.4;
    text-align: left;
    background-color: #e5ded1;
}

.card-detail-table th {
    padding: 13px 20px;
}

.card-detail-table thead{
 font-size:14px;
}

.card-detail-table tbody {
    border: 0 solid transparent;
        font-size: 14px;
    color:#666;
}

.card-detail-table tbody tr th:first-child {
    width: 30%;
    border-right: 1px solid #e5ded1;
    font-weight:normal;
}

.card-detail-table td {
    padding: 13px 20px;
    font-size: 14px;
    color: #666;
}

.card-detail-table tbody tr td:last-child {
    width: 70%;
}

.card-detail-table td {
    padding: 13px 20px;
    font-size: 14px;
    color: #666;
}

.card-detail-table tbody tr:nth-child(odd) {
    background-color: #f9f6f1;
}

.card-detail-table tbody tr td ul{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:flex-start;
}

.card-detail-table tbody tr td img{
 width:40px;
}

ul.pointkokan li{
 display:none;
}

ul.pointkokan li.on{
 display:inline-block;
 margin-right:8px;
}

/************* チェックボックス ****************/

.disc_sp2 {
    background-color: #fcfad9;
    margin-bottom:0;
    font-size: 15px;
    border: 1px dashed #ddd;
    width: 100%;
    padding:5px 10px 8px 10px;

}

.disc_sp2 .ttl::before {
    content: "●";
    color: rgb(255, 136, 0);
    font-size: 13px;
    margin-right: 3px;
}

.disc_sp2 .ttl{
    padding:3px;
    font-weight:bold;
   font-size:16px;
    border-bottom: 1px dashed #ddd;
    margin-bottom:5px;
}

ul.checkbox{
 margin:0 auto 0 auto;
 list-style:none;
 padding:0;
}

ul.checkbox li{
  font-size:1.0rem;
  font-weight:normal;
  padding-left:22px;
  position:relative;
  margin-bottom:.75em;
  line-height:1.35;
 }

ul.checkbox li:last-child{
 margin-bottom:0;
 }

ul.checkbox li:before{
 content:'';
 background:url(img/check.svg)no-repeat;
 background-size:contain;
 position:absolute;
 width:17px;
 height:17px;
 top:2px;
 left:0;
 }

 @media screen and (max-width:768px) {

	ul.checkbox{
	 margin-left:6px;
	}

	ul.checkbox li{
	 margin-bottom:.85em;
	 font-size:0.95rem;
	}

	ul.checkbox li:before{
	 left:2px;
	 top:1px;
	}

  .cs_desc.disc_sp2 .checkbox{
    border:none !important;
  }


 }
/************* チェックボックス ****************/

/************* 診断ツール ****************/

.diagnosis {
    padding: 40px;
    margin-bottom: 40px;
    color: #fff;
    background-color: #19a1a0;
    position:relative;
    overflow-x:hidden;
}

.diagnosis__doctor {
    position: absolute;
    top: -15px;
    right: 0;
}

.diagnosis__title {
    padding-right: 180px;
    margin-top: 0;
    margin-bottom: 0;
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
}

.diagnosis__heading{
    position:relative;
}

.diagnosis__heading p{
 margin:0;
}

.diagnosis__title span {
    display: block;
    margin-bottom: 10px;
    font-size: 30px;
}

.yesno_q {
    text-align: left;
    display: block;
    padding:0;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    font-weight: bold;
    border:0;
    border-radius:0px;
}

.yesno_q dt span {
    display: inline-block;
    padding: 4px 20px;
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 700;
    color: #19a1a0;
    background-color: #fff;
    border-radius: 40px;
}

.yesno_q dd {
    padding:0rem !important;
}

.yesno_q dt {
    display: block;
    padding:0;
    margin-bottom:0 !important;
}

ul#choices li button{
    position: relative;
    padding: 23px;
    margin-bottom: 17px;
    text-align:left;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    border: 0;
    color: #333;
    cursor: pointer;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), to(#f2eee8));
    background: linear-gradient(
180deg
, #fff 20%, #f2eee8);
    border-radius: 10px;
    -webkit-box-shadow: 0 1px #137372;
    box-shadow: 0 1px #137372;
}

ul#choices li button:hover{
 opacity:0.85;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), to(#f2eee8));
    background: linear-gradient(
180deg
, #fff 20%, #f2eee8);
    border-radius: 10px;
    -webkit-box-shadow: 0 1px #137372;
    box-shadow: 0 1px #137372;
}

.diagnosis-result__link {
    color: #333;
    text-decoration: none;
}

.card-item__heading {
    margin: 0;
}

[data-is-ranking=True][data-ranking="1"] .card-item__heading a, [data-is-ranking=True][data-ranking="2"] .card-item__heading a, [data-is-ranking=True][data-ranking="3"] .card-item__heading a, [data-is-ranking=True][data-ranking="4"] .card-item__heading a, [data-is-ranking=True][data-ranking="5"] .card-item__heading a, [data-is-ranking=True][data-ranking="6"] .card-item__heading a, [data-is-ranking=True][data-ranking="7"] .card-item__heading a, [data-is-ranking=True][data-ranking="8"] .card-item__heading a, [data-is-ranking=True][data-ranking="9"] .card-item__heading a, [data-is-ranking=True][data-ranking="10"] .card-item__heading a {
    padding-left: 80px;
}

[data-is-ranking=True][data-ranking="1"] .card-item__links, [data-is-ranking=True][data-ranking="2"] .card-item__links, [data-is-ranking=True][data-ranking="3"] .card-item__links {
    bottom: -42px;
}

.card-item__heading a {
    position: relative;
    padding: 20px 10px 20px 20px;
    display: block;
    font-size: 20px;
    line-height: 1.2;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #f9f6f1;
}

.card-item__ranking-label {
    position: absolute;
    top: 0;
    left: 18px;
    display: block;
    width: 52px;
}

.diagnosis-result__card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 10px 20px 0 20px;
}

.diagnosis-result__image-wrap img {
    display: block;
    width: 150px;
    height: auto;
    margin-right: 20px;
}

.diagnosis-result__description, .diagnosis-result__description>p {
    margin: 0;
}

.card-item__more {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    height: 40px;
    color: #000;
    text-decoration: none;
    background-color: #e5ded1;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    -webkit-box-shadow: 0 1px #ccc;
    box-shadow: 0 1px #ccc;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.card-item__official {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    height: 40px;
    margin-right: 10px;
    color: #fff;
    text-decoration: none;
    background-image: url(img/official_bg.png);
    background-repeat: repeat-x;
    background-size: 1px 40px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.card-item__links {
    position: absolute;
    bottom: -41px;
    width: 100%;
    padding: 0 10px;
}

.page p.diagnosis__sub-title {
    margin-top: 24px;
    margin-bottom: 30px;
    padding-right: 120px;
    font-size: 23px;
    font-weight: 700;
}

.diagnosis-result__description, .diagnosis-result__description{
    margin: 0;
    font-size:15px;
width: calc(100% - 150px);
}

.card-item__links a:hover, .card-item__more a:hover{
 text-decoration:none;
}

.card-item__official:after, .card-item__official:before {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

.card-item__official:before {
    left: -13px;
    width: 13px;
    background-image: url(img/official_left.png);
    background-size: 13px 40px;
}

.card-item__official>span {
    margin-right: 20px;
    font-size: 15px;
}

.card-item__official .fa-angle-right {
    margin-top: -1px;
    font-size: 30px;
}

.card-item__official:after {
    right: -8px;
    width: 8px;
    background-image: url(img/official_right.png);
    background-size: 8px 40px;
}

.card-item__official:after, .card-item__official:before {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

.card-item {
    position: relative;
    margin-bottom: 60px;
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
}


.card-item__more {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    height: 40px;
    color: #000;
    text-decoration: none;
    background-color: #e5ded1;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    -webkit-box-shadow: 0 1px #ccc;
    box-shadow: 0 1px #ccc;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.card-item__more>span {
    margin-right: 20px;
    font-size: 13px;
}

.card-item__links, .card-item__more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.card-item__more .fa-angle-right {
    margin-top: -1px;
    font-size: 30px;
}

[data-is-ranking=True][data-ranking="1"] {
    border: 1px solid #bf9763;
    -webkit-box-shadow: 1px 1px #ccc;
    box-shadow: 1px 1px #ccc;
}

a.diagnosis__retry{
 color:#fff;
}

.diagnosis__retry-wrap {
    text-align: center;
    padding-top: 20px;
}

.diagnosis__retry {
    position: relative;
    font-size: 20px;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    letter-spacing:1px;
}

ul#choices li#back{
     display: block;
    max-width: 300px;
    margin-left:auto;
    margin-right:auto;
    margin-top:1em;
 }

ul#choices li#back button{
 padding:15px 10px;
 text-align:center;
 border-radius:6px;
}

.diagnosis-result__image-wrap img {
    display: block;
    width: 150px;
    height: auto;
    margin-right: 20px;
}


@media screen and (max-width: 768px) {

	.diagnosis__doctor{
	 width:70px;
	 top:5px;
	}

	.diagnosis__title {
	    padding-right: 0;
	    margin-bottom: 0;
	    font-size: 28px;
	}

	.diagnosis__sub-title {
	    font-size: 15px !important;
	    padding-right: 0;
	}

.diagnosis__doctor.\--result {
    top: 0;
    width: auto;
    height: 150px;
}

.diagnosis__heading.\--result {
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 110px;
    margin-bottom: 30px;
}

.diagnosis {
    width: auto;
    margin: 0 -8px 0 -8px;
    padding: 10px;
}

.page p.diagnosis__sub-title{
 padding-right:0;
}

.diagnosis-result__card {
    padding: 10px 10px 20px;
}

.diagnosis-result__image-wrap img {
    width: 100px;
}

.diagnosis-result__description {
    font-size: 12px;
}

[data-is-ranking=True][data-ranking="1"] .card-item__heading a, [data-is-ranking=True][data-ranking="2"] .card-item__heading a, [data-is-ranking=True][data-ranking="3"] .card-item__heading a, [data-is-ranking=True][data-ranking="4"] .card-item__heading a, [data-is-ranking=True][data-ranking="5"] .card-item__heading a, [data-is-ranking=True][data-ranking="6"] .card-item__heading a, [data-is-ranking=True][data-ranking="7"] .card-item__heading a, [data-is-ranking=True][data-ranking="8"] .card-item__heading a, [data-is-ranking=True][data-ranking="9"] .card-item__heading a, [data-is-ranking=True][data-ranking="10"] .card-item__heading a {
    padding-left: 51px;
}

.card-item__heading a {
    padding: 13px;
    font-size: 20px;
    border-bottom: 0;
    padding-bottom: 0;
}

.card-item__ranking-label {
    position: absolute;
    top: 0;
    left: 3px;
    display: block;
    width:38px;
}

.diagnosis__retry-wrap {
    padding-top: 15px;
    margin-bottom: 25px;
}

}

/***********************
  固定ページ
************************/

.tos h1, h1.page_title{
    padding-left: 12px;
    font-size: 18px;
    font-weight: 700;
    border-left: 4px solid #b48b55;
}

.mt_none{
 margin-top:0;
}

.mb_none{
 margin-bottom:0;
}

.mb_10{
 margin-bottom:1.54em;
 margin-top:1.54em;
}

.mt_10{
 margin-top:1.54em;
}

.page .tos p{
    font-size:14px;
    line-height:1.7;
}

.wdn_responsive_table {
    width: 100%;
    margin-top: 20px;
    border: solid 1px #e5ded1;
    border-bottom: solid 1px #e5ded1;
    text-align: center;
    margin-top: 30px;
    font-size:14px;
}

.wdn_responsive_table .card-detail-table__title {
    border: 1px solid #e5ded1;
    background: #f9f6f1;
}

.wdn_responsive_table td {
    border: 1px solid #e5ded1;
    padding: 10px;
    font-size: 13px;
}

.wdn_responsive_table td:first-child {
    text-align: left;
    background: #f9f6f1;
}

/***********************
  検索結果
************************/

.search-result__heading h2 {
    margin-top: 0;
    margin-right: 10px;
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
        display: flex;
    flex-direction: row;
    flex-wrap: wrap;
   justify-content:flex-start;
   align-items:center;
}

.search-result__heading{
border-bottom: 2px solid #e5ded0;
padding-bottom:10px;
    margin-bottom:20px;
    line-height: 1;
position:relative;
}

.search-result__heading span{
 margin-left:10px;
 }

.search-result__heading span.kensu{
    font-size: 15px;
    color: #999;
    font-weight:normal;
}

.search-result__heading:after {
    content:'';
    width: 140px;
    height:2px;
    bottom:-2px;
    left:0;
    position:absolute;
    background-color: #bf9609;
}

.card-table__body{
 width:100%;
 margin:0 auto 70px auto;
 display:block;
}

.card-table__body .row-wrap{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    border-bottom: 4px solid #f9f6f1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.card-table__body .row-wrap:hover {
    outline:none;
    cursor: pointer;
}

.card-table__body .row-wrap .td{
    display: flex;
    text-align: center;
    align-items:center;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content:center;
    border-right: 1px dashed #ddd;
    padding:10px;
    font-size:15px;
    width:calc((100% - 160px) / 6);
    min-width: 85px;
}

.card-table__col--card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding:10px;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    min-width:160px;
}

.card-table__body .space-around{
 justify-content:space-between;
}

.card-table__body .body{
 border:1px solid #ccc;
 border-radius:4px;
 padding: 13px;
}

.card-table__title {
    margin-top: 0;
    margin-bottom: 10px;
    font-weight: 700;
    color: #966f39;
    width: 100%;
    text-align: left;
}


.card-table__title {
font-size: 16px !important;
font-weight: 700;
color: #24526f;
}

.card-table__image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.card-table__card-image {
    display: block;
    max-width: 160px;
    height: auto;
}

.card-table__title, .card-table__col--point, .card-table__col--annual-fee, .card-table__col--issuing-speed {
    font-size: 14px;
    font-weight: 700;
}

.card-table__col--annual-fee, .card-table__col--first-annual-fee, .card-table__col--point {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 8.5%;
}

.card-table__col--annual-fee strong, .card-table__col--issuing-speed strong{
    font-weight: 700;
    color: #903;
}

.card-table__col--description {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
    align-items:center;
    padding-right: 20px;
    padding-left: 15px;
}

.card-table__col--e-money img {
    width: auto;
    height: 15px;
    margin-bottom: 9px;
}

.card-table__col--e-money li{
 list-style:none;
}

.card-table__col--e-money img {
    height: auto !important;
    width: 40px !important;
}

.page p.card-table__description{
    font-size: 13px;
    text-align: left;
    font-weight:normal;
    width:calc(98% - 160px);
}

.page p.card-table__description strong, .page p.card-table__description span.keiko_yellow{
    font-weight:normal;
}

.card-table__links {
    display: flex;
    flex-direction: column;
    max-width: 150px;
    width:100%;
    align-items: center;
}

.card-table__official {
    position: relative;
    padding: 21px 15px 26px 15px;
    margin-bottom: 15px;
    max-width: 150px;
    font-size: 13px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #ef0606;
    border-radius: 3px;
    -webkit-box-shadow: 0 -5px #920c0c inset;
    box-shadow: inset 0 -5px #920c0c;
    position: relative;
    width: 100%;
}

.card-table__official i.fa.fa-angle-right {
    position: absolute;
    right: 9px;
    font-size: 22px;
    top: 45%;
  transform: translateY(-45%);
}

.card-table__official:hover {
    background-color: #1d1d1d;
    -webkit-box-shadow: 0 -5px #000 inset;
    box-shadow: inset 0 -5px #000;
    text-decoration:none;
}

.card-table__to-detail {
    font-size: 13px;
    color: #966f39;
    text-decoration: none;
    border-bottom: 1px solid #966f39;
    padding-bottom: 3px;
}

.card-table__head {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
justify-content:flex-start;
    background-color: #e5ded1;
}

.card-table__head .row-wrap {
    position: relative;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;
    text-align:center;
    padding:20px 10px;
    font-weight:bold;
    width: calc((100% - 160px) / 6);
    min-width: 85px;
    align-items:center;
    max-width: 85px;
}

.card-table__head .card{
  width:200px;
  min-width:200px;
  max-width:100%;
}

.card-table__head .point{
    width: 100%;
    max-width: 100%;
}

#order select, #order .research_skip{
     border: 2px solid #e5ded1;
     color:#272727;
}

.search-result__button {
    padding: 8px 15px;
    margin-left: 10px;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;
    cursor: pointer;
    background-color: #b48b55;
    border: none;
    border-radius: 4px;
    -webkit-box-shadow: 0 5px #966f39;
    box-shadow: 0 5px #966f39;
    font-size:15px;
}

.search-result_wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
}

.search-result__button:hover{
 opacity:0.8;
 text-decoration:none;
 }

.footer__seo-text div * {
    font-size: 10px !important;
    margin: 0;
    color: #fff;
}

.footer__seo-text{
 padding:0 0 40px 0;
     border-bottom: 1px solid #999;
}

/***********************
	記事一覧
************************/

.column-wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    margin-top:20px;
    margin-bottom:20px;
}

.column-wrap .fourth{
width:calc(94% / 4);
margin-right:2%;
position:relative;
}

.column-wrap .fourth:nth-of-type(4n){
 margin-right:0;
}

.column-wrap .fourth-list{
 margin-bottom:20px;
}

.column-wrap .fourth a{
 position:absolute;
 z-index:1;
 top:0;
 left:0;
 width:100%;
 height:100%;
}

.column-wrap .fourth:hover{
 opacity:0.8;
}

p.article-narrow__heading, .page p.article-narrow__heading{
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 700;
    width: 100%;
    height: 3.2em;
    overflow: hidden;
    color: #333;
}

.article-narrow__body, .page p.article-narrow__body {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 12px;
    width: 100%;
    color: #666;
}


@media screen and (max-width: 768px) {
	.column-wrap .fourth{
	 width:calc(98% / 2);
	 padding:0 .5em;
	}

	.column-wrap .fourth:nth-of-type(even){
	 margin-right:0;
	}

	.column-wrap .fourth:nth-of-type(odd){
	 border-right:1px solid #ccc;
	}

}


/***********************
	緑＆赤色ボタン
************************/

.btn_green{
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content:center;
background: #15ad2f;
color:#fff;
padding:1em .5em;
border-radius:.45em;
min-height: 65px;
text-align:center;
font-size: 16.5px;
font-weight: 700;
margin-bottom:1em;
position:relative;
border-bottom:4px solid #084112; /*#cecece;*/
}

.btn_red{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
justify-content:center;
background: #e80000;
background: -moz-linear-gradient(top,  #e80000 0%, #b50000 100%);
background: -webkit-linear-gradient(top,  #e80000 0%,#b50000 100%);
background: linear-gradient(to bottom,  #e80000 0%,#b50000 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e80000', endColorstr='#b50000',GradientType=0 );
color:#fff;
padding:1em .5em;
border-radius:.5em;
min-height:80px;
text-align:center;
font-size: 12px;
font-weight:400;
margin-bottom:.5em;
position:relative;
}

.btn_green span i, .btn_red span i{
 font-size:11px;
 margin-left:6px;
}

.btn_org{
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content:center;
background: #eda43d;
color:#fff;
padding:0.5em .5em;
border-radius:.45em;
min-height: 65px;
text-align:center;
font-size: 1em;
font-weight: 700;
margin-top:1em;
position:relative;
border-bottom:4px solid #C58634;
}

/***********************
	モバイル用
************************/

@media screen and (max-width: 768px) {

#content{
 margin-top:20px;
}

html, body{
 overflow-x:hidden;
}

#cs_results {
    margin: 0 auto 0;
}

.single #inner-content, .page #inner-content, #inner-content{
	 padding:0 8px;
     box-sizing: border-box;
	}

 #before_footer{
	 padding:0 4px;
	 margin-top:20px;
}

.header{
 height:auto;
 padding:6px 2px;
}

#inner-header {
    max-width: 100%;
}

.mobile-nav li{
 border-right:1px solid #fff;
}

.header__brand h2{
 display:none;
}

.mobile-nav li a{
 line-height:1.0;
 display:block;
 padding:4px;
 }

.mobile-nav{
 /*width:53%;*/
}

.mobile-nav ul{
 flex-wrap: nowrap;
justify-content: flex-end;
}
	
	.mobile-nav li{
		padding-left:5px;
		padding-right:5px;
	}

.mobile-nav .current-menu-item {
    border-bottom-color:none !important;
}

.wrap {
    width: 100%;
    margin: 0 auto;
}

#ranking {
    margin: 0 auto 24px;
}

.ranking_head_banner {
    margin: 0px -8px auto;
}

#pickup_lists, #cam_list{
 margin-left:-8px;
 margin-right:-8px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
}

.pickup_list {
    width: 49%;
    margin: 0 2% 10px 0;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.pl_title{
 height:auto;
 padding: 10px 8px;
}

.cs_head{
 width:50%;
 margin-bottom:0;
 }

.ms_head{
 width:55.5%;
 padding-right: 0px;
}

.type03 .ms_head{
  width:80%;
  margin-left: auto;
  margin-right: auto;
}

.cs_img{
 width:100%;
 margin: 0 0 15px 0;
 }

.cs_head_wrap{
    padding: 0 15px 0 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
}

.cs_sp_lists{
 width:48%;
 border-width:1px;
}

.ms_sp_lists{
 width:36%;
 border-width:1px;
 padding-top: 2px;
}

.cs_item table{
 border:0;
}

.cs_item th{
width:60%;
    min-width:100%;
 }

.cs_item th, .cs_item td{
 font-size:12px;
 padding: 2px 0;
 color:#000;
}

.cs_item td ul{
 margin-top:0;
 margin-bottom:0;
}

.cs_item td{
 width:70%;
}

.cs_item td ul li{
 display:inline-block;
    width: 48px;
    margin-bottom: 5px;
}

.cs_item td ul li img{
 min-width:48px;
}

.kuchi_stats_wrap {
    text-align: left;
    margin-top:10px;
}

table.disc_sp1 {
    border: 1px dashed;
    margin-top:10px;
}

table.disc_sp1 td:first-child{
 width:30%;
text-align:right;
 font-size:14px;
}

table.disc_sp1 td{
 width:70%;
 padding:3px;
}

table.disc_sp1 td a{
 font-size:14px;
}

.basic_headline{
 margin-bottom:10px;
}

.page-top-seo-text__description{
 padding:0;
 margin-bottom:20px;
}

.page-top-seo-text__description {
    padding: 10px 2px 0;
    font-size: 12px;
}

.more_btn{
 margin-bottom:30px;
 margin-top:10px;
}

#ranking .ms_item{
 margin-bottom:.75em;
 margin-top:.5em;
}

.ms_item td{
    width:33.333%;
    min-width:auto;
    border: 1px solid #ddd;
    padding: 4px;
 text-align:center;
 font-weight:400;
 }

.ms_item th{
    width:33.333%;
    min-width:auto;
    background: #fafafa;
    border: 1px solid #ddd;
    padding: 4px;
    font-size: .78rem;
    text-align:center;
    color:#000;
}

.ms_item td.bold{
 font-weight:bold;
}

.ms_item td.bold font{
 font-weight:normal;
}



.ms_item td.curcle{
 background:url(img/maru.svg)no-repeat center center;
 background-size:40px 40px;
}

.ms_item td.triangle{
 background:url(img/sankaku.svg)no-repeat center center;
 background-size:40px 40px;
}

@media screen and (max-width: 767px) {
	.single-card-detail td{
	    text-align:center !important;
	 }

	.single-card-detail th{
	    border: 1px solid #ddd !important;
	    text-align:center !important;
	}
}

.card-table__head{
 display:none;
}

.search-result__button{
 font-size:12px;
 padding:5px;
    box-shadow:none;
 background:transparent;
 border:1px solid #b48b55;
 color:#b48b55;
 border-radius:3px;
}

#order select, #order .research_skip{
 margin-right:3px;
}

.search-result_wrap {
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
}

.search-result__heading h2{
 font-size:13px;
}

.cs_found span{
 font-size:20px;
}

.search-result__heading span.kensu{
 font-size:12px;
 margin-left:2px;
}

.search-result__heading{
 border-bottom:0;
 padding-bottom:0;
 margin-bottom:10px;
}

.search-result__heading:after{
 display:none;
}

 p.result_meta_label{
 font-size:12px !important;
 color:#666;
}

.joken{
 color:#666;
}

  .btn.official.btn-single{
	width:100%;
	margin: 20px auto 30px;
	border-radius: 4px;
	}

.cam_content, .cta_text{
    width: 100%;
}

.cam_banner{
 width:100%;
}

.single .tablepress .column-1{
     background-color: rgb(249, 246, 241);
}

.single .tablepress{
 font-size:0.75rem;
}

h2, .h2{
 font-size:1.25rem;
 margin-bottom:10px;
}

.card-detail-table{
 font-size:0.75rem;
}

.card-detail-table th, .card-detail-table td{
 padding:4px;
 font-size:0.75rem;
}

span.title{
 font-size:15px;
}

.recommend-point__item:before {
    height: 22px;
    padding: 5px 12px;
    margin-right: 10px;
    margin-top:3px;
    font-size: 14px;
    line-height:22px;
}

#csf_btn:before {
    content: '\f002';
    font-family: Fontawesome;
    position: absolute;
    left: 50px;
    top: 18px;
    font-size: 1.2em;
}

#sp_custom_search_form #csf_btn {
    padding: 20px 25px 20px 40px;
    height: auto;
    line-height: 1.2;
}

.card-table__body .row-wrap{
    border-bottom:none;
}

.result_orders #order .pc_wrap{
 width:100%;
    display: flex;
    flex-direction: row;
    flex-wrap:nowrap;
}

#order .research_skip{
    padding: 4px 10px;
    border: 1px solid #966f39;
    border-radius: 2px;
    background-color: transparent;
    font-size: 11px;
    color: #966f39;
    line-height:33px;
}

.joken dd span.on {
    color: #966f39;
    font-weight: normal;
}

#ranking_lists{
 margin-top:5px;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content:flex-start;
}

.ranking_list {
    width: 50%;
}

.ranking_list a{
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
}

.footer {
    margin-top: 20px;
}

.footer__to-top{
 display:none;
}

.footer__to-top__sp {
    width: 100%;
    background-color: #999;
    border: medium none currentColor;
    display:block;
}

.footer__to-top__sp a{
   display:block;
   padding:15px;
   text-align:center;
   color:#fff !important;
   font-size:0.8rem;
   font-weight:bold;
 }

.footer__nav {
    padding:0;
    border-bottom:none;
}


#inner-footer {
    padding:0;
}

.ranking_list a{
 font-size:.76em;
}

#footer-menu nav {
    display:block;
}

#footer-menu a{
 display:block;
 padding:10px;
 font-size:13px;
 border-bottom:1px solid #fff;
}

.copyright{
 margin:15px 0;
}

.wdn_responsive_tablewrap {
    overflow: auto;
}

.footer-links__item {
    width:100%;
    text-align: center;
}

.footer-links__item:first-child{
 margin-bottom:15px;
}

.footer__seo-text{
 border-bottom:0;
 padding-bottom:15px;
}

}

/************* アコーディオン **************/

.footer-menu-acd {
  width: 100%;
  padding:0px;
}

.footer-menu-acd ul{
 border-bottom:1px solid #fff;
}

.footer-menu-acd input {
  display: none;
}

.footer-menu-acd label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  color: #fff;
  line-height: 1;
  position: relative;
  margin: 0;
  padding:15px 10px;
  font-size:12px;
}

.footer-menu-acd ul {
  margin: 0;
  padding:0;
  list-style: none;
  margin-bottom: 1px;
}
.footer-menu-acd li {
  height: 0;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s;
 padding:0;
}
#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li{
  height: auto;
  opacity: 1;
  background: #fff;
font-size: 12.5px;
}

#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child {
  margin-bottom: 20px;
}

.footer-menu-acd ul li a{
  padding: 10px;
  color:#1a1a1a !important;
  border-bottom:1px solid #ccc !important;
  background:#fff;
  display:block;
}

.footer-menu-acd ul li:last-child{
   border-bottom:0;

}

.footer-menu-acd label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #eda43d 2px solid;
  border-right: #eda43d 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}

.footer-menu-acd input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #eda43d 2px solid;
  border-right: #eda43d 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}

/*************企画開発部追記：satou **************/
.s_nonclick_full img{
	pointer-events:none;
	width:100%;
	margin:0px auto;
}
.s_nonclick_w90 img{
	pointer-events:none;
	width:90%;
	margin:0px auto;
	display:block;
}
.s_nonclick_w85 img{
	pointer-events:none;
	width:85%;
	margin:0px auto;
	display:block;
}
.s_nonclick_w50 img{
	pointer-events:none;
	width:50%;
	margin:0px auto;
	display:block;
}
.s_box_simple1 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}
.s_box_simple1 .box-title {
    position: absolute;
    display: block;
    top: -2px;
    left: -2px;
    padding: 10px;
    height: 30px;
    line-height: 30px;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}
.s_box_simple1 ul{
	margin:10px 0px;
		}
.s_box_simple1 ul li{
	list-style: inside;
		}

.s_attention01{
	color:#ff4500;
	font-weight:bold;
	font-size:1.2em;
	text-align:center;
}

.s_box_simple2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0px 1rem;
    box-sizing: border-box;
    background-color: rgb(254, 254, 254);
}

.s_box_simple2 h2 {
    position: relative;
    padding: 15px;
    border-radius: 5px;
    border: 2px solid #333;
    color: #333;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
}


.s_box_simple2 h2:before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    height: 3px;
    width: 20px;
    background-color: #fff;
    content: "";
}

.s_box_simple2 h2:after {
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translateX(-50%);
    height: 20px;
    width: 2px;
    background-color: #333;
    content: "";
}


.s_box03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    margin: 25px 0 10px;
}
.s_box03_item {
    width: calc(95% /3);
    padding: 10px;
    text-align: center;
	border:2px solid #e5e5e5;
	border-radius: 10px;
	background-color:#fff;
}
.s_box03_item img{width:80%;margin-bottom:5px;}

@media screen and (max-width:767px) {
	.s_box03{
		flex-wrap: nowrap;
	}
	
}

.s_box04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    margin: 25px 0 10px;
}
.s_box04_item {
    width: calc(95% /2);
    padding: 10px;
    text-align: center;
}

.s_table table{	
  border-collapse: collapse;	
  border-spacing: 0;	
  width: 100%;	
}	
.s_table table tr{	
  border-bottom: solid 1px #eee;	
}	
.s_table table th{	
  text-align: center;	
  width: 50%;	
  padding: 15px 0;	
  background-color:#282f3e;	
  color:#fff;	
}	
.s_table table td{	
  text-align: left;	
  width: 30%;	
  padding: 10px;	
}	
.s_table table td img{	
  text-align: left;	
  width: 35%;	
  padding: 3px;	
}


/*PC版の「こんなお店を利用するならお得」テーブル*/
.s_tbl-r02 table th {
  background-color:#282f3e!important;
  color:#fff!important;
  padding: 10px!important;	
width:25%!important;
font-size: 1.2em!important;
}	
.s_tbl-r02 table td {
  border: solid 1px #ccc!important;	
  padding: 10px!important;	
width:25%!important;
text-align:left!important;
}	
.s_tbl-r02 table td img{
  width:20%!important;	
  display: inline-block!important;	
}



/*文字装飾*/
.s_midashi01{
	font-size:1.5em!important;
	font-weight:bold;
	text-align:center;
	color:#ffa500;
	display:block;
}
.s_midashi02{
	font-size:1.3em!important;
	font-weight:bold;
	text-align:center;
	display:block;
}

.s_midashi03{
	font-size:1.1em!important;
	font-weight:bold;
	text-align:center;
	color:#ffa500;
	display:block;
}

/************************************************文字装飾************************************************/
.b {font-weight:bold;}
.s_kome01{
	font-size:0.5em;
	text-align:right;
	color:#999999;
}

.under_yel {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 228, 0, 0.2); 
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}

.x10{font-size:10px; line-height:1.1em; display:block;margin-top:5px;}
.x0-8em{font-size:0.8em;}
.x1-2em{font-size:1.2em;}
.x1-3em{font-size:1.3em;}
.x1-5em{font-size:1.5em;}
.x2em{font-size:2em;}
.x2-5em{font-size:2.5em;}

.s_reason01{
	font-size:1.2em;
	background-color:#f5f5f5;
	border:2px solid #dcdcdc;
	border-radius:10px;
	padding:20px 20px 10px;
}

.heading08 {
	font-size: 20px;
	font-weight:bold;
}

.heading08 span {
	display: flex;
	align-items: center;
	color: #ffa500;
	font-size: 15px;
	text-transform: uppercase;
}

.heading08 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #ffa500;
}

.s_back01{
	margin-top:5px;
	background-color:#fffaf0;
	/*border:3px solid #f5f5f5;*/
	padding:10px;
	border-radius:10px;
}

/* テーブル装飾 */
.s_table_best {color: #ff4500;font-size: 40px;line-height:1em!important;font-weight:bold; }/* ◎ */
.s_table_good {color:#ff8900;font-size: 40px;line-height:1em!important; }/* 〇 */
.s_table_bad {color: #1e90ff;font-size: 40px;line-height:1em!important; }/* × */
.s_table_soso {color:#000; font-size: 40px; line-height:1em!important; vertical-align: -0.0667em;}/* △ */

.s_table01{
	text-align:center;
	max-width:100%!important;
}
.s_table01 th{
	background-color:#e5e5e5;
	font-weight:bold;
	font-size:0.8em;
	border:1px solid #ececec;
	padding:5px;
	min-width:60px;
}
.s_table01 td{
	border:1px solid #ececec;
	padding:8px;
}
.s_tabele td .notes{
	font-size:10px;
	line-height:1.1em;
}
.s_table01 td img{
	width:60%;
	margin:0px auto;
}
.s_table01 .btn_green{
	border-radius:5px;
	margin-bottom:0px;
	padding:5px;
	min-height:auto;
}

.s_table02{
	text-align:center;
	table-layout: fixed;
}
.s_table02 th{
	background-color:#e5e5e5;
	font-weight:bold;
	font-size:0.8em;
	border:1px solid #ececec;
	padding:5px;
	min-width:60px;
}
.s_table02 td{
	border:1px solid #ececec;
	padding:8px;
}

/*学生：ポイント訴求のテーブル*/
.s_table03 th{
	background-color:#f5f5f5;
	font-weight:bold;
	font-size:0.8em;
	border:1px solid #ececec;
	padding:5px;
	min-width:60px;
	width:60%;
}
.s_table03 td{
	border:1px solid #ececec;
	padding:8px;
	color:#ffa500;
	text-align:center;
}

/*学生：ポイント訴求のテーブルPC*/
.s_table03pc {
   table-layout: fixed;
   width: 100%;
}
.s_table03pc th{
	background-color:#f5f5f5;
	font-weight:bold;
	font-size:0.8em;
	border:1px solid #ececec;
	padding:5px;
}
.s_table03pc td{
	border:1px solid #ececec;
	padding:10px;
	color:#ffa500;
	text-align:center;
}

/************
 *  ランキング上部比較案件用
 * *****************/

.hi__wrap{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
margin-top:10px;
}

.hi__wrap .Contents{
	width:calc(99% / 2);
	display: flex;
    flex-direction: column;
}

.hi__wrap .Contents figure.image{
	margin:0 auto 0.3em;
}

.hi__wrap .Contents .title{
	font-size:1.2rem;
	font-weight:bold;
    text-align:center;
}

.hi__wrap .Contents a{
	margin:1em auto 0;
	min-height:auto;
}

.hi__wrap .Contents .btn_green{
	padding:10px;
    border-radius:5px;
	width:100%;
}

.hi__wrap .Contents .text{
  padding:0.7em;
  border:5px solid #fafaf9;
  margin:0.5em auto;
  flex: 1 0 auto;
  width:100%;
font-size:0.8em;
user-select: none;
}

@media only screen and (min-width: 750px) {
.hi__wrap .Contents .image{
	width:75%;
	margin:0px auto;  
}
.hi__wrap .Contents .text{
		font-size:0.9em;
}
}

.hi__wrap .Contents .text .point{
	font-weight:bold;
	color:#ff4500;
	text-align:center;
margin-block-start: 0em;
}

.mt{
	margin-top:2em;
}

/*ピックアップ欄*/
#pickup .cs_item {
  margin: 0 0 28px;
  padding:0;
}

#pickup .cs_item:last-child{
 margin-bottom:40px;
}

#pickup .cs_item .main_wrap{
	padding:10px 13px 13px; /*もともと13px 13px;*/
	border:4px solid #ff4500;
	/*border-radius:5px;*/
	box-shadow:none;
}

@media screen and (max-width:767px) {
	#pickup .cs_item:last-child{
	 margin-bottom:0;
	}

	#pickup .cs_item .main_wrap{
	padding:17px 13px 13px; /*もともと13px 13px;*/
         border: 4px solid #ff4500;
	/*border-radius:5px;*/
	}
}

#pickup {margin: 0 auto 24px;}
#pickup .ms_item{
	margin-bottom:.75em;
	margin-top:.5em;
}

#pickup .cs_item .rank_ico {
	left:10px;
	top:15px;
}

@media screen and (min-width: 1024px){
#pickup .cs_title{
	padding-left:50px;
}
}

.pickup_title{
	font-size:1.5em;
	font-weight:bold;
	color:#fff;
	text-align:center;
	margin:2em auto -1.6em;
	padding:0.3em 0em 0.8em;
	background-color:#ff4500;
}

/*PC-SP切り替え用*/
.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

/*学生LP導入見出し*/
.s_beginner{
	background-color:#47b980;
	color:#fff;
	font-size:1.5em;
	font-weight:bold;
	text-align:center;
	border-radius:8px;
	padding:5px!important;
}

.s_beginner img{
	max-height:35px;
	pointer-events:none;
	margin-right:5px;
}
.s_beginner p{
	margin-block-start:0em!important;
	margin-block-end: 0em!important;
	padding-top:2px;
}

.gakusei1{
	width:95%;
	margin:8px auto 20px;
	text-align:center;
}

.s_title01{
	background-color:#15ad2f;
	color:#fff;
	text-align:center;
	padding:0px 10px;
}

.s_title01 p{
	padding:5px 0px;
}

/***********************
ページスクロール
************************/
.ScrollTop {
  opacity: 0;
 width: 54px;
 height: 54px;
 text-align: center;
 position: fixed;
 bottom: 15px;
 right: 10px;
 border-radius: 50%;
  transition: all 0.65s;
    background: #47b980;
}
.ScrollTop.isActive {
  opacity: 0.6;
  transition: all 0.65s !important;
}
.ScrollTop .fa {
 display: inline-block;
 height: 54px;
 line-height: 52px;
 color: #FFF;
 vertical-align: middle;
}
.ScrollTop:hover {
  opacity: .9;
}

@media screen and (max-width: 767px) {
	.totop {
    right: 18px;
    bottom: 20px;
   }
}

/*チカチカ点滅*/
.flashing01{
  animation: flash 1s linear infinite;
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/*ボタンぷるぷる*/
.prupru02{
  animation-name: puru;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-play-state: running;
  animation-direction: normal;
  animation-delay: 0s;
  position: relative;
  bottom: 0;
  transition: all 100ms;
}
@keyframes puru {
  3% { transform: scale(0.93); }
  9% { transform: scale(1); }
  15% { transform: scale(0.96); }
  19% { transform: scale(1); }
  23% { transform: scale(0.99); }
  26% { transform: scale(1); }
}

/*ページ遷移用*/
.s_jump01{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
margin-top:10px;
}

.s_jump01 .Contents{
	width:calc(99% / 2);
	display: flex;
    flex-direction: column;
}

.s_jump01 .Contents figure.image{
	margin:0 auto 0.3em;
	text-align:center;
	width:60%;
}

.s_jump01 .Contents figure p{
	background-color:#ffa500;
	font-weight:bold;
	color:#fff;
	padding:5px;
	border-radius: 30px;
	margin-top:3px;
}

@media screen and (max-width: 767px) {
.s_jump01 .Contents figure.image{
	width:90%;
}
	
.s_jump01 .Contents .text{
	font-size:0.8em;
}
}

.s_jump01 .Contents .text{
  padding:0.2em 0.7em;
  border:1px dotted #ffa500;
  margin:0em auto 2em;
  flex: 1 0 auto;
  width:90%;
user-select: none;
	background-color:#fff; /*#fafaf9; */
}

/*****こんな人にオススメ＋選ばれる理由*****/
.s_orange1{color:#F15A24; font-weight:bold;}
.s_recommend_back{
	background: repeating-linear-gradient(-45deg,#F7E593 0,#F7E593 5px,#fff 5px,#fff 10px);
	margin-top:50px;
	position: relative;
	z-index: 1;
}
.s_recommend_in{
	border: 2px solid #E1E1E1;
	background-color:#fff;
	width:95%;
	margin:0px auto;
	position: relative;
	z-index: 2;
	top:-15px;
}
.s_recommend_in p{
	background: #FAFAFA;
	border-bottom:2px solid #E1E1E1;
	text-align: center;
	padding:5px;
	margin: 0;
	font-weight:bold;
	font-size:1.3em;
}
.s_recommend_text{
	text-align:center;
	padding:5px;
}
.s_recommend_text ul li{
	padding-bottom:10px;
}
.s_recommend_text ul li:last-child{
	padding-bottom:0px;
}
.s_recommend_text ul li::before {
  content: '\f00c';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
	color:#F15A24;
}

.s_reason{
	border: 2px solid #282F3E;
	background-color:#fff;
	margin-top:20px;
}
.s_reason_title {
	background: #282F3E;
	color:#fff;
	text-align: center;
	padding:5px;
	margin: 0;
	font-weight:bold;
	font-size:1.3em;
}
.s_reason_in{
	padding:0px 15px;
}
.s_reason_in li{
	font-weight:bold;
	color:#F15A24;
}
.s_reason_in ul li::before {
  content: '\f058';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
	color:#F15A24;
}
.s_reason_text p{
	font-size: 0.9em;
	margin-top: 3px;
	margin-bottom: 15px;
	padding-bottom:5px;
	border-bottom:1px dotted #B1BACC;
}
.s_reason_text p:last-child{
	border-bottom:none;
}

/***********************
	ランキング
************************/

.point__wrap{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.short-d .point__wrap{
	height:100%;
}

.point__wrap .Item{
  width:calc(96% / 3);
  border:4px solid #c78137;
  border-radius: 1.4em;
}

.point__wrap .Item .title{
  border-top-left-radius: 1em;
  border-top-right-radius: 1em;
  background:#c78137;
  color:#fff;
  text-align: center;
  padding:.3em;
  font-size: 0.8rem;
}

.point__wrap .Item .text{
  background: #fff;
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  width: 100%;
  height: calc(100% - 27px);
  padding:.5em;
  text-align: center;
  line-height: 1.25;
  color:#c78137;
  border-bottom-left-radius: 1.4em;
  border-bottom-right-radius: 1.4em;
}

.point__wrap .Item .text span.bold-b{
  font-size: 28px;
  font-weight: 900;
  display: block;
}

.point__wrap .Item.blue .title{
 background:#748dcb;
}

.point__wrap .Item.blue{
  border-color:#748dcb;
 }

 .point__wrap .Item.blue .text{
  color:#748dcb !important;
  }

 .point__wrap .Item.green .title{
  background:#7ea050;
 }
 
 .point__wrap .Item.green{
   border-color:#7ea050;
  }
  .point__wrap .Item.green .text{
  color:#7ea050 !important;
  }

  .type03__review{
    position: relative;
    margin-top: 1em;
  }

  .type03__review .kuchi_stats{
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
  }

  .type03__review .ra_kuchi_switcher{
    font-size:1.0rem;
    width:auto;
    margin:0;
  }

  .type03__review .ra_kuchi_switcher::before{
    content: '\f13a';
    font-family: "FontAwesome";
    display: block;
    color: #eda43d;
    font-size: 24px;
    display: inline-block;
    margin-right: .5em;
    transform: rotate(0deg);
    transition-duration: .3s;
  }

  .type__d::before {
    content: '\f13a';
    font-family: "FontAwesome";
    display: block;
    color: #eda43d;
    font-size: 24px;
    display: inline-block;
    margin-right: 0.25em;
    transform: rotate(0deg);
    transition-duration: .3s;
}

 .is-active .type__d::before {
    transform: rotate(180deg);
  }

  .type03__review .stars.ra{
    font-size: 1.0rem;
  }

  .type03__review .avg_score{
    font-size: 1.25rem;
    text-decoration: none;
  }

  .accordion{
    margin-top: 1em;
  }
  
  .accordion__container {
    width:100%;
    margin: 0 auto;
  }
  
  .accordion__title {
    background-color: #999;
    color: #121212;
    font-size: 1.25em;
    padding: .625em .625em .625em 2em;
    position: relative;
    cursor: pointer;
    user-select: none;
    margin:.5em auto;
    border-radius: 1.46em;
  }
  
.accordion__title::before {
    content: '\f13a';
    font-family: "FontAwesome";
    display: block;
    color:#333;
    font-size: 24px;
    position: absolute;
    top: 50%;
    line-height: 0;
    left: 12px;
  }
  
  .accordion__title::before {
    transform: rotate(0deg);
    transition-duration: .3s;
  }
  
  .accordion__title:hover,
  .accordion__title:active,
  .accordion__title.is-active { 
    background-color: #00aaa7;
  }
  
 
  .accordion__title.is-active::before {
    transform: rotate(180deg);
  }
  
  .accordion__content {
    border-left: 1px solid transparent;
    border-right: 1px solid transparent;
    padding: 0 1em;
    line-height: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition-duration: .3s;
  }
  
  .accordion__content.is-open {
    padding: 1em;
    line-height: normal;
    height: auto;
    opacity: 1;
  }

  /************* テンプレートC PC用 キャンペーン情報 & 案件情報 ****************/


  .wrap.short .cs_pc_lists:nth-of-type(2){
    width:calc(100% - 320px);
    margin-top: 2em;
  }

  .cam__type03{
    font-weight: bold;
    margin-top: .5em;
  }

  
  .point__wrap .Item .text br{
    display: none;
  }

  .point__wrap .Item .text sup {
    top: -0.5em;
    right: -2.5em;
}

  @media screen and (min-width: 768px) {

    
  .type03.item_img_slider > img{
    max-width: 400px;
    margin-left: -150px;
  }

  .type03.item_img_slider{
    padding-top:220px;
  }

  .type03.item_img_slider label img{
    width: 80px;
  }

    .wrap.short .cs_img{
      width:380px;
      margin:0 auto;
    }

    .point__wrap .Item .title{
      font-size: 1.1rem;
    }

    .point__wrap .Item .text{
      height: calc(100% - 35px);
    }

  .wrap.short .special_labels li{
    font-size: 1.0rem;
  }

  .wrap.short .card-item__feature h2{
    font-size: 19px;
    margin-top: 2em;
  }

    .wrap.short .cs_catch.none:before{
    display: none;
  }

  .wrap.short .cs_catch{
    text-align: center;
    padding: 0;
  }

  .wrap.short .pc_btn_wrap{
    width:100%;
    max-width: 100%;
    justify-content: space-between;
  }

  .wrap.short .cs_pc_lists{
    width:100%;
  }

  .wrap.short .type03__review .ra_kuchi_switcher{
    font-size: 1.3rem;
  }

  .type__d > div{
    display: flex;
  }

}

@media screen and (max-width: 767px) {

  .type03.item_img_slider{
    padding-top:150px;
  }

}

.title_01{
	font-size:1.2em;
	font-weight:bold;
	color:#ffa500;
	margin-bottom:0px!important;
}

.box_01 {
    position: relative;
    margin: 0em 0 2em;
    padding: 5px 10px 7px;
    border: solid 2px #FFC107;
}

.box_01 ul{
	margin:10px 0px;
		}
.box_01 ul li{
	list-style: inside;
		}


  /************* テンプレートD PC用 キャンペーン情報 & 案件情報 ****************/

  .wrap.short-d .cs_img{
    width:230px;
  }

  .wrap.short-d .cs_pc_lists{
    width: calc(100% - 270px);
  }

  .wrap.short-d .cs_catch{
    text-align: left;
    margin-top: 0;
  }

  .wrap.short-d .cam__type03{
    margin-top: 0;
  }

.short-d .cs_flex_wrap{
	max-width: 97%;
}

.type__d__icon .ra_kuchi_switcher{
  font-size: 0.9rem !important;
}

  @media screen and (max-width: 767px) {

    .wrap.short-d .cs_head_wrap{
      padding: 0;
    }

   .short-d .cs_flex_wrap{
	max-width: 100%;
   }

    .wrap.short-d .ms_head{
      width:40%;
      margin:.5em 0 0 0;
    }

    .wrap.short-d .ms_item{
      width:57%;
    }

    .wrap.short-d .ms_item{
      margin-top: 0;
    }

    .wrap.short-d .point__wrap .Item{
      width:100%;
      display: flex;
      border-radius: 0;
      padding:0 0 5px 10px;
      border:none;
      border-left: 4px solid #282F3E;/*#4B5D7B;*/
      border-bottom: 2px solid #282F3E;
      margin-bottom: 10px;
      padding:0;
    }

    .wrap.short-d .point__wrap .Item .title{
      border-radius: 0;
      background: transparent !important;
      color:#282F3E;
      padding: 0 .3em;
      font-size: 0.7rem;
      width:25%;
	  text-align:left;
		font-weight:bold;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

    .wrap.short-d .point__wrap .Item .text{
      padding:0 0 5px;
      width:60%;
	  text-align:left;
      display: block;
      font-size:13px;
    }

    .wrap.short-d .point__wrap .Item .text span{
      font-size:13px !important;
      display: inline;
		 color:#282F3E; /*#4B5D7B;*/
    }

    .type__d02 .point__wrap .Item .text{
      display: flex !important;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    }

  }

.s_m0{margin-bottom:0px!important;}
.s_m5{margin-bottom:5px!important;}
.s_mt5{margin-top:5px!important;}

.b0{padding-bottom:0px!important;}
.t0{padding-top:0px!important;}

  /************* テンプレートD-2 PC用 キャンペーン情報 & 案件情報 ****************/

  .wrap.short-d.short-d02 .cs_img{
    width:280px;
    margin-bottom: 0;
  }

  .wrap.short-d.short-d02 .cs_pc_lists{
    width: calc(100% - 300px);
  }

  .short-d.short-d02 .cs_flex_wrap{
    margin-bottom: 2em;
  }

  .type03__review.type__d__icon{
    line-height: 1.0;
  }
    
.type__d__icon .ra_kuchi_switcher::before{
  display:none !important;
}

  .type__d__icon .ra_kuchi_switcher.is-active + .type__d::before {
    transform: rotate(180deg);
}


.type__d__icon .ra_kuchi_switcher{
  padding-top: 0;
}

.short-d02 .kuchi_switcher{
  text-decoration: none;
}

.short-d02 .kuchi_switcher span.under{
  text-decoration: underline;
  display: inline-block;
  margin-left: 0.2em;
}


@media screen and (max-width: 767px) {

  .short-d02 .kuchi_switcher span.under{
    display: block;
    margin-top: .2em;
    margin-bottom: .2em;
  }

  .type__d02{
    margin-bottom: 1em;
  }

  .type__d02 .kuchi_stats .kuchi_status{
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }

  .short-d02 .kuchi_switcher span.under::before{
    content: '\f13a';
    font-family: "FontAwesome";
    color: #eda43d;
    font-size: 16px;
    display: inline-block;
    margin-right: .5em;
    transform: rotate(0deg);
    transition-duration: .3s;
    display:inline-block !important;
    font-size: 18px;
  }

  .is-active span.under::before{
    transform: rotate(180deg) !important;
  }

  .type__d::before{
    display: none;
  }

  .type__d .stars.ra{
    font-size: 0.7rem;
    display: inline-block;
  }

  .type03__review.type__d__icon .kuchi_stats{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column-reverse;
  }

  .type__d__icon .ra_kuchi_switcher{margin-top: .25em;
    font-size: 0.8rem;
  }
  
  .type03__review.type__d__icon{
    margin-top: .5em;
  }

  .type03__review .avg_score{
    font-size: 1.0rem;
  }

  .type__d{
    margin-right: 0;
    font-size: 0.8rem;
  }

  .mb_none{
    margin-bottom: 0 !important;
  }

}

/********************************************続きを読む・READ MORE********************************************/
.readmore{
    position: relative;
    box-sizing: border-box;
    /*以下お好み*/
    /* ボーダーを付ける場合
    padding: 10px;
    border: 1px solid #CCC; */
}

.readmore-content{
    position: relative;
    overflow: hidden;
    /*以下お好み*/
    /*高さの初期値*/
    height: 200px;
}
.readmore-content::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 150px;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label{
    display: table;
    bottom: 5px;
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
    padding: 0 10px;
    background-color: #eda43d;
    border-radius: 20px;
    color: #FFF;
}
.readmore-label:before{content: '続きを読む';}
.readmore-check{display: none;}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label{
    position: static;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before{
    content: '閉じる';
}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content{
    height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
    display: none;
}


/*********************************************Q&Aデザイン*********************************************/

.boxQA {
    position: relative;
    margin: 0em 0 2em;
    padding: 0.5em 0.5em;
    background: #EDF1F5;
    border-radius: 10px;
}


@media screen and (max-width: 767px) {
	.boxQA {
		width:95%;
		margin: 0em auto 2em;
}
}

.boxQA .box-title {
    position: relative;
    background: #fff;/*Q文章部分背景色*/
    padding: 10px 5px 10px 40px;
    color: #454545;/*Q文章文字色*/
    border-radius: 10px;
}
.boxQA .box-title:before {
    content: "Q";
    display: inline-block;
    line-height: 40px;
    position: absolute;
    padding: 0em;
    color: white;/*Q文字色*/
    background: #9ED1FF;/*Q背景色*/
    font-weight: bold;
    width: 40px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    left: -1.2em;
    top: 20px;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: solid 3px white; 
    border-radius: 50%;
}
.boxQA .box-title:after {
    content: "A";
    display: inline-block;
    line-height: 40px;
    position: absolute;
    padding: 0em;
    color: white;/*A文字色*/
    background: #FFAB8B;/*A背景色*/
    font-weight: bold;
    width: 40px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    left: -1.2em;
    bottom: -80px;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: solid 3px white; 
    border-radius: 50%;
}

.boxQA p {
    padding: 20px 20px 15px 40px;
    margin: 0;
}

.boxQA ul {
  padding: 0 1em;
  position: relative;
}
.boxQA ul li {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 4.2em;
  list-style-type: none!important;
}
.boxQA ul li:before {
  font-family: "FontAwesome";
  content: "\f138";/*アイコン種類*/
  position: absolute;
  left : 3.5em;
  color: #FFAB8B; /*Aのリストのアイコンの色*/
}

.obi{
	background-color: red;
	color:#fff;
	padding:0.5em;
	font-weight:bold;
	text-align:center;
}













