@charset "utf-8";
body {
    margin:0;
    padding:0;
    font-family :
	YuMincho,
	'Yu Mincho',
	serif;
}
ul, li {
    list-style-type: none;
    margin:0;
    padding:0;
}
img {
    max-width: 100%;
}
p {
    margin: 0;
}
p.border-bottom {
	font-weight: bold;
	margin-bottom: 0;
}
a {
	transition: 0.3s;
	text-decoration: none;
	color:#000;
}
h4.border-bottom {
	font-size: 18px;
}
a:hover {
	opacity: 0.9;
}
.overlay-footer {
	bottom: 20px;
	position: fixed;
	color: #fff;
	text-align: center;
	width: 100%;
	font-size: 14px;
}
.gothic {
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.top-info-event a,
.top-info-news a {
	color:#000;
	text-decoration: none;
}
header {
    padding:2rem;
	position: fixed;
    z-index: 1000;
    width:100%;
    background:#fff;
}
header img {
    height: 40px;
}
header li a {
    padding:0.2rem 1.5rem;
    border-left: 1px solid #A0A0A0;
    color:#404040;
    text-decoration: none;
}
.mv {
    width:100%;
    position: relative;
    height:100vh;
    overflow: hidden;
}
.mv .card {
    height: 100%;
}
.mv img {
    object-fit: cover;
    min-width:100%;
    height: 100%;
}
nav li {
    margin-top:7px;
}
nav li:last-child {
    margin-top: 0;
}
nav li a {
    font-size: 0.8em;
}
.menu_btn {
    cursor: pointer;
}
.overlay_menu {
    opacity: 0;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    z-index: -1;
    height: 100vh;
    background:url(../img/menu_bak.png);
    background-size: cover;
    -webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
    background-position: center;
}
.open .overlay_menu {
    opacity: 1;
    z-index: 1000;
}
.overlay_menu header {
    background:none !important;
}
.overlay_menu header li a {
    color:#fff;
    border-left: 1px solid #fff;
    text-decoration: none !important;
}
.main-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.main-nav li {
    writing-mode: vertical-rl;
    border:none;
    margin:0 1rem;
}
.main-nav li a {
    color:#fff;
    text-decoration: none !important;
}
.main-nav li a span {
    font-size: 9px;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.main-nav li a span {
    border-left: 1px solid #fff;
    padding-left: 0.15rem;
}
.overlay_menu-footer {
    position: absolute;
    bottom:2rem;
    width:100%;
    text-align: center;
    color:#fff;
}
.overlay_menu-footer::before {
    content: '';
    width:300px;
    text-align: center;
    border-top: 1px solid #fff;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.border-right {
    border-right: 1px solid #A0A0A0;
    margin-right: 50px;
}
.footer-bottom {
    background:#BBC69C;
    padding:50px 0;
}
.footer-bottom a {
    text-decoration: none;
    color:#000;
}
.footer-bottom .first a {
    background:url(../img/footer_arrow.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: auto 100%;
}
.footer-bottom a {
    padding-left: 20px;
    font-size: 13px;
}
.footer-bottom .row {
    margin:2rem 0;
}
.footer-top p {
    font-size: 0.8em;
}
.copy {
    position: absolute;
    bottom:8px;
    left:65%;
}
.vertical_text {
    writing-mode: vertical-rl;
}
.essentials_img_caption_deco {
    position: relative;
}
.essentials_img_caption_deco::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 4.5em;
    background-color: #888;
}

.housing_tour {
    padding-top: 2rem;
    padding-bottom: 2rem;
    background-image: url('../img/top3_7.png');
    background-size: contain;
    background-repeat: no-repeat;
}
.housing_tour__hbox {
    background-color: #ffffff;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    z-index: 2;
    border-radius: 0.5rem 1rem 0.5rem 1rem;
}
.housing_tour__pbox {
    background: rgba(255, 255, 255, 0.7);
    padding: 5em 1.5em 2em;
    position: relative;
    top: -4em;
}
.w-fit-content {
    width: fit-content;
}
.link_to_building_list {
    display: block;
}
.border-black {
    border-top-color: #000000;
    border-right-color: #000000;
    border-bottom-color: #000000;
    border-left-color: #000000;
}
.link_to_building_list {
    text-decoration: none;
    color: #000000;
    font-size: 1.1rem;
    background-color: rgb(227, 231, 213);
    display: inline-block;
    padding: 0.5rem 5rem;
    border-radius: 0.5rem;
}

.top-band-height::before {
    height: 55%;
}
.plr-3 {
	padding-left:1rem;
	padding-right: 1rem;
}
.minus2 {
	position: relative;
	top:-2px;
}
.plr-3 img {
	width:100% !important;
}
.top-fs-sm-1 { font-size: 0.9rem; }
.top-fs-sm-2 { font-size: 0.8rem; }
.top-fs-sm-3 { font-size: 0.7rem; }
.top-fs-sm-4 { font-size: 0.6rem; }
.top-border-dark { border-color: #888 !important; }
.top-border-mossgreen-1 { border-color: rgb(227, 231, 213) !important;}
.top-lh-base-ex { line-height: 1.7; }
.top-pt-lg-1 {
    padding-top: 8rem;
}
.top-bg-mossgreen-1 { background-color: rgb(227, 231, 213); }
.top-bg-mossgreen-2 { background-color: rgb(199, 207, 172); }
.top-bg-cyan-1 { background-color: rgb(221, 236, 236); }
.top-bg-dark-skelton { background-color: rgba(0, 0, 0, 0.5); }
.top-text-cyan-1 { color: rgb(221, 236, 236); }
.top-rounded-1rem { border-radius: 1rem; overflow: hidden; }
.top-rounded-top-05rem {
    border-radius: 0.5rem 0.5rem 0 0;
    overflow: hidden;
}
.card.top-rounded-1rem {
	background:rgb(227, 231, 213);
}
.top-right-arrow-in-circle-1::after {
    content: '>';
    display: inline-block;
    color: rgb(199, 207, 172);
    background-color: #fff;
    border-radius: 50%;
    width: 1.2em;
    line-height: 1.2;
    text-align: center;
    margin-left: 1rem;
}
.top-arrow-right-25 {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    padding: 0;
}
.top-arrow-right-15 {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    padding: 0;
}
.top-arrow-right {
    background-color: rgb(199, 207, 172);
    border-radius: 50%;
    color: #fff;
    vertical-align: middle;
    padding: 0.1rem 0;
}
.top-arrow-right-1 {
    background-color: #fff;
    border-radius: 50%;
    color: rgb(199, 207, 172);
    vertical-align: middle;
    padding: 0.2em;
}
.top-arrow-right-2 {
    background-color: #fff;
    border-radius: 50%;
    color: rgb(199, 207, 172);
    padding: 0.5em;
}
.top-link-shadow {
    box-shadow: 0.5rem 0.5rem 1px #808080;
    margin-bottom: 0.5rem;
}
.btn-icon01 {
    background:url(../img/btn_img01.png);
    background-repeat: no-repeat;
    padding-left: 40px;
}

.na-top-section-mb-1 {
    margin-bottom: 4rem;
	padding-top: 100px;
}
.na-top-section-mb-2 {
    margin-bottom: 10rem;
}
.na-top-band-content-en {
    display: inline-block;
    font-size: 0.8rem;
    border-bottom: solid 1px #aaaaaa;
    color: #aaaaaa;
    margin-bottom: 1rem;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.na-top-fs-xs {
    font-size: 0.7rem;
}
.na-text-gray {
    color: #aaaaaa;
}
.na-box-shadow-1 {
    box-shadow: 0.25rem 0.25rem 1px #808080;
}
.na-box-shadow-2 {
    box-shadow: 0.5rem 0.5rem 1px #808080;
}

.rs-img-fit-cover { object-fit: cover; }
.rs-img-fit-down { object-fit: scale-down; }
.rs-text-black {
    color: #000000;
}


.about-pickup-card-name {
    padding-left: 2rem;
    padding-right: 3.5rem;
/*    position: absolute;*/
}
.about-pickup-card-name::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100%;
}
.mv .vertical_text {
	letter-spacing: 4px !important;
	text-shadow: 1px 2px 1px #808080;
}
.about-pickup-card:nth-child(odd) {
    background-color: #eae5e3;
}
.about-pickup-card:nth-child(odd) .about-pickup-card-name {
    background-color: #a0a0a0;
}
.about-pickup-card:nth-child(odd) .about-pickup-card-name::before {
    background-color: #a0a0a0;
}
.about-pickup-card:nth-child(even) {
    background-color: #e9ebd3;
}
.about-pickup-card:nth-child(even) .about-pickup-card-name {
    background-color: #c7cfac;
}
.about-pickup-card:nth-child(even) .about-pickup-card-name::before {
    background-color: #c7cfac;
}
.about-linkto-experience {
    position: relative;
    top: 45%;
    left: 30%;
}
.about-border-gray {
    border-color: #b2b2b2 !important;
}
.about-border-lightgray {
    border-color: #eae5e3 !important;
}
.about-th-bg-gray {
    background-color: #f7f5f4 !important;
}

.rs-letter-spacing-1 {
    letter-spacing: 0.125rem;
}

#show-1 .mv1 {
	display: flex !important;
}
#show-2 .mv2 {
	display: flex !important;
}
#show-3 .mv3 {
	display: flex !important;
}
#show-4 .mv4 {
	display: flex !important;
}
@media screen and (max-width: 780px) {
	.header_contact {
		border-left: 1px solid #777;
		padding: 10px 1rem;
		border-right: 1px solid #777;
		margin-right: 15px;
	}
	h4.border-bottom {
		font-size: 14px;
	}
	
	.na-top-section-mb-1{
		padding-top: 70px;
	}
}

