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



/****************************************************************************************************
グレー背景
****************************************************************************************************/
body.grey #contents {
	color: #111;
}
body.grey #contents .main {
	color: #FFF;
}
body.grey .col1 {
	color: #A08E58;
}
body.grey .caption {
	border-top: 1px solid rgba(0,0,0,.25);
}



/****************************************************************************************************
header
****************************************************************************************************/
/*#header {
	background: rgba(255,255,255,.9);
	background: rgba(0,0,0,.65);
}*/
.pagetop {
	display: none;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 10000;
}



/****************************************************************************************************
タウンガイド用
****************************************************************************************************/
body.bright #contents {
	color: #000;
}
body.bright #contents .main {
	color: #FFF;
}
.main-img.town-guide img {
	object-fit: cover;
	width: 100%;
	height: 800px;
}
.main-img figure figcaption.black {
	color: #000;
}
.main-img.town-guide figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,0));
	opacity: 0.5;
}
.main-img.town-guide figure.shadow::after {
	background-image: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,1));
	opacity: 1;
}
.main-txt.town-guide {
	position: absolute;
	left: 50%;
	bottom: auto;
	top: 186px;
	width: 100%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	text-align: center;
}
.main-txt.town-guide .ttl-box h2 {
	color: #DE739F;
	text-shadow: none;
}
body.bright .caption {
	border-top: 1px solid rgba(0,0,0,.25);
}
#town-guide-map {
	position: relative;
	margin: auto;
	margin-top: -430px;
	z-index: 10;
}
#town-guide-map figure {
	display: inline-block;
}
#town-guide-map img {
	box-shadow: 0 0 10px rgba(0,0,0,.15);
}
#town-guide-map figcaption {
	margin-top: 0.8em;
	font-size: 0.833rem;
	text-align: right;
}
#list {
	margin-top: 30px;
}
#list ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-left: 1px solid #CCC;
	border-top: 1px solid #CCC;
}
#list ul li {
	width: 25%;
	text-align: left;
	font-size: 1.066rem;
	line-height: 1.6;
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	background: #FFF;
}
#list ul li a {
	display: block;
	padding: 0.6em 0.8em;
}
.category1 {
	color: #63AC61;
}
.category2 {
	color: #DE729D;
}
.category3 {
	color: #55B3C3;
}
.category4 {
	color: #E18B00;
}
.category5 {
	color: #C3A35D;
}

#facility,
.facility {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 30px;
	margin-top: 30px;
}
.facility.w790{
	width: 790px;
	margin: auto;
}
.facility-box {
	width: 380px;
}
.facility-img {
	position: relative;
}
.facility-txt {
	padding-top: 20px;
	text-align: left;
}
.facility-info {
	margin-top: 0.8rem;
	padding-top: 0.6rem;
	border-top: 1px solid rgba(0,0,0,.25);
}
#contents .facility-txt h3 {
	font-size: 1.6rem;
}
#contents .facility-txt p {
	margin-top: 0.4em;
	font-size: 1.066rem;
	line-height: 1.6;
}
#contents .facility-txt ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	margin-top: 0.7rem;
	font-size: 0.866rem;
	line-height: 1.6;
}
.sub-img {
	position: absolute;
	right: -15px;
	top: -15px;
	box-shadow: 0 0 5px rgba(0,0,0,.5);
}
.sub-text {
	margin-top: 0.7rem;
	padding: 0.8em;
	border: 1px solid rgba(0,0,0,.25);
	font-size: 0.866rem;
}



/****************************************************************************************************
contents
****************************************************************************************************/
#wrap {
	overflow: hidden;
}
#contents {
	padding: 0;
	color: #FFF;
}

.main {
	position: relative;
}
.main-img img {
	width: 100%;
	height: auto;
}
.main-img figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.866rem;
	z-index: 10;
}
.main-img figure figcaption.white {
	color: #FFF;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.main-img.plan figure figcaption {
	padding: 0.8em 1.2em;
	background: rgba(0,0,0,.75);
	font-size: 1rem;
}

#stop-img figure.shadow,
.main-img figure.shadow {
	position: relative;
}
#stop-img figure.shadow::before,
.main-img figure.shadow::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 300px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,1), rgba(0,0,0,.0));
	opacity: 0.8;
	mix-blend-mode: multiply;
	z-index: 0;
}
.main-img figure.shadow::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 200px;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,1));
	opacity: .5;
	/*mix-blend-mode: multiply;*/
	z-index: 0;
}
.main-img.landplan figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(0,32,64,1), rgba(0,32,64,.0));
	opacity: 0.9;
}
.main-img.position figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(0,133,178,1), rgba(0,133,178,.0));
	height: 400px;
}
.main-img.access figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(0,133,178,1), rgba(0,133,178,.0));
	height: 400px;
}
.main-img.plan figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(0,133,178,1), rgba(0,133,178,.0));
	height: 400px;
}
.main-img.location figure.shadow::before {
	background-image: linear-gradient(180deg, rgba(0,105,140,1), rgba(0,105,140,0));
	opacity: 0.9;
}
.main-img.plan figure.shadow::after {
	display: none;
}

.main-txt {
	position: absolute;
	left: 50px;
	bottom: 46px;
	text-align: left;
}
.main-txt.position,
.main-txt.access,
.main-txt.plan,
.main-txt.location,
.main-txt.landplan {
	position: absolute;
	left: 0;
	right: 0;
	bottom: auto;
	top: calc(106px + 4.2vw);
	width: 100%;
	text-align: center;
}
.main-txt .ttl-box h2 {
	font-size: 3.066rem;
	line-height: 1.4;
	letter-spacing: 5px;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.main-txt.position .ttl-box h2 {
	text-shadow:
		0px 0px 10px rgba(0,105,140,1),
		0px 0px 10px rgba(0,105,140,1);
}
.main-txt.access .ttl-box h2 {
	text-shadow:
		0px 0px 10px rgba(0,105,140,1),
		0px 0px 10px rgba(0,105,140,1);
}
.main-txt.plan .ttl-box h2 {
	text-shadow:
		0px 0px 10px rgba(0,105,140,1),
		0px 0px 10px rgba(0,105,140,1);
}
.main-txt.location .ttl-box h2 {
	text-shadow:
		0px 0px 10px rgba(0,76,102,1),
		0px 0px 10px rgba(0,76,102,1);
}
.main-txt.landplan .ttl-box h2 {
	text-shadow:
		0px 0px 10px rgba(0,32,64,1),
		0px 0px 10px rgba(0,32,64,1);
}
.main-txt .ttl-box h2.large {
	margin-bottom: 0.15em;
	font-size: 4rem;
	line-height: 1.2;
	letter-spacing: 0.3em;
}
.main-txt .ttl-box h2.small {
	font-size: 2.666rem;
}
.plan-caption {
	margin-top: 20px;
}
.plan-caption a,
.plan-caption span {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.plan-caption a h4,
.plan-caption span h4 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0.5em 1em;
	background: rgba(255,255,255,0.75);
	border: 1px solid rgba(0,0,0,0.25);
	color: #000;
	font-size: 1.2rem;
	font-weight: normal;
}
.plan-caption a div,
.plan-caption span div {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 5px;
	padding: 0.5em 1em;
	background: rgb(151,136,86);
	border: 1px solid rgb(151,136,86);
	color: #FFF;
	font-size: 1.333rem;
}

#contents .inner {
	width: 1200px;
	margin: auto;
	padding: 100px 0 100px 0;
}
#contents .inner.plan-detail {
	padding-top: 220px;
}
.sec-block + .sec-block {
	margin-top: 100px;
}

