@charset "utf-8";

/* --- base layout ----------------------------------------------- */
#detail_wrapper {
  width: 100%;
}

#detail_main {
  width: 100%;
}

/* --- detail_header_picture ----------------------------------------------- */
#detail_header_picture {
  position: relative;
}

#detail_header_picture img {
  width: 100%;
}

#detail_header_picture #header_tellink {
  display: block;
  position: absolute;
}

/* --- detail_menu ----------------------------------------------- */
.detail_menu {
  overflow: hidden;
}

.detail_menu ul {
  width: 100%;
  margin: 1px 0;
  overflow: hidden;
}

.detail_menu li {
  display: table;
  table-layout: fixed;
  box-sizing: border-box;
  width: 33.3%;
  height: 41px;
  border-bottom: 1px solid transparent;
  border-right: 1px solid transparent;
  float: left;
}
.detail_menu li:nth-child(3) {
  border-right: 0 none;
}
.detail_menu li:nth-child(4),
.detail_menu li:nth-child(5) {
  display: none;
}

.detail_menu li a {
  display: table-cell;
  background-color: #4682B4;
  color: #FFFFFF;
  font-size: 1.3rem;
  line-height: 1.1;
  text-align: center;
  vertical-align: middle;
}

.detail_menu li span {
  display: inline-block;
  width: 90%;
  max-height: 2.2em;
  overflow: hidden;
  word-break: break-all;
}

/* --- detail_header_menu --- */
#detail_header_menu {
  margin-bottom: 10px;
}

/* --- detail_contents ----------------------------------------------- */
#detail_contents {
  margin-bottom: 20px;
  padding: 0 6px;
}

#detail_contents h2 {
  line-height: 20px;
}

/* --- detail_content ----------------------------------------------- */
.detail_content {
  margin-bottom: 20px;
}

#detail_panorama.detail_content,
#detail_video.detail_content,
#custom_text.detail_content,
#custom_content.detail_content {
  box-sizing: border-box;
  width: 100%;
}

#detail_panorama *,
#detail_video * {
  max-width: 100% !important;
}

/* --- headline ----------------------------------------------- */
h1#headline {
  padding: 3px 6px;
  background-color: #999999;
  font-weight: normal;
  line-height: 1.3;
  color: #FFFFFF;
}

h2#detail_top_title {
  margin-bottom: 10px;
  padding: 5px 0 5px 8px;
  background-color: #4682B4;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: normal;
}

h2.detail_content_title {
  border-width: 1px 1px 1px 8px;
  border-style: solid;
  margin-bottom: 10px;
  padding: 2px 5px;
  clear: both;
  font-size: 1.3rem;
  font-weight: bold;
  text-decoration: none;
  overflow: hidden;
}
body.sale h2.detail_content_title {
  background-color: #EBEFF9;
  border-color: #6890DA;
}
body.rental h2.detail_content_title {
  background-color: #EAF7EA;
  border-color: #007300;
}
body.eldercare h2.detail_content_title {
  background-color: #FEF9E9;
  border-color: #784116;
}

/* --- detail_info_table ----------------------------------------------- */
.detail_info_table {
  width: 100%;
}

.detail_info_table th,
.detail_info_table td {
  border-width: 1px;
  border-style: solid;
  padding: 2px;
}
.detail_info_table th {
  text-align: center;
}

body.sale .detail_info_table th,
body.sale .detail_info_table td {
  border-color: #6890DA;
}
body.sale .detail_info_table th {
  background-color: #EBEFF9;
}

body.rental .detail_info_table th,
body.rental .detail_info_table td {
  border-color: #007300;
}
body.rental .detail_info_table th {
  background-color: #EAF7EA;
}

body.eldercare .detail_info_table th,
body.eldercare .detail_info_table td {
  border-color: #784116;
}
body.eldercare .detail_info_table th {
  background-color: #FEF9E9;
}

