@charset "utf-8";
/* CSS Document */

* {
	font-family: 'Noto Sans JP', sans-serif;
}
html {
  position: relative;
  min-height: 100%;
}
.page {
  margin-bottom: 200px;
}
.topPage{
	margin-bottom: 150px;
}
.container .row{
	padding: 0;
}
/* ヘッダー */
header{
	/*background-color: #000;*/
	background-color: #333;
	padding: 15px 0;
}
.topPage header{
	padding: 15px 0 15px 15px;
}
header h1{
	color: #fff;
	font-size: 18px;
	padding-top: 5px;
}
.roomName{
	padding-left: 15px;
	color: #fff;
	margin: 0;
}
.mansionName{
	font-weight: bold;
}
header a{
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	border: #fff 1.5px solid;
	border-radius: 5px;
	padding: 5px;
	text-align: right;
}
header a:hover{
	color: #fff;
	text-decoration: none;
}
.topPage header .col-3{
	padding-left: 0;
}
/* フッター */

footer {
	background-color: #000;
	color: #FFFFFF;
	padding:15px 0 10px;
	position: absolute;
  	bottom: 0;
	width: 100%;
	height: 150px;
}
footer p,footer ul{
	text-align: center;
	font-size: 13px;
}

footer a{
	color: #fff;
}

footer a:hover{
	color: #5B626B;
	text-decoration: none;
}
.footerCautions{
	font-size: 12px;
}
/* ログオン画面 */
.logon section{
	margin: 50px auto;
	max-width: 550px;
}
.logon h2{
	margin-top: 50px;
	font-weight: bold;
	font-size: 18px;
}

/* index */
.top{
	margin: 40px auto 90px;
	text-align: center;
}
.top a{
	color: #000;
	font-weight: bold;
	text-decoration: none;
}
.top .icon{
	border: 3px solid #000 ;
}
.top img{
	margin:40px auto 10px;
	position: relative;
	}
.border_radius{
	border-radius: 18px;
}
.recommend{
	background-color: #EBEBEB;
	padding: 30px 0 20px;
	text-align: center;
}
.recommend h2 {
	font-size: 24px;
}
.recommend a:hover{
	opacity: 0.6;
}
.recommend .qrImg{
	text-align: center;
	margin: 0 auto;
	font-size: 12px;
}

/* 通知マーク */
.badge{
	border-radius: 50%;
}
.top .badge{
	position: absolute;
	top:25px;
	right: 3px;
	width: 30px;
	height: 30px;
}
.messageList .badge{
	width:18px;
	height: 18px;
}
/* 文字装飾 */
.second {
	font-weight: normal;
	font-size: 10px;
	color: #999;
}
.modification,.manual .explanation span{
	color: #CB2A2D;
}
.warning{
	font-size: 13px;
	color: #BF0003;
}
/* ページタイトル */
.pageTitle{
	background-color: #EBEBEB;
	padding: 10px 0;
	margin-bottom: 50px;
}
.QandA .pageTitle,.message .pageTitle{
	margin-bottom: 0;
}
.pageTitle .icon{
	border: 1.5px solid #000 ;
}
.pageTitle .border_radius{
	border-radius: 7px;
}
.pageTitle img{
	max-width: 50px;
}
.pageTitle h2{
	font-size: 22px;
	margin: 0 0 3px 15px;
}

.subtitle {
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 50px;
	position: relative;
	text-align: center;
	color:#333;
}
.subtitle:before {
	content: '';
	position: absolute;
	bottom: -18px;
	display: inline-block;
	width: 10%;
	height: 5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #333;
	border-radius: 2px;
}

/* 説明テキスト */
.short{
	text-align: center;
}
/* ボタン */
.mainButton,.subButton,.pdfButton,.noneButton{
	text-align: center;
}
.mainButton a,.subButton a,.pdfButton a,.noneButton a{
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	width: 280px;
}

.mainButton button,.subButton button,.pdfButton button,.noneButton button{
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	width: 280px;
}