.col1 {
	color: #C7BA99;
}
.col2 {
	color: #978859;
}
.alL {
	text-align: left;
}
.alC {
	text-align: center;
}
#contents h3 {
	font-size: 1.866rem;
	line-height: 1.4;
}
#contents h3.small {
	font-size: 1.733rem;
}
#contents p.large {
	font-size: 1.333rem;
	line-height: 1.8;
}
#contents p {
	font-size: 1.2rem;
	line-height: 1.8;
}
#contents p.medium {
	font-size: 1.0rem;
}
#contents p .small {
	font-size: 0.866rem;
}

figure.img-box {
	position: relative;
	display: inline-block;
}
figure.img-box figcaption {
	margin-top: 0.8em;
	font-size: 0.866rem;
	line-height: 1.4;
	text-align: right;
}
figure.img-box figcaption.in {
	position: absolute;
	right: 0.8em;
	bottom: 0.7em;
	color: #FFF;
	font-size: 0.866rem;
	line-height: 1.0;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.caption {
	margin: 100px 0 0 0;
	padding: 1.6em 0 0 0;
	border-top: 1px solid rgba(255,255,255,.25);
	font-size: 0.866rem;
	line-height: 1.6;
	text-align: left;
}


.ttl-box {
}
.ttl-box .sub {
	color: #978659;
	font-size: 1.2rem;
}
.ttl-box h1 {
	color: #FFEBC1;
	font-size: 2.4rem;
	line-height: 1.6;
}
.ttl-box h1.large {
	font-size: 3.066rem;
	line-height: 1.4;
}
.ttl-box h1.large .small {
	font-size: 2.133rem;
}
.comfrotable-area-text .ttl-box h1 {
	color: #8C6900;
}
.ttl-box h2 {
	font-size: 2.133rem;
	line-height: 1.6;
}
.ttl-box h2.large {
	font-size: 2.4rem;
	line-height: 1.6;
}
.ttl-box h2.xlarge {
	font-size: 2.8rem;
	line-height: 1.4;
	letter-spacing: 0.2em;
}
.ttl-box h2 span.free {
	display: inline-block;
	margin-left: 0.8em;
	padding: 0.3em 0.5em;
	background: #B20000;
	color: #FFF;
	font-size: 1.333rem;
	line-height: 1.0;
	vertical-align: 4px;
}
.ttl-box h3 {
	font-size: 1.6rem;
	line-height: 1.6;
}
.ttl-box .sub + h2 {
	margin-top: 0.3em;
}
.ttl-box .sub + h2.mt05rem {
	margin-top: 0.5em;
}
.ttl-box h1 + p {
	margin-top: 1em;
}
.ttl-box h2 + p {
	margin-top: 1.2em;
}
.ttl-box p {
	font-size: 1.2rem;
	line-height: 2.0;
}

.ttl-box + .col-box,
.col-box + .col-box {
	margin-top: 1rem;
}
.col-box + .col-box.mt0rem {
	margin-top: 0rem;
}
.ttl-box + .col-box.mt05rem,
.col-box + .col-box.mt05rem {
	margin-top: 0.5rem;
}
.ttl-box + .col-box.mt1rem,
.col-box + .col-box.mt1rem {
	margin-top: 1rem;
}
.ttl-box + .col-box.mt15rem,
.col-box + .col-box.mt15rem {
	margin-top: 1.5rem;
}
.ttl-box + .col-box.mt2rem,
.col-box + .col-box.mt2rem {
	margin-top: 2rem;
}
.ttl-box + .col-box.mt25rem,
.col-box + .col-box.mt25rem {
	margin-top: 2.5rem;
}
.col-box + .col-box.mt3rem {
	margin-top: 3rem;
}
.ttl-box + .col-box.mt35rem,
.col-box + .col-box.mt35rem {
	margin-top: 3.5rem;
}
.col-box + .col-box.mt4rem {
	margin-top: 4rem;
}
.ttl-box + .col-box.mt45rem,
.col-box + .col-box.mt45rem {
	margin-top: 4.5rem;
}
.col-box + .col-box.mt5rem {
	margin-top: 5rem;
}
.ttl-box + .col-box.mt55rem,
.col-box + .col-box.mt55rem {
	margin-top: 5.5rem;
}
.col-box + .col-box.mt6rem {
	margin-top: 6rem;
}

.movie-block {
	width: 620px;
	margin: auto;
	margin-top: 50px;
	padding: 10px 10px 15px 10px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 0 10px rgba(0,0,0,.15);
}
.movie-block a {
	display: block;
}
.movie-block a img {
}
.movie-block a span {
	display: block;
	margin-top: 1em;
}
.movie-block.v2 {
	width: 610px;
	padding: 5px;
}
.movie-block.v3 {
	width: 610px;
	padding: 5px;
}



/****************************************************************************************************
stop
****************************************************************************************************/
#stop {
	position: relative;
	color: #000;
	line-height: 1.8;
}
#stop-img .photo {
	position: relative;
}
#stop-img .photo img {
	object-fit: cover;
	width: 100%;
	height: 860px;
}
#stop-img .photo figcaption {
	position: absolute;
	left: 15px;
	bottom: 15px;
	color: #FFF;
	font-size: 0.8rem;
}
#stop .stop-title h2 {
	color: rgb(160,142,88);
	font-size: 1.6rem;
}
#stop .stop-box {
	position: absolute;
	top: 60%;
	left: 50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	padding: 80px 100px;
	background: rgba(255,255,255,.95);
	z-index: 2000;
	font-size: 1.2rem;
}
.stop-btn {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 40px;
}
.stop-btn div a {
	width: 260px;
	padding: 0.6em;
	display: block;
	background: #999;
	color: #FFF;
	font-size: 1.4rem;
	font-weight: bold;
}
.stop-btn div + div {
	margin-left: 20px;
}



