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



/****************************************************************************************************
header
****************************************************************************************************/
#header {
	background: rgba(243,242,238,.95);
	box-shadow: 0 0 10px 2px rgba(0,0,0,.05);
	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	transition: all 300ms;
}
#header.nobg {
	background: rgba(243,242,238,0);
	box-shadow: 0 0 10px 1px rgba(0,0,0,.0);
}
#header.nobg.active,
#header.active {
	background: rgba(243,242,238,.95);
	box-shadow: 0 0 10px 1px rgba(0,0,0,.05);
}



/****************************************************************************************************
contents
****************************************************************************************************/
#wrap {
	overflow: hidden;
}
#wrap.black {
	background: #000;
}
#contents {
	padding: 0;
}
#contents > .inner,
.collaboration-bg > .inner {
	width: 1200px;
	margin: auto;
	padding: 100px 0 100px 0;
}

.sec-block + .sec-block {
	margin-top: 100px;
}

.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;
}



/****************************************************************************************************
共通
****************************************************************************************************/
#contents.mt .inner {
	padding: 220px 0 100px 0;
}
#contents.mt .inner.nomal {
	padding: 100px 0 100px 0;
}
#contents p {
	font-size: 1.066rem;
	line-height: 1.8;
}
#contents p .medium,
#contents p.medium {
	font-size: 1.0rem;
	line-height: 1.8;
}
#contents p .figcaption,
#contents p.figcaption {
	font-size: 0.866rem;
}

.col-box.borderTop {
	border-top: 1px solid #CCC;
}
.col-box.borderTop.mt3rem {
	padding-top: 3rem;
}
.col-box.borderTop.mt4rem {
	padding-top: 4rem;
}
.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;
}
.ttl-box + .col-box.mt3rem,
.col-box + .col-box.mt3rem {
	margin-top: 3rem;
}
.ttl-box + .col-box.mt35rem,
.col-box + .col-box.mt35rem {
	margin-top: 3.5rem;
}
.ttl-box + .col-box.mt4rem,
.col-box + .col-box.mt4rem {
	margin-top: 4rem;
}
.ttl-box + .col-box.mt5rem,
.col-box + .col-box.mt5rem {
	margin-top: 5rem;
}
.ttl-box + .col-box.mt6rem,
.col-box + .col-box.mt6rem {
	margin-top: 6rem;
}

.alc {
	text-align: center;
}

.caption {
	margin: 100px 0 0 0;
	padding: 1.6em 0 0 0;
	border-top: 1px solid rgba(0,0,0,.15);
	font-size: 0.866rem;
	line-height: 1.6;
	text-align: left;
}
.black .caption {
	border-top: 1px solid rgba(255,255,255,.15);
	color: #FFF;
}



/****************************************************************************************************
concept
****************************************************************************************************/
.img-box {
	position: relative;
	display: inline-block;
}
.img-box figcaption {
	margin-top: 0.8em;
	font-size: 0.866rem;
	line-height: 1.4;
	text-align: left;
}
.img-box figcaption.right {
	text-align: right;
}
.img-box figcaption.in {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	margin-top: 0;
	text-align: right;
}
.img-box figcaption.in.white {
	color: #FFF;
	font-weight: bold;
	text-shadow:
		0px 0px 5px rgba(0,0,0,1),
		0px 0px 5px rgba(0,0,0,1);
}
.img-box figcaption.in .small {
	font-size: 80%;
}
.img-box figcaption.rm {
	position: absolute;
	right: 0.2em;
	top: 0.2em;
	margin-top: 0;
	padding: 0.3em 0.6em;
	background: #800;
	color: #FFF;
	font-size: 1.0rem;
	font-weight: bold;
	line-height: 1.4;
}



/****************************************************************************************************
タイトル共通
****************************************************************************************************/
.ttl-box {
	position: relative;
	z-index: 10;
}
.ttl-box div {
	color: #85312C;
	font-size: 1.733rem;
	line-height: 1.4;
}
.ttl-box div + h2 {
	margin-top: 0.6em;
}
.ttl-box div + #patch {
	margin-top: 0.6em;
}
.ttl-box #patch + h2 {
	margin-top: 0.4em;
}
.ttl-box #patch {
	position: absolute;
	right: 120px;
	top: -10px;
}
.ttl-box h2 {
	font-size: 2.533rem;
	line-height: 1.6;
}
.ttl-box h2.exlarge,
.ttl-box h2 .exlarge {
	margin-top: 0em;
	font-size: 4.133rem;
	letter-spacing: 0.1em;
}
.ttl-box h2.large,
.ttl-box h2 .large {
	font-size: 3.066rem;
}
.ttl-box h2 + p {
	margin-top: 0.8em;
}
#contents .ttl-box p {
	font-size: 1.2rem;
	line-height: 2.2;
}
#contents .ttl-box p.large {
	font-size: 1.6rem;
	line-height: 1.8;
}
.col1 {
	color: #85312C;
}
.movie-box {
	margin: 1.5rem 0 2rem 0;
}



/****************************************************************************************************
location
****************************************************************************************************/
#main.location {
	position: relative;
	padding-top: 133px;
}
#main.location > figure img {
	width: 100%;
	height: auto;
}
#main.location #main-copy {
	position: absolute;
	left: 3.88vw;
	top: calc(133px + 3.88vw);
	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: 30px;
	text-align: left;
}
#main.location #main-copy #main-text {
	text-shadow:
		0 0 15px rgba(255,255,255,1),
		0 0 15px rgba(255,255,255,1),
		0 0 15px rgba(255,255,255,1);
}
#main.location #main-copy #main-text h2 {
	font-size: 2.133rem;
	line-stacking: 1.4;
}
#main.location #main-copy #main-text p {
	margin-top: 0.8em;
	font-size: 1.2rem;
}
#location {
}
#location-img-block {
	padding: 46px 0 60px 0;
}
#location-copy-block p {
	font-size: 1.866rem;
	line-height: 1.4;
}
#location-copy-block h3 {
	margin-top: 0.1em;
	font-size: 4.266rem;
	line-height: 1.2;
}
#location-column-block {
	width: 1200px;
	margin: auto;
	padding: 60px 0 0 0;
	text-align: left;
}
.location-column-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.location-column-box + .location-column-box {
	margin-top: 30px;
}
.location-column-txt {
	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-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
}
.location-column-txt h4 {
	padding: 0 40px 0 0;
	color: #8E7B55;
	font-size: 2.133rem;
	line-height: 1.4;
}
.location-column-txt p {
	margin: 1em 0 0 0;
	padding: 1em 40px 0 0;
	border-top: 1px solid rgba(0,0,0,.2);
	font-size: 1.2rem;
	line-height: 2.0;
}
.location-column-txt p .small {
	display: inline-block;
	font-size: 0.866rem;
}
.location-column-box:nth-of-type(even) .location-column-txt {
	order: 2;
}
.location-column-box:nth-of-type(even) .location-column-txt h4 {
	padding: 0 0 0 40px;
}
.location-column-box:nth-of-type(even) .location-column-txt p {
	padding: 1em 0 0 40px;
}

#location-map {
	margin: 100px 0 30px 0;
}
#education {
	padding: 30px;
	background: #D6D9C4;
}
#education h4 {
	font-size: 1.333rem;
	line-height: 1.6;
}
#education-block {
	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: 25px;
	margin-top: 20px;
}
#life-information {
	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;
	margin-top: 30px;
}
#life-information-other {
	margin-top: 50px;
}