@media screen and (min-width: 781px) {
    .sp {
        display: none !important;
    }
	.top-info-event .text-end,
	.top-info-news .text-end {
		margin-top: 1rem;
	}
	.mt-md-ex {
		margin-top: 90px;
	}
	.sns .text-white {
		font-size: 21px !important;
	}
	.mt-md-10 {
		margin-top:6rem !important;
	}
	body .overlay_menu .main-nav li a {
		font-size: 21px;
	}
	#message h4.border-dark {
		font-size: 18px;
		font-weight: normal;
	}
	#housing .col-12.col-md-5.align-self-center {
		margin-top: 200px;
		margin-left: 40px;
	}
}

@media screen and (max-width: 780px) {
    .pc {
        display: none !important;
    }
	.border-bottom.pb-3.pe-4.w-fit-content.h6.lh-base.top-border-dark.rs-md-br-visible {
		font-size: 14px !important;
		line-height: 2 !important;
	}
    header {
		padding:1rem !important;
    }
	body .mv p {
		font-size: 21px !important;
	}
    .footer-top-left {
        text-align: center;
    }
    .footer-top-right {
        margin-top:2rem;
        font-size: 0.8em;
    }
    .footer-bottom .row {
        margin:0;
    }
    .footer-bottom .row ul {
        margin-bottom: 1rem;
    }
    .copy {
        position: relative;
        width:100%;
        left:0;
        bottom:auto;
        text-align: center;
        margin-top: 1rem;
        font-size: 0.8em;
    }
    .copy-wrap {
        margin-top:2rem;
    }
    body, p {
        font-size: 14px;
		line-height: 2 !important;
    }
    body .fs-3 {
        font-size: 16px !important;
		font-weight: bold;
    }
    .top-fs-sm-1,
    .top-fs-sm-2 {
        font-size: 14px;
    }
    .main-nav li {
        font-size: 1em;
    }
    .sp-ex-back {
        position: relative;
        margin-bottom: 2rem;
    }
    .sp-ex-back::before {
        position: absolute;
        content: '';
        width: calc(100% + 50%);
        right: -25%;
        height: calc(100% + 2rem);
        top: -2rem;
        background-image: url(../img/top3_7.png);
        background-position: right;
    }
	.overlay-footer {
		display: none !important;
	}
    .band-kano .mx-1,
    h4 {
        font-size: 16px !important;
		font-weight: bold;
    }
    body .py-5 {
        font-size: 14px;
        padding:1rem !important;
		line-height: 2 !important;
    }
	.housing_tour__hbox {
		padding-bottom: 1rem !important;
	}
	p.border-bottom {
		margin-bottom: 1rem;
	}
	.sp-80 {
		width:80% !important;
	}
	#maintenance h3 {
		font-size: 14px !important;
		font-weight: bold;
		width:100%;
	}
	.section_tit_wrap-green {
		margin-bottom: 1rem !important;
	}
	.green_tit {
		font-size: 16px !important;
	}
	h4 {
		width:100%;
	}
	#community .card-body {
		padding:0.5rem 1.5rem !important;
	}
	.main-section {
		padding-top:70px;
	}
	.top-lh-base-ex {
		margin-top:30px;
		margin-bottom: 30px;
		top:0;
/*
		padding: 2em 1.5em 2em;
		margin-left: -10%;
		width: calc(100% + 20%);
*/
		margin-left: 0;
		padding-top: 0 !important;
		margin-top: 0;
		width: 100%;
	}
	p.border-bottom {
		width:100%;
	}
	#maintenance h3.text-md-end {
		font-size: 3em !important;
	}
}
.top-info-event a, .top-info-news a {
	font-weight: normal;
}