/****************************************************************************************************
landplan
****************************************************************************************************/
.landplan-ttl {
	padding: 100px 0 0 0;
	background: url(../img/landplan/bg.png) no-repeat center top;
}
.landplan-ttl h2 {
	font-size: 4.266rem;
	letter-spacing: 5px;
}
#contents .landplan-ttl p {
	margin-top: 0.4em;
	font-size: 2.133rem;
}
.landplan-block1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 40px;
}
.landplan-text .eng {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid rgba(255,255,255,.25);
	font-size: 1.2rem;
}
.landplan-text h3 + p {
	margin-top: 0.6em;
}
.landplan-fac {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 40px;
}
.landplan-fac-box {
	width: 580px;
	text-align: left;
}
.landplan-fac-box h3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.3em;
	font-size: 1.733rem;
	line-height: 1.2;
}
.landplan-fac-box h3 .num {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 1.3em;
	height: 1.3em;
	background: #8D793B;
	line-height: 1;
}
.landplan-fac-box p {
	margin-top: 0.5em;
}
.landplan-fac-box p .small {
	display: inline-block;
	font-size: 0.866rem;
}
.landplan-fac-box .flR {
	float: right;
	margin: 0 0 0 10px;
}
.landplan-fac-box .flR figure figcaption {
	margin-top: 0.6em;
	font-size: 0.833rem;
	line-height: 1.4;
	text-align: center;
}



/****************************************************************************************************
position
****************************************************************************************************/
.position-ttl {
	margin-bottom: 30px;
	color: #A08E58;
}
.position-ttl .eng {
	font-size: 1.733rem;
	line-height: 1.4;
}
#contents .position-ttl h3 {
	padding-left: 0.5em;
	font-size: 2.4rem;
	line-height: 1.4;
}
.column-block {
	padding: 50px;
	background: rgba(255,255,255,.5);
}
.column-inner {
	width: 790px;
	margin: auto;
}
.column-inner .facility-box {
	width: 790px;
}
.column-inner .facility-img {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
.column-inner .facility-ttl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1em;
}
#contents .column-inner .facility-txt ul {
	-webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -webkit-flex-direction:row;
    -ms-flex-direction:row;
    flex-direction:row;
	gap: 1em;
}
#well-being-banner {
	margin-bottom: 60px;
}



/****************************************************************************************************
access
****************************************************************************************************/
.shinkansen {
	background: rgba(255,255,255,.5);
}
.shinkansen-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 30px;
}
.bus-img {
	position: absolute;
	right: 0;
	top: 0;
}



/****************************************************************************************************
plan
****************************************************************************************************/
#contents.plan .inner {
	padding: 220px 0 100px 0;
}
#plan-block {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	/*-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;*/
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-align: center;
	margin: auto;
	width: 1200px;
	width: 790px;
	gap: 30px;
}
#point-block ul {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-align: center;
}
#point-block ul li {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 380px;
	padding: 1.3em 1em;
	background-image: linear-gradient(135deg, rgba(255,255,255,1), rgba(240,237,230,1));
	box-shadow: 0 0 10px rgba(0,0,0,.15);
	color: #000;
	font-size: 1.2rem;
	line-height: 1.8;
}
#point-block ul li + li {
	margin-left: 30px;
}
#point-block ul li:nth-of-type(3n+1) {
	margin-left: 0;
}
#point-block ul li:nth-of-type(n+4) {
	margin-top: 30px;
}
#point-block ul li::before {
	position: absolute;
	content: "";
	display: block;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	left: 5px;
	top: 5px;
	border: 1px solid rgba(151,136,86,.50);
}
#point-block ul li em {
	display: block;
	margin-bottom: 0.2em;
	color: #8C0000;
	font-size: 1.866rem;
	font-style: normal;
	line-height:1.4;
}
.plan-link {
	width:800px;
	margin:0 auto;
	margin-top:100px;
}
.plan-link select {
	width:100%;
	height:auto;
	padding:1.0em;
	background:#E6E6E6;
	color: #000;
	font-size:1.2rem;
}

#casbee-block {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
}
#casbee-block div + div {
	margin-left: 30px;
}
#casbee-block h3 {
	font-size: 1.466rem;
	line-height: 1.6;
}
#casbee-block p {
	font-size: 1.2rem;
	line-height: 2.0;
}
#casbee-block p.small {
	font-size: 1.0rem;
	line-height: 2.0;
}
#casbee-block h3 + p {
	margin-top: 1rem;
}



/****************************************************************************************************
location
****************************************************************************************************/
.location-ttl h2 {
	font-size: 3.066rem;
	line-height: 1.6;
}
#contents .location-ttl p {
	margin-top: 1.5em;
	font-size: 1.333rem;
}
.flower-road {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	line-height: 1.6;
}
.flower-road-box .flower-road-eng {
	font-size: 1.2rem;
}
#contents .flower-road-box h3 {
	font-size: 1.466rem;
}
.flower-road-box figcaption {
	margin-top: 0.6em;
	font-size: 0.866rem;
	line-height: 1.4;
}
.flower-road-box > figure {
	margin-top: 1rem;
}
.flower-road-box > figure figcaption {
	text-align: right;
}
.flower-road-facility {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-top: 4px;
}
.flower-road-facility figure:nth-of-type(1) {
	margin-right: -8px;
	z-index: 2;
}
.flower-road-facility figure:nth-of-type(2) {
	margin-left: -8px;
}
.location-block1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
.location-block2 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 40px;
}
.location-text .eng {
	margin-bottom: 0.5em;
	padding-bottom: 0.6em;
	border-bottom: 1px solid rgba(160,142,88,.5);
	font-size: 1.333rem;
}
.location-text h3 + p {
	margin-top: 0.2em;
}
.location-block3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 6px;
}
.redevelopment-box .cap {
	margin-top: 0.8em;
	font-size: 0.866rem;
	line-height: 1.4;
	text-align: right;
}
.location-text .plan-caption {
	margin-top: 13px;
}
.location-block2 .plan-caption a {
    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;
}
.location-block2 .plan-caption a h4 {
	flex: 1;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.location-block2 .plan-caption a div {
	flex: 1;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}



/****************************************************************************************************
common-space
****************************************************************************************************/
.common-main {
	position: relative;
	padding-top: 110px;
	background: url(../img/common-space/bg.jpg) no-repeat center top;
	background-size: cover;
}
.common-main figure {
	position: relative;
}
.common-main figure img {
	width: 100%;
	height: auto;
}
.common-main figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.866rem;
	z-index: 10;
	color: #FFF;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.common-main h2 {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 3.066rem;
	letter-spacing: 5px;
	line-height: 1.4;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.common-main h2 .large {
	display: block;
	margin-bottom: 0.15em;
	font-size: 4rem;
	line-height: 1.2;
	letter-spacing: 0.3em;
}

.common-space {
	position: relative;
}
.common-space figure {
	position: relative;
}
.common-space figure img {
	width: 100%;
	height: auto;
}
.common-space figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.866rem;
	z-index: 10;
	color: #FFF;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
.common-space figure::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 300px;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,1));
	opacity: .6;
	/*mix-blend-mode: multiply;*/
	z-index: 0;
}
.common-space h2 {
	position: absolute;
	left: 50px;
	bottom: 46px;
	text-align: left;
	font-size: 3.066rem;
	line-height: 1.4;
	letter-spacing: 5px;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}