.location-point-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	color: #FFF;
}
.location-point-img {
	position: relative;
	width: 50vw;
}
.location-point-img figure {
}
.location-point-img figure img {
	object-fit: cover;
	width: 50vw;
	height: 800px;
}
.location-point-img figure figcaption {
	position: absolute;
	left: 0.8em;
	bottom: 0.8em;
	font-size: 0.866rem;
	font-weight: bold;
	text-shadow:
		0px 0px 5px rgba(0,0,0,1),
		0px 0px 5px rgba(0,0,0,1);
}
.location-point-ttl {
	position: absolute;
	left: 50%;
	top: calc(50% + 0.2em);
	transform: translate(-50%, -50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-align: left;
	line-height: 1.4;
	font-feature-settings: normal;
}
.location-point-ttl div {
	margin-top: 0.2em;
}
.location-point-ttl h4 {
	font-size: 2.4rem;
	letter-spacing: 0.2em;
}
.location-point-text {
	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-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	width: 50vw;
	padding: 50px;
	background: #5A322A;
	text-align: left;
}
.location-point-text h5 {
	width: 100%;
	max-width: 600px;
	margin-bottom: 0.6em;
	font-size: 1.866rem;
	line-height: 1.4;
}
.location-point-text p {
	width: 100%;
	max-width: 600px;
	font-size: 1.2rem !important;
	line-height: 2.0 !important;
}

.location-point-box:nth-of-type(2) .location-point-img {
    -webkit-box-ordinal-group:3;
    -webkit-order:2;
    -ms-flex-order:2;
    order:2;
}
.location-point-box:nth-of-type(2) .location-point-img figure figcaption {
	left: auto;
	right: 0.8em;
}
.location-point-box:nth-of-type(2) .location-point-text {
	background: #6B5D3A;
}
.location-point-box:nth-of-type(3) .location-point-text {
	background: #313F4F;
}

/*↓↓↓↓↓20250429 更新↓↓↓↓↓*/
#location-shopping-block {
}
#location-park-block,
#location-education-block,
#location-masumicho-area-block,
#location-cafe-restrant-block,
#location-shop-gym-block {
	margin-top: 100px;
}
.location-facility-title {
	margin-bottom: 45px;
}
#location-shopping-sub-block1,
#location-shopping-sub-block2,
#location-park-sub-block1,
#location-park-sub-block2,
#location-education-sub-block1,
#location-education-sub-block2,
.location-facility-sub-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
.location-facility-midashi {
	padding: 20px 0 62px 0;
}
.location-facility-midashi h3 {
	color: #8C7953;
	font-size: 2.4rem;
	line-height: 1.2;
}
.location-facility-shop-block .location-facility-shop-box + .location-facility-shop-box {
	margin-top: 80px;
}
.location-facility-shop-block .location-facility-shop-box:nth-of-type(even) .location-facility-shop-photo {
	order: 2;
}
.location-facility-shop-block2 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 80px;
	margin-top: 80px;
}
.location-facility-shop-box {
	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;
	gap: 30px;
}
.location-facility-shop-block2 .location-facility-shop-box {
	-webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	-webkit-box-align: start;
	-webkit-align-items: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 20px;
}
#location-facility-shop-no1::before {
	content: "";
	display: block;
	position: absolute;
	width: 103px;
	height: 210px;
	right: 0;
	top: -50px;
	background-image: url('../img/location/cafe-restrant-pict1.jpg');
	background-size: cover;
}
#location-facility-shop-no2::before {
	content: "";
	display: block;
	position: absolute;
	width: 150px;
	height: 208px;
	right: 0;
	top: -70px;
	background-image: url('../img/location/cafe-restrant-pict2.jpg');
	background-size: cover;
}
#location-facility-shop-no3::before {
	content: "";
	display: block;
	position: absolute;
	width: 108px;
	height: 118px;
	right: 20px;
	top: -30px;
	background-image: url('../img/location/cafe-restrant-pict3.jpg');
	background-size: cover;
}
#location-facility-shop-no4::before {
	content: "";
	display: block;
	position: absolute;
	width: 368px;
	height: 177px;
	right: 0;
	top: -170px;
	background-image: url('../img/location/shop-gym-pict1.jpg');
	background-size: cover;
}
.location-facility-shop-text {
	position: relative;
	text-align: left;
}
.location-facility-shop-midashi h5 {
	color: #8C7953;
	font-size: 1.733rem;
	line-height: 1.4;
}
.location-facility-shop-block .location-facility-shop-ttl {
	margin-top: 20px;
}
.location-facility-shop-ttl .cat {
	font-size: 1.066rem;
	line-height: 1.6;
}
.location-facility-shop-ttl h4 {
	color: #9F1322;
	font-family: sans-serif;
	font-size: 2.133rem;
	font-weight: normal;
	line-height: 1.4;
}
.location-facility-shop-ttl .access {
	font-size: 1.2rem;
	line-height: 1.6;
}
#contents .location-facility-shop-info {
	margin-top: 30px;
	padding-top: 30px;
	background: url(../img/location/bar.png) no-repeat left top;
}
#contents .location-facility-shop-info p {
	font-size: 1.2rem;
	line-height: 2.0;
}
#contents .location-facility-shop-info ul {
	margin-top: 20px;
	font-size: 1.066rem;
	line-height: 1.6;
}
#contents .location-facility-shop-info dl {
	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;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 30px;
}
#contents .location-facility-shop-info dl dd a {
	color: #9F1322;
	font-size: 1.333rem;
}
/*↑↑↑↑↑20250429 更新↑↑↑↑↑*/
#location-shopping-sub-block2 {
	margin-top: 30px;
}
#location-park-sub-block2 {
	margin-top: 18px;
}
#location-education-sub-block2 {
	margin-top: 30px;
}
.location-facility-text {
	width: 585px;
	text-align: left;
}
.location-facility-text h3 {
	margin-bottom: 0.4em;
	color: #8C7953;
	font-size: 1.866rem;
	line-height: 1.4;
}
.location-facility-text p {
	font-size: 1.2rem !important;
	line-height: 2.0 !important;
}
#location-education-column {
	width: 585px;
	padding: 19px;
	border: 1px solid rgba(0,0,0,.5);
}
#location-education-column h4 {
	margin-bottom: 0.6em;
	font-size: 1.333rem;
	line-height: 1.6;
}
#location-education-sub-block3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 15px;
}



/****************************************************************************************************
position
****************************************************************************************************/
#position {
	position: relative;
	padding: 220px 0 0 0;
	background: #FFF;
}
#position .ttl-box {
	color: #959EA3;
	margin-bottom: 30px;
}
#position .ttl-box div {
	color: #959EA3;
	font-size: 2.133rem
}
#position-img-block {
	position: relative;
	width: 100%;
	height: 1120px;
}
#position-img-block figure {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	width: 1600px;
	height: 1120px;
}
#position-img-block figure img {
	width: 1600px;
	height: 1120px;
}
#position-img-block figure figcaption {
	position: absolute;
	right: 1em;
}

.position-merit1,
.position-merit3 {
	padding: 100px 0;
	background: #FFF;
}
.position-merit2 {
	padding: 100px 0;
	background: #FBF9F6;
}
.position-merit4 {
	padding: 100px 0;
	background: #F4F5F5;
}
.position-merit5 {
	padding: 100px 0;
	background: #FBF9F6;
}
.position-inner {
	width: 920px;
	margin: auto;
}
.position-inner2 {
	width: 1200px;
	margin: auto;
}
.position-title {
	position: relative;
}
.position-title h3 {
	padding: 0.3em;
	background: #426E8F;
	border: 2px solid #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,.3);
	color: #FFF;
	font-size: 2.133rem;
	line-height: 1.4;
}
.position-text h4 {
	color: #426E8F;
	font-size: 2.8rem;
	line-height: 1.4;
}
.position-text h4.large {
	font-size: 3.066rem;
}
.position-text h4.eng {
	font-family: 'Baskerville';
	font-size: 1.733rem;
	font-weight: normal;
}
.position-text h4 + p {
	margin-top: 10px;
}
#contents .position-text p.large {
	font-size: 1.733rem;
}
#contents .position-text p.small {
	font-size: 1.466rem;
}
#contents .position-text p.figcaption {
	font-size: 0.866rem;
}
#contents .position-text p {
	font-size: 1.6rem;
}
.position-text + .position-text {
	margin-top: 50px;
	padding-top: 50px;
	border-top: 2px dotted #426E8F;
}

.position-merit2 .position-title h3 {
	background: #858177;
}
.position-merit2 .position-text h4 {
	color: #6C6256;
}
.area-zu {
	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;
	text-align: left;
}
.area-zu-text {
	width: 417px;
}
#contents .area-zu-text p,
#contents .masumi-park p {
	font-size: 1.333rem;
	text-align: left;
}
.road-block {
	position: relative;
	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: 10px 18px;
	width: 620px;
	padding: 40px 40px 30px 40px;
	margin: auto;
	border: 1px solid rgba(108,98,86,.5);
}
.road-mark {
	position: absolute;
	 left: -30px;
	 top: -30px;
	 z-index: 10;
}
.road-block + div.cap {
	width: 620px;
	margin: auto;
	margin-top: 0.8em;
	font-size: 0.866rem;
	line-height: 1.4;
	text-align: left;
}
.masumi-park {
	width: 620px;
	padding: 40px 40px 30px 40px;
	margin: auto;
	border: 1px solid rgba(108,98,86,.5);
}
.masumi-park h4 {
	margin-bottom: 22px;
	color: #6C6256;
	font-size: 3.066rem;
	line-height: 1.4;
}
.masumi-park h4 .small {
	font-size: 80%;
}

