/* Base  / header / footer / popup(Pinned/Tag/Pin/About/PinnedCondo) / popup(condo) / top(Img,Copy,Info)
/ title(top/result/list/banner/login/request) / condo(top,result) / kaminari(result) / condo(list) / condo(banner)
/ condo(show) / requests / popup(confirmation) / sendingAnimation / condos_table(top,index) */

/* Base ------------------------------------------------------------------------ */
html { font-size: 62.5%; }
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  color: #333333;
  line-height: 1.4;
  background-color: #f3f4f4;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
a {
  color: #333333;
  text-decoration: none;
}
label {
  cursor: pointer;
}
textarea, input {
  font-size: 1.6rem;
}
.container {
  display: flex;
  flex-direction: column;
}
*, *:before, *:after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.noticeColor {
  color: green;
}
.displayNone {
  display: none;
}
.pointerEventsNone {
  opacity: 0;
  pointer-events: none;
}
.editingContainer {
  width: 85%;
  margin: 0 auto;
  padding: 8rem 2rem 3rem;
  background-color: white;
}
.fontBold {
  font-weight: bold;
}
.fontWeight500 {
  font-weight: 500;
}
.fontColorBlue {
  color: #1a9ecb;
  /* color: #2db7df; */
  /* color: #003f8e; */
}
.fontColorYellow {
  color: #CFA500;
  /* color: #D6AE00; */
}
.fontColorPink {
  color: #c060cb;
}
.backGroundBlue {
  background-color: #2db7df;
}
.underline {
  border-bottom: 1px solid dimgray;
  display: inline-block;
  padding: 0 .5rem;
  margin: 0 auto .1rem;
}
.condoFormImg img {
  width: 100px;
}
#error_explanation {
  margin: 0 0 3rem 2.5rem;
  color: #003f8e;
}
.button, button, input[type="submit"], input[type="button"] {
  width: 80%;
  max-width: 35rem;
  font-size: 1.5rem;
  line-height: 2.8;
  border: 2px solid #003f8e;
  border-radius: .5rem;
  font-weight: 600;
  color: #003f8e;
  background-color: white;
  margin: 1.5rem auto 0;
  cursor: pointer;
  display: flex; 
  justify-content: center; 
}
.button a {color: #003f8e; }
.button img { padding: .1rem .5rem 0 0; }
@media (min-width: 850px) {
  body { line-height: 1.5; }
}
.newOrUpdateDisplay {
  font-weight: 500;
  font-size: 1.3rem;
  color: white;
  border-radius: .5rem;
}
.newDisplay {
  background-color: #c060cb;
}
.updateDisplay {
  background-color: #CFA500;
}
.topDisplay {
  transform: scale(0.6) rotate(0deg);
  -webkit-transform: scale(0.6) rotate(0deg); -moz-transform: scale(0.6) rotate(0deg); -ms-transform: scale(0.6) rotate(0deg); -o-transform: scale(0.6) rotate(0deg); transform: scale(0.6) rotate(0deg);
  padding: 0 .3rem .1rem;
  margin: .1rem -.5rem 0 -1.5rem;
}
.listDisplay {
  transform: scale(0.6);
  -webkit-transform: scale(0.6); -moz-transform: scale(0.6); -ms-transform: scale(0.6); -o-transform: scale(0.6); transform: scale(0.6);
  padding: .2rem .5rem .3rem;
  margin: -.2rem 0 0 -.7rem;
}
.resultDisplay {
  transform: scale(0.6);
  -webkit-transform: scale(0.6); -moz-transform: scale(0.6); -ms-transform: scale(0.6); -o-transform: scale(0.6); transform: scale(0.6);
  padding: .2rem .5rem .3rem;
  margin: -.2rem 0 0 -.7rem;
}
@media (min-width: 850px) {
  .newOrUpdateDisplay { font-size: 1.5rem; margin: .1rem -1.1rem 0 -1.5rem; }
  .listDisplay { margin: -.15rem 0 0 -.7rem;}
  .resultDisplay { margin: -.15rem 0 0 -.7rem;}
}
/* header ---------------------------------------------------------------------- */
.header {
  position: fixed;
  width: 100%;
  height: 43px;
  top: 0;
  left: 0;
  z-index: 9;
  display: flex;
  background-color: #eee;
  opacity: 0.85;
}
.logoBlock {
  margin: .35rem 0 auto .75rem;
}
.logoMeets {
  font-size: 1.8rem;
  font-weight: 700;
  color: black;
  font-family: 'Ubuntu', sans-serif;
}
.logoCopy {
  margin: -.7rem -2rem 0 -2.5rem;
  transform: scale(0.65);
  -webkit-transform: scale(0.65); -moz-transform: scale(0.65); -ms-transform: scale(0.65); -o-transform: scale(0.65);
  color: black;
}
.menu {
  display: flex;
  margin: .15rem 0 0 auto;
}
.menuTag, .menuList, .menuBanner, .menuPin {
  font-size: 1.4rem;
  font-weight: 600;
  color: black;
  text-align: center;
  margin: .5rem 0 -.4rem 0;
}
.menuPin {
  margin-left: 1rem;
}
.menuPinCount {
  display: flex;
}
#pinCount {
  font-size: 1.6rem;
  font-weight: bold;
  color: #2db7df;
  margin: .2rem 0 -1.1rem .2rem;
}
.menuJpnTitle {
  transform: scale(0.7);
  -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); -o-transform: scale(0.7);
  color: black;
}
.preparationIcon {
  position: absolute;
  transform: rotate(-3deg);
  -webkit-transform: rotate(-3deg); -moz-transform: rotate(-3deg); -ms-transform: rotate(-3deg); -o-transform: rotate(-3deg);
  margin: -3.1rem 0 0 .2rem;
  font-size: 1.3rem;
  text-align: center;
  color: white;
  font-weight: 500;
  background-color: rgba(0, 63, 142, 0.8);
  padding: 0 .3rem .1rem;
  border: 2px solid #003f8e;
}
@media (min-width: 850px) {
  .header { height: 60px; }
  .logoBlock { margin: .6rem 0 auto 1.2rem; }
  .logoMeets { font-size: 2.4rem; }
  .logoCopy { margin: -.8rem 0 0 -.7rem; transform: scale(0.85); -webkit-transform: scale(0.85); -moz-transform: scale(0.85); -ms-transform: scale(0.85); -o-transform: scale(0.85); }
  .menu { display: flex; margin: .1rem 0 0 auto; }
  .menu label, .menu a { padding-right: 2.5rem; }
  .menuTag, .menuList, .menuBanner, .menuPin { font-size: 1.9rem; font-weight: 600; margin: .8rem 0 -.3rem 0; }
  .menuPin { margin: .7rem 0 -.2rem .5rem; }
  #pinCount { font-size: 2.2rem; margin: .3rem 0 -1.1rem .2rem; }
  .menuJpnTitle { transform: scale(0.9); -webkit-transform: scale(0.9); -moz-transform: scale(0.9); -ms-transform: scale(0.9); -o-transform: scale(0.9); }
  .preparationIcon { margin: -3.5rem 0 0 .2rem; font-size: 1.5rem; }
}
/* footer ----------------------------------------------------------------------------------- */
.footerTags {
  padding: 1.5rem 0rem 0rem;
}
.footerTags ul {
  text-align: center;
  margin: .8rem 1rem 0rem;
}
.footerTags li {
  display: inline-block;
  line-height: 1.8;
  font-size: 1.4rem;
  margin: 0rem .8rem;
}
.footerTagsSortTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.5rem 3rem 0rem 1rem;
  position: relative;
}
.footerTagsSortTitle:before, .footerTagsSortTitle:after {
  content: "";
  flex-grow: 1;
  border-top: 1px solid lightgray;
  margin: 0 1rem;
}
.footerMeets {
  font-weight: 500;
  text-align: center;
  margin: 3rem 0 1rem;
  color: black;
}
.requestsFooterMeets {
  font-weight: 500;
  text-align: center;
  margin: 3rem 0 1rem;
  color: black;
}
@media (min-width: 850px) {
  .footerTagsSortTitle:before, .footerTagsSortTitle:after { flex-grow: 0; }
  .footerTags ul { margin: .5rem 10rem 0rem; }
  .footerTags li { font-size: 1.5rem; }
}
/* popup(Pinned/Tag/Pin/About/PinnedCondo) -------------------------------------------------------- */
.pinnedModal {
  z-index: 999;
  position: fixed;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f3f4f4;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  font-weight: bold;
}
.popupCheck {
  display: none;
}
.popupTag input:checked ~ .popupBackground_menu {
  display: block;
  opacity: 1;
}
.popupPin input:checked ~ .popupBackground_menu {
  display: block;
  opacity: 1;
}
.popupAbout input:checked ~ .popupBackground_menu {
  display: block;
  opacity: 1;
}
.popupBackground_menu {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  background-color: rgba(220, 220, 220, 0.9);
  opacity: 0;
  transition: opacity .2s;
}
.popupCondo input:checked ~ .popupBackground_pinnedCondo {
  display: block;
  opacity: 1;
}
.popupBackground_pinnedCondo {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  background-color: rgba(220, 220, 220, 0.9);
  opacity: 0;
  transition: opacity .2s;
}
/* ----------------------------------------- */
.close_area {
  position: absolute;
  width: 100%;
  height: 100%;
}
.popupMenuContainer {
  position: relative;
  width: 85%;
  height: 93%;
  top: 3%;
  bottom: 4%;
  background-color: white;
  border-radius: 1px;
  box-shadow: 0 0 5px rgba(94, 94, 94, 0.7);
  overflow: auto;
  margin: auto;
  padding: 2rem;
}
.popupMenuTitle {
  margin: 1rem auto 2rem;
}
.popupMenuTitle span {
  font-weight: 500;
}
.popupMenuTitleLine {
  border-top: 1px solid darkgray;
  padding: .2rem 0 0;
  margin: .2rem auto 0;
}
.popupClosebtn {
  position: absolute;
  top: -.1rem;
  right: 1.3rem;
  font-size: 3rem;
  color: darkgray;
  cursor: pointer;
}
.popupClosebtnBottom {
  display: flex;
  justify-content: center;
  font-size: 2rem;
  color: darkgray;
  margin: 2rem auto;
  cursor: pointer;
}
@media (min-width: 850px) {
  .popupMenuTitle { width: 70%; margin: 3rem auto; }
  .popupMenuTitle span { font-size: 2.2rem; }
  .popupClosebtn { top: .5rem; right: 2rem; }
}
/* ----------------------------------------- */
.popupTagContainer {
  text-align: center;
  margin: 0 auto;
}
.popupTagContainer ul {
  text-align: left;
  margin: 1rem 0 0;
}
.tagSortTitle {
  display: flex;
  align-items: center;
  margin: 0 3rem .5rem 1rem;
}
.tagSortTitle:after {
  border-top: 1px solid lightgray;
  content: "";
  flex-grow: 1;
  margin: 0 0 0 1rem;
}
.checkboxTagName {
  display: inline-block;
  line-height: 2.0;
  margin: 0 1rem;
}
.tagCheckboxLabel:hover {
  opacity: 0.8;
}
.selectedSearchTag {
  color: deeppink;
}
/* ----------------------------------------- */
.popupPinContainer {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.pinnedCondos {
  display: flex;
  margin: 1.5rem 0;
}
.pinnedCondos img {
  margin: .1rem .5rem 0 .2rem;
}
#pinnedcondoId > .button {
  margin-top: 3rem;
}
/* ----------------------------------------- */
.popupAboutContainer {
  margin: 0 auto;
}
.popupAboutElement {
  padding: 0 0 .5rem 1rem;
  text-align: center;
}
@media (min-width: 850px) {
  .popupTagContainer, .popupPinContainer, .popupAboutContainer { font-size: 1.5rem; width: 67%; }
  .checkboxTagName { line-height: 2.2; }
}
/* popup(condo) ------------------------------------------------------------------------------ */
.popupOverlay {
  display: block;
}
.popupBackground {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow-y: auto;
  z-index: 99;
  background-color: rgba(220, 220, 220, 0.85); 
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s ease, visibility 0.1s ease;
}
.popupOverlay.show .popupBackground {
  opacity: 1;
  visibility: visible;
}
.popupCondoContainer { 
  position: relative;
  width: 95%;
  max-width: 635px;
  height: 98%;
  top: 1%;
  bottom: 1%;
  background-color: white;
  border-radius: 1px;
  box-shadow: 0 0 5px rgba(94, 94, 94, 0.7);
  overflow: auto;
  margin: auto;
  padding: 3.5rem 1.5rem 1.5rem;
  white-space: normal;
}
.popupCondoPinLink {
  display: flex;
}
.pinnedcondo_popupCondoPinLink {
  display: flex;
}
.popupCondoLink span {
  font-size: 1.3rem;
  font-weight: 700;
  color: #2db7df;
  vertical-align: middle;
  margin: 0 0 0 .5rem;
}
.popupCondoLink img {
  vertical-align: middle;
}
.popupCondoName h2 {
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 .3rem .4rem;
}
.popupCondoNews {
  font-weight: 500;
  color: #CFA500;
  margin: 0 0 0 .4rem;
}
.popupCondoNameUnderline {
  border-bottom: 1px solid lightgray;
  margin: .5rem .3rem;
}
.popupCondoHeadline {
  color: #003f8e;
  font-weight: 500;
  margin: .7rem 0 -.2rem .5rem;
}
.popupCondoDescription {
  font-size: 1.4rem;
  line-height: 1.5;
  margin: .7rem 0 1rem .6rem;
}
.popupCondoImg img {
  width: 100%;
  max-width: 300px;
  max-height: 300px;
  width: auto;
  height: auto;
  display: block;
  margin: .3rem auto;
}
.popupCondoSpecs {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.popupCondoSpecs table {
  width: 95%;
  white-space:nowrap;
  border-collapse: collapse;
  background-color: #f3f4f4;
  margin: 1rem auto 1rem;
}
.popupCondoSpecs table th, td {
  border: solid 1px gray;
  font-size: 1.4rem;
}
.popupCondoSpecs table th {
  font-weight: 400;
  padding: .5rem 2rem;
}
.popupCondoSpecs table td {
  padding: .5rem 1rem;
}
.popupCondoSpecs img {
  vertical-align: bottom;
  padding: 0 .5rem 0 0;
}
.popupCondoMap img {
  margin: 3rem 0 0 0;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.popupCondoLinks {
  display: flex;
  flex-direction: column;
  width: 95%;
  margin: 2rem auto 3rem;
  text-align: center;
}
.popupCondoLinkTitle {
  font-size: 1.6rem;
  font-weight: 600;
  color: #2db7df;
}
.popupCondoLinkOfficialsite, .popupCondoLinkTel, .popupCondoLinkSelectedsite {
  width: 100%;
  line-height: 3.0;
  border: 2px solid #2db7df;
  border-radius: .5rem;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 1rem auto 0;
  padding: 0 1rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.popupCondoLinkOfficialsite span, .popupCondoLinkTel span, .popupCondoLinkSelectedsite span {
  color: #2db7df;
}
.popupCondoLinkOfficialsite img, .popupCondoLinkSelectedsite img {
  margin: 0 1rem -.15rem 0;
}
.popupCondoLinkOfficialsite:hover {
  opacity: 0.8;
}
.popupCondoLinkSelectedsite:hover {
  opacity: 0.8;
}
.popupCondoImgCaption {
}
.caption_small_font {
  display: inline-block;
  transform: scale(0.8);
  transform-origin: bottom left;
  line-height: 1;
  width: 125%;
  margin-right: -25%;
  white-space: normal;
}
@media (min-width: 850px) {
  .popupCondoContainer { width: 75%; padding: 3.5rem 3.5rem 2rem; }
  .popupCondoLink span { vertical-align: baseline; }
  .popupCondoLink img { vertical-align: bottom; }
  .popupCondoSpecs table th, td { font-size: 1.5rem; }
  .popupCondoName h2 { font-size: 1.7rem; }
  .popupCondoDescription { line-height: 1.6; }
  .popupCondoImg img { max-width: 550px; max-height: 550px; }
  .popupCondoLinkOfficialsite, .popupCondoLinkSelectedsite { width: 75%; }
  .popupCondoLinkTel { display: none; }
}
/* condo(demo)---------------------------------------------------------------------- */
.demoCondoContainer { 
  position: relative;
  width: 95%;
  max-width: 635px;
  height: 98%;
  top: 1%;
  bottom: 1%;
  background-color: white;
  border-radius: 1px;
  box-shadow: 0 0 5px rgba(94, 94, 94, 0.7);
  overflow: auto;
  margin: -1rem auto 5rem;
  padding: 3.5rem 1.5rem 1.5rem;
  white-space: normal;
}
@media (min-width: 850px) {
  .demoCondoContainer { width: 75%; padding: 3.5rem 3.5rem 2rem; }
}
.demoCopy {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  color: MediumVioletRed;
  border: 2px solid MediumVioletRed;
  padding: 1.5rem;
  border-radius: 1.5rem;
  margin: 3rem auto 3.5rem;
  width: 95%;
  max-width: 700px;
}
.demo_tabs {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 3.5rem 0 1rem;
}
.demo_tab {
  margin: 0 .5rem;
}
.demo_tab a {
  display: block;
  padding: 1rem 2rem;
  text-decoration: none;
  font-weight: bold;
  background-color: #f0f0f0;
  border-radius: 2rem;
  cursor: pointer;
}
.demo_tab a.active {
  color: #fff;
  background-color: #007bff;
}
.demo_tab_content {
  display: none;
}
.demo_tab_content.active {
  display: block;
}
/* top(Img,Copy,Info,Banner)-------------------------------------------------------- */
.topMain {
  padding: 43px 0 1rem;
  position: relative;
}
.topMainImg img {
  width: 100%;
}
.topMainCopy {  
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-top: 2rem;
  text-align: center;
  white-space: nowrap;
  font-weight: 400;
  color: white;
}
.topMainLogoMeets {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 -.7rem;
}
.topMainLogo img {
  width: 36px;
  height: 27px;
}
.topMainMeetsHome {
  font-size: 2.5rem;
  font-weight: 500;
  font-family: 'Ubuntu', sans-serif;
  margin: 0 0 0 .2rem;
}
.topMainCopyUnderline {
  font-size: 2rem;
  border-bottom: 1px solid white;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
  display: inline-block;
  padding: 0 .1rem .2rem;
}
.topMainCount {
  font-size: 1.5rem;
  margin: -.8rem 2.5rem 0 0;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}
.topMainHighlight {
  transform: scale(0.65) rotate(-3deg);
  -webkit-transform: scale(0.65) rotate(-3deg); -moz-transform: scale(0.65) rotate(-3deg); -ms-transform: scale(0.65) rotate(-3deg); -o-transform: scale(0.65) rotate(-3deg);
  display: inline-block;
  line-height: 1.2;
  position: relative;
  top: .8rem;
  right: -.5rem;
}
.topMainCount span {
  font-size: 2.5rem;
}
@media (min-width: 750px) {
  .topMain { padding-top: 60px; }
  .topMainCopy { padding-top: 5px; }
  .topMainLogo img { width: 100px; height: 100px; margin-top: -1.5rem ;}
  .topMainLogoMeets { margin: 0 0 -1rem 0;}
  .topMainMeetsHome { font-size: 7.5rem; margin: 0 0 0 1rem;}
  .topMainCopyUnderline { font-size: 6rem; border-bottom: 2px solid white; margin: 0 0 -1rem; }
  .topMainCount { font-size: 4rem; margin: -2.2rem 7.5rem 0 0; }
  .topMainHighlight { top: 2.2rem; right: -2.5rem; transform: scale(0.5) rotate(-3deg);
    -webkit-transform: scale(0.5) rotate(-3deg); -moz-transform: scale(0.5) rotate(-3deg); -ms-transform: scale(0.5) rotate(-3deg); -o-transform: scale(0.5) rotate(-3deg); }
  .topMainCount span { font-size: 6rem; }
}

.infoField {
  width: 90%;
  max-width: 800px;
  max-height: 150px;
  overflow-y: scroll;
  background-color: #f9f9f9;
  border-radius: .2rem;
  box-shadow: -1px -1px 1px rgba(145, 145, 145, 0.1), 1px 2px 4px rgba(0, 0, 0, 0.1);
  margin: 1.5rem auto 2.5rem;
  padding: 1.5rem 2rem 3rem;
}
.infoTitle {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center; 
}
.infoItem {
  padding: 0 .5rem;
}
.infoDate {
  font-weight: 400;
  color: darkgray;
  margin: 1rem 0 .3rem;
}
.infoPost {
  font-size: 1.4rem;
  font-weight: 400;
  color: #383838;
}
.infoPost span {
  line-height: 2.0;
}
.infoPostArea {
  font-size: 1.3rem;
  font-weight: 300;
  color: #383838;
}
.infoPostNews {
  font-size: 1.4rem;
  color: #CFA500;
}
.infoFieldLine {
  border-top: 1px solid lightgray;
  margin: 1rem 0 .5rem;
}
.infoFieldLine:last-of-type {
  display: none;
}
@media (min-width: 850px) {
  .infoField { max-height: 550px; margin: 4rem auto 5rem; padding: 2.5rem 3rem 4rem; }
  .infoPost { font-size: 1.5rem; }
  .infoFieldLine { margin: 1.5rem 0 1.5rem; }
}

.topBannerField {
  background-color: #f9f9f9;
  box-shadow: 1px -1px 1px rgba(145, 145, 145, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1);
  padding: 0 0 .5rem;
}
.topBannerTitle {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  margin: 1.5rem 0 1rem;
}
.swiper {
  width: 100%;
  height: 100%;
  --swiper-navigation-size: 15px;
  --swiper-navigation-top-offset: 35%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: gray;
  --swiper-pagination-color: gray;
  --swiper-pagination-bottom: 5px;
}
.swiper-wrapper {
  margin: 0 auto 2rem;
}
.swiper-slide {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1rem;
}
.swiper-slide img {
  width: 300px;
  height: 75px;
  object-fit: contain;
  object-position: center bottom;
  background-color: #f3f4f4;
}
@media (min-width: 850px) {
  .topBannerField { padding: 0 0 1rem; }
  .topBannerTitle { margin: 2.5rem 0 2rem; }
  .swiper { width: 75%; }
}

/* title(top/result/list/banner/login/request) ------------------------------------------- */
.backGroundWhite {
  background-color: white;
  padding: 7rem 0 0;
}
.infoField + .backGroundWhite {
  background-color: white;
  padding: 3rem 0 0;
}
.pageTitle {
  text-align: center;
  margin: 0 auto 2rem;
}
.pageTitle span {
  font-size: 1.8rem;
  font-weight: 500;
}
.pageTitleCount {
  font-size: 1.8rem;
}
.selectedTagsContainer {
  text-align: center;
  margin: 1rem 3rem 4rem;
}
.selectedTags {
  display: inline-block;
  font-weight: 400;
  color: dimgray;
  margin: .2rem .5rem;
}
@media (min-width: 850px) {
  .pageTitle { margin: 3rem auto 3rem; }
  .pageTitle span { font-size: 2rem; }
  .pageTitleCount { font-size: 1.9rem; }
  .selectedTagsContainer { margin: -1.5rem 3rem 6rem; }
  .selectedTags { font-size: 1.6rem; margin: .2rem 1rem; }
}

/* condo(top) --------------------------------------------------------------------------- */
.topCondosTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.5rem 2rem 2rem;
  /* position: relative; */
  font-weight: 400;
}
.topCondosTitle:before, .topCondosTitle:after {
  content: "";
  flex-grow: 1;
  border-top: 1px solid lightgray;
  margin: 0 1rem 0 .5rem;
}
.topCondos {
  width: 95%;
  display: flex;
  overflow-x: auto;
  margin: 1.5rem auto 2.5rem;
  padding: .5rem 0 0 1rem;
}
.topCondo {
  width: 140px;
  font-size: 1.3rem;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  margin: 0 .5rem 1rem 0;
  background-color: #f9f9f9;
  /* border-radius: .2rem; */
  box-shadow: -1px -1px 4px rgba(200, 200, 200, 0.1), 1px 2px 4px rgba(0, 0, 0, 0.1);
}
.topCondoImg img {
  width: 140px;
  height: 105px;
  object-fit: contain;
  object-position: center bottom;
  background-color: #f3f4f4;
  border-bottom: solid 1px #f3f4f4;
}
.topCondoSpecs {
  padding: .2rem .7rem 1rem;
}
.topCondoName, .topCondoNews {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 2行で制限 */
  overflow: hidden;
  height: 4rem; /* 2行分の高さ */
  text-overflow: ellipsis;
}
.topCondoName {
  color: #1a9ecb;
}
.topCondoSpec {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.5;
}
.topCondoNews {
  font-weight: 500;
  color: #CFA500;
  margin: .3rem 0 0;
}
@media (min-width: 850px) {
  .topCondosTitle { font-size: 2.1rem; font-weight: 500; margin: 4rem 20rem 3.5rem; }
  .topCondosTitle:before, .topCondosTitle:after { margin: 0 3rem 0 1.5rem; }
  .topCondos { width: 90%; max-width: 1200px; }
  .topCondo { width: 200px; font-size: 1.4rem; margin: 0 2rem 1rem 0; }
  .topCondoImg img { width: 200px; height: 150px; }
}
/* condo(result) ---------------------------------------------------------------------- */
.resultCondos {
  display: flex;
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
  padding: 1.5rem 2.5rem 3rem 1.5rem;
}
.resultCondo {
  display: flex;
}
.resultCondoPin {
  margin: auto 0 -.3rem 1rem;
}
.resultCondoClickArea {
  display: flex;
  flex-grow: 1;
}
.resultCondoSpecs {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.resultCondoName {
  font-weight: 500;
  color: #1a9ecb;
  margin: .5rem 0 0 -2rem;
}
.resultCondoArea {
  font-weight: 300;
  font-size: 1.3rem;
  color: #909090;
  margin: auto 0 .7rem auto;
}
.resultCondoImg {
  margin: auto 0 0 1rem;
}
.resultCondoImg img {
  width: 120px;
  height: 90px;
  object-fit: contain;
  object-position: center bottom;
  background-color: #f3f4f4;
}
.resultCondoDisplayNews {
  display: flex;
  white-space: nowrap;
  margin: .2rem 0 -.2rem 1.8rem;
}
.resultCondoNews {
  font-weight: 500;
  font-size: 1.3rem;
  color: #CFA500;
  margin: 0 0 0 -.1rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.condoLineSeparator {
  border-top: 1px solid lightgray;
  margin: 1.2rem .5rem 2rem;
}
.condoLineSeparator:last-of-type {
  display: none;
}
@media (min-width: 850px) {
  .resultCondoClickArea:hover > .resultCondoImg img { opacity: 0.8; }
  .resultCondoName { font-size: 1.6rem; margin: 1rem 0 0 -2rem; }
  .resultCondoArea { font-size: 1.4rem; }
  .resultCondoImg { margin: auto 0 0 2rem; }
  .resultCondoImg img { width: 180px; height: 135px; }
  /* .resultCondoDisplayNews { margin: .2rem 0 -.2rem 1.8rem; } */
  .resultCondoNews { font-size: 1.5rem; }
  .condoLineSeparator { margin: 2rem .5rem 3rem; }
}
/* kaminari(result) ------------------------------------------------------------------ */
  .kaminari {
    margin-top: 3rem;
  }
  .pagination {
    display: flex;
    justify-content: center;
  }
  .pagination a {
    display: block;
    color: dimgray;
    padding: 1rem 1.5rem;
  }
  .pagination a:hover {
    color: #84b8eb;
  }
  .current {
    font-weight: bold;
    color: #2db7df;
    padding: 1rem 1.5rem;
  }
  @media (min-width: 850px) {
    .kaminari { margin-top: 5rem; }
  }
/* condo(list) ---------------------------------------------------------------------- */
.listCondos {
  display: flex;
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
  padding: 0 3rem 3rem 2.5rem;
}
#toggleAllButton {
  width: 20%;
  max-width: 8rem;
  font-size: 1.2rem;
  line-height: 1.9;
  border: 1px solid;
  border-radius: .2rem;
  margin: -1rem 0 .5rem auto;
  cursor: pointer;
  display: flex; 
  justify-content: center; 
}
.listCondoDistrict {
  font-size: 1.4rem;
  font-weight: 500;
  color: #383838;
  margin: 1.5rem 0 2rem .2rem;
  padding: .1rem 1.5rem;
  border-left: 3px solid darkgray;
  background: #f4f4f4;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.districtCondoCount {
  color: darkgray;
  font-weight: 900;
}
.toggleIcon {
  font-weight: lighter;
  font-size: 2.5rem;
  margin-left: auto;
}
.listCondoPinName {
  display: flex;
}
.listCondoName h2 {
  /* font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 0 .4rem; */
}
.listCondoPin {
  margin: .1rem .3rem -.7rem 0;
}
.listCondoPinName span:hover {
  background-color: #f3f4f4;
}
.listCondoAreaLink {
  display: flex;
  justify-content: space-between;
  margin: .5rem 1rem 0 1.8rem;
}
.listCondoArea {
  font-weight: 300;
  font-size: 1.3rem;
  color: #909090;
  margin: 0 0 0 auto;
}
.listCondoLink {
  margin: 0 0 0 1rem;
  flex-shrink: 0;
}
.listCondoLink span {
  font-size: 1.3rem;
  color: #2db7df;
  vertical-align: top;
}
.listCondoLink img {
  /* vertical-align: top; */
}
.listCondoDisplayNews {
  display: flex;
  white-space: nowrap;
  margin: 0 0 -.5rem 2.5rem;
}
.listCondoNews {
  font-weight: 500;
  font-size: 1.3rem;
  color: #CFA500;
  overflow: hidden;
  text-overflow: ellipsis;
}
.listCondoLineSeparator {
  display: none;
  border-bottom: 1px solid lightgray;
  margin: 1.5rem 1.5rem 2rem;
}
@media (min-width: 850px) {
  .listCondoDisplayNews { margin: 0 0 -.3rem 2.5rem; }
  .listCondoNews { font-size: 1.5rem; }
}
/* condo(banner) ----------------------------------------------------------------------------- */
.bannerContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin: 3rem auto 3rem;
}
.bannerCondoImgArea {
  width: 250px;
  text-align: center;
  margin: 0 auto 3rem;
}
.bannerCondoImg img {
  width: 200px;
}
.bannerCondoArea {
  color: dimgray;
  margin: .5rem 0;
}
.bannerCondoLink span {
  font-size: 1.3rem;
  color: dimgray;
  vertical-align: top;
}
/* condo(show) ------------------------------------------------------------------------------- */
.condos_show {
  word-break: break-all;
}
.condos_show p {
  line-height: 2;
}
/* requests ------------------------------------------------------------------------------------ */
.requestsContainer {
  width: 85%;
  margin: 5.5rem auto 0;
  padding: 2.5rem 0 0;
  background-color: white;
}
.requestsElements {
  display: flex;
  flex-direction: column;
  max-width: 500px;
  margin: 0 auto;
  padding: 0 3rem 3rem 2.5rem;
}
.requestsFontBold {
  font-weight: bold;
  /* color: #003f8e; */
  margin: 0 0 3rem;
}
.requestsFieldTitle span {
  color: #D6AE00;
}
.requestsFieldTitle {
  display: flex;
  align-items: center;
  margin: 2rem 0 1rem;
}
.requestsFieldTitle:after {
  border-top: 1px solid lightgray;
  content: "";
  flex-grow: 1;
  margin: 0 0 0 1rem;
}
.requestsField {
  display: inline-block;
  width: 100%;
  max-width: 45rem;
  padding: 0.5em;
  margin: .5rem 0 1.5rem;
}
.requestsFieldConfirm {
  font-weight: bold;
  font-size: 1.6rem;
  margin: .3rem 0 3rem;
}
.requestsInfo {
  font-size: 1.4rem;
  margin: .5rem 0 1rem;
}
.requestsThanks {
  margin: 0 auto 3.5rem;
}
.requestsButton {
  margin: 2rem 0 1.5rem;
}
@media (min-width: 850px) {
  .requestsContainer { margin: 80px auto 0; }
  .requestsTitle { font-size: 1.6rem; margin: 5rem auto 5rem; }
  .requestsTitle span { font-size: 2.2rem; }
}
/* popup(confirmation) ----------------------------------------------------------------------- */
.confirmationModal {
  z-index: 999;
  position: fixed;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: whitesmoke;
  opacity: .98;
  padding: 3rem;
  border-radius: .5rem;
  border: 1px solid dimgray;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.confirmationModal p {
  font-weight: 600;
  margin: 0 0 3rem;
}
/* sendingAnimation -------------------------------------------------------------------------- */
.spinnerContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 999;
}
.spinner {
  width: 50vw;
  height: 50vw;
  border: 5px solid Gainsboro;
  border-top: 5px solid #2db7df;
  border-radius: 50%;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
  position: relative;
}
.messageContainer {
  font-size: 2rem;
  color: #003f8e;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.messageContainer span {
  font-size: 5rem;
  font-weight: 800;
}
@-webkit-keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/* condos_table(top,index) ----------------------------------------------------------------------------- */
.condosTableWrap {
  overflow-x: auto;
  position: relative;
  margin: 0 auto;
  width: 95%;
}
.indexCondosTableToggle {
  width: auto;
  margin: 1.5rem auto 0;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 500;
}
.topCondosTableToggle {
  max-width: 500px;
  margin: 1.5rem auto 0;
  cursor: pointer;
}
.condosTableToggleName {
  font-size: 1.4rem;
  font-weight: 400;
  color: #383838;
  padding: 0 0 0 .3rem;
}
.condosTableToggleCount {
  font-size: 1.3rem;
  color: #383838;
}
.condosTableToggleIcon {
  font-weight: 800;
  color: dimgray;
  margin: 1rem 0 0 1rem;
}
.condosTableScroll {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.condosTable {
  border-collapse: collapse;
  width: auto;
  white-space: nowrap;
  table-layout: auto;
  background-color: #f9f9f9;
  margin: .5rem auto 0;
}
.condosTable th,
.condosTable td {
  height: 30px;
  vertical-align: middle;
  padding: .25rem .2rem .25rem .8rem;
  text-align: left;
  font-size: 1.3rem;
}
.condosTable th {
  text-align: center;
  border: solid 1px gray;
  background-color: #F0F0F0;
}
.condosTable td:nth-child(5) {
  /* border-top: 1.5px solid darkgray; */
}
.condosTable th:last-child, td:last-child {
  padding: .25rem .35rem;
}
.condosTable tr:hover {
  background-color: PaleGoldenRod;
}
.condosTableStickyCol {
  position: sticky;
  left: 0;
  background-color: #f9f9f9;
  z-index: 2;
  min-width: 175px;
  max-width: 175px;
  outline: 1px solid gray;
}
.condosTableStickyCol h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.condosTableStickyCol:hover {
  background-color: PaleGoldenRod;
}
.condosTableColWithDisplay {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.condosTableArea {
  min-width: 155px;
  max-width: 155px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.condosTableNews {
  min-width: 175px;
  max-width: 175px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #CFA500;
  font-weight: 400;
}
.condosTableLayout {
  min-width: 97px;
  max-width: 97px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.condosTableSize {
  min-width: 125px;
  max-width: 125px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.condosTablePrice {
  min-width: 150px;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.condosTable tr img {
  vertical-align: middle;
}
.condosTable tr span {
  font-size: 1.3rem;
  color: #2db7df;
  vertical-align: middle;
}
@media (min-width: 550px) {
  .topCondosTableToggle { max-width: 950px; }
  .condosTable th, .condosTable td { font-size: 1.4rem; padding: .25rem 1rem; }
  .condosTableStickyCol { min-width: 325px; max-width: 325px; }
  .condosTableArea { min-width: 175px; max-width: 175px; }
  .condosTableNews { min-width: 255px; max-width: 255px; }
  .condosTableLayout { min-width: 105px; max-width: 105px; }
  .condosTableSize { min-width: 132px; max-width: 132px; }
  .condosTablePrice { min-width: 162px; max-width: 162px; }
}
/* index_table(users,infos,tags) ----------------------------------------------------------------------------- */
.indexTable {
  margin: 0 auto;
  background-color: #f9f9f9;
}
.indexTable td {
  padding: .5rem 1rem;
}
.indexTable tr:hover {
  background-color: PaleTurquoise;
}
