@charset "utf-8";

/*-------------------------------------
	Top
-------------------------------------*/

#loading { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; margin: 0; background: #FFF; overflow: hidden; z-index: 9999; }
#loading .inner { position: relative; height: 100%; }
#loading img { position: absolute; top: 50%; left: 50%; margin: -60px 0 0 -60px; -webkit-animation: 0.6s ease-in-out fade 2.5s; animation: 0.6s ease-in-out fade 2.5s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

#Visual { position: relative; overflow: hidden; }

#Slider { margin: 0 auto; padding: 0 30px; width: 100%; max-width: 1300px; height: 610px; }
#Slider .slick-list { background: url("/images/home/visual01.jpg") center no-repeat; background-size: 100%; overflow: visible; }
#Slider .slick-slide { margin: 0; }
#Slider .slick-slide.slick-current { background: #FFF; }
#Slider .slick-slide img { width: 100%; }

#News { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; color: #FFF !important; background: rgba(0,0,0,0.5); z-index: 10; }
#News .inner { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 0 30px; }

#News h2 { margin: 0; padding: 0 30px 0 60px; color: #FFF; font-size: 18px; letter-spacing: 1px; line-height: 60px; }
#News ul { padding: 10px 0; width: 100%; }
#News ul li { margin: 4px 0; font-size: 11px; }
#News .btn { padding: 0; min-width: 160px; font-size: 12px; line-height: 60px; border-radius: 0; }

#SearchLink { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 10px 0 0 -10px !important; }
#SearchLink section { margin: 0 0 0 10px; padding: 45px; width: 50%; background: #ab9034; }
#SearchLink section.rent { background: #1c82a4; }

#SearchLink h2 { margin: 0 0 20px; }
#SearchLink h2 img { height: 50px; }
#SearchLink p { margin: 0 0 30px; color: #FFF; letter-spacing: 1px;  display: block; height: 3em;}

#SearchTab section { display: none; padding: 35px; background: #ab9034; word-break:break-all; }
#SearchTab section.rent { background: #1c82a4; }
#SearchTab section.rent .preparing { margin: 210px 0; color: #FFF; font-size: 28px; font-weight: bold; line-height: 1.4; text-align: center; }
#SearchTab section > div { padding: 18px/*35px*/; background: #FFF; }
#SearchTab h3 { margin: 0 0 25px; color: #333; font-size: 16px; letter-spacing: 0; text-align: left; }
#SearchTab table th { padding: 30px 20px; width: 170px; }
#SearchTab table td { padding: 22px 30px; }
#SearchTab tr.select th { padding: 20px; }
#SearchTab tr.select td { padding: 15px 30px; }

#SearchTab ul { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0; -ms-flex-wrap: wrap; flex-wrap: wrap; }
#SearchTab ul li { width: 20%; }
#SearchTab strong { display: block; margin: 25px 0 5px; font-size: 16px; line-height: 1; }
#SearchTab strong:first-of-type { margin-top: 0; }
#SearchTab .large { margin: 35px 0 0; }
#SearchTab + article { margin-top: 150px; }


/*-------------------------------------
	#Search
-------------------------------------*/

#Search #Content article { margin: 0 0 100px; }

#Options { position: relative; margin: 25px 0 50px; padding: 22px 35px 20px; min-height: 100px; background: #E4E4E4; }
#Options p.all { display: -webkit-box; margin: 0; padding: 0 260px 0 0; height: 4.7em; font-size: 12px; font-weight: bold; letter-spacing: 1px; line-height: 1.64; text-align: left; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
#Options a.acd { position: absolute; top: 20px; right: 35px; }
#Options .acd-content form { margin: 25px 0 0; padding: 35px; background: #FFF; }

