.form_shop_review_table {
  width: 100%;
  margin-bottom: 60px;
}
.form_shop_review_table th, .form_shop_review_table td {
  border: 1px solid #e5e5e5;
  padding: 10px 10px 10px 14px;
  line-height: 1.3;
}
.form_shop_review_table th {
  background: #f7f7f7;
  border-right: 1px solid #f7f7f7;
  text-align: left;
  color: #333;
  width: 12em;
}
.form_shop_review_table .th {
  background: #f7f7f7;
  text-align: right;
  width: 35px;
  padding-right: 14px;
}
.form_shop_review_table td input.required ,
.form_shop_review_table td select.required ,
.form_shop_review_table td textarea.required {
  background-color: #fffce2;
  border-radius: 3px;
}

.star_select {
  display: inline-block;
}
.star_select dt {
  display: table-cell;
  width: 5em;
}
.star_select dd {
  display: table-cell;
  width: 11em;
  padding-top: 5px;
}
.designed_select {
  padding: 6px 30px 6px 6px;
}
.review_score {
  display: flex;
  flex-wrap: wrap;
}
.review_score_select {
  width: 450px;
}
.total_review_score {
  display: flex;
  align-items: center;
}
.total_review_score .rate_avg {
  font-size: 2rem;
}
.review_star {
  display: inline-block;
  width: 112px;
  height: 20px;
  overflow: hidden;
  position: relative;
  margin-right: 10px;
  margin-top: -.4em;
  vertical-align: middle;
}
.review_star img {
  height:100px;
}
.review_star.rating_0_0 img {
  position:absolute;
  top: -80px;
  left: 0;
}
.review_star.rating_0_5 img {
  position:absolute;
  top:-40px;
  left:-91px;
}
.review_star.rating_1_0 img {
  position:absolute;
  top:0;
  left:-91px;
}
.review_star.rating_1_5 img {
  position:absolute;
  top:-40px;
  left:-68px;
}
.review_star.rating_2_0 img {
  position:absolute;
  top:0;
  left:-68px;
}
.review_star.rating_2_5 img {
  position:absolute;
  top:-40px;
  left:-45px;
}
.review_star.rating_3_0 img {
  position:absolute;
  top:0;
  left:-45px;
}
.review_star.rating_3_5 img {
  position:absolute;
  top:-40px;
  left:-23px;
}
.review_star.rating_4_0 img {
  position:absolute;
  top:0;
  left:-23px;
}
.review_star.rating_4_5 img {
  position:absolute;
  top:-40px;
  left:0;
}
.review_star.rating_5_0 img {
  position:absolute;
  top:0;
  left:0;
}
.shop_review_next_button,
.shop_review_next_button:focus{
  display: block;
  height: 60px;
  background: #3f68f6;
  color: #fff;
  line-height: 60px;
  border-radius: 5px;
  border:none;
  box-shadow: 0px 4px 0px #122d8c;
  font-size: 2.1rem;
  text-align: center;
  text-decoration: none;
  width: 18em;
  margin: auto;
}
.shop_review_next_button:hover {
  text-decoration: none;
  opacity: 0.8;
  color: #fff;
}
.shop_review_back_button {
  display: block;
  height: 60px;
  background: #cdcdcd;
  color: #fff;
  line-height: 60px;
  border-radius: 5px;
  border-bottom: 4px solid #888888;
  font-size: 2.1rem;
  text-align: center;
  text-decoration: none;
  width: 18em;
  margin: auto;
}
.shop_review_back_button:hover {
  text-decoration: none;
  opacity: 0.8;
  color: #fff;
}
.button_container {
  display: flex;
  width: 860px;
  margin: 0 auto;
}
.btn_store_search {
  display: inline-block;
  border: 1px solid #BFBFBF;
  background: #fff;
  padding: .2em 3em;
  color: #666;
  box-shadow: 0px 2px 0px #CCCCCC;
  border-radius: 3px;
  text-decoration: none;
  font-size: 1.4rem;
}
.btn_store_search:hover {
  background: #f2f2f2;
  color: #666;
}
a.btn_store_search {
  text-decoration: none;
}
/*--------------------------------------------------
   Input error
--------------------------------------------------*/
.form_shop_review_table td input.error ,
.form_shop_review_table td select.error ,
.form_shop_review_table td textarea.error {
  background-color: #ffeae8;
  border-radius: 3px;
  border-color: #f37e7e;
}
.shop_review_error_text {
  color: #cc0000;
  font-weight: bold;
  margin-top: .4em;
}
/*--------------------------------------------------
    confirm
--------------------------------------------------*/
.input_confirm {
  height: 1.3em;
  margin: .6em 0;
}
.input_confirm.comment{
  height: auto !important;
  margin: .6em 0;
}
/*--------------------------------------------------
    pagination
--------------------------------------------------*/
.pagination {
  float: right;
}
.pagination li {
  float: left;
  margin-left: 5px;
}
.pagination li a {
  color: #666;
  text-decoration: none;
  border: 1px solid #ddd;
  background: #fff;
}
.pagination li a, .pagination li span {
  display: block;
  padding: 0 12px;
  border-radius: 3px;
  height: 28px;
  line-height: 28px;
}
.pagination li a:hover, .pagination li span {
  border: 1px solid #333;
  color: #fff;
  background: #333;
}
/*--------------------------------------------------
    modal
--------------------------------------------------*/
.search_modal {
  z-index: 200;
/*  display: none;
  position: fixed;
  width: 800px;*/
}
#modal-overlay{
  z-index: 50;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background: #fff;
  opacity: .8;
}
.search_modal .header_title {
  background: #333;
  color: #ffffff;
  padding: 0.8em;
  border-radius: 3px 3px 0 0;
  font-weight: bold;
  font-size: 1.6rem;
  position: relative;
}
.modal_contents {
  background: #fff;
  border: 1px #ccc solid;
  border-radius: 0 0 3px 3px;
  border-top: none !important;
  box-sizing: border-box;
  padding: 1em;
}
.search_contents {
  border: 1px #ccc solid;
  box-sizing: border-box;
  padding: 1em;
  width: 100%;
}
.search_contents th {
  font-weight: normal !important;
  padding: 1em;
  text-align: left;
  width: 12em;
}
.search_contents td {
  padding: .6em .8em 0 .8em;
}
.search_pb {
  padding-bottom: .8em !important;
}
table.search_list {
  border: 1px #ccc solid;
  width: 100%;
}
.search_list th {
  background: #333;
  color: #fff;
  padding: 1.4em;
}
.search_list th ,
.search_list td ,
.search_list tr {
  box-sizing: border-box;
  border: 1px #ccc solid;
  text-align: left;
}
.shop_name {
  width: 40%;
}
.shop_address {
  width: 60%;
}
.search_list a {
  display: block;
  padding: 1.4em;
}
.search_list td.shop_address a {
  color: #333;
  text-decoration: none;
}
span.result_num {
  padding: .2em 0 .2em .6em;
  display: inline-block;
  font-size: 2rem;
  color: #cc0000;
  font-weight: bold;
}
.btn_store_search.al_middle {
  text-align: center;
}
.btn_store_search.al_middle.search {
  padding: .6em 3em;
}
/* modal close button */
.ui-state-default {
  height: 20px;
  width: 20px;
  background: #808080;
  border: none;
  border-radius: 4px;
  position: absolute;
  right: 1em;
  top: 1em;
}
.ui-state-default:hover {
  height: 20px;
  width: 20px;
  background: #b2b2b2;
  border: none;
  border-radius: 4px;
  position: absolute;
  right: 1em;
  top: 1em;
}
.ui-icon-close {
  position: absolute;
  background-image: url(https://p2.ke-s.cc/css/jquery-ui/images/ui-icons_ffffff_256x240.png);
  background-position: -96px -128px;
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -8px;
  width: 16px;
  height: 16px;
}
/*--------------------------------------------------
    campaign
--------------------------------------------------*/
.contentbox {
  line-height: 1.6 !important;
}
.btn_cam {
  font-size: 2.6rem;
  padding: .4em 1em;
  border-radius: 8px;
  border-bottom: 6px solid #122d8c;
}
.notice_cam p:not(:first-child) {
  margin-bottom: 1em;
}
.notice_cam p:not(:first-child):before {
  content: "・";
}