.mainButton a, .mainButton button{
	padding: 15px;
	background-color: #222;
	color: #fff;
	/*border-radius: 10px;*/
	border-radius: 4px;
}
.subButton a, .subButton button{
	padding: 10px;
	/*background-color:#666;*/
	background-color:#111;
	color:#fff;
	/*border-radius:7px;*/
	border-radius: 4px;
}

button{ border: none; transition: .5s;}

.pdfButton a, pdfButton button{
	padding: 10px;
	background-color:#fff;
	color:#000;
	border: solid 1.5px #000;
	border-radius:7px;
}
.noneButton a, .noneButton button{
	padding: 15px;
	background-color:#ddd;
	color:#fff;
	border-radius: 10px;
	cursor: default;
}

.mainButton a:hover, .subButton a:hover, .mainButton button:hover, .subButton button:hover{
	opacity: 0.8;
}

.soloButton{
	margin: 50px 0;
}
.addButton{
	margin-top: 35px;
}
.topButton{
	margin-top: 50px;
}
.repeatButton{
	margin-bottom: 15px;
}

/* ラジオボタン */

input[type=radio]{
	display: none;
	width: 100%;
}
.originalRadio{
	cursor: pointer;
	display: inline-block;
	padding-left: 30px;
	position: relative;
}
.originalRadio:before{
	background: #fff;
    border: 1px solid #bbb;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    width: 16px;
    left: 6px;
    margin-top: -7px;
    position: absolute;
    top: 50%;
}
.originalRadio:after {
    background: #15B353;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    width: 10px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 50%;
}
input[type=radio]:checked + .originalRadio::after{
    opacity: 1;
}

/* ご利用にあたりリスト */
.Notice ul{
	margin:0;
}

.notice-list {
  list-style: circle;
	list-style-position: outside;
	margin:0 15px 20px 0;
	padding-bottom:20px;
	border-bottom:1px #ddd solid;
}

/*
.notice-list {
    list-style:  none;
    position: relative;
}
.notice-list:before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: -20px;
    width: 12px;
    height: 12px;
    border: 1px solid #000;
    border-radius: 50%;
}
*/

.notice-list .notice-subList{ list-style-type: decimal; margin:30px 0 30px 10px; padding: 0; }
.notice-list .notice-subList li{ margin-bottom: 10px;}




/* 表やリスト */

.mainList,.subList{
    list-style:  none;
	padding: 0;
	margin: 0;
	word-wrap: break-word;
	margin-top: 50px;
}
.mainList li{
	padding: 35px 0 ;
}
.subList li{
	padding: 15px 0;
}
.mainList .unalterable{
	background-color: #F4F6F6;
}
.listLine{
	border-bottom: 1px solid #BBBBBB;
}
.listLine-top{
	border-top: 1px solid #BBBBBB;
}
.mainList h3{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}
.mainList span{
	font-weight: normal;
	font-size: 8px;
	color: #BD6062;
	padding-left: 6px;
}
.w-100{
	margin-bottom: 12px;
}
.mainList .col-sm-12,.mainList .col-6{
	margin-bottom: 6px;
}
.mainList .switching{
	background-color: #ccc;
	color: #000000;
	font-size: 11px;
	padding: 2px 5px;
	margin:0 15px 20px 0;
}
.mainList .switching a{
	text-decoration: none;
	color: #000000;
	cursor: pointer;
}

.mainList .col-8 ul{
	list-style: none;
	padding: 0;
}
.mainList .col-8 li{
	padding: 0;
}
.listTable{
	border-top: 1px solid #bbb;
	border-left: 1px solid #bbb;
	text-align: center;
	margin: 15px auto 30px;
}
.listTable .col-6,.listTable .col-12{
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	padding: 10px 0 7px;
}

.item{
	background-color: #EDEDED
}
.lifeline .listTable,.manual .listTable{
	max-width: 500px;
}
/* 本人確認 */
.authentication .form-row{
	margin-top: 50px;
}

/* 登録情報 */
.deleteFamilyMember select,
.deleteFamilyMember input {
    background-color: #e9ecef;
}