.band-kano,
.band-kano-left,
.band-kano-right {
    position: relative;
}
.band-kano::after,
.band-kano-left::after,
.band-kano-right::after {
    content: '';
    width: 300vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100vw;
    z-index: -1;
}
.band-kano-green::after {
    background-color: #e3e8c9;
}
.band-kano-gray::after {
    background-color: #eae5e3;
}
.band-kano-lightgray::after {
    background-color: #f4f2f1;
}
.inner {
    width: 90%;
    margin: 0 auto;
}
.rs-sp-hidden {
    display: none;
}
.rs-pc-hidden {
    display: block;
}
.rs-md-br-visible > br {
    display: none;
}
@media screen and (min-width: 768px) {
	.pc_ex_width {
		width: calc(41.66666667% + 12px);
	}
    .inner {
        width: auto;
        max-width: 1100px;
        padding:0 10px;
    }
    .band-kano::after {
        height: 55%;
    }
    .band-kano-left::after {
        height: 55%;
        left: auto;
        right: 0;
    }
    .band-kano-right::after {
        height: 319px;
        left: 0;
    }
    .rs-md-vertical-text {
        writing-mode: vertical-rl;
    }
	.v-l {
        writing-mode: vertical-lr;
    }
    .w-md-fit-content {
        width: fit-content;
    }
    .rs-md-br-visible > br {
        display: inline;
    }
    .na-top-band-content-en {
        border: none;
        border-left: solid 1px #aaaaaa;
        padding: 0;
        padding-left: 0.3rem;
	    margin: 0 0.5rem;
    }
    .about-pickup-card-name {
        padding-right: 5rem;
        position: relative;
    }
    .housing_tour {
        padding-top: 8rem;
        padding-bottom: 1.5rem;
        background-image: url('../img/top3_5.png');
        background-size: cover;
    }
    .rs-md-border-0 { border-width: 0px !important; }
    .rs-md-border-1 { border-width: 1px !important; }
}


.about-community-header {
    display: grid;
    grid-template-areas: 
        'h'
        'img'
        'p'
    ;
    grid-template-columns: 100%;
    row-gap: 1.5rem;
}
.about-community-h {
    grid-area: h;
}
.about-community-h::after {
    height: 100%;
}
.about-community-desc {
    grid-area: p;
}
.about-community-img {
    grid-area: img;
}
@media screen and (min-width: 768px) {
    .about-community-header {
        grid-template-areas: 
            'h img'
            'p img'
        ;
        grid-template-columns: 25% 1fr;
        column-gap: 2rem;
        row-gap: 2rem;
    }
}
.top-info-event {
    position: relative;
}
.top-info-event::after {
    display: none;
}

@media screen and (min-width: 768px) {
    .top-info-event::after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 70%;
        background-color: #a0a0a0;
        position: absolute;
        top: 20%;
        right: 0;
    }
}

.rs-border-0 { border-width: 0px !important; }
.rs-border-1 { border-width: 1px !important; }
@media screen and (min-width: 768px) {
    .rs-border-md-0 { border-width: 0px !important; }
    .rs-border-md-1 { border-width: 1px !important; }
}