.position-merit3 .position-title h3 {
	background: #8F5B69;
}
.position-merit3 .position-text h4 {
	color: #8F5B69;
}
#marche-ikeda h4 {
	padding: 0.3em;
	border-top: 1px solid rgba(143,91,105,.5);
	border-bottom: 1px solid rgba(143,91,105,.5);
	color: #8F5B69;
	font-size: 1.733rem;
	line-height: 1.4;
}
.marche-ikeda-area {
	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;
	margin-top: 30px;
	text-align: left;
}
.marche-ikeda-block {
	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: 30px;
}
.marche-ikeda-box h5 {
	width: 445px;
	padding: 0.3em 0.6em;
	background: #8F5B69;
	color: #FFF;
	font-size: 1.2rem;
}
.marche-ikeda-box ul {
	margin-top: 0.5em;
	font-size: 1.2rem;
	line-height: 1.8;
}
.mac-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;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
	padding: 20px;
	margin: auto;
	border: 1px solid rgba(143,91,105,.5);
}
.mac-text {
	width: 378px;
	color: #333;
	text-align: left;
}
.mac-ttl div {
	font-size: 1.466rem;
}
.mac-ttl 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;
	margin-top: 0.3em;
}
.mac-ttl h3 span {
	font-size: 2.533rem;
	font-weight: normal;
}
.mac-ttl h3 strong {
	font-size: 4.4rem;
	font-weight: normal;
}
.mac-ttl h4 {
	margin-top: 0.3em;
	font-size: 1.466rem;
	letter-spacing: 0.1em;
}
.mac-txt {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(143,91,105,.5);
}
.mac-ttl h5 {
	font-size: 1.2rem;
	font-weight: normal;
}
#contents .mac-txt p {
	font-size: 1.2rem;
}
#contents .mac-txt p.small {
	font-size: 1.0rem;
}
#position-facility {
	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: 722px;
	margin: auto;
	text-align: left;
}
#position-facility p {
	width: 722px;
}

.position-merit4 .position-title h3 {
	background: #8D5F3E;
}
.position-merit4 .position-text h4 {
	color: #4D5357;
}
.position-merit4 .position-text p.block {
	width: 680px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.position-merit4 .position-text p + p {
	margin-top: 0.5em;
}
#merit4-mark {
	position: absolute;
	right: 30px;
	 top: -30px;
}
#ryokukou-garden-block {
	padding: 60px;
	border-top: 2px dotted #4D5357;
	border-bottom: 2px dotted #4D5357;
}
#contents #ryokukou-garden-block p {
	width: 600px;
	margin: auto;
	font-size: 1.2rem;
	text-align: left;
}
#contents #ryokukou-garden-block p {
	margin-top: 30px;
}
#contents #ryokukou-garden-block p + p {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(77,83,87,.5);
}

.position-merit5 .position-title h3 {
	background: #3E8D5D;
}



/****************************************************************************************************
residential-area
****************************************************************************************************/
#residential-area {
}

#residential-area-img-block {
	padding: 40px 0 0 0;
}



/****************************************************************************************************
access
****************************************************************************************************/
#access {
}
#access-img {
	margin-top: 50px;
}
#access-zu {
	margin-top: 30px;
}



/****************************************************************************************************
design
****************************************************************************************************/
#contents.design {
	padding: 135px 0 0 0;
}
#design0,
#design1,
#design2,
#design3 {
	position: relative;
	text-align: left;
}
#design2 {
	/*border-top: 6px solid #0085B2;*/
}
/*#design1 .text-box {
	position: absolute;
	left: 60px;
	top: 60px;
	z-index: 100;
}*/
#design1 .text-box,
#design2 .text-box,
#design3 .text-box {
	position: absolute;
	left: 60px;
	bottom: 60px;
	z-index: 100;
}
#design0 .text-box {
	position: absolute;
	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: 24px;
	left: 40px;
	top: 40px;
	z-index: 100;
}
#design0 .text-box h3,
#design1 .text-box h3,
#design2 .text-box h3,
#design3 .text-box h3 {
	color: #FFF;
	font-size: 4rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-align: left;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
#design0 .text-box p,
#design1 .text-box p,
#design2 .text-box p,
#design3 .text-box p {
	margin-top: 0.2em;
	color: #FFF;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: left;
	text-shadow:
		0px 0px 10px rgba(0,0,0,1),
		0px 0px 10px rgba(0,0,0,1);
}
/*#design1 .text-box h3,
#design1 .text-box p {
	color: #402000;
	text-shadow: none;
}*/
#design0 figure figcaption,
#design1 figure figcaption,
#design2 figure figcaption,
#design3 figure figcaption {
	z-index: 100;
}
#design2 figure::after,
#design3 figure::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 300px;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.5));
	z-index: 10;
}
.full-img {
	width: 100%;
}
.full-img > figure {
	width: 100%;
}
.full-img > figure > img,
figure.full-img > img {
	width: 100%;
}
.full-img > figure {
	position: relative;
}
.full-img > figure figcaption.in {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	margin-top: 0;
	font-size: 0.866rem;
	line-height: 1.4;
}
.full-img > figure figcaption.in.white {
	color: #FFF;
	font-weight: bold;
	text-shadow:
		0px 0px 5px rgba(0,0,0,1),
		0px 0px 5px rgba(0,0,0,1);
}
/**************************************************
20250610追加
**************************************************/
.ttl-box h4 {
	margin-top: 1em;
	font-size: 1.2rem;
	line-height: 1.8;
}
#expo-block {
	width: 660px;
	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;
	gap: 20px;
	margin: auto;
	margin-top: 20px;
	padding: 20px;
	background: rgba(255,255,255,.5);
	border: 1px solid #006959;
	border-radius: 5px;
}
#expo-text {
	flex: 1;
	text-align: left;
}
#expo-text h4 {
	padding: 0.3em;
	background: #006959;
	border-radius: 1em;
	color: #FFF;
	font-size: 1.333rem;
	line-height: 1.4;
	text-align: center;
}
#expo-text ul {
	margin-top: 0.8em;
	font-size: 1.2rem;
	line-height: 1.8;
	white-space: nowrap;
}
/**************************************************
20250610追加
**************************************************/



/****************************************************************************************************
landplan
****************************************************************************************************/
#main.landplan {
	position: relative;
	padding-top: 133px;
}
#main.landplan > figure {
	position: relative;
}
#main.landplan > figure img {
	width: 100%;
	height: auto;
}
#main.landplan > figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: -1.8em;
	font-size: 0.733rem;
	z-index: 10;
}
#main.landplan #main-copy {
	position: absolute;
	left: 40px;
	top: calc(133px + 40px);
	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: 30px;
	text-align: left;
}
#main.landplan #main-copy #main-text {
	text-shadow:
		0 0 15px rgba(255,255,255,1),
		0 0 15px rgba(255,255,255,1),
		0 0 15px rgba(255,255,255,1);
}
#main.landplan #main-copy #main-text h2 {
	font-size: 2.133rem;
	line-stacking: 1.4;
}
#main.landplan #patch {
	position: absolute;
	left: 35px;
	bottom: -75px;
}
#landplan-img {
}
#landplan-text-block {
	margin-top: 30px;
	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;
	text-align: left;
}
.landplan-text-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
	width: 580px;
}
.landplan-text-box > div {
	flex: 1;
}
.landplan-text-box h3 {
	margin-bottom: 0.3em;
	font-size: 1.733rem;
	line-height: 1.4;
}
.landplan-text-box h3 strong {
	color: #3F5471;
}
.landplan-text-box ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 5px;
	margin-bottom: 0.5em;
}
.landplan-text-box ul li {
	padding: 0.2em 0.8em;
	border: 1px solid rgba(0,0,0,.5);
	font-size: 1.2rem;
	line-height: 1.6;
}
.landplan-text-box ul li sup {
	font-size: 70%;
	vertical-align: top;
}
#landplan-zu {
	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;
	width: 1000px;
	margin: auto;
	margin-top: 46px;
}
#terrace-cycleport-img {
	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: 20px;
	margin-bottom: 30px;
	text-align: left;
}
#terrace-cycleport-img .img-box {
	padding-top: 2em;
}
	



/****************************************************************************************************
collaboration
****************************************************************************************************/
.collaboration-bg {
	background: url(../img/collaboration/ryokukougarden-bg.jpg) no-repeat right top;
}
.collaboration-column-txt h4 {
	font-size: 1.2rem;
	line-height: 1.8;
}
.collaboration-column-txt .ryokukougarden {
	margin: 50px 0;
}
#contents .collaboration-column-txt p {
	font-size: 1.2rem;
	line-height: 2.0;
}
.collaboration-column-img {
	display: inline-block;
}
.collaboration-column-img-block {
	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;
	margin-top: 50px;
}
.collaboration-column-img-caption {
	margin-top: 0.8em;
	font-size: 0.866rem;
	line-height: 1.2;
	text-align: right;
}