/* --- detail_top ----------------------------------------------- */
.detail_top {
  width: 100%;
  margin-bottom: 5px;
  position: relative;
  overflow: hidden;
}

/* --- selling_point --- */
#selling_point_outer {
  box-sizing: border-box;
  width: 100%;
  background: #FFF9DD;
  margin: 0 0 10px;
  padding: 5px 9px;
}

#selling_point {
  margin: 0 1px;
  padding: 2px;
  background-color: #FFF9DD;
  font-size: 1.4rem;
  word-break: break-all;
}

#selling_point_more {
  display: inline-block;
  margin-left: 4px;
  font-size: 1.4rem;
  line-height: 1.5;
}
a#selling_point_more {
  text-decoration: underline;
  color: #0000EE !important;
}
a#selling_point_more:hover {
  color: #FF8000 !important;
}

.translate_link {
  display: inline-block;
  margin-left: 4px;
  padding-left: 18px;
  background: url(/images/front/common/translate.png) no-repeat;
  font-size: 1.4rem;
  line-height: 1.5;
}
a.translate_link {
  text-decoration: underline;
  color: #0000EE !important;
}
a.translate_link:hover {
  color: #FF8000 !important;
}

/* --- detail_top_feature --- */
.detail_top_feature {
  float: left;
}

.price_c {
  color: #E90000;
  font-size: 1.6rem;
}

#price_number {
  color: #FF0000;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
}

#full_address,
#full_access {
  font-size: 1.4rem;
  font-weight: bold;
}

/* --- detail_top_etc --- */
.detail_top_etc {
  float: right;
  text-align: right;
}
.detail_top_etc.qr_on {
  text-align: left;
}

.detail_top_etc #favorite_button_holder {
  height: 24px;
  width: 133px;
  margin-bottom: 3px;
}

.detail_top_etc #favorite_button_holder a {
  display: block;
  height: 100%;
  width: 100%;
  background: url(../../images/front/button/favorite_add.png) left top no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

/* --- qr_img --- */
#qr_img {
  display: none;
}

/* --- top_info ----------------------------------------------- */
#top_info {
  margin-bottom: 20px;
}

#top_info .detail_info_table {
  word-break: break-all;
}

#top_info .detail_info_table th {
  min-width: 2em;
}

#top_info .detail_info_table td {
  text-align: center;
}

/* --- basic_info ----------------------------------------------- */
#basic_info {
  position: relative;
  margin-bottom: 20px;
}

/* --- basic_info_picture ------ */
#basic_info_picture {
  margin-bottom: 10px;
  font-size: 0;
  text-align: left;
  position: relative;
}

#basic_info_picture .picture_holder {
  display: inline-block;
  box-sizing: border-box;
  width: 50%;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  font-size: 1.2rem;
  text-align: center;
  vertical-align: top;
}

#basic_info_picture .picture_image {
  overflow: hidden;
}

#basic_info_picture .picture_image img {
  width: 100%;
  max-width: 240px;
  max-height: 240px;
}

#basic_info_picture .picture_title {
  padding-top: 2px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#basic_info_picture img.alpha-icon {
  border: 0;
  position: absolute;
  top: -6px;
  left: -6px;
}

/* --- basic_info_text ------ */
#basic_info_text {
  width: 100%;
  float: right;
  vertical-align: top;
}

#basic_info_text .detail_info_table th {
  width: 31%;
}

#basic_info_text .detail_info_table td {
  width: 69%;
}

#basic_info_text #facility .detail_info_table th,
#basic_info_text #facility .detail_info_table td {
  width: auto;
}
#basic_info_text #facility .detail_info_table td {
  padding: 2px 5px;
}

/* --- facility --- */
#facility {
  margin: 10px 0 0;
}

#facility ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.facility_base {
  float: left;
  color: #FFFFFF;
}

.facility_outer {
  display: block;
  border-top: 1px solid #2952A3;
  border-bottom: 1px solid #2952A3;
  margin: 1px 3px 2px 1px;
  background-color: #668CD9;
}