/* 来客用駐車場 */
.parking-notice .accordion .subButton:hover{
	color: #fff;
	cursor: pointer;
}
.parkingImg{
	text-align: center;
	border: solid 1px #bbb;
}
.mainParkingImg{
	margin: 40px auto;
}
.parking-notice .tel{
	background-color: #eee;
	padding: 30px 20px;;
}
.parking-notice .tel h3{
	text-align: center;
	font-size: 21px;
	margin-bottom: 20px;
}
.parking-notice .tel h3+p{
	color: #BF0003;
}
.parking-notice .tel h3+p+p{
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}
.parking-notice .accordion{
	margin: 30px auto;
}
.parking-notice .accordion p{
	text-align: center;
}
.parking-notice .accordionInner{
	padding: 25px 0 40px;
}
.parking-example h3{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}
.parking-example .parkingImg{
	margin-bottom: 50px;
}
.parking h3{
	font-size: 18px;
	margin-top: 30px;
	font-weight: bold;
}

.parking .mainButton+p{
	text-align: center;
	margin-top: 7px;
}
.modal{
	text-align: center;
}
.modal p{
	padding: 30px 20px 0;
}
.modal .ok{
	padding: 15px;
	background-color: #222;
	color: #fff;
	font-weight: bold;
	border-radius: 10px;
	width: 130px;
	margin: 30px 0;
	border-style: none;

}
.modal .cancel{
	padding: 15px;
	background-color: #fff;
	font-weight: bold;
	border-radius: 10px;
	width: 130px;
	margin: 30px 0;
	border: solid #000 2px;
}
/* Q&A集 */
.breadcrumb{
	background-color: #fff;
	padding-left: 0;
	margin-bottom: 0;
	border-radius: 0;
}
.categoryLink a,.detailTitle,.messageTitle a{
	color: #000;
	font-weight: bold;
	text-decoration: none;
}
.detailTitle, .detail{
	border: 1px solid #bbb;
	border-radius: 7px;
	margin-bottom: 20px;
	padding: 15px;
}
.detail p{
	margin: 0;
}
.detail p+ul{
	margin:30px 0 0;
	padding: 0;
}
.detail p+ul li{
	list-style-type: none;
	margin-top:10px;
}
.detail p+ul li button{
	display:inline-block;
	text-align: left;
	border:1px #333 solid;
	border-radius: 3px;
	padding: 10px;
	width: 100%;
}
.detail p+ul li button:hover{ color:#999;}



.inquiry .col-12 .form-control{
	width: 150px;
	margin-left: 20px;
}
.inquiry-check .w-100{
	margin-bottom: 20px;
}
.inquiry-check .modal-header h4{
	font-weight: bold;
	font-size: 18px;
}
.inquiry-check .modal-header{
	padding: 20px 0 0 0;
}
.inquiry-check .modal .Notice{
	text-align: left;
}
/* 掲示板/問合せ/履歴　*/
.messageList h3{
	font-size: 18px;
	overflow: hidden;
	width: 240px;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
}
.messageTitle{
	margin: 0
}
.messageList .col-6 , .customer+.date{
	text-align: right;
}

.pager .pageNav01 {
	margin: 0 0 10px;
	padding: 20px 10px 0 ;
	text-align: center;
}
.pager .pageNav01 li {
	display: inline;
	margin: 0 2px;
	padding: 0;
}
.pager .pageNav01 li a {
	display: inline-block;
	margin-bottom: 5px;
	padding: 0 8px;
	border: 1px solid #aaa;
	text-decoration: none;
	vertical-align: middle;
	color: #666;
}

.pager .pageNav01 li a:hover {
	background: #ddd;
}

.pager .selecting{
	background-color: #ddd;
}
.pager .disabled{
	pointer-events: none;
}
.message nav{
	margin-bottom: 0;
}
.message section{
	margin-bottom: 100px;
}
.message h2{
	overflow: hidden;
	width: 1140px;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
	font-size: 18px;
}

.message .linkBtn button{
	display:inline-block;
	padding: 5px 10px;
	background-color:#fff;
	border: #000 solid 1px;
	color:#000;
	text-decoration: none;
	border-radius:3px;
	text-align: center;
	font-size: 14px;
	margin-top: 15px;
}

.message .chat img{
	display: block;
	max-width:100%;
	width:auto;
	height: auto;
	margin:0 auto;
}

.message .chat p{ padding: 15px;}

.message .inquiryContent a{
	display:inline-block;
	padding: 5px;
	background-color:#fff;
	border: #000 solid 1px;
	color:#000;
	text-decoration: none;
	border-radius:3px;
	width: 100px;
	text-align: center;
	font-size: 14px;
	margin-top: 15px;
}

.message .admin{
	padding: 15px;
	margin-right: 30px;
	background-color:#DDDDDD;
	border-radius: 20px;
	border-bottom-left-radius: 0;
}
.message .customer{
	padding: 15px;
	margin-left: 30px;
	border: 1px #bbb solid;
	border-radius: 20px;
	border-bottom-right-radius: 0;
}
.message .chat .date{
	margin-bottom: 15px;
}
.message .chat .date span{
	padding-left: 10px;
}
.message textarea{
	border: #bbb 1px solid;
	margin-bottom: 20px;
	height: 65px;
}
.fixed-bottom{
	background-color: #fff;
	padding-bottom:20px;
}
/* 車庫証明発行申請*/
.certificate-notice ul span{
	color: #BF0003;
}
/* 契約更新*/

.update ul{
	margin-bottom: 50px;
}
.update h3{
	font-size: 18px;
	font-weight: bold;
	margin-top: 30px;
}
.update label{
	display:block;
	position:relative;
	margin: 50px auto 15px;
	text-align:center;
}
.update input{
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
}
.update input+span{
	padding-left:1em;
}

/* ポイントシュミレーター */

.simulation h3{
	font-size:20px;
	font-weight: bold;
	text-align: center;
}

.currentPoints{ margin: 20px auto 40px; padding-bottom:0; border-bottom:1px #333 solid;}
.simulation .currentPoints h3{ font-size:16px}
.simulation .currentPoints p{ font-size:14px; margin-left:20px;}
.simulation .currentPoints p span{ padding-right:10px;font-size:26px; font-weight: bold;}


.pointSimulator{margin:20px auto;}
.pointSimulator ul{ list-style-type: none;}
.pointSimulator ul{ padding: 0; margin: 0;}
.pointSimulator li{ padding: 0; margin: 0 0 10px;}
.pointSimulator h4 {background-color:#ddd; color:#111; padding: 5px; text-align: center; font-size:16px;}

.pointSimulator .purpose{ margin:20px auto 40px;}

.pointSimulator .budget, .pointSimulator .usePoint{
	display: flex;
	align-items:center;
}
.pointSimulator .budget{ margin-bottom:25px;}

.pointSimulator .budget span, .pointSimulator .usePoint span{
	flex:0 0 70px;
	padding-left:10px;
}

.pointSimulator .usePoint+p{ font-size:12px; margin:5px 0 35px; color:#df6c6c;}

.pointSimulator .result{
	padding: 20px 0;
	text-align:center;
	font-size:18px;
	font-weight: bold;
}

.pointSimulator .result p{
	display: block;
	border:1px #ddd solid;
	border-radius: 5px;
	padding:10px 50px;
	color:#333;
	background-color:#f5f5ec;
}

.pointSimulator .result p span{
	font-size:50px;
	margin-right:10px;
	color:#df6c6c;
}

.pointSimulator .form-check-label span{font-size:12px;}

/*
.pointSimulator > ul{ border-top: 1px #999 solid; border-right: 1px #999 solid; border-left: 1px #999 solid; margin: 0; padding: 0;}
.pointSimulator > ul li { border-bottom: 1px #999 solid;margin: 0; padding: 0;}

.pointSimulator > ul > li > h4{
	padding: 0 5px;
	margin: 0;
	background-color:#ededed;
	display: flex;
	align-items: center;
	border-right:1px #b9b9b9 solid;
}

.pointSimulator > ul > li > h4 > span{
	font-size:14px;
	line-height: 1.4em;
	display: block;
	width:100%;
	text-align: center;
}

.pointSimulator > ul > li > h4 > span span{
	font-size:11px;
	margin-top:5px;
	display: block;
}
.pointSimulator > ul > li > div{
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	padding: 10px;
}

.pointSimulator > ul > li > div input[type=text]{
	width:120px;
	margin:0 auto;
	padding:5px;
	border:1px #ddd solid;
	border-radius: 3px;
}

.pointSimulator > ul > li > div > div{ font-size:14px; }
.pointSimulator > ul > li > div > p{
	font-size:14px;
	margin: 0;
	padding: 0;
}

.pointSimulator > ul > li > div > p > span{
	display: inline-block;
	font-size:24px;
	font-weight: bold;
	color:#d4906b;
	border-bottom:2px #d4906b solid;
	text-align: center;
	width:120px;
}
*/
.pointSimulator+.notice{ font-size:14px;}
.pointSimulator+.notice > div > p{ margin:0 15px 20px; border: 1px #ddd solid; padding: 10px;}

/* 問い合わせ */
.formContent{width:90%;margin:20px auto 50px;}
.eventSelect{line-height: 2em; font-size:14px;}
.eventSelect span{display: inline-block; padding: 5px 20px; border-radius: 3px; font-weight: bold;font-size:20px;margin:0 10px 0 5px;background-color:#eee}
.formContent textarea{height: 200px; width:100%; font-size:14px;padding: 10px;}
.cau{font-size:12px;}


/* 小型デバイス (375px以上の携帯) */

@media(min-width:375px){
.messageList h3{
	width: 290px;
}
}
/* 小型デバイス (414px以上の携帯) */
@media(min-width:414px){
.messageList h3{
	width: 330px;
}
	}
@media(min-width:500px){
.messageList h3{
	width: 400px;
}
	}
/* 小型デバイス (576px以上の携帯) */
@media(min-width:576px){
	header h1{
	font-size: 22px;
}
	footer p,footer ul{
	font-size: 15px;
}
	.topPage header .container{
	padding: 0px 30px;
}
	.roomName{
	border-left: solid 1px #fff;
	padding-left: 20px;
}
	.top .badge{
	position: absolute;
	top:20px;
	right: 0;
	width: 45px;
	height: 45px;
}

.recommend h2 {
	font-size: 30px;
}

.titleOnly h2{
	margin-left: 0;
}
.messageList h3{
	width:460px;
}

.notice-list {
	border-bottom:none;
	margin:0 15px 20px 0;
	padding-bottom:0;
	}
}

/* 中型デバイス (768px以上のタブレット)*/
@media(min-width:768px){

.recommend{
	text-align: left;
}
.page {
  margin-bottom: 180px;
}
.topPage{
	margin-bottom: 130px;
}
footer{
	text-align: center;
	height: 130px;
}

.mainList .col-sm-12{
	margin-bottom: 0;
}
.parking-notice .tel h3+p+p+p{
	text-align: center;
}
.messageList h3{
	width:640px;
}
.message h2{
	font-size: 22px;
}

.detail p+ul li button{
	width:auto;
	padding: 7px 15px;
}

}

/* 大型デバイス (992px以上のデスクトップ)*/
@media(min-width:992px){
.recommend{
	text-align: left;
}
footer{
	text-align: center;
}
.parking-notice .tel{
	text-align: center;
}
.messageList h3{
	width:880px;
}

.currentPoints+h3+p{text-align: center;}
/*.pointSimulator > ul > li > div > p > span{margin-left:5px;}*/
	.pointSimulator .result{ padding: 50px 0;}

	.pointSimulator+.notice{text-align: center;}
	.pointSimulator+.notice > div > p{text-align: left;}
}

/*  超大型デバイス (1200px以上の大きなデスクトップ)*/
@media(min-width:1200px){
.topPage header .container{
	padding: 0px 115px;
}
.container{
	padding: 0 100px;
}
.logon section .container{
	padding: 0;
}
.top{
	font-size: 25px;
}
.top .row img{
	margin:50px auto 10px;
}
.recommend{
	text-align: left;
}
footer{
	text-align: center;
}
	}