/****************************************************************************************************
premium
****************************************************************************************************/
#main.premium {
	position: relative;
}
#main.premium > figure {
	position: relative;
}
#main.premium > figure img {
	width: 100%;
	height: auto;
}
#main.premium > figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.866rem;
	line-height: 1.2;
	color: #FFF;
	font-weight: bold;
	text-shadow:
		0px 0px 5px rgba(0,0,0,0.5),
		0px 0px 5px rgba(0,0,0,0.5);
}
#main.premium #main-copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
#main.premium #main-copy #main-text {
	position: relative;
	display: inline-block;
	text-shadow:
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1);
}
#main.premium #main-copy #main-text h2 {
	color: #CCC590;
	font-size: 5.333rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
#main.premium #main-copy #main-text #patch {
	position: absolute;
	right: -40px;
	bottom: -20px;
}
#main.premium #main-copy #main-text p {
	color: #FFF;
	margin-top: 1.2em;
	font-size: 1.866rem;
}
.col-premium2 {
	color: #FFF8AC;
}
#premium-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
#premium-menu {
	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: 2px;
}
#premium-equipment {
	margin-top: 100px;
}
.eq-block {
	position: relative;
	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;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 30px;
}
.eq-block.center {
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
}
.eq-anchor + .eq-block {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #DDD;
}
.eq-box {
	width: 380px;
	text-align: left;
}
.eq-box.horizontal {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
}
.eq-box.horizontal .img-box + .txt-box {
	margin-top: 0;
}
.eq-box-sub {
	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: 30px;
	width: 380px;
}
.eq-box .img-box + .txt-box {
	margin-top: 1.2rem;
}
.eq-box .img-box + .txt-box.cap {
	margin-top: 0.4rem;
}
.eq-box .img-box {
	position: relative;
}
.eq-box .img-box figure {
	position: relative;
}
.eq-box .img-box figure figcaption.cap-in {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.866rem;
	line-height: 1.2;
}
.eq-box .img-box figure figcaption.cap-in.white {
	color: #FFF;
	font-weight: bold;
	text-shadow:
		0px 0px 5px rgba(0,0,0,0.5),
		0px 0px 5px rgba(0,0,0,0.5);
}
.eq-box .txt-box h4 {
	color: #FFF;
	font-size: 1.466rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
}
.eq-box .txt-box h4.sub {
	color: #FFF;
}
.eq-box .txt-box h4 + p {
	margin-top: 0.4rem;
}
#contents .eq-box .txt-box p {
	color: #FFF;
	font-size: 1.066rem;
	line-height: 1.8;
}
.eq-box .txt-box p .small {
	display: inline-block;
	font-size: 0.866rem;
	line-height: 1.6;
}



/****************************************************************************************************
plan
****************************************************************************************************/
.main-img.plan {
	position: relative;
	margin-top: 136px;
	text-align: left;
}
.main-img.plan .text-box {
	position: absolute;
	left: 60px;
	top: 60px;
	z-index: 100;
}
.main-img.plan h3 {
	color: #000;
	font-size: 3.6rem;
	line-height: 1.2;
	text-align: left;
}
#contents .main-img.plan p {
	margin-top: 0.6em;
	color: #000;
	font-size: 2.4rem;
	line-height: 1.2;
	text-align: left;
}
#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;
}
#plan-block div {
	width: 380px;
}

.plan-detail + .plan-detail {
	margin-top: 100px;
	padding-top: 100px;
	border-top: 1px solid rgba(0,0,0,0.15);
}

.plan-link {
	width:800px;
	margin:0 auto;
	margin-top:100px;
}
.plan-link select {
	width:100%;
	height:auto;
	padding:1.0em;
	background:#EEE;
	font-size:1.2rem;
}



/****************************************************************************************************
mg
****************************************************************************************************/
#contents.mg .inner {
	padding: 220px 0 100px 0;
}
#contents.mg h2 {
	color: #9D9061;
	font-size: 2.4rem;
	line-height: 1.4;
}
.information {
	margin-top: 60px;
	margin-bottom: 40px;
}
.information h3 {
	padding: 1.2em;
	background: #9D9061;
	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,
#benefits {
	width: 800px;
	margin: auto;
	margin-bottom:  20px;
	text-align: left;
}
#present p,
#benefits p {
	margin-top: 1em;
	font-size: 0.733rem;
	line-height: 1.6;
}
#campaign {
	width: 800px;
	margin: auto;
	margin-bottom:  50px;
	text-align: left;
}



/****************************************************************************************************
stop
****************************************************************************************************/
#stop {
	position: relative;
	color: #000;
	line-height: 1.8;
}
#stop-img .photo {
	position: relative;
}
#stop-img .photo::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 500px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(243,242,238,0.9), rgba(243,242,238,0));
}
#stop-img .photo img {
	object-fit: cover;
	width: 100%;
	height: 900px;
}
#stop-img .photo figcaption {
	position: absolute;
	left: 15px;
	bottom: 15px;
	color: #FFF;
	font-size: 0.8rem;
}
#stop .stop-title h2 {
	color: #A1913A;
	font-size: 1.6rem;
}
#stop .stop-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin-top: 50px;
	padding: 80px 100px;
	background: rgba(255,255,255,.95);
	z-index: 2000;
	font-size: 1.2rem;
	box-shadow: 0 0 5px 5px rgba(0,0,0,.05);
}
.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;
	gap: 20px;
	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;
}



/****************************************************************************************************
view
****************************************************************************************************/
#view {
	min-height: 770px;
}
#view-controles {
	padding: 20px 0;
	background: #333;
	color: #FFF;
}
#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: 1000px;
	margin: auto;
}
#view-controles-inner p {
	position: absolute;
	left: 0;
}
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: 510px;
	margin: auto;
	margin-top: 2.8rem;
	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: 510px;
	height: 66px;
	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: none;
}
.direction-btn.select {
	display: inline-block;
}
.direction-east {
	position: absolute;
	width: 54px;
	height: 54px;
	left: 408px;
	top: 230px;
	background: #FFF;
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
.direction-west {
	position: absolute;
	width: 54px;
	height: 54px;
	left: 143px;
	top: 230px;
	background: #FFF;
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
#direction-btn-floor-5f .direction-west {
	left: 96px;
	top: 165px;
}
.direction-center {
	position: absolute;
	width: 54px;
	height: 54px;
	left: 270px;
	top: 230px;
	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;
}



/****************************************************************************************************
voice
****************************************************************************************************/
#main.voice {
	position: relative;
	padding-top: 133px;
}
#main.voice > figure {
	position: relative;
}
#main.voice > figure img {
	width: 100%;
	height: auto;
}
#main.voice > figure::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 300px;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(180deg, rgba(243,242,238,0), rgba(243,242,238,1));
}
#main.voice > figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.733rem;
	z-index: 10;
}
#main.voice #main-copy {
	position: absolute;
	left: 50%;
	top: calc(50% + 70px);
	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;
	transform: translate(-50%, -50%);
	z-index: 10;
}
#main.voice::after {
	position: absolute;
	content: "";
	display: block;
	left: 50%;
	top: calc(50% + 70px);
	width: 1100px;
	height: 200px;
	background: url(../img/voice/title-bg.png);
	transform: translate(-50%, -50%);
	mix-blend-mode: multiply;
}
#voice-btn ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
}
#voice-btn ul li a {
	display: block;
}
#voice-btn ul li a::after {
	position: absolute;
	content: "";
	display: block;
	width:114px;
	height: 56px;
	left: -20px;
	top:-30px;
	background: url(../img/voice/good.png);
	background-size: contain;
}
.voice-ttl {
	position: relative;
}
.voice-ttl::before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 3px solid rgba(0,140,70,.25);
	mix-blend-mode: multiply;
	z-index: 1;
	pointer-events: none;
}
.voice-ttl::after {
	position: absolute;
	content: "";
	display: block;
	left: 5px;
	top: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid rgba(0,140,70,.25);
	mix-blend-mode: multiply;
	z-index: 1;
	pointer-events: none;
}
.voice-ttl h3 {
	position: absolute;
	left: 56px;
	top: 49%;
	transform: translate(0, -50%);
	color: #008C46;
	font-size: 3.733rem;
	line-height: 1.0;
	text-shadow:
		0px 0px 15px rgba(255,255,255,1),
		0px 0px 15px rgba(255,255,255,1),
		0px 0px 15px rgba(255,255,255,1);
}
.voice-block {
	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;
}
.voice-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	width: 585px;
	text-align: left;
}
.voice-midashi {
	padding: 16px 20px;
	background: #008C46;
	color: #FFF;
	font-size: 1.733rem;
	line-height: 1.0;
}
.voice-text {
	flex: 1;
	padding: 16px 20px;
	background: #FFF;
	font-size: 1.2rem;
	line-height: 1.6;
}
.voice-text .date {
	color: #666;
	text-align: right;
}