.facility_inner {
  display: block;
  border-left: 1px solid #2952A3;
  border-right: 1px solid #2952A3;
  margin: 0 -1px;
  padding: 1px 2px;
  background-color: #668CD9;
  white-space: nowrap;
  line-height: 1.33;
}

.facility1_disable .facility_outer,
.facility1_disable .facility_inner {
  border-color: #CCCCCC;
  background-color: #CCCCCC;
}

.facility2 .facility_outer,
.facility2 .facility_inner {
  border-color: #0D7813;
  background-color: #4CB052;
}

/* --- other_info ----------------------------------------------- */
#other_info .detail_info_table th {
  width: 15%;
}

#other_info .detail_info_table td {
  width: 35%;
}

#other_info .open_house_date,
#other_info .open_house_place {
  display: block;
}

/* --- other_picture ----------------------------------------------- */
#other_picture ul {
  overflow: hidden;
  font-size: 0;
  text-align: left;
}

#other_picture li {
  display: inline-block;
  box-sizing: border-box;
  width: 33.3%;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  margin-bottom: 10px;
  font-size: 1.2rem;
  text-align: center;
  vertical-align: top;
}

#other_picture  .picture_etc_image img {
  width: 100%;
  max-width: 240px;
  max-height: 240px;
}

#other_picture .picture_etc_title {
  padding-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- map ----------------------------------------------- */
#map_area {
  width: 100%;
  height: 250px;
  margin: 0 auto;
  background-color: #EFEFEF;
}
#sv_area {
  width: 100%;
  height: 180px;
  margin: 10px auto 0;
  background-color: #EFEFEF;
  display: none;
}
#map_message,
#sv_message {
  padding: 5px 6px;
}

/* --- contact_button ----------------------------------------------- */
ul.contact_button_holder {
  width: 100%;
  max-width: 640px;
  margin: 20px auto 10px;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.contact_button {
  width: calc(50% - 4px);
  margin-bottom: 8px;
  position: relative;
}
.contact_button::before {
  content: "";
  display: block;
  padding-top: 28%;
}
.contact_button:hover {
  opacity: 0.75;
}
.contact_button:nth-child(2n+1) {
  float: left;
}
.contact_button:nth-child(2n+1):last-child {
  width: 100%;
}
.contact_button:nth-child(2n+1):nth-last-child(2),
.contact_button:last-child {
  margin-bottom: 0;
}
.contact_button:nth-child(2n+1):last-child::before {
  padding-top: 13.6%;
}
.contact_button:nth-child(2n) {
  float: right;
}

.contact_button_mail {
  background: url(../../images/front/button/sp/mail.png) 0 0 / contain no-repeat;
}

.contact_button_line {
  background: url(../../images/front/button/sp/line.png) 0 0 / contain no-repeat;
}

.contact_button_tel {
  background: url(../../images/front/button/sp/tel.png) 0 0 / contain no-repeat;
}
.contact_button_tel:nth-child(2n+1):last-child {
  background: url(../../images/front/button/sp/tel_wide.png) 0 0 / contain no-repeat;
}

.contact_button a,
.contact_button span {
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* --- contact_info_s ----------------------------------------------- */
#contact_info_s {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #E8E856;
  border-radius: 3px;
  margin: 0 auto 20px;
  padding: 9px 6px 6px 8px;
  background-color: #FFFFE0;
  overflow: hidden;
}

#contact_info_s .shop_name{
  margin-bottom: 4px;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #214083;
}

#contact_info_s .company_tel {
  font-size: 0;
}

#contact_info_s .normal_tel,
#contact_info_s .freedial {
  display: inline-block;
  margin-right: 6px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1;
  color: #434343;
  overflow: hidden;
}

#contact_info_s .freedial {
  height: 26px;
  padding-left: 46px;
  background: url(../../images/front/common/freedial_l.gif) 0 0 no-repeat;
}