.paging { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; color: #21205d; }

.paging .pageNumber { width: 50%; font-size: 20px; font-weight: bold; text-align: left; }
.paging .pageNumber strong { margin: 0 10px 0 0; font-size: 40px; }

.paging .sort { padding: 20px 0 0; width: 50%; text-align: right; }
.paging .sort * { display: inline-block; font-size: 12px; vertical-align: middle; }
.paging .sort li { margin: 0 0 0 12px; }
.paging .sort li:not(:first-child):before { content: "|"; display: inline; position: static; margin: 0 20px 0 0; font-weight: normal; }
.paging .sort li a { margin: 0 4px; font-weight: bold; text-decoration: none; }
.paging .sort li a.active,
.paging .sort li a:hover { text-decoration: underline; }
.paging .sort li a:last-child { margin-right: 0; }
.paging .sort li a:not(.active):hover { cursor: pointer; }

.paging .pager { margin: 80px 0 25px; width: 100%; font-size: 0; text-align: center; }
.paging .pager li { display: inline-block; margin: 0; font-size: 15px; overflow: hidden; vertical-align: top; }
.paging .pager > li:first-child { border-radius: 3px 0 0 3px; }
.paging .pager > li:last-child { border-radius: 0 3px 3px 0; }

.paging .pager li a { display: block; padding: 11px 15px; min-width: 45px; height: 37px; color: #595757 !important; line-height: 1; text-align: center; text-decoration: none; background: #E4E4E4; border-right: 1px solid #9fa0a0; white-space: nowrap; }
.paging .pager > li:last-child a { border: none; }
.paging .pager li a:not(.disabled):not(.current):hover { color: #333 !important; background: #d2d2d2; cursor: pointer; }
.paging .pager li a.current { color: #FFF !important; background: #595757 !important; }
.paging .pager li a.disabled { background: #E4E4E4; opacity: .4; }
.paging .pager li a img { position: relative; top: -1px; height: 10px; vertical-align: middle; }

.paging .pager > li:first-child a,
.paging .pager > li:last-child a { min-width: 36px; }
.paging .pager > li:nth-child(2) a { padding-right: 30px; }
.paging .pager > li:nth-child(2) img { margin: 0 30px 0 0; }
.paging .pager > li:nth-last-child(2) a { padding-left: 30px; }
.paging .pager > li:nth-last-child(2) img { margin: 0 0 0 30px; }

#Search .list li .text { margin: 120px 0 35px; font-size: 15px; line-height: 1.4; }
#Search .list ~ .paging .pager { margin: 10px 0 0; }


/*-------------------------------------
	#Detail
-------------------------------------*/

#Detail article { margin: 0 0 100px; }
#Detail article h2 { margin: 0 0 40px; font-size: 30px; letter-spacing: 3px; line-height: 1; }

#Detail #Top,
#Detail #Status dl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 50px 0 150px; }
#Detail #Top > div { width: 50%; }
#Detail #Top > p { width: 100%; }
#Detail #Top figure { text-align: center; }
#Detail #Top img { margin: 0 auto; max-height: 500px; }

#Detail #Photo { padding-right: 20px; }

#SliderFor li a { display: block; position: relative; text-decoration: none; }
#SliderFor li a figure:after,
#Detail #Status figure a:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.1) url("/images/others/zoom-in.svg") center no-repeat;
	opacity: 0;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#SliderFor li a:hover figure:after,
#Detail #Status figure a:hover:after { opacity: 1; }
#SliderFor li  span { display: block; padding: 5px 0 0; text-align: center; }
#SliderFor li  span.nocap { padding: 0; }

#SliderFor .slick-prev,
#SliderFor .slick-next { left: 0; margin: 0; width: 30px; min-width: 0; background: none; opacity: 0; }
#SliderFor .slick-next { left: auto; right: 0; }
#SliderFor:hover .slick-prev,
#SliderFor:hover .slick-next { opacity: 1; }
#SliderFor .slick-prev:after,
#SliderFor .slick-next:after { right: 8px; margin-top: -20px; width: 16px; height: 40px; background-image: url("/images/others/detail_back.png"); }
#SliderFor .slick-next:after { left: 8px; right: auto; background-image: url("/images/others/detail_next.png"); }

#SliderNav li.slick-current { opacity: .4 !important; }

#Detail #Status { padding-left: 30px; }
#Detail #Status h2 { margin: -5px 0 25px; color: #221815; font-size: 27px; letter-spacing: 0; line-height: 1.4; text-align: left; }

#Detail #Status .area { margin: 25px 0; padding: 25px 0; color: #21205d; font-size: 28px; font-weight: bold; text-align: left; border-top: 1px dashed #C1C1C1; border-bottom: 1px dashed #C1C1C1; }
#Detail #Status .area span { display: block; width: 170px; height: 40px; font-size: 16px; font-weight: normal; line-height: 40px; text-align: center; vertical-align: middle; }
#Detail #Status .area > span:first-child { display: inline-block; height: auto !important; background: none; }
#Detail #Status .area span span:first-child:last-child { position: relative; top: -5px; }
#Detail #Status .area span.tag { display: inline-block; margin: 0 0 0 10px; padding: 2px 14px 0 12px; width: auto !important; height: auto !important; color: #21205d; font-size: 15px; line-height: 30px; vertical-align: middle; }
#Detail #Status .area strong { display: inline-block; margin: 0 8px 0 15px; padding: 5px 0 0; font-size: 40px; line-height: 1; }

#Detail #Status dl { margin: 0; }
#Detail #Status dt,
#Detail #Status dd { margin: 0 0 20px; padding: 0; width: 80%; font-weight: bold; line-height: 1.4; }
#Detail #Status dt { width: 20%; color: #21205d; }
#Detail #Status dt:last-of-type,
#Detail #Status dd:last-of-type { margin: 0; }

#Detail #Status h3 { margin: 25px 0 20px; padding: 25px 0 0; font-size: 18px; letter-spacing: 0; text-align: left; border-top: 1px dashed #C1C1C1; }
#Detail #Status p { line-height: 1.6; text-align: left; }
#Detail #Status figure + p.center { padding: 5px 0 0; }

#Detail table th,
#Detail table td { padding: 20px 20px 18px; width: 36%; }
#Detail table th { color: #21205d; width: 14%; }
#Detail table td.price { font-size: 16px; font-weight: bold; }
#Detail table td.price strong { margin: 0 3px 0 0; font-size: 22px; line-height: 1; }

#Detail #Loan { padding: 60px; background: -webkit-linear-gradient(to right bottom, #eaf2ff 50%, #f4f8ff 50.01%); background: linear-gradient(to right bottom, #eaf2ff 50%, #f4f8ff 50.01%); }
#Detail #Loan h2 { letter-spacing: 1px; }
#Detail #Loan h2 img { margin: 0 10px 0 0; height: 30px; }
#Detail #Loan table { border-color: #cbd7e8; }
#Detail #Loan table th,
#Detail #Loan table td { padding: 15px 20px 13px; text-align: center; background: #e1edff; border-color: #cbd7e8; }
#Detail #Loan table td { padding: 20px; font-size: 20px; background: #FFF; }
#Detail #Loan table span,
#Detail #Loan table strong { margin: 0 5px 0 0; font-size: 30px; line-height: 35px; }
#Detail #Loan table strong { color: #21205d; }
#Detail #Loan table input { margin: 0 8px 0 0; width: 120px; font-size: 20px; }
#Detail #Loan p { margin: 15px 0 0; text-align: left; }

#Detail #Recommend .list { -ms-flex-wrap: nowrap; flex-wrap: nowrap; margin: 0 0 0 -10px; }
#Detail #Recommend .list li { margin: 0 0 0 10px; width: 24.2%; width: calc(25% - 10px); }
#Detail #Recommend .list li figure { height: 200px; }
#Detail #Recommend .list li .text br { display: none; }

/*-------------------------------------
	#Staff
-------------------------------------*/

#StaffList li { margin: 80px 0 0; padding: 50px; background: #e4e4e4; }
#StaffList li .sp { display: none; }
#StaffList li h3 { margin: 0; padding: 0 0 28px; color: #000; font-size: 30px; letter-spacing: 2px; line-height: 1; text-align: left; border-bottom: 1px solid #21205d; }
#StaffList li h3 strong { display: inline-block; margin: 0 0 15px; padding: 5px 20px 4px; min-width: 130px; color: #FFF; font-size: 12px; font-weight: normal; letter-spacing: 1px; text-align: center; background: #21205d; vertical-align: top; }
#StaffList li h3 span { color: #21205d; font-size: 15px; letter-spacing: 2px; margin: 0 0 0 25px; vertical-align: bottom; }
#StaffList li h4 { margin: 0 0 20px; padding: 0 0 0 35px; font-size: 20px; letter-spacing: 0; line-height: 25px; text-align: left; }
#StaffList li h4:before { content: ""; position: absolute; top: 0; left: 0; width: 25px; height: 25px; background: url("/images/staff/icon-heart.png") center no-repeat; background-size: contain; }

#StaffList li figure { position: absolute; top: 0; left: 0; width: 670px; }
#StaffList li .detail { margin: -50px -50px 40px auto; padding: 65px 50px 0 605px; width: 100%; }
#StaffList li .detail dl { margin: 0; border-bottom: 1px dashed #c1c1c1; }
#StaffList li .detail dt,
#StaffList li .detail dd { display: inline-block; font-size: 12px; font-weight: bold; }
#StaffList li .detail dt:before { content: "["; display: inline; margin: 0 3px 0 0; }
#StaffList li .detail dt:after { content: "]"; display: inline; margin: 0 8px 0 3px; }

#StaffList li .comment { position: relative; margin: 0 0 30px; padding: 35px 40px; width: 555px; background: #FFF; }
#StaffList li .comment p { color: #000; font-size: 13px; font-weight: bold; }
#StaffList li .comment figure { top: auto; bottom: 35px; left: 40px; width: 160px; height: 160px; }

#StaffList li .comment.message { margin-left: 30px; }
#StaffList li .comment.message h4:before { background-image: url("/images/staff/icon-comment.png"); }
#StaffList li .comment.favorit:nth-last-child(2),
#StaffList li .comment.message:last-child { margin-bottom: 0; }

#StaffList li .comment.profile { margin: 0 0 30px; width: 100%; }
#StaffList li .comment.profile h4:before { background-image: url("/images/staff/icon-member.png"); }

#StaffList li .comment.subordinate { margin: 0; width: 100%; }
#StaffList li .comment.subordinate h4 { margin: -35px -40px 20px; padding: 13px; color: #FFF; font-size: 18px; text-align: center; background: #21205d; }
#StaffList li .comment.subordinate h4:before { display: none; }
#StaffList li .comment.subordinate  p { margin-left: 190px; min-height: 160px; }


/*-------------------------------------
	#Voices
-------------------------------------*/

#Voices article { margin: 0 0 120px; }
#Voices article h2 { margin: 120px 0 40px; font-size: 20px; letter-spacing: 0; line-height: 1.4; }
#Voices article h2 strong { margin: 0 5px 0 10px; font-size: 40px; letter-spacing: 4px; }

#Voices .paging .pager { margin: 50px 0; }

.voiceList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: -20px 0 0 -20px; }
.voiceList li { margin: 20px 0 0 20px; padding: 30px; width: 31.7%; width: calc(33.3% - 20px); font-size: 15px; line-height: 1; background: #e4e4e4; }
.voiceList li figcaption { margin: 0 0 20px; }
.voiceList li strong { display: block; margin: 0 0 15px; color: #000; font-size: 20px; line-height: 1.6; }
.voiceList li a { display: block; position: relative; }
.voiceList li a:before,
.voiceList li a:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.1) url("/images/others/zoom-in.svg") center no-repeat; opacity: 0; z-index: 10; }
.voiceList li a:hover:before { opacity: 1; }
.voiceList li a:after { top: -30px; left: auto; right: 15px; width: 74px; height: 81px; background: url("/images/others/stamp.png") center no-repeat; background-size: contain; mix-blend-mode: multiply; opacity: 1; }
.voiceList ~ .paging .pager { margin: 50px 0 0; }


/*-------------------------------------
	#Company
-------------------------------------*/

#Company article h2 { margin: 0 0 50px; font-size: 30px; letter-spacing: 6px; }
#Company article h2 span { margin: 10px 0 0; }
#Company article h3,
#Company article h4 { margin: 0 auto 15px; max-width: 900px; color: #000; font-size: 20px; letter-spacing: 0; line-height: 1; text-align: left; }
#Company article h4 { margin: 25px auto 15px; padding: 25px 0 0; font-size: 15px; border-top: 1px dashed #c1c1c1; }

#Company article#Slogan { margin: 0 0 140px; }
#Company article#Slogan h2 { margin: 140px 0; font-size: 20px; line-height: 2.2; letter-spacing: 0; }

#Company article table { margin: 75px auto 0; max-width: 900px; border: none; border-top: 1px dashed #c1c1c1; }
#Company article table th,
#Company article table td { padding: 22px 0 21px; font-size: 18px; font-weight: bold; line-height: 1.8; background: none; border: none; border-bottom: 1px dashed #c1c1c1; }
#Company article table th { width: 210px; color: #21205d; }

#Company article#Map { margin: 0 auto 150px; max-width: 900px; }
#Company article#Map p { text-align: left; }

#GoogleMap iframe { margin: 0 0 40px; width: 900px; height: 420px; }


/*-------------------------------------
	rules
-------------------------------------*/

.rules footer #Copyright { padding-bottom: 9px !important; }
.rules #Content { max-width: 1080px; }
.rules article { padding: 90px 0 0; }
.rules article h2,
.rules article h3 { margin: 0 0 40px; font-size: 22px; letter-spacing: 0; text-align: left; }
.rules article h3 { margin: 0 0 10px; font-size: 16px; }
.rules article h2 + p { margin: 0 0 40px; }

.rules article p,
.rules article li { margin: 0 0 20px; font-size: 16px; line-height: 1.6; text-align: left; }
.rules article > ol { padding: 0; list-style: none; counter-reset: h3; }
.rules article > ol h3:before { counter-increment: h3; content: counter(h3)"."; display: inline; margin: 0 8px 0 0; color: #21205d; font-size: 16px; font-weight: bold; }
.rules article > ol ol { padding-left: 24px; list-style: upper-roman; }
.rules article li { margin: 0 0 40px; }
.rules article li li { margin: 0 0 10px; }
.rules article li div { display: inline-block; padding: 30px 40px; line-height: 1.6; background: #f7f7f7; }

.rules#Sitemap article { font-size: 0; text-align: left; }
.rules#Sitemap article ul { display: inline-block; margin: 0; width: 48%; border-top: 1px solid #d1d1d1; vertical-align: top; }
.rules#Sitemap article ul + ul { margin: 0 0 0 40px; }
.rules#Sitemap article ul li { margin: 0; padding: 20px 15px 0; line-height: 1; }
.rules#Sitemap article ul li.dashed { padding-bottom: 20px; border-bottom: 1px solid #d1d1d1; }
.rules#Sitemap article a { position: relative; padding-left: 18px; text-decoration: none; }
.rules#Sitemap article a:after { content: ""; display: block; position: absolute; top: 2px; left: 0; width: 8px; height: 14px; background: url("/images/others/detail_next.png") left center no-repeat; background-size: 100% 100%; }
.rules#Sitemap article a:hover { opacity: .6; }


/*-------------------------------------
	form
-------------------------------------*/

.form article h2 { margin-top: 90px; }
.form article h2 + p { margin: 0 0 30px; font-size: 16px; line-height: 1.5; }

.form table { margin: 0 auto; max-width: 1000px; }
.form table th,
.form table td { padding: 15px; background: #f2f2f2; vertical-align: middle; }
.form table tr:nth-child(2n) th,
.form table tr:nth-child(2n) td { background: #eaeaea; }
.form table th { position: relative; min-width: 200px; border-right: none; }
.form table th span { display: block; position: absolute; top: 50%; right: 10px; margin: -12px 0 0; padding: 5px 8px; color: #FFF; font-size: 12px; font-weight: normal; letter-spacing: 1px; line-height: 1; background: #3b4faa; }
.form table th span.none { background: #999; }

.form table input[type="password"],
.form table .name input[type="text"] { max-width: 300px; }
.form table .select_box { width: 300px; }
.form table .note { margin: 0 0 0 20px; color: #5b6fca; line-height: 1; }
.form table p.note { margin: 10px 0 0; }

.form table label { margin-right: 25px; }
.form table input[type=radio] + .radio_parts::before,
.form table input[type=checkbox] + .checkbox_parts::before { background: #FFF; }
.form table .checkbox_parts { line-height: 23px; }

#Privacy { margin: 0 auto 40px; padding: 20px 15px; max-width: 1000px; line-height: 1.6; border: 1px solid #E6E6E6; border-top: none; }
#Privacy strong { display: block; margin: 15px 0 0; line-height: 22px; }

.form.comp article h2 { font-size: 32px; letter-spacing: 2px; }
.form.comp article .dashed { margin: 0 auto; padding: 35px 0 0; max-width: 540px; border-top: 1px dashed #C1C1C1; }


/*-------------------------------------
	login
-------------------------------------*/

.login #Content article { margin: 0 0 90px; }
.login article h2 { font-size: 32px; letter-spacing: 0; }
.login article h2 + p { margin: 0 0 30px; }

.login .enter,
.login .free { display: inline-block; margin: 90px 0 0 0; width: 560px; vertical-align: top; }
.login .enter { margin-right: 60px; padding: 40px 65px 35px; width: 610px; background: #f2f2f2; border: 1px solid #E6E6E6; }

.login table { border: none; }
.login table th,
.login table td { padding: 0 0 15px; background: none; border: none; vertical-align: middle; }

.login p.submit { margin: 15px 0 30px; text-align: center; }
.login p.submit .submit { padding: 21px 25px 20px; min-width: 200px; font-size: 20px; }

.login p { font-size: 14px; line-height: 1.6; text-align: left; }
.login p.pass { text-align: center; }
.login p.dashed { margin: 25px 0 0; padding: 20px 0 0; border-top: 1px dashed #C1C1C1; }

.login .free a,
.login .free img { display: block; }
.login .free a:hover img { opacity: .7; }