#voice2 .voice-ttl::before {
	border: 3px solid rgba(0,133,178,.25);
}
#voice2 .voice-ttl::after {
	border: 1px solid rgba(0,133,178,.25);
}
#voice2 .voice-ttl h3 {
	color: #0085B2;
}
#voice2 .voice-midashi {
	background: #0085B2;
}

#voice3 .voice-ttl::before {
	border: 3px solid rgba(217,109,0,.25);
}
#voice3 .voice-ttl::after {
	border: 1px solid rgba(217,109,0,.25);
}
#voice3 .voice-ttl h3 {
	color: #D96D00;
}
#voice3 .voice-midashi {
	background: #D96D00;
}

#voice4 .voice-ttl::before {
	border: 3px solid rgba(178,133,0,.25);
}
#voice4 .voice-ttl::after {
	border: 1px solid rgba(178,133,0,.25);
}
#voice4 .voice-ttl h3 {
	color: #B28500;
}
#voice4 .voice-midashi {
	background: #B28500;
}



/****************************************************************************************************
ikeda-city
****************************************************************************************************/
#contents.ikeda-city {
	padding: 135px 0 100px 0;
	background: #FBFBF5;
}
#main.ikeda-city {
	position: relative;
}
#main.ikeda-city  > figure {
	position: relative;
}
#main.ikeda-city  > figure img {
	width: 100%;
	height: auto;
}
#main.ikeda-city  > figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	color: #FFF;
	font-size: 0.866rem;
	text-shadow:
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1);
	z-index: 10;
}
#main.ikeda-city  #main-copy {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#main.ikeda-city  #main-copy #main-ttl {
	color: #FFF;
	text-shadow:
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1);
}
#main.ikeda-city #main-copy #main-ttl h2 {
	font-size: 5.333rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.05em;
}
#main.ikeda-city #main-copy #main-ttl p {
	margin-top: 0.2em;
	font-size: 3.333rem;
	letter-spacing: 0.1em;
}
#ikeda-city > .ttl-box {
	padding: 80px 0;
	background: rgba(255,255,255,.7);
}
#ikeda-city .ttl-box h2 {
	font-size: 4.266rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.05em;
}
#ikeda-city .ttl-box p {
	margin-top: 1em;
	font-size: 1.333rem;
	letter-spacing: 0.1em;
}
#good-life-ikeda {
	position: relative;
	padding-top: 360px;
}
#ikeda-bg {
	position: absolute;
	left: 0;
	top: 0;
}
#ikeda-bg figure {
	position: relative;
}
#ikeda-bg figure figcaption {
	position: absolute;
	left: 1em;
	bottom: 1em;
	font-size: 0.866rem;
	z-index: 10;
}
#good-life-ikeda .ttl-box {
	position: relative;
	display: inline-block;
	margin: auto;
}
#good-life-ikeda .ttl-box::before {
	content: "";
	display: block;
	width: 2px;
	height: 30px;
	margin: auto;
	background: #A28C4C;
}
#good-life-ikeda .ttl-box h3 {
	margin-top: 0.5em;
	color: #A28C4C;
	font-size: 2.8rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
#good-life-ikeda .ttl-box p {
	margin-top: 0.5em;
	font-size: 1.866rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
.ikeda-data-img {
	position: absolute;
}
.ikeda-data-img figure {
	position: relative;
}
.ikeda-data-img figure figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1em;
	color: #FFF;
	text-shadow:
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1),
		0 0 15px rgba(0,0,0,1);
	font-size: 0.866rem;
	z-index: 10;
}
#ikeda-data-img1 {
	right: -200px;
	top: -240px;
}
#ikeda-data-block {
	position: relative;
	width: 1200px;
	margin: auto;
	margin-top: 50px;
	padding: 50px 0;
	background: #FFF;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.ikeda-data-box + .ikeda-data-box {
	margin-top: 60px;
}
#ikeda-data-img2 {
	right: -150px;
	top: -150px;
}
#ikeda-data-img3 {
	left: -210px;
	top: 740px;
}
#ikeda-data-img4 {
	right: -230px;
	top: 1200px;
}
#ikeda-data-img5 {
	left: -190px;
	bottom: -50px;
}
.ikeda-data-caption {
	margin-top: 1em;
	font-size: 0.866rem;
	line-height: 1.6;
}
#ikeda-btn {
	margin-top: 50px;
}