#contact_info_s .normal_tel span.phone_number,
#contact_info_s .freedial span.phone_number {
  font-size: 2.6rem;
  color: #FF3300;
  vertical-align: middle;
}

#contact_info_s .normal_tel span.tel {
  color: #FF3300;
  vertical-align: middle;
}

#contact_info_s .feel_free,
#contact_info_s .from_ktai {
  display: inline-block;
  margin: 2px 0 1px;
  font-size: 1.2rem;
  overflow: hidden;
}

#contact_info_s .from_ktai span {
  color: #000080;
  font-size: 1.4rem;
  font-weight: bold;
}

/* --- contact_info ----------------------------------------------- */
#contact_info {
  box-sizing: border-box;
  width: 100%;
  border: 2px solid #999999;
  margin: 0 auto;
  font-size: 1.2rem;
  overflow: hidden;
}

#contact_info .introduction {
  padding: 4px 6px 6px;
  background-color: #999999;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: bold;
  color: #FFFFFF;
}

#contact_info .company_name_box {
  padding: 6px;
  font-size: 1.2rem;
}

#contact_info .company_name {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.9;
}

#contact_info .company_name img {
  vertical-align: bottom;
  padding-bottom: 5px;
}

#contact_info .company_tel {
  padding: 6px 6px 4px;
  border-top: 1px dashed #CCCCCC;
  font-size: 0;
}

#contact_info .normal_tel,
#contact_info .freedial {
  display: inline-block;
  margin-right: 6px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1;
  color: #434343;
  overflow: hidden;
}
#contact_info .freedial {
  height: 26px;
  padding-left: 46px;
  background: url(../../images/front/common/freedial_l.gif) 0 0 no-repeat;
}

#contact_info .normal_tel span.phone_number,
#contact_info .freedial span.phone_number {
  font-size: 2.6rem;
  color: #FF3300;
  vertical-align: middle;
}

#contact_info .normal_tel span.tel {
  color: #006400;
  vertical-align: middle;
}

#contact_info .feel_free,
#contact_info .from_ktai {
  display: inline-block;
  font-size: 1.2rem;
  overflow: hidden;
}

#contact_info .from_ktai span {
  color: #000080;
  font-size: 1.4rem;
  font-weight: bold;
}

/* --- detail_side ----------------------------------------------- */
#detail_side {
  display: none;
}

/* --- detail_personal ----------------------------------------------- */
.detail_personal {
  width: 330px;
  max-width: 100%;
  margin: 0 auto 10px;
  overflow: hidden;
}

.detail_personal #history_link,
.detail_personal #favorite_link {
  width: 155px;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
}

.detail_personal #history_link {
  float: left;
}

.detail_personal #favorite_link {
  float: right;
}

.detail_personal a {
  display: block;
  height: 30px;
  padding: 2px 0;
  color: #545454 !important;
  line-height: 29px;
  font-size: 1.4rem;
  text-decoration: none;
}
.detail_personal a:hover {
  color: #545454 !important;
  font-size: 1.4rem;
  text-decoration: underline;
}

.detail_personal #history_link a {
  padding-left: 34px;
  background: url(../../images/front/common/history_icon.png) 6px 49% no-repeat;
}

.detail_personal #favorite_link a {
  padding-left: 38px;
  background: url(../../images/front/common/favorite_icon.png) 6px 49% no-repeat;
}

.detail_personal .personal_count {
  color: #42A800;
  font-size: 2rem;
  font-weight: bold;
  line-height: 28px;
  vertical-align: top;
}
.detail_personal .personal_count.personal_count_none {
  color: #767676;
}

/* --- eldercare medical ----------------------------------------------- */
.medical_mark {
  font-size: 1.8rem;
  line-height: 1;
}

.medical_mark_ok {
  color: #6FB501;
}
.medical_mark_cr {
  color: #FF9700;
}
.medical_mark_ng {
  color: #828282;
}

#medical_mark_info {
  margin: 10px 0;
}