/****************************************************************************************************
modelroom
****************************************************************************************************/
#modelroom {
	position: relative;
}
#modelroom-img .photo {
	position: relative;
}
#modelroom-img .photo img {
	object-fit: cover;
	width: 100%;
	height: 1400px;
}
#modelroom-img .photo figure {
	position: relative;
}
#modelroom-img .photo figure::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 400px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,1), rgba(0,0,0,.0));
	opacity: 0.8;
	mix-blend-mode: multiply;
	z-index: 0;
}
#modelroom-img .photo figcaption {
	position: absolute;
	right: 15px;
	bottom: 15px;
	color: #FFF;
	font-size: 0.866rem;
	font-weight: bold;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
#modelroom .page-title {
	position: absolute;
	top: 200px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2000;
}
#modelroom .page-title h2,
#modelroom .page-title p {
	color: #FFF;
	font-size: 1.2rem;
	font-weight: bold;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
#modelroom .page-title h2 {
	margin-bottom: 1rem;
	font-size: 2.4rem;
}
#modelroom .request-box {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 1200px;
	top: 300px;
	left: 0;
	right: 0;
	margin: auto;
	padding: 10px;
	background: rgba(255,255,255,.9);
	border: 1px solid #DDD;
	z-index: 2000;
}
#modelroom .request-box > div + div {
	margin-left: 10px;
}
#modelroom .request-box > div + div:nth-of-type(2n+1) {
	margin-left: 0;
	margin-top: 10px;
}
.button.virtual a {
	background-image: linear-gradient(90deg, rgba(178,0,0,.75), rgba(178,0,0,1));
}



/****************************************************************************************************
mg
****************************************************************************************************/
#contents.mg .inner {
	padding: 180px 0 100px 0;
}
#contents.mg h2 {
	color: #FFF;
	font-size: 2.4rem;
	line-height: 1.4;
}
.information {
	margin-top: 60px;
	margin-bottom: 40px;
}
#contents .information h3 {
	padding: 1.2em;
	background: #978759;
	color: #FFF;
	font-size: 1.266rem;
	line-height: 1.8;
}
.information div {
	padding: 1.2em;
	background: #F6F6F6;
	border: 1px solid #CCCCCC;
	color: #000;
	font-size: 1.266rem;
	line-height: 1.8;
}

#present {
	margin-bottom: 40px;
}
#mg-movie.movie-block {
	display: inline-block;
	width: auto;
	margin-top: 0;
	margin-bottom: 40px;
	padding: 0;
	box-shadow: 0 0 10px rgba(0,0,0,.25);
}



/****************************************************************************************************
pamphlet
****************************************************************************************************/
#pamphlet-area {
	padding: 200px 0;
	background: URL(../img/pamphlet/bg.jpg) no-repeat center center;
	background-size: cover;
	color: #000;
}
.pamphlet-block {
	background: rgba(255,255,255,.9);
	width: 1200px;
	margin: auto;
	padding: 100px;
}
#contents .pamphlet-block p {
	font-size: 1.2rem;
	line-height: 1.8;
}
p + .pamphlet-btn {
	margin-top: 30px;
}
#contents .pamphlet-block p.small {
	margin-top: 2rem;
	font-size: 0.866rem;
	line-height: 1.6;
}
.note-box {
	display: inline-block;
	margin-top: 1.5rem;
	text-align: left;
}
.note-box .inner-box {
	padding: 0 2rem 2rem 2rem;
	border: 1px solid #CCC;
}
#contents .note-box h3 {
	padding: 1rem;
	background: #666;
	color: #FFF;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
}



/****************************************************************************************************
view
****************************************************************************************************/
#view {
	min-height: 770px;
}
#view-controles {
	padding: 20px 0;
	background: #333;
}
#view-controles-inner {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px;
	width: 1200px;
	margin: auto;
}
#view-controles-inner p {
	position: absolute;
	left: 0;
	top: 2.2em;
}
ul#floor-btn {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 730px;
	margin: auto;
	gap: 10px;
}
ul#floor-btn li a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 359px;
	height: 56px;
	padding-right: 0.5em;
	background: #F6F6F6;
	color: #333;
	font-size: 1.2rem;
}
ul#floor-btn li.select a {
	background: #978856;
	color: #FFF;
}
.pano {
	display: none;
}
.pano {
	position: relative;
	width: 100%;
	height: 770px;
	margin: 0 auto;
	cursor: move;
}
.pano .controls {
}
.pano .controls a {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #FFF;
	border-radius: 100%;
	box-shadow: 0 0 10px rgba(0,0,0,.25);
	color: #000;
	font-size: 1.2em;
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translate(0, -50%);
}
.pano .controls a.left {
	left: 20px;
}
.pano .controls a.right {
	right: 20px;
}
.pano.moving .controls a {
	opacity: 0.5;
}
.floor-info {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	left: 10px;
	top: 10px;
}
.floor-info dt {
	padding: 0.5em 1em;
	background: rgba(0,0,0,.75);
	color: #FFF;
}
.floor-info dd {
	padding: 0.5em 1em;
	background: rgba(255,255,255,.75);
	color: #000;
}
#direction-btn {
	position: relative;
	display: inline-block;
}
#direction-east {
	position: absolute;
	width: 50px;
	height: 50px;
	left: 293px;
	top: 236px;
	background: #FFF;
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
#direction-west {
	position: absolute;
	width: 50px;
	height: 50px;
	left: 132px;
	top: 236px;
	background: #FFF;
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
#direction-btn a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #978759;
	border-radius: 100%;
	color: #FFF;
	font-size: 0.733rem;
	font-weight: bold;
	line-height: 1.2;
}
#direction-btn .select a {
	background: #CC0000;
}



/****************************************************************************************************
blog
****************************************************************************************************/
.blog-pager {
	margin-bottom: 2rem;
}
* + .blog-pager {
	margin-bottom: 0;
	margin-top: 2rem;
}
.blog-pager ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 15px;
}
.blog-pager ul li {
	position: relative;
}
.blog-pager ul li::after {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	left: 3px;
	top: 3px;
	border: 1px solid rgba(255,255,255,.5);
	pointer-events: none;
}
.blog-pager ul li a {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	gap: 0.2em;
	width: 390px;
	padding: 1.4rem;
	background: #FFF;
	background-image: linear-gradient(90deg, rgba(119,119,119,.75), rgba(119,119,119,1));
	color: #FFF;
	font-size: 1.2rem;
	line-height: 1.4;
}
.blog-pager ul li.select a {
	background-image: linear-gradient(90deg, rgba(140,0,0,.75), rgba(140,0,0,1));
}
.blog-pager ul li a .vol {
	font-size: 0.866rem;
}
.blog-pager ul li a::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	right: 20px;
	top: 20px;
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	transform-origin: 50% 100%;
	transform: skew(45deg, 0);
}
.blog-block {
	text-align: left
}
.blog-main-img {
	position: relative;
}
.blog-main-img figure {
	position: relative;
}
.blog-main-img figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	color: #FFF;
	font-size: 0.866rem;
	font-weight: bold;
	text-shadow:
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1);
	z-index: 10;
}
.blog-main-ttl {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 35px 0 28px 35px;
	background: rgba(160,142,88,.90);
	color: #FFF;
}
.blog-main-ttl::after {
	content: "";
	position: absolute;
	right: -300px;
	top: 0;
	display: block;
	height: 100%;
	width: 300px;
	background-image: linear-gradient(90deg, rgba(160,142,88,.90), rgba(160,142,88,0));
}
.blog-vol {
	padding-bottom: 0.8em;
	margin-bottom: 0.7em;
	border-bottom: 1px dashed rgba(255,255,255,.5);
	font-size: 1.5rem;
	font-weight: bold;
}
.at-home-logo {
	position: absolute;
	right: 10px;
	top: 10px;
	padding: 15px 25px;
	background: rgba(255,255,255,1);
}
.at-home-logo div {
	margin-bottom: 8px;
	font-size: 0.866rem;
}
.at-home-logo ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
}
#contents.mg .blog-main-ttl h2 {
	color: #FFF;
	font-size: 2.8rem;
} 
.blog-main-lead {
	margin-top: 2rem;
}
.blog-main-kaisetsu {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 1.8rem;
	margin-top: 2rem;
	padding: 2rem;
	background: #F0F0F0;
}
.blog-main-kaisetsu figure img {
	width: 200px;
	height: auto;
}
.blog-main-kaisetsu .katagaki {
	margin-bottom: 0.5em;
	color: #A08E58;
	font-size: 1.2rem;
	line-height: 1.6;
}
.blog-main-kaisetsu .katagaki strong {
	font-size: 2.0rem;
}