@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#wrap {
	}
	#contents > .inner,
	.collaboration-bg > .inner {
		width: 100%;
		padding: 10vw 4vw 10vw 4vw;
	}
	.sec-block + .sec-block {
		margin-top: 10vw;
	}
	
	.main {
		position: relative;
	}
	.main-img img {
		width: 100%;
		height: auto;
	}
	.main-img figure figcaption {
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	共通
	****************************************************************************************************/
	#contents.mt .inner {
		padding: 18vw 4vw 10vw 4vw;
	}
	#contents.mt .inner.nomal {
		padding: 10vw 4vw 10vw 4vw;
	}
	#contents p {
		font-size: 1.0rem;
	}
	#contents p .medium,
	#contents p.medium {
		font-size: 0.933rem;
	}
	#contents p .figcaption,
	#contents p.figcaption {
		font-size: 0.533rem;
	}

	.col-box.borderTop.mt3rem {
		padding-top: calc(3rem * 0.75);
	}
	.col-box.borderTop.mt4rem {
		padding-top: calc(4rem * 0.5);
	}
	.ttl-box + .col-box,
	.col-box + .col-box {
		margin-top: calc(1rem * 0.75);
	}
	.col-box + .col-box.mt0rem {
		margin-top: calc(0rem * 0.75);
	}
	.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);
	}
	.ttl-box + .col-box.mt3rem,
	.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);
	}
	.ttl-box + .col-box.mt4rem,
	.col-box + .col-box.mt4rem {
		margin-top: calc(4rem * 0.5);
	}
	.ttl-box + .col-box.mt5rem,
	.col-box + .col-box.mt5rem {
		margin-top: calc(5rem * 0.5);
	}
	.ttl-box + .col-box.mt6rem,
	.col-box + .col-box.mt6rem {
		margin-top: calc(6rem * 0.5);
	}
	
	.caption {
		margin: 10vw 0 0 0;
		padding: 1em 0 0 0;
		font-size: 0.6rem;
	}
	
	
	
	/****************************************************************************************************
	concept
	****************************************************************************************************/
	.img-box figcaption {
		font-size: 0.666rem;
	}
	.img-box figcaption.in .small {
		font-size: 0.533rem;
	}
	.img-box figcaption.rm {
		font-size: 0.833rem;
	}
	
	
	
	/****************************************************************************************************
	タイトル共通
	****************************************************************************************************/
	.ttl-box div {
		font-size: 1.2rem;
	}
	.ttl-box #patch {
		position: absolute;
		right: 0;
		top: -8vw;
		width: 20vw;
		margin: auto;
	}
	.ttl-box h2 {
		font-size: 1.4rem;
	}
	.ttl-box h2.exlarge,
	.ttl-box h2 .exlarge {
		margin-top: 0em;
		font-size: 2.8rem;
		letter-spacing: 0;
	}
	.ttl-box h2.large,
	.ttl-box h2 .large {
		font-size: 1.8rem;
	}
	#contents .ttl-box p {
		font-size: 0.866rem;
	}
	#contents .ttl-box p.large {
		font-size: 1.0rem;
		line-height: 1.8;
	}
	
	
	
	/****************************************************************************************************
	location
	****************************************************************************************************/
	#main.location {
		position: relative;
		padding-top: 8.8vw;
	}
	#main.location #main-copy {
		position: static;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 3vw;
		padding: 4vw 4vw 0 4vw;
	}
	#main.location #main-copy #main-ttl {
		width: 26vw;
		background: #FFF;
	}
	#main.location #main-copy #main-text h2 {
		font-size: 1.6rem;
		line-height: 1.4;
		text-align: center;
	}
	#main.location #main-copy #main-text p {
		margin-top: 0.8em;
		font-size: 0.866rem;
	}
	#location {
	}
	
	#location-img-block {
		padding: 4vw 0 6vw 0;
	}
	#location-copy-block p {
		font-size: 1.0rem;
	}
	#location-copy-block h3 {
		font-size: 2.4rem;
	}
	#location-column-block {
		width: 100%;
		padding: 8vw 0 0 0;
	}
	.location-column-box {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 3vw;
	}
	.location-column-box + .location-column-box {
		margin-top: 6vw;
	}
	.location-column-txt h4 {
		padding: 0 0 0 0;
		font-size: 1.6rem;
	}
	.location-column-txt p {
		margin: 0.8em 0 0 0;
		padding: 0.8em 0 0 0;
		font-size: 0.866rem;
	}
	.location-column-txt p .small {
		font-size: 0.666rem;
	}
	.location-column-box:nth-of-type(even) .location-column-txt {
		order: 0;
	}
	.location-column-box:nth-of-type(even) .location-column-txt h4 {
		padding: 0 0 0 0;
	}
	.location-column-box:nth-of-type(even) .location-column-txt p {
		padding: 0.8em 0 0 0;
	}
	
	#location-map {
		margin: 8vw 0 4vw 0;
	}
	#education {
		padding: 4vw;
	}
	#education h4 {
		font-size: 1.0rem;
	}
	#education-block {
		gap: 2vw;
		margin-top: 3vw;
	}
	.education-box {
		width: 41vw;
	}
	#life-information {
		gap: 2vw;
		margin-top: 4vw;
	}
	.life-information-box {
		width: 45vw;
	}
	#life-information-other {
		margin-top: 8vw;
	}
	
	.location-point-box {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
	}
	.location-point-img {
		width: 100%;
	}
	.location-point-img figure {
	}
	.location-point-img figure img {
		width: 100%;
		height: 100vw;
	}
	.location-point-img figure figcaption {
		font-size: 0.533rem;
	}
	.location-point-ttl {
		white-space: nowrap;
	}
	.location-point-ttl div {
		font-size: 0.866rem;
	}
	.location-point-ttl h4 {
		font-size: 1.8rem;
	}
	.location-point-text {
		width: 100%;
		padding: 8vw;
	}
	.location-point-text h5 {
		max-width: initial;
		max-width: auto;
		margin-bottom: 0.4em;
		font-size: 1.6rem;
	}
	.location-point-text p {
		max-width: initial;
		max-width: auto;
		font-size: 1.0rem !important;
	}
	
	.location-point-box:nth-of-type(2) .location-point-img {
		-webkit-box-ordinal-group:0;
		-webkit-order:0;
		-ms-flex-order:0;
		order:0;
	}
	.location-point-box:nth-of-type(2) .location-point-img figure figcaption {
		left: 0.8em;
		right: auto;
	}
	
	/*↓↓↓↓↓20250429 更新↓↓↓↓↓*/
	#location-shopping-block {
	}
	#location-park-block,
	#location-education-block,
	#location-masumicho-area-block,
	#location-cafe-restrant-block,
	#location-shop-gym-block {
		margin-top: 10vw;
	}
	.location-facility-title {
		margin-bottom: 4vw;
	}
	#location-shopping-sub-block1,
	#location-park-sub-block1,
	#location-education-sub-block1,
	.location-facility-sub-block {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 4vw;
	}
	.location-facility-midashi {
		padding: 2vw 0 6vw 0;
	}
	.location-facility-midashi h3 {
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.location-facility-shop-block .location-facility-shop-box + .location-facility-shop-box {
		margin-top: 10vw;
	}
	.location-facility-shop-block .location-facility-shop-photo {
		order: 2;
	}
	.location-facility-shop-block2 {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 10vw;
		margin-top: 10vw;
	}
	.location-facility-shop-box {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 4vw;
	}
	.location-facility-shop-block2 .location-facility-shop-box {
		gap: 4vw;
	}
	.location-facility-shop-block2 .location-facility-shop-photo {
		order: 3;
	}
	#location-facility-shop-no1::before {
		width: calc(103vw * 0.11);
		height: calc(210vw * 0.11);
		right: 0;
		top: 9vw;
	}
	#location-facility-shop-no2::before {
		width: calc(150vw * 0.11);
		height: calc(208vw * 0.11);
		right: 0;
		top: 9vw;
	}
	#location-facility-shop-no3::before {
		width: calc(108vw * 0.11);
		height: calc(118vw * 0.11);
		right: 0;
		top: 0;
	}
	#location-facility-shop-no4::before {
		width: calc(368vw * 0.11);
		height: calc(177vw * 0.11);
		right: 0;
		top: 14vw;
	}
	.location-facility-shop-midashi h5 {
		font-size: 1.333rem;
	}
	.location-facility-shop-block .location-facility-shop-ttl {
		margin-top: 3vw;
	}
	.location-facility-shop-ttl .cat {
		font-size: 0.866rem;
	}
	.location-facility-shop-ttl h4 {
		font-size: 1.6rem;
	}
	.location-facility-shop-ttl .access {
		font-size: 1.0rem;
	}
	#contents .location-facility-shop-info {
		margin-top: 3vw;
		padding-top: 4vw;
		background-size: 100% auto;
	}
	#contents .location-facility-shop-info p {
		font-size: 1.0rem;
		line-height: 1.8;
	}
	#contents .location-facility-shop-info ul {
		margin-top: 3vw;
		font-size: 0.866rem;
	}
	#contents .location-facility-shop-info dl {
		gap: 2vw;
		margin-top: 4vw;
	}
	#contents .location-facility-shop-info dl dt {
		width: 45vw
	}
	#contents .location-facility-shop-info dl dd a {
		font-size: 1.0rem;
	}
	/*↑↑↑↑↑20250429 更新↑↑↑↑↑*/
	#location-park-sub-block1 {
		gap: 2vw;
	}
	#location-shopping-sub-block2,
	#location-park-sub-block2,
	#location-education-sub-block2 {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 2vw;
	}
	#location-shopping-sub-block2 > *,
	#location-park-sub-block2 > *,
	#location-education-sub-block2 > * {
		width: 45vw;
	}
	#location-shopping-sub-block2 {
		margin-top: 2vw;
	}
	#location-park-sub-block2 {
		margin-top: 4vw;
	}
	#location-education-sub-block2 {
		margin-top: 4vw;
	}
	.location-facility-text {
		width: 100%;
	}
	.location-facility-text h3 {
		font-size: 1.5rem;
	}
	.location-facility-text p {
		font-size: 1.0rem !important;
	}
	#location-education-column {
		width: 100%;
		padding: 4vw;
	}
	#location-education-column h4 {
		margin-bottom: 0.8em;
		font-size: 1.0rem;
	}
	#location-education-sub-block3 {
		gap: 2vw;
	}
	
	
	
	/****************************************************************************************************
	position
	****************************************************************************************************/
	#position {
		padding: 18vw 0 0 0;
	}
	#position .ttl-box {
		margin-bottom: 10vw;
	}
	#position .ttl-box div {
		font-size: 1.4rem
	}
	#position-img-block {
		height: calc(112vw * 0.75);
	}
	#position-img-block figure {
		width: 100%;
		height: calc(112vw * 0.75);
	}
	#position-img-block figure img {
		width: calc(160vw * 0.75);
		height: calc(112vw * 0.75);
		margin-left: -10vw;
	}
	#position-img-block figure figcaption {
		left: 1em;
		bottom: -1em;
	}
	
	.position-merit1,
	.position-merit3 {
		padding: 10vw 0;
	}
	.position-merit2 {
		padding: 10vw 0;
	}
	.position-merit4 {
		padding: 10vw 0;
	}
	.position-merit5 {
		padding: 10vw 0;
	}
	.position-inner {
		width: 92vw;
	}
	.position-inner2 {
		width: 92vw;
	}
	.position-title h3 {
		font-size: 1.8rem;
	}
	.position-text h4 {
		font-size: 1.8rem;
	}
	.position-text h4.large {
		font-size: 1.8rem;
	}
	.position-text h4.eng {
		font-size: 1.2rem;
	}
	.position-text h4 + p {
		margin-top: 0.8em;
	}
	#contents .position-text p.large {
		font-size: 1.2rem;
	}
	#contents .position-text p.small {
		font-size: 0.866rem;
	}
	#contents .position-text p.figcaption {
		font-size: 0.533rem;
	}
	#contents .position-text p {
		font-size: 1.0rem;
	}
	.position-text + .position-text {
		margin-top: 5vw;
		padding-top: 5vw;
	}
	
	.area-zu {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 4vw;
	}
	.area-zu-text {
		width: 100%;
		order: 2;
	}
	#contents .area-zu-text p,
	#contents .masumi-park p {
		font-size: 1.0rem;
	}
	.road-block {
		gap: 2vw 2vw;
		width: 100%;
		padding: 4vw 4vw 3vw 4vw;
	}
	.road-block .img-box:nth-of-type(2),
	.road-block .img-box:nth-of-type(3) {
		width: 40.5vw;
	}
	.road-mark {
		width: 24vw;
		 left: -4vw;
		 top: -4vw;
	}
	.road-block + div.cap {
		width: 100%;
		font-size: 0.666rem;
	}
	.masumi-park {
		width: 100%;
		padding: 4vw 4vw 3vw 4vw;
	}
	.masumi-park h4 {
		margin-bottom: 3vw;
		font-size: 2.0rem;
	}
	
	#marche-ikeda h4 {
		font-size: 1.2rem;
	}
	.marche-ikeda-area {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 4vw;
		margin-top: 4vw;
	}
	.marche-ikeda-block {
		gap: 4vw;
	}
	.marche-ikeda-box h5 {
		width: 100%;
		font-size: 0.866rem;
	}
	.marche-ikeda-box ul {
		font-size: 0.866rem;
	}
	.mac-block {
		gap: 3vw;
		padding: 4vw;
	}
	.mac-text {
		width: 100%;
	}
	.mac-ttl div {
		font-size: 1.2rem;
	}
	.mac-ttl h3 span {
		font-size: 2.0rem;
	}
	.mac-ttl h3 strong {
		font-size: 4.4rem;
	}
	.mac-ttl h4 {
		font-size: 1.2rem;
	}
	.mac-ttl h5 {
		font-size: 1.0rem;
		font-weight: normal;
	}
	#contents .mac-txt p {
		font-size: 1.0rem;
	}
	#contents .mac-txt p.small {
		font-size: 0.866rem;
	}
	#position-facility {
		gap: 2vw;
		width: 100%;
	}
	#position-facility figure {
		width: 45vw;
	}
	#position-facility p {
		width: 92vw;
	}
	
	.position-merit4 .position-text p.block {
		width: 100%;
	}
	#merit4-mark {
		width: 26vw;
		right: 3vw;
		top: -3vw;
	}
	#ryokukou-garden-block {
		padding: 8vw 4vw;
	}
	#contents #ryokukou-garden-block p {
		width: 100%;
		font-size: 1.0rem;
	}
	#contents #ryokukou-garden-block p {
		margin-top: 4vw;
	}
	#contents #ryokukou-garden-block p + p {
		margin-top: 4vw;
		padding-top: 4vw;
	}
	
	
	
	/****************************************************************************************************
	residential-area
	****************************************************************************************************/
	#residential-area {
		padding: 0;
	}
	
	#residential-area-img-block {
		padding: 4vw 0 0 0;
	}
	
	
	
	/****************************************************************************************************
	access
	****************************************************************************************************/
	#access {
	}
	#access-img {
		margin-top: 8vw;
	}
	#access-zu {
		margin-top: 8vw;
	}
	
	
	
	/****************************************************************************************************
	design
	****************************************************************************************************/
	#contents.design {
		padding: 8.5vw 0 0 0;
	}
	#design0,
	#design1,
	#design2,
	#design3 {
		position: relative;
		text-align: left;
	}
	#design2 {
		/*border-top: 6px solid #0085B2;*/
	}
	/*#design1 .text-box {
		left: 3vw;
		top: 3vw;
	}*/
	#design1 .text-box,
	#design2 .text-box,
	#design3 .text-box {
		left: 3vw;
		bottom: 3vw;
	}
	#design0 .text-box {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: 2vw;
		left: 3vw;
		top: 3vw;
		width: 94vw;
	}
	#design0 .text-box img {
		width: 20vw;
	}
	#design0 .text-box > div + div {
		flex: 1;
	}
	#design0 .text-box > div + div h3,
	#design0 .text-box > div + div p {
		text-align: right;
	}
	#design0 .text-box h3,
	#design1 .text-box h3,
	#design2 .text-box h3,
	#design3 .text-box h3 {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	#design0 .text-box p,
	#design1 .text-box p,
	#design2 .text-box p,
	#design3 .text-box p {
		font-size: 0.666rem;
	}
	#design0 figure::after,
	#design1 figure::after,
	#design2 figure::after,
	#design3 figure::after {
		height: 15vw;
	}
	.full-img > figure figcaption.in {
		font-size: 0.666rem;
	}
	/**************************************************
	20250610追加
	**************************************************/
	.ttl-box h4 {
		font-size: 0.933rem;
	}
	#expo-block {
		width: 100%;
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 3vw;
		margin: auto;
		margin-top: 4vw;
		padding: 4vw;
	}
	#expo-text {
		flex: 1;
		text-align: left;
	}
	#expo-text h4 {
		font-size: 1.2rem;
	}
	#expo-text ul {
		font-size: 1.066rem;
	}
	/**************************************************
	20250610追加
	**************************************************/
	
	
	
	/****************************************************************************************************
	landplan
	****************************************************************************************************/
	#main.landplan {
		position: relative;
		padding-top: 8.8vw;
	}
	#main.landplan figure img {
		width: 120%;
		margin-left: -10%;
	}
	#main.landplan > figure figcaption {
		font-size: 0.4rem;
	}
	#main.landplan #main-copy {
		position: static;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 3vw;
		padding: 4vw 4vw 0 4vw;
	}
	#main.landplan #main-copy #main-text h2 {
		font-size: 1.466rem;
		line-height: 1.4;
		text-align: center;
	}
	#main.landplan #patch {
		width: 20vw;
		left: 2vw;
		top: 16vw;
		bottom: auto;
		z-index: 10;
	}
	#landplan-text-block {
		margin-top: 4vw;
		gap: 4vw;
	}
	.landplan-text-box {
		gap: 2vw;
		width: 100%;
	}
	.landplan-text-box > figure {
		width: 20vw;
	}
	.landplan-text-box h3 {
		font-size: 1.4rem;
	}
	.landplan-text-box ul {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 1vw;
	}
	.landplan-text-box ul li {
		width: 100%;
		font-size: 1rem;
		text-align: center;
	}
	#landplan-zu {
		gap: 4vw;
		width: 100%;
		margin-top: 4vw;
	}
	#terrace-cycleport-img {
		display: block;
		margin-top: 4vw;
		margin-bottom: 4vw;
	}
	#terrace-cycleport-img .img-box {
		float: right;
		width: 24vw;
		margin-left: 2vw;
		padding-top: 0;
	}
	
	
	
	/****************************************************************************************************
	collaboration
	****************************************************************************************************/
	.collaboration-bg {
		background: url(../img/collaboration/ryokukougarden-bg.jpg) no-repeat right top;
		background-size: 46vw auto;
	}
	.collaboration-column-txt h4 {
		font-size: 1.0rem;
	}
	.collaboration-column-txt .ryokukougarden {
		width: 70vw;
		margin: 8vw auto;
	}
	#contents .collaboration-column-txt p {
		font-size: 1.0rem;
		line-height: 1.8;
		text-align: left;
	}
	.collaboration-column-img-block {
		gap: 2vw;
		margin-top: 4vw;
	}
	.collaboration-column-img-caption {
		font-size: 0.666rem;
	}
	
	
	
	/****************************************************************************************************
	premium
	****************************************************************************************************/
	#main.premium > figure img {
		width: 130%;
		margin-left: -15%;
	}
	#main.premium > figure figcaption {
		font-size: 0.533rem;
	}
	#main.premium #main-copy #main-text {
		display: block;
		width: 92vw;
		margin: auto;
		text-align: left;
	}
	#main.premium #main-copy #main-text h2 {
		font-size: 2.4rem;
		letter-spacing: 0;
	}
	#main.premium #main-copy #main-text #patch {
		width: 20vw;
		right: 1vw;
		top: -1vw;
		bottom: auto;
	}
	#main.premium #main-copy #main-text p {
		margin-top: 0.4em;
		font-size: 1.0rem;
	}
	#premium-block {
		-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: 4vw;
	}
	.nomal-plan {
		width: 45vw;
	}
	#premium-menu {
		gap: 0.5vw;
	}
	.premium-plan {
		width: 30.33vw;
	}
	#premium-equipment {
		margin-top: 10vw;
	}
	.eq-block {
		gap: 4vw 2vw;
	}
	.eq-anchor + .eq-block {
		margin-top: 1rem;
		padding-top: 1rem;
	}
	.eq-box {
		width: 45vw;
	}
	.eq-box.horizontal {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		gap: 0.8rem;
	}
	#premium-equipment .eq-box-sub {
		gap: 4vw;
		width: 100%;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-webkit-flex-direction:row;
		-ms-flex-direction:row;
		flex-direction:row;
	}
	.eq-box .img-box + .txt-box {
		margin-top: 0.8rem;
	}
	.eq-box .img-box + .txt-box.cap {
		margin-top: 0.2rem;
	}
	.eq-box .img-box figure figcaption.cap-in {
		font-size: 0.533rem;
	}
	.eq-box .txt-box h4 {
		font-size: 1.066rem;
	}
	.eq-box .txt-box h4 + p {
		margin-top: 0.3rem;
	}
	#contents .eq-box .txt-box p {
		font-size: 0.866rem;
		line-height: 1.6;
	}
	#contents .eq-box .txt-box p .small {
		font-size: 0.666rem;
	}
	
	
	
	/****************************************************************************************************
	plan
	****************************************************************************************************/
	.main-img.plan {
		margin-top: 8vw;
	}
	.main-img.plan .text-box {
		left: 4vw;
		top: 4vw;
	}
	.main-img.plan h3 {
		font-size: 1.4rem;
	}
	#contents .main-img.plan p {
		margin-top: 0.4em;
		font-size: 1.0rem;
	}
	#plan-block {
		gap: 2vw;
		width: 100%;
	}
	#plan-block div {
		width: 45vw;
	}
	
	.plan-detail + .plan-detail {
		margin-top: 10vw;
		padding-top: 10vw;
	}
	
	.plan-link {
		width:100%;
		margin-top:10vw;
	}
	.plan-link select {
		font-size:0.8rem;
	}
	
	
	
	/****************************************************************************************************
	mg
	****************************************************************************************************/
	#contents.mg .inner {
		padding: 18vw 4vw 10vw 4vw;
	}
	#contents.mg h2 {
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.information {
		margin-top: 5vw;
		margin-bottom: 5vw;
	}
	.information h3 {
		font-size: 1.0rem;
	}
	.information div {
		font-size: 1.0rem;
	}
	
	#present,
	#benefits {
		width: 100%;
		margin-bottom: 2vw;
	}
	#present p,
	#benefits p {
		font-size: 0.6rem;
		line-height: 1.4;
	}
	#campaign {
		width: 100%;
		margin-bottom: 5vw;
	}
	
	
	
	/****************************************************************************************************
	stop
	****************************************************************************************************/
	#stop-img .photo::before {
		display: none;
	}
	#stop-img .photo img {
		height: 120vw;
	}
	#stop-img .photo figcaption {
		left: 1em;
		bottom: 1em;
		font-size: 0.533rem;
	}
	#stop .stop-title h2 {
		font-size: 1.4rem;
	}
	#stop .stop-box {
		width: 92vw;
		margin-top: 5vw;
		padding: 8vw 8vw;
	}
	.stop-btn {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 3vw;
		margin-top: 6vw;
	}
	.stop-btn div a {
		width: 72vw;
		font-size: 1.4rem;
	}
	
	
	
	/****************************************************************************************************
	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;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		flex-direction: row-reverse;
		width: 92vw;
		gap: 1vw;
		margin-top: 0;
	}
	ul#floor-btn li a {
		width: 30vw;
		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: 89%;
		top: 87.407%;
	}
	.direction-west {
		width: 10vw;
		height: 10vw;
		left: 30.068%;
		top: 87.407%;
	}
	.direction-center {
		width: 10vw;
		height: 10vw;
		left: 58.5%;
		top: 87.407%;
	}
	#direction-btn a {
		font-size: 0.6rem;
	}
	
	
	
	/****************************************************************************************************
	voice
	****************************************************************************************************/
	#main.voice {
		position: relative;
		padding-top: 8.8vw;
	}
	#main.voice > figure::after {
		height: 50px;
	}
	#main.voice > figure figcaption {
		position: absolute;
		right: 1em;
		bottom: 1em;
		font-size: 0.733rem;
		z-index: 10;
	}
	#main.voice > figure img {
		width: 140%;
		margin-left: -20%;
	}
	#main.voice #main-copy {
		top: 54%;
	}
	#main.voice #main-copy img {
		object-fit: contain;
		width: 100vw;
		height: 20vw;
	}
	#main.voice::after {
		top: 54%;
		width: 100vw;
		height: 20vw;
		background-size: contain;
	}
	#voice-btn ul {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 2vw;
	}
	#voice-btn ul li {
		width: 45vw;
	}
	#voice-btn ul li a::after {
		width: calc(114vw * 0.13);
		height: calc(56vw * 0.13);
		left: calc(-2vw * 1.2);
		top: calc(-3vw * 0.6);
	}
	.voice-ttl::before {
		border-width: 0.5vw;
	}
	.voice-ttl::after {
		left: 0.8vw;
		top: 0.8vw;
		width: calc(100% - 1.6vw);
		height: calc(100% - 1.6vw);
		border-width: 0.2vw;
	}
	.voice-ttl h3 {
		left: 4vw;
		top: 50%;
		font-size: 1.6rem;
	}
	.voice-block {
		gap: 3vw;
	}
	.voice-box {
		width: 100%;
	}
	.voice-midashi {
		padding: 2vw 3vw;
		font-size: 1.2rem;
	}
	.voice-text {
		padding: 2vw 3vw;
	}
	.voice-text p {
		font-size: 0.866rem !important;
	}
	
	#voice2 .voice-ttl::before {
		border-width: 0.5vw;
	}
	#voice2 .voice-ttl::after {
		border-width: 0.2vw;
	}
	
	#voice3 .voice-ttl::before {
		border-width: 0.5vw;
	}
	#voice3 .voice-ttl::after {
		border-width: 0.2vw;
	}
	
	#voice4 .voice-ttl::before {
		border-width: 0.5vw;
	}
	#voice4 .voice-ttl::after {
		border-width: 0.2vw;
	}
	
	
	
	/****************************************************************************************************
	ikeda-city
	****************************************************************************************************/
	#contents.ikeda-city {
		padding: 8.8vw 0 10vw 0;
	}
	#main.ikeda-city  > figure img {
		width: 140%;
		margin-left: -40%;
	}
	#main.ikeda-city  > figure figcaption {
		font-size: 0.533rem;
	}
	#main.ikeda-city #main-copy #main-ttl h2 {
		font-size: 2.8rem;
		white-space: nowrap
	}
	#main.ikeda-city #main-copy #main-ttl p {
		font-size: 2rem;
	}
	#ikeda-city > .ttl-box {
		padding: 8vw 4vw;
	}
	#ikeda-city .ttl-box h2 {
		font-size: 2.4rem;
	}
	#ikeda-city .ttl-box p {
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	#good-life-ikeda {
		position: relative;
		padding-top: 30vw;
	}
	#ikeda-bg {
		width: 60vw;
	}
	#ikeda-bg figure figcaption {
		font-size: 0.533rem;
	}
	#good-life-ikeda .ttl-box::before {
		width: 0.5vw;
		height: 6vw;
	}
	#good-life-ikeda .ttl-box h3 {
		font-size: 1.6rem;
	}
	#good-life-ikeda .ttl-box p {
		font-size: 1.2rem;
	}
	.ikeda-data-img {
		width: 20vw;
	}
	.ikeda-data-img figure figcaption {
		font-size: 0.533rem;
		text-shadow:
			0 0 1vw rgba(0,0,0,1),
			0 0 1vw rgba(0,0,0,1),
			0 0 1vw rgba(0,0,0,1);
	}
	#ikeda-data-img1 {
		right: -15vw;
		top: -15vw;
	}
	#ikeda-data-block {
		width: 92vw;
		margin-top: 6vw;
		padding: 4vw 4vw;
	}
	.ikeda-data-box + .ikeda-data-box {
		margin-top: 4vw;
	}
	#ikeda-data-img2 {
		right: -2vw;
		top: -5vw;
	}
	#ikeda-data-img3 {
		left: auto;
		right: 3vw;
		top: 188vw;
	}
	#ikeda-data-img4 {
		right: -3vw;
		top: 294vw;
	}
	#ikeda-data-img5 {
		left: -2vw;
		bottom: 3vw;
	}
	.ikeda-data-caption {
		width: 92vw;
		margin: auto;
		margin-top: 2em;
		font-size: 0.666rem;
		text-align: left;
	}
	#ikeda-btn {
		width: 92vw;
		margin: auto;
		margin-top: 5vw;
	}
	
}

@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;
	}
}