.medical_mark_info_item {
  display: inline-block;
  margin: 0 5px 0 0;
}

.medical_mark_info_item .medical_mark {
  display: inline-block;
  vertical-align: middle;
}

.medical_mark_info_item .medical_mark_exp {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.8rem;
  vertical-align: middle;
}

#medical_list {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

#medical_list .medical_list_item {
  box-sizing: border-box;
  width: calc(50% - 2px);
  border-radius: 5px;
  margin: 0 4px 4px 0;
  padding: 4px 0 4px 5px;
  background-color: #FFF5F5;
  white-space: nowrap;
  overflow: hidden;
  float: left;
}
#medical_list .medical_list_item:nth-child(2n) {
 margin-right: 0;
}

#medical_list .medical_list_mark {
  display: inline-block;
  vertical-align: middle;
}

#medical_list .medical_list_label {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.8rem;
  vertical-align: bottom;
}

/* --- member_limited ----------------------------------------------- */
#member_limited_info {
  margin: 30px auto 20px;
  color: #FF3300;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}

#member_limited_container {
  box-sizing: border-box;
  background-color: #E3E3E3;
  border: 1px solid #CFCFCF;
  margin: 5px auto 30px;
  overflow: hidden;
  padding: 10px;
  width: 100%;
}

#detail_contents #member_limited_container a {
  color: #5000A8;
  text-decoration: underline;
}
#detail_contents #member_limited_container a:hover {
  color: #A659FF;
}

#member_limited_container .attention {
  font-weight: bold;
}

#member_limited_container ul.member_limited_ex {
  margin: 0 0 10px;
  padding: 0 0 0 1em;
  list-style-type: disc;
}

#detail_login {
  padding: 9px;
  border: 1px solid #D6D6D6;
  background-color: #F9F9F9;
}

#form_login {
  margin-bottom: 12px;
}

#form_login table{
  width: 100%;
}

#form_login input.text {
  width: 90%;
}

#form_login .login_button {
  text-align: center;
}

#form_login .login_button input {
  font-family: NotoSansJP-R, "Hiragino Kaku Gothic ProN", YuGothic-M, sans-serif;
}

#detail_login .form_error {
  margin-bottom: 5px;
  padding: 2px;
  background-color: #FF6600;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

.has_error #detail_login,
.has_error #detail_register {
  height: 192px;
}

#detail_login_nav_links {
  width: 17em;
}

#detail_login_nav_links a {
  display: inline-block;
}
#detail_login_nav_links a:first-child {
  margin-bottom: 0.7em;
}
#detail_login_nav_links a:last-child {
  margin-left: 0.7em;
}

#detail_register {
  padding: 14px 9px 9px;
  border: 1px solid #D6D6D6;
  background-color: #F9F9F9;
}

#detail_register_caption {
  margin-bottom: 5px;
  font-size: 1.4rem;
  text-align: center;
}

#detail_register_button {
  text-align: center;
}

.pp_social {
  display: none;
}

.pp_pic_holder.facebook
{
  width: 100% !important;
  margin-top:-100px !important;
  left: 0 !important;
  overflow: hidden;
}
div.facebook .pp_content_container .pp_left
{
  padding-left: 0 !important;
}
div.facebook .pp_content_container .pp_right
{
  padding-right: 0 !important;
}
.pp_content
{
  width: 100% !important;
  height: auto !important;
}
.pp_fade
{
  width: 100% !important;
  height: 100% !important;
}
a.pp_expand,
a.pp_contract,
.pp_hoverContainer,
.pp_gallery,
.pp_top,
.pp_bottom
{
  display: none !important;
}
#pp_full_res img
{
  width: 100% !important;
  height: auto !important;
}
.pp_details
{
  box-sizing: border-box;
  width: 100% !important;
  padding-left: 3%;
  padding-right: 4%;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #fff;
  margin-top: -2px !important;
}
a.pp_close
{
  right: 10px !important;
  top: 10px !important;
}