.blog-column {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid rgba(0,0,0,.2);
}
.blog-column.summary {
	padding: 30px;
	border: none;
	background: #F3F3F3;
}
.blog-column-ttl h3 {
	position: relative;
	padding: 0.4em 1em;
	background: rgba(160,142,88,.1);
	background: #F6F4EC;
	border-right: 3px solid #A08E58;
	color: #A08E58;
	font-size: 2.4rem;
	line-height: 1.6;
}
.blog-column-ttl h3::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px #A08E58;
}
.blog-column-ttl h5 {
	position: relative;
	padding-left: 1.4em;
	display:  inline-block;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.blog-column-ttl h5:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";/*アイコンのユニコード*/
	font-weight: 900;
	position: absolute;/*絶対位置*/
	font-size: 1em;/*サイズ*/
	left: 0;/*アイコンの位置*/
	top: 0;/*アイコンの位置*/
	color: #5ab9ff; /*アイコン色*/
	font-weight: 900;
}
.blog-column-body {
	margin-top: 1.8rem;
}
.blog-column-body + .blog-column-body {
	margin-top: 3rem;
}
.blog-column-body h4 {
	position: relative;
	display: inline-block;
	padding: 0 55px;
	margin-bottom: 0.5rem;
	color: #8C0000;
	font-size: 1.8rem;
	line-height: 1.6;
}
.blog-column-body h4:before, .blog-column-body h4:after { 
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  display: inline-block;
  width: 45px;
  height: 3px;
  border-top: solid 1px rgba(140,0,0,.3);
  border-bottom: solid 1px rgba(140,0,0,.3);
}

.blog-column-body h4:before {
 	left:0;
}

.blog-column-body h4:after {
 	right: 0;
}
#contents .blog-main-lead p:not(.small)::first-letter,
#contents .blog-column-body p:not(.small)::first-letter {
	color: #A08E58;
	font-size: 1.5em;
}
#contents .blog-main-lead p.small,
#contents .blog-main-lead p .small,
#contents .blog-column-body p.small,
#contents .blog-column-body p .small {
	font-size: 0.833rem;
}
.blog-column-body .blog-col + .blog-col,
.blog-column-body .point-list + p,
.blog-column-body p + p,
.blog-column-body p + h4 {
	margin-top: 1.8rem;
}
.blog-column-body p + .blog-img {
	margin-top: 2.5rem;
}
.blog-column-body .blog-img:not(.flR) + p {
	margin-top: 1rem;
}
.blog-column-body h4 + p {
	margin-top: 0.5rem;
}
.blog-img {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px;
}
.blog-img.vertical {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	gap: 20px;
}
.blog-img.flR {
	float: right;
	margin: 0 0 20px 30px;
}
.blog-img figure figcaption {
	margin-top: 0.6em;
	font-size: 0.866rem;
	line-height: 1.4;
	text-align: right;
}
.blog-img figure a {
	display: block;
	position: relative;
}
.blog-img figure a .zoom {
	position: absolute;
	display: block;
	background: #FFF;
	right: 0;
	top: 0;
	padding: 0.5em 0.5em 0em 0.5em;
	transform: translate(0, -100%);
	font-size: 0.866rem;
	line-height: 1.0;
}
.blog-img figure img {
	width: 100%;
	height: auto;
}
.blog-img .harf {
	width: 585px;
}
.blog-img .third {
	width: 380px;
}
.blog-img .quarter {
	width: 277px;
}
.blog-img .fifth {
	width: 216px;
}
.point-list {
	margin-top: 0.5rem;
	padding: 2rem;
	background: #F0F0F0;
	font-size: 1.2rem;
	line-height: 1.8;
}
.point-list .colS {
	color: #978659;
}



/****************************************************************************************************
transfer
****************************************************************************************************/
#mg-movie {
	margin-bottom: 40px;
}




@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	header
	****************************************************************************************************/
	/*#header {
		border-bottom: 1px solid #EEE;
	}*/
	.pagetop {
		right: 2vw;
		bottom: 17vw;
		width: 12vw;
	}
	
	.spLeft {
		text-align: left;
	}
	
	
	
	/****************************************************************************************************
	タウンガイド用
	****************************************************************************************************/
	.main-img.town-guide img {
		height: 50vw;
	}
	.main-txt.town-guide {
		top: 16vw;
	}
	#town-guide-map {
		width: 92vw;
		margin-top: -10vw;
	}
	#town-guide-map figcaption {
		font-size: 0.533rem;
	}
	#list {
		margin-top: 4vw;
	}
	#list ul li {
		width: 50%;
		font-size: 0.866rem;
	}
	
	#facility,
	.facility {
		column-gap: 6vw;
		row-gap: 6vw;
		margin-top: 6vw;
	}
	.facility.w790{
		width: 100%;
	}
	.facility-box {
		width: 100%;
	}
	.facility-txt {
		padding-top: 4vw;
	}
	#contents .facility-txt h3 {
		font-size: 1.6rem;
	}
	#contents .facility-txt p {
		font-size: 1.0rem;
	}
	#contents .facility-txt ul {
		font-size: 0.866rem;
	}
	.sub-img {
		width: 36vw;
		right: -2vw;
		top: -2vw;
	}
	.sub-text {
		font-size: 0.866rem;
	}
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#wrap {
	}
	#contents .inner {
		width: 100%;
		padding: 10vw 4vw 10vw 4vw;
	}
	#contents .inner.plan-detail {
		padding-top: 16vw;
	}
	.sec-block + .sec-block {
		margin-top: 10vw;
	}
	
	.main-img figure figcaption {
		position: absolute;
		right: 1em;
		bottom: 1em;
		font-size: 0.533rem;
	}
	.main-img.plan figure figcaption {
		right: 0.5em;
		bottom: 0.5em;
		font-size: 0.666rem;
	}
	#stop-img figure.shadow::before,
	.main-img figure.shadow::before,
	.main-img.position figure.shadow::before,
	.main-img.access figure.shadow::before,
	.main-img.plan figure.shadow::before {
		height: 10vw;
	}
	.main-img figure.shadow::after {
		height: 10vw;
	}
	.main-img.landplan figure img {
		object-fit: cover;
		object-position: 20% 50%;
		width: 100%;
		height: 74vw;
	}
	.main-img.position figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100vw;
	}
	.main-img.access figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100vw;
	}
	.main-img.plan figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 90vw;
	}
	.main-img.location figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 120vw;
	}

	.main-txt {
		left: 4vw;
		bottom: 3vw;
	}
	.main-txt.position {
		top: 14vw;
	}
	.main-txt.access {
		top: 14vw;
	}
	.main-txt.plan {
		top: 14vw;
	}
	.main-txt.location {
		top: 14vw;
	}
	.main-txt.landplan {
		top: 14vw;
	}
	.main-txt .ttl-box h2 {
		font-size: 1.4rem;
		line-height: 1.5;
		letter-spacing: 0;
	}
	.main-txt .ttl-box h2.large {
		font-size: 2rem;
	}
	.main-txt .ttl-box h2.small {
		font-size: 1.5rem;
	}
	.plan-caption {
		margin-top: 2vw;
	}
	.plan-caption a,
	.plan-caption span {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 84vw;
		margin: auto;
		text-align: center;
	}
	.plan-caption a h4,
	.plan-caption span h4 {
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-size: 1.0rem;
	}
	.plan-caption a div,
	.plan-caption span div {
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 1vw;
		font-size: 1.066rem;
	}
	.plan-caption a div img,
	.plan-caption span div img {
		width: 4vw;
	}
	
	#contents h3 {
		font-size: 1.333rem;
		line-height: 1.6;
	}
	#contents h3.small {
		font-size: 1.0rem;
	}
	#contents p.large {
		font-size: 1rem;
		line-height: 1.8;
	}
	#contents p {
		font-size: 1rem;
		line-height: 1.8;
	}
	#contents p .small {
		font-size: 0.866rem;
	}
	
	figure.img-box figcaption {
		font-size: 0.533rem;
	}
	figure.img-box figcaption.in {
		right: 0.6em;
		bottom: 0.6em;
		font-size: 0.533rem;
	}
	.caption {
		margin: 10vw 0 0 0;
		padding: 1em 0 0 0;
		font-size: 0.6rem;
	}
	
	.ttl-box {
	}
	.ttl-box .sub {
		font-size: 1.0rem;
	}
	.ttl-box h1 {
		font-size: 1.533rem;
	}
	.ttl-box h1.large {
		font-size: 1.866rem;
	}
	.ttl-box h1.large .small {
		font-size: 1.4rem;
	}
	.ttl-box h2.xlarge {
		font-size: 1.733rem;
	}
	.ttl-box h2 {
		font-size: 1.2rem;
	}
	.ttl-box h2.large {
		font-size: 1.4rem;
	}
	.ttl-box h2 span.free {
		margin-left: 0.6em;
		padding: 0.3em 0.5em;
		font-size: 1.0rem;
		vertical-align: 2px;
	}
	#contents .ttl-box h3 {
		font-size: 1.2rem;
	}
	#contents .ttl-box h3.small {
		font-size: 1.0rem;
	}
	.ttl-box .sub + h2 {
		margin-top: 0.5em;
	}
	.ttl-box .sub + h2.mt05rem {
		margin-top: 0.5em;
	}
	.ttl-box p {
		font-size: 1.0rem;
	}
	
	.ttl-box + .col-box,
	.col-box + .col-box {
		margin-top: calc(1rem * 0.75);
	}
	.col-box + .col-box.mt0rem {
		margin-top: 0rem;
	}
	.ttl-box + .col-box.mt05rem,
	.col-box + .col-box.mt05rem {
		margin-top: calc(0.5rem * 0.75);
	}
	.ttl-box + .col-box.mt1rem,
	.col-box + .col-box.mt1rem {
		margin-top: calc(1rem * 0.75);
	}
	.ttl-box + .col-box.mt15rem,
	.col-box + .col-box.mt15rem {
		margin-top: calc(1.5rem * 0.75);
	}
	.ttl-box + .col-box.mt2rem,
	.col-box + .col-box.mt2rem {
		margin-top: calc(2rem * 0.75);
	}
	.ttl-box + .col-box.mt25rem,
	.col-box + .col-box.mt25rem {
		margin-top: calc(2.5rem * 0.75);
	}
	.col-box + .col-box.mt3rem {
		margin-top: calc(3rem * 0.75);
	}
	.ttl-box + .col-box.mt35rem,
	.col-box + .col-box.mt35rem {
		margin-top: calc(3.5rem * 0.75);
	}
	.col-box + .col-box.mt4rem {
		margin-top: calc(4rem * 0.75);
	}
	.ttl-box + .col-box.mt45rem,
	.col-box + .col-box.mt45rem {
		margin-top: calc(5.5rem * 0.75);
	}
	.col-box + .col-box.mt5rem {
		margin-top: calc(5rem * 0.75);
	}
	.ttl-box + .col-box.mt55rem,
	.col-box + .col-box.mt55rem {
		margin-top: calc(5.5rem * 0.75);
	}
	.col-box + .col-box.mt6rem {
		margin-top: calc(6rem * 0.75);
	}
	
	.movie-block {
		width: 60vw;
		margin: auto;
		margin-top: 5vw;
		padding: 1.5vw 1.5vw 2vw 1.5vw;
	}
	.movie-block a {
		display: block;
		font-size: 0.733rem;
	}
	.movie-block a img {
	}
	.movie-block a span {
		display: block;
		margin-top: 1em;
	}
	.movie-block.v2 {
		width: 60vw;
		padding: 0.5vw;
	}
	.movie-block.v3 {
		width: 92vw;
		padding: 0;
	}
	.movie-block.v3 iframe {
		width: 92vw;
		height: 163.47vw;
	}
	
	
	
	/****************************************************************************************************
	stop
	****************************************************************************************************/
	#stop-img .photo img {
		height: 150vw;
	}
	#stop-img .photo figcaption {
		left: 1em;
		bottom: 1em;
		font-size: 0.6rem;
	}
	#stop .stop-title h2 {
		font-size: 1.6rem;
	}
	#stop .stop-box {
		width: 92vw;
		padding: 10vw 5vw;
	}
	.stop-btn {
		margin-top: 5vw;
	}
	.stop-btn div a {
		width: 40vw;
	}
	.stop-btn div + div {
		margin-left: 2vw;
	}
	
	
	
	/****************************************************************************************************
	landplan
	****************************************************************************************************/
	.landplan-ttl {
		margin-bottom: -4vw;
		padding: 8vw 0 0 0;
		background: url(../img/landplan/bg.png) no-repeat center top;
		background-size: contain;
	}
	.landplan-ttl h2 {
		font-size: 2rem;
		letter-spacing: 0;
	}
	#contents .landplan-ttl p {
		margin-top: 0.6em;
		font-size: 1.0rem;
	}
	.landplan-block1 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 4vw;
	}
	.landplan-text .eng {
		font-size: 1.0rem;
	}
	.landplan-fac {
		gap: 4vw;
	}
	.landplan-fac-box {
		width: 100%;
		text-align: left;
	}
	.landplan-fac-box h3 {
		font-size: 1.4rem;
	}
	.landplan-fac-box p .small {
		font-size: 0.666rem;
	}
	.landplan-fac-box .flR {
		width: 20vw;
		margin: 0 0 0 2vw;
	}
	.landplan-fac-box .flR figure figcaption {
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	position
	****************************************************************************************************/
	.position-ttl {
		margin-bottom: 6vw;
		color: #978859;
	}
	.position-ttl .eng {
		font-size: 1.2rem;
	}
	#contents .position-ttl h3 {
		font-size: 1.6rem;
	}
	.column-block {
		padding: 4vw;
		background: rgba(255,255,255,.5);
	}
	.column-inner {
		width: 100%;
		margin: auto;
	}
	.column-inner .facility-box {
		width: 100%;
	}
	.column-inner .facility-img {
		gap: 2vw;
	}
	#contents .column-inner .facility-txt ul {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 0;
	}
	.column-block .ttl-box + .col-box.mt2rem {
		margin-top: 1rem;
	}
	.column-block .position-ttl {
		margin-bottom: 4vw;
	}
	#well-being-banner {
		margin-bottom: 10vw;
	}
	
	
	
	/****************************************************************************************************
	access
	****************************************************************************************************/
	.shinkansen-box {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	.bus-img {
		position: static;
		margin-top: 6vw;
	}
	
	
	
	/****************************************************************************************************
	plan
	****************************************************************************************************/
	#contents.plan .inner {
		padding: 20vw 4vw 10vw 4vw;
	}
	#plan-block {
		gap: 2vw;
		width: 100%;
	}
	#plan-block div {
		width: 45vw;
	}
	
	#point-block ul {
		margin-top: 3vw;
		gap: 2vw;
	}
	#point-block ul li {
		width: 45vw;
		font-size: 0.933rem;
		line-height: 1.4;
	}
	#point-block ul li + li {
		margin-left: 0;
	}
	#point-block ul li:nth-of-type(2n+1) {
		margin-left: 0;
	}
	#point-block ul li:nth-of-type(n+3) {
		margin-top: 0;
	}
	#point-block ul li::before {
		width: calc(100% - 6px);
		height: calc(100% - 6px);
		left: 3px;
		top: 3px;
	}
	#point-block ul li em {
		font-size: 1.2rem;
	}
	.plan-link {
		width:100%;
		margin-top:10vw;
	}
	.plan-link select {
		font-size:0.8rem;
	}
	
	#casbee-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	#casbee-block div + div {
		margin-left: 0;
	}
	#casbee-block h3 {
		font-size: 1.066rem;
		line-height: 1.6;
	}
	#casbee-block p {
		font-size: 0.933rem;
		line-height: 1.8;
	}
	#casbee-block p.small {
		font-size: 0.8rem;
	}
	#casbee-block h3 +  p {
		margin-top: 0.5rem;
	}
	
	
	
	/****************************************************************************************************
	location
	****************************************************************************************************/
	.location-ttl h2 {
		font-size: 1.733rem;
		line-height: 1.6;
	}
	#contents .location-ttl p {
		font-size: 1.0rem;
	}
	.flower-road {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 2vw;
	}
	.flower-road-box {
		width: 45vw;
	}
	.flower-road-box .flower-road-eng {
		font-size: 0.866rem;
	}
	#contents .flower-road-box h3 {
		font-size: 0.933rem;
	}
	.flower-road-box figcaption {
		font-size: 0.533rem;
	}
	.flower-road-box > figure {
		margin-top: 0.5rem;
	}
	.flower-road-facility {
		margin-top: 1vw;
	}
	.flower-road-facility figure:nth-of-type(1) {
		margin-right: -0.5vw;
	}
	.flower-road-facility figure:nth-of-type(2) {
		margin-left: -0.5vw;
	}
	.flower-road-facility figure img {
		transform: scale(1.02);
	}
	.location-block1 {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 2vw;
	}
	.location-block1 > div {
		width: 45vw;
	}
	.location-block2 {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	.location-text .eng {
		font-size: 1.0rem;
	}
	.location-block3 {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 2vw;
	}
	.location-block3 > div {
		width: 29.3vw;
	}
	.location-block3 > div:nth-last-of-type(1) {
		width: 92vw;
	}
	.redevelopment-box .cap {
		font-size: 0.533rem;
	}
	.location-text .plan-caption {
		margin-top: 4vw;
	}
	.location-block2 .plan-caption a {
		width: 100%;
	}
	
	
	
	/****************************************************************************************************
	common-space
	****************************************************************************************************/
	.common-main {
		padding-top: 28vw;
		background: url(../img/common-space/bg.jpg) no-repeat center top;
	}
	.common-main figure {
		position: relative;
	}
	.common-main figure img {
		width: 180%;
	}
	.common-main figure figcaption {
		font-size: 0.533rem;
	}
	.common-main h2 {
		left: 50%;
		top: 15vw;
		width: 100%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		font-size: 1.4rem;
	}
	.common-main h2 .large {
		font-size: 2rem;
		padding-left: 0.5em;
	}
	
	.common-space figure figcaption {
		font-size: 0.533rem;
	}
	.common-space figure::after {
		height: 30vw;
	}
	.common-space h2 {
		left: 4vw;
		bottom: 4vw;
		font-size: 1.2rem;
		line-height: 1.4;
		letter-spacing: 0;
	}
	
	
	
	/****************************************************************************************************
	modelroom
	****************************************************************************************************/
	#modelroom-img .photo img {
		width: 100%;
		height: 190vw;
		object-fit: cover;
		object-position: 50% 50%;
	}
	#modelroom-img .photo figure::before {
		height: 40vw;
	}
	#modelroom-img .photo figcaption {
		right: 1vw;
		bottom: 1vw;
		font-size: 0.466rem;
	}
	#modelroom .page-title {
		top: 16vw;
		width: 92vw;
	}
	#modelroom .page-title h2,
	#modelroom .page-title p {
		font-size: 0.8rem;
	}
	#modelroom .page-title h2 {
		font-size: 2rem;
		margin-bottom: 0.8rem;
		line-height: 1.4;
	}
	#modelroom .request-box {
		width: 92vw;
		top: 40vw;
		padding: 1vw;
	}
	#modelroom .request-box > div + div {
		margin: 1vw 0 0 0;
	}
	#modelroom .request-box > div + div:nth-of-type(2n+1) {
		margin: 1vw 0 0 0;
	}
	
	
	
	/****************************************************************************************************
	mg
	****************************************************************************************************/
	#contents.mg .inner {
		padding: 20vw 4vw 10vw 4vw;
	}
	#contents.mg h2 {
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.information {
		margin-top: 5vw;
		margin-bottom: 5vw;
	}
	#contents .information h3 {
		font-size: 1.0rem;
	}
	.information div {
		font-size: 1.0rem;
	}
	
	#present {
		margin-bottom: 5vw;
	}
	#mg-movie {
		width: 100%;
		margin-bottom: 5vw;
	}
	#mg-movie iframe {
		width: 92vw;
		height: 163.47vw;
	}
	
	
	
	/****************************************************************************************************
	pamphlet
	****************************************************************************************************/
	#pamphlet-area {
		padding: 15vw 0;
	}
	.pamphlet-block {
		width: 92vw;
		padding: 10vw 5vw;
	}
	#contents .pamphlet-block p {
		font-size: 1.0rem;
		line-height: 1.6;
	}
	p + .pamphlet-btn {
		margin-top: 5vw;
	}
	#contents .note-box p.small {
		font-size: 0.8rem;
	}
	
	
	
	/****************************************************************************************************
	view
	****************************************************************************************************/
	#view {
		min-height: 50vh;
	}
	#view-controles {
		padding: 4vw 0;
	}
	#view-controles-inner {
		gap: 4vw;
		width: 100%;
	}
	#view-controles-inner p {
		position: static;
	}
	ul#floor-btn {
		-webkit-box-pack: start;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 92vw;
		gap: 1vw;
	}
	ul#floor-btn li a {
		width: 45.5vw;
		height: 10vw;
		font-size: 1.0rem;
	}
	.pano {
		position: relative;
		width: 100%;
		height: 50vh;
		margin: 0 auto;
		cursor: move;
	}
	.pano .controls {
	}
	.pano .controls a {
		font-size: 1.0em;
		width: 6vw;
		height: 6vw;
	}
	.pano .controls a.left {
		left: 4vw;
	}
	.pano .controls a.right {
		right: 4vw;
	}
	.floor-info {
		left: 2vw;
		top: 2vw;
		font-size: 0.6rem;
	}
	#direction-btn {
		width: 92vw;
	}
	#direction-east {
		width: 10vw;
		height: 10vw;
		left: 66.742%;
		top: 87.407%;
	}
	#direction-west {
		width: 10vw;
		height: 10vw;
		left: 30.068%;
		top: 87.407%;
	}
	#direction-btn a {
		font-size: 0.6rem;
	}
	
	
	
	/****************************************************************************************************
	blog
	****************************************************************************************************/
	.blog-pager {
		margin-top: -3vw;
		margin-bottom: 1rem;
	}
	* + .blog-pager {
		margin-top: 2rem;
		margin-bottom: 0;
	}
	.blog-pager ul {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 1vw;
	}
	.blog-pager ul li::after {
		width: calc(100% - 1vw);
		height: calc(100% - 1vw);
		left: 0.5vw;
		top: 0.5vw;
	}
	.blog-pager ul li a {
		gap: 0.2em;
		width: 100%;
		padding: 1.0rem 1.4rem;
		font-size: 1.0rem;
	}
	.blog-pager ul li.select a {
		background-image: linear-gradient(90deg, rgba(140,0,0,.75), rgba(140,0,0,1));
	}
	.blog-pager ul li a .vol {
		font-size: 0.733rem;
	}
	.blog-pager ul li a::after {
		width: 6vw;
		height: 1.4vw;
		right: 4vw;
		top: 4vw;
	}
	.blog-main-img figure figcaption {
		font-size: 0.533rem;
	}
	.blog-main-ttl {
		position: static;
		padding: 4vw;
		background: rgba(160,142,88,1);
	}
	.blog-main-ttl::after {
		display: none;
	}
	.blog-vol {
		font-size: 0.866rem;
	}
	.at-home-logo {
		right: 1.5vw;
		top: 1.5vw;
		padding: 2vw 3vw;
	}
	.at-home-logo div {
		margin-bottom: 1.5vw;
		font-size: 0.6rem;
	}
	.at-home-logo ul {
		gap: 2vw;
	}
	#at-home {
		width: calc(98vw * 0.15);
	}
	#athomelab {
		width: calc(162vw * 0.15);
	}
	.blog-main-kaisetsu {
		display: block;
		padding: 5vw;
	}
	.blog-main-kaisetsu figure img {
		float: right;
		width: 22vw;
		height: auto;
		margin: 0 0 2vw 2vw;
	}
	.blog-main-kaisetsu .katagaki {
		font-size: 0.866rem;
		line-height: 1.6;
	}
	.blog-main-kaisetsu .katagaki strong {
		font-size: 1.5rem;
	}
	#contents.mg .blog-main-ttl h2 {
		color: #FFF;
		font-size: 1.6rem;
	}
	.blog-column {
		margin-top: 8vw;
		padding-top: 8vw;
	}
	.blog-column-ttl h3 {
		font-size: 1.5rem;
	}
	.blog-column.summary {
		padding: 4vw;
	}
	.blog-column-body h4 {
		width: 100%;
		font-size: 1.2rem;
		text-align: center;
	}
	.blog-column-ttl h5 {
		font-size: 1.4rem;
	}
	#contents .blog-main-lead p.small,
	#contents .blog-main-lead p .small,
	#contents .blog-column-body p.small,
	#contents .blog-column-body p .small {
		font-size: 0.6rem;
	}
	.blog-img {
		gap: 2vw;
	}
	.blog-img.vertical {
		gap: 2vw;
	}
	.blog-img.flR {
		margin: 0 0 2vw 2vw;
	}
	.blog-img figure figcaption {
		font-size: 0.533rem;
	}
	.blog-img figure a .zoom {
		font-size: 0.533rem;
	}
	.blog-img figure img {
		width: 100%;
		height: auto;
	}
	.blog-img .harf {
		width: 45vw;
	}
	.blog-img .third {
		width: 45vw;
	}
	.blog-img .quarter {
		width: 45vw;
	}
	.blog-img .fifth {
		width: 30vw;
	}
	.point-list {
		padding: 5vw;
		font-size: 0.866rem;
	}
	
	
	
	/****************************************************************************************************
	transfer
	****************************************************************************************************/
	#mg-movie {
		width: 100%;
		margin-bottom: 5vw;
	}
	#mg-movie iframe {
		width: 92vw;
		height: 163.47vw;
	}
}
@media screen and (max-width: 960px) and (orientation: landscape) {
	/****************************************************************************************************
	view
	****************************************************************************************************/
	#floor-btn ul li a {
		width: 22.25vw;
		height: 8vw;
		font-size: 1.0rem;
	}
	.pano .controls a {
		font-size: 0.6em;
		width: 3vw;
		height: 3vw;
	}
	.pano .controls a.left {
		left: 2vw;
	}
	.pano .controls a.right {
		right:2vw;
	}
	.floor-info {
		left: 1vw;
		top: 1vw;
		font-size: 0.4rem;
	}
}