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



/****************************************************************************************************
contents
****************************************************************************************************/
#header {
	box-shadow: 0 0 10px rgba(0,0,0,.1);
}
#footer {
	background: #FFF;
}
.bg #footer {
	background: none;
}
#wrap {
	overflow: hidden;
	padding-top: 122px;
	background: #F0EFEC;
}
#wrap.white {
	background: #FFF;
}
#wrap.bg {
	background: url(../img/common/bg.jpg) no-repeat center top;
	background-size: cover;
	background-position: center bottom;
}
#contents {
	padding-bottom: 100px;
}
#page-ttl {
	transform: translate(0, -6px);
}
.img-full {
	position: relative;
}
.img-full > img {
	width: 100%;
	height: auto;
}
.img-full .caption {
	font-size: 0.733rem;
}
.img-full .caption.in {
	position: absolute;
	left: 0.8em;
	bottom: 0.8em;
	text-shadow:
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1);
}
.img-full .caption.in.right {
	left: auto;
	right: 0.8em;
}
.img-full .caption.white {
	color: #FFF;
	text-shadow: 0 0 5px rgba(0,0,0,1);
}

.img-box {
	display: inline-block;
	position: relative;
}
.img-box .caption {
	margin-top: 0.8em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: left;
}
.img-box .caption.right {
	text-align: right;
}
.img-box .caption.in {
	position: absolute;
	left: 0.8em;
	bottom: 0.8em;
	text-shadow:
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1);
}
.img-box .caption.in.right {
	left: auto;
	right: 0.8em;
}
.img-box .caption.white {
	color: #FFF;
	text-shadow: 0 0 5px rgba(0,0,0,1);
}



/****************************************************************************************************
location
****************************************************************************************************/
#main-ttl .eng {
	color: #947F37;
	font-family: 'garamond', 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;
	font-size: 1.333rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
#main-ttl h2 {
	margin-top: 0.1em;
	font-size: 3.066rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.15em;
}
#main-ttl p {
	margin-top: 0.9em;
	font-size: 1.733rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
}

.inner {
	width: 1200px;
	margin: auto;
	padding: 100px 0 0 0;
}
#lead-copy {
	width: 976px;
	margin: auto;
	padding: 0 140px 70px 140px;
	border-left: 1px solid rgba(151,126,80,.5);
	border-right: 1px solid rgba(151,126,80,.5);
}
#lead-copy h3 {
	font-size: 1.466rem;
	line-height: 1.6;
	letter-spacing: 0.4em;
}
#plan-inner #lead-copy h3 {
	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: 0.5em;
}
#lead-copy h3 .small {
	font-size: 0.733rem;
	letter-spacing: 0;
}
#lead-copy h3 sup {
	margin-left: -0.5em;
	margin-right: 0.5em;
	font-size: 0.733rem;
	letter-spacing: 0;
	vertical-align: top;
}
#lead-copy p {
	font-size: 1.066rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: left;
}
#lead-copy h3 + p {
	margin-top: 1em;
}



/****************************************************************************************************
location
****************************************************************************************************/
#main.location #main-ttl {
	position: relative;
	padding: 70px 0 60px 0;
	background: url(../img/common/bg.jpg) no-repeat center top;
	background-size: cover;
	background-position: center top;
}
#main.location #main-ttl::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 80px;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.15), rgba(0,0,0,0));
}
#main.location > figure {
	position: relative;
}
#main.location > figure > img {
	object-fit: cover;
	object-position: 50% 100%;
	width: 100%;
	height: 529px;
}
#main.location > figure > figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	text-shadow:
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1);
}
#location-inner #lead-copy {
	padding-bottom: 1em;
}
#lead-photo {
	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: 56px;
	margin-top: 46px;
}

.location-block {
	position: relative;
	width: 1206px;
	margin: auto;
	margin-top: 180px;
	padding: 100px 0 66px 0;
	background: #FFF;
	box-shadow: 0 0 10px rgba(0,0,0,.15);
}
.location-ttl {
	width: 1042px;
	margin: auto;
	margin-bottom: 120px;
	text-align: left;
}
.location-ttl h3 {
	color: #8F7C36;
	font-family: 'garamond', 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.2em;
}
.location-ttl p {
	margin-top: 0.8em;
	font-size: 1.466rem;
	font-weight: normal;
	line-height: 1.8;
	letter-spacing: 0.3em;
}
.location-main-img {
	position: absolute;
	width: calc(50vw - 80px);
	left: calc(50% + 80px);
	top: -80px;
}
.location-main-img figure {
	position: relative;
}
.location-main-img img {
	object-fit: cover;
	object-position: 100% 100%;
	width: 100%;
	height: 388px;
}
.location-main-img figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	text-shadow:
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1),
		0 0 5px rgba(0,0,0,1);
}
.location-contA {
	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: 56px 86px;
	width: 1042px;
	margin: auto;
}
.facility-boxA {
	width: 478px;
	text-align: left;
}
.facility-ttl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.333rem;
	padding: 1em 1.2em 1.2em 1.2em;
	border-left: 7px solid #947C4F;
	border-bottom: 1px solid rgba(148,124,79,.5);
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.facility-ttl h4 {
	flex: 1;
}
.facility-ttl + .facility-text {
	margin-top: 30px;
}
.facility-text p {
	font-size: 1.066rem;
	line-height: 1.8;
}
.facility-img-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	margin-top: 20px;
}
.facility-img-box {
	position: relative;
}
.facility-img-point {
	position: absolute;
	top: 90px;
	right: -28px;
}
.location-contB {
	width: 1042px;
	margin: auto;
	margin-top: 80px;
}
.location-contB-ttl {
	margin-bottom: 26px;
	font-size: 1.333rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.facility-blockB {
	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: 29px;
}
.facility-boxB {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 328px;
}
.facility-boxB-ttl {
	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;
	flex-direction: column;
	width: 164px;
	background: #EEEAE3;
}
.facility-boxB-ttl h5 {
	font-size: 0.933rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
}
.facility-boxB-ttl div {
	margin-top: 0.5em;
	font-size: 0.733rem;
	line-height: 1.8;
}
#life-block .location-ttl {
	width: 1042px;
	margin: auto;
	margin-bottom: 120px;
	padding-left: calc(478px + 86px);
	text-align: left;
}
#life-block.location-block  {
	padding-bottom: 13px;
}
#life-block .location-main-img {
	position: absolute;
	width: calc(50vw - 80px);
	left: auto;
	right: calc(50% + 80px);
	top: -80px;
}
.facility-boxA-horizontal {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	margin-top: 30px;
}
.facility-boxA-horizontal .facility-img-block {
	margin-top: 0;
}
.location-contC {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 120px;
	width: 1180px;
	margin: auto;
	margin-top: 40px;
	padding: 50px 60px;
	background: #EEEAE3;
}
.location-contC-block {
	width: 464px;
}
.location-contC-ttl h4 {
	font-size: 1.333rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.facility-boxC {
	margin-top: 24px;
}
.facility-boxC-horizontal {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	text-align: left;
}
.facility-boxC .facility-ttl + .facility-text {
	margin-top: 10px;
}
.facility-boxC .facility-img-block {
	margin-top: 0;
}
.medical-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;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
	padding: 20px;
	background: #FFF;
	text-align: left;
}
.medical-box h5 {
	color: #947C4F;
	font-size: 1.2rem;
	line-height: 1.6;
}
.medical-box ul {
	line-height: 1.4;
	font-size: 0.933rem;
}
.medical-box ul li::first-letter  {
	color: #947C4F;
}
.medical-box ul li .small {
	font-size: 0.733rem;
}
.facility-boxD {
	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: 15px  30px;
	margin-top: 24px;
	line-height: 1.2;
}



/****************************************************************************************************
access
****************************************************************************************************/
#main.access {
	position: relative;
}
#main.access > figure > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1680px) {
	#main.access > figure > img {
		object-fit: cover;
		width: 100%;
		height: 1110px;
	}
}
#main.access #main-ttl {
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
	margin: auto;
}
#main.access #main-ttl,
#main.access #main-ttl .eng {
	color: #FFF;
}
#main.access #main-ttl .eng {
	opacity: .5;
}
#access-inner {
	position: relative;
	margin-top: -296px;
}
#access1 {
	margin-top: -60px;
}
#access2 {
	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: 40px;
	margin-top: 60px;
}
#access2-photo-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	gap: 14px;
}
#kobe-osaka-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	background: url(../img/access/bg.jpg);
	box-shadow: 0 0 10px rgba(0,0,0,.25);
	margin-top: 100px;
}
#kobe-block,
#osaka-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}



/****************************************************************************************************
design
****************************************************************************************************/
#main.design #main-ttl {
	position: relative;
	padding: 70px 0 60px 0;
	background: url(../img/common/bg.jpg) no-repeat center top;
	background-size: cover;
	background-position: center top;
}
#main.design #main-ttl::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 80px;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.15), rgba(0,0,0,0));
}
.design-main-block {
	position: relative;
}
.design-main-block > figure {
	position: relative;
}
.design-main-block > figure > img {
	width: 100%;
}
.design-main-block > figure > figcaption {
	position: absolute;
	right: 1.2em;
	bottom: 1.2em;
	font-size: 0.866rem;
	line-height: 1.2;
}
.design-main-block > figure > figcaption.white {
	color: #FFF;
	text-shadow:
		0 0 10px #000,
		0 0 10px #000,
		0 0 10px #000;
}
.design-main-text {
	position: absolute;
}
#design-main1 .design-main-text {
	left: 4.5vw;
	top: 4.5vw;
	color: #FFF;
	font-size: 1.333rem;
	text-align: left;
	text-shadow:
		0 0 10px #266496,
		0 0 10px #266496,
		0 0 10px #266496;
	line-height: 2.6;
	letter-spacing: 0.15em;
}
#design-main2 .design-main-text {
	left: 50%;
	top: 50%;
	font-size: 2.133rem;
	line-height: 2.0;
	letter-spacing: 0.1em;
	transform: translate(10vw, -50%);
}
#design-main3 .design-main-text {
	left: 50%;
	top: 140px;
	color: #FFF;
	font-size: 2.133rem;
	line-height: 2.0;
	letter-spacing: 0.1em;
	text-shadow:
		0 0 10px #266496,
		0 0 10px #266496,
		0 0 10px #266496;
	transform: translate(-50%, 0);
}
#design-main4 .design-main-text {
	left: 4.5vw;
	top: 4.5vw;
	color: #FFF;
	font-size: 2.133rem;
	line-height: 2.0;
	letter-spacing: 0.1em;
	text-shadow:
		0 0 10px #000,
		0 0 10px #000,
		0 0 10px #000;
}
#design-main5 .design-main-text {
	right: 4.5vw;
	bottom: 4.5vw;
	color: #FFF;
	font-size: 2.133rem;
	line-height: 2.0;
	letter-spacing: 0.1em;
	text-shadow:
		0 0 10px #000,
		0 0 10px #000,
		0 0 10px #000;
}

.sec-ttl .eng {
	color: #947F37;
	font-family: 'garamond', 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;
	font-size: 1.333rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
.sec-ttl h3 {
	margin-top: 0.1em;
	font-size: 3.066rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.15em;
}
.sec-ttl p {
	margin-top: 0.9em;
	font-size: 1.333rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.sec-body {
	margin-top: 50px;
}
#landplan-inner.inner {
	padding: 100px 0 100px 0;
}
.landplan-block1 dl {
	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: 30px;
	text-align: left;
}
.landplan-block1 dl dt {
	padding: 0.8em 1.5em;
	background: #59614E;
	border: 1px solid rgba(255,255,255,.5);
	color: #FFF;
	font-size: 1.733rem;
}
.landplan-block1 dl dd {
	font-size: 1.2rem;
	line-height: 1.8;
}
.landplan-block2 {
	margin-top: 30px;
}
.landplan-block3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 40px;
	margin-top: 80px;
}
.landplan-block3-left,
.landplan-block3-right {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	gap: 35px;
	width: 580px;
}
.landplan-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
}
.landplan-box-text {
	flex: 1;
}
.landplan-box-ttl {
	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: 12px;
}
.landplan-box-ttl .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: 30px;
	height: 30px;
	background: #59614E;
	color: #FFF;
	font-size: 1.333rem;
}
.landplan-box-ttl h3 {
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.4;
}
.landplan-box-info {
	margin-top: 12px;
	text-align: left;
}
.landplan-box-info p {
	font-size: 1.2rem;
	line-height: 1.8;
}
.landplan-box-info p .small {
	display: inline-block;
	font-size: 0.866rem;
	line-height: 1.4;
}
#material {
	background: #4C5148 url(../img/design/bg.jpg) no-repeat top right;
	background-size: cover
}
#material .sec-ttl .eng,
#material .sec-ttl h3,
#material .sec-ttl p {
	color: #FFF;
}
#material-inner.inner {
	padding: 100px 0 100px 0;
	color: #FFF;
}
.tile-area {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
}
.tile-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.tile-box1 {
	position: relative;
	z-index: 2;
}
.tile-box2 {
	margin-left: -40px;
	margin-top: 50px;
}
.tile-box1 img,
.tile-box2 img {
	box-shadow: 3px 3px 5px rgba(0,0,0,.35);
}
.tile-cap {
	margin-top: 40px;
	font-size: 0.733rem;
	text-align: right;
}



/****************************************************************************************************
plan
****************************************************************************************************/
#main.plan #main-ttl {
	position: relative;
	padding: 70px 0 40px 0;
	background: url(../img/common/bg.jpg) no-repeat center top;
	background-size: cover;
	background-position: center top;
}
#main.plan #main-ttl::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 80px;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.15), rgba(0,0,0,0));
}
#main.plan > figure {
	position: relative;
}
#main.plan > figure > img {
	object-fit: cover;
	object-position: 50% 100%;
	width: 100%;
	height: 529px;
}
#main.plan > figure > figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
	text-shadow:
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1);
}
#plan-bg {
	position: relative;
	background: url(../img/plan/bg.jpg) no-repeat center top;
	background-size: cover;
	background-position: center center;
}
#plan-bg-caption {
	position: absolute;
	font-size: 0.733rem;
	right: 0.8em;
	bottom: 0.8em;
	text-shadow:
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1),
		0 0 5px rgba(255,255,255,1);
}
#plan-inner {
	padding: 100px 0 50px 0;
}
#plan1 {
	margin-top: -50px;
}
.plan-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: 100px;
	margin-top: 100px;
}
.plan-box {
	box-shadow: 0 0 10px rgba(0,0,0,.15);
}
#plan-detail {
	padding-top: 100px;
}
#plan-detail figure {
	display: inline-block;
	box-shadow: 0 0 10px rgba(0,0,0,.15);
}
.plan-link {
	width:918px;
	margin:0 auto;
	margin-top:60px;
}
.plan-link select {
	width:100%;
	height:auto;
	padding:1.0em;
	background:#E3E3E3;
	font-size:1.2rem;
}



/****************************************************************************************************
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: 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%);
	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;
}



@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#wrap {
		overflow: hidden;
		padding-top: 10.5vw;
	}
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#wrap {
		padding-top: 10.5vw;
	}
	#wrap:before {
		content: "";
		height: 3vw;
		top: 8.55vw;
	}
	#contents {
		padding-bottom: 10vw;
	}
	#page-ttl {
		transform: translate(0, -0.6vw);
	}
	.img-full .caption {
		font-size: 0.533rem;
	}
	.img-full .caption.in {
		left: 0.6em;
		bottom: 0.6em;
	}
	.img-full .caption.in.right {
		right: 0.6em;
	}
	
	.img-box .caption {
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	location
	****************************************************************************************************/
	#main-ttl .eng {
		font-size: 1.0rem;
	}
	#main-ttl h2 {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}
	#main-ttl p {
		width: 92vw;
		margin: auto;
		margin-top: 0.8em;
		font-size: 1.066rem;
		letter-spacing: 0.1em;
	}
	
	.inner {
		width: 92vw;
		padding: 10vw 0 0 0;
	}
	#lead-copy {
		width: 92vw;
		padding: 0 8vw 20vw 8vw;
	}
	#lead-copy h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#plan-inner #lead-copy h3 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		gap: 0;
	}
	#lead-copy h3 .small {
		font-size: 0.733rem;
	}
	#lead-copy h3 sup {
		margin-left: 0;
		margin-right: 0;
		font-size: 0.6rem;
	}
	#lead-copy p {
		font-size: 0.933rem;
		letter-spacing: 0;
	}
	
	
	
	/****************************************************************************************************
	location
	****************************************************************************************************/
	#main.location #main-ttl {
		padding: 7vw 0 6vw 0;
	}
	#main.location #main-ttl::before {
		height: 8vw;
	}
	#main.location > figure {
		position: relative;
	}
	#main.location > figure > img {
		object-position: 100% 50%;
		height: 35vw;
	}
	#main.location > figure > figcaption {
		font-size: 0.533rem;
	}
	#lead-photo {
		gap: 1vw;
		margin-top: 4vw;
	}
	
	.location-block {
		width: 92vw;
		margin-top: 10vw;
		padding: 4vw 4vw 4vw 4vw;
	}
	.location-ttl {
		width: 100%;
		margin: 10vw 0;
	}
	.location-ttl h3 {
		font-size: 1.6rem;
	}
	.location-ttl p {
		font-size: 1.2rem;
	}
	.location-main-img {
		position: static;
		width: 92vw;
		margin: -4vw -4vw 0 -4vw;
	}
	.location-main-img img {
		height: auto;
	}
	.location-main-img figure figcaption {
		font-size: 0.533rem;
	}
	.location-contA {
		gap: 3vw;
		width: 84vw;
	}
	.facility-boxA {
		width: 84vw;
	}
	.facility-ttl {
		font-size: 1.2rem;
		padding: 0.8em 1em 1em 1em;
		border-left: 1vw solid #947C4F;
		letter-spacing: 0;
	}
	.facility-ttl + .facility-text {
		margin-top: 4vw;
	}
	.facility-text p {
		font-size: 0.866rem;
	}
	.facility-img-block {
		gap: 2vw;
		margin-top: 4vw;
	}
	.facility-img-point {
		width: 14vw;
		top: -6vw;
		right: -3vw;
	}
	.location-contB {
		width: 84vw;
		margin-top: 10vw;
	}
	.location-contB-ttl {
		margin-bottom: 4vw;
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	.facility-blockB {
		gap: 2vw;
	}
	.facility-boxB {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		width: 84vw;
	}
	.facility-boxB-ttl {
		width: auto;
		flex: 1;
	}
	.facility-boxB-ttl h5 {
		font-size: 0.866rem;
		letter-spacing: 0;
	}
	.facility-boxB-ttl div {
		font-size: 0.666rem;
	}
	#life-block .location-ttl {
		width: 100%;
		margin: 10vw 0;
		padding-left: 0;
	}
	#life-block.location-block  {
		padding-bottom: 4vw;
	}
	#life-block .location-main-img {
		position: static;
		width: 92vw;
		margin: -4vw -4vw 0 -4vw;
	}
	.facility-boxA-horizontal {
		gap: 4vw;
		margin-top: 4vw;
	}
	.facility-boxA-horizontal img {
		width: 36vw;
	}
	.location-contC {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
		width: 100%;
		margin: auto;
		margin-top: 6vw;
		padding: 4vw;
	}
	.location-contC-block {
		width: 100%;
	}
	.location-contC-ttl h4 {
		font-size: 1.066rem;
		letter-spacing: 0;
	}
	.facility-boxC {
		margin-top: 4vw;
	}
	.facility-boxC-horizontal {
		gap: 4vw;
	}
	.facility-boxC-horizontal img {
		width: 30vw;
	}
	.facility-boxC .facility-ttl + .facility-text {
		margin-top: 4vw;
	}
	.facility-boxC .facility-img-block {
		margin-top: 0;
	}
	.medical-box {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 3vw;
		margin-top: 3vw;
		padding: 3vw;
	}
	.medical-box h5 {
		font-size: 1.2rem;
	}
	.medical-box ul {
		font-size: 0.933rem;
	}
	.medical-box ul li .small {
		font-size: 0.733rem;
	}
	.facility-boxD {
		gap: 2vw;
		margin-top: 3vw;
	}
	.facility-boxD figure {
		width: 37vw;
	}
	
	
	
	/****************************************************************************************************
	access
	****************************************************************************************************/
	#main.access {
		position: relative;
		padding-top: 20vw;
		background: rgb(8,21,38);
	}
	#main.access > figure {
		position: relative;
	}
	#main.access > figure::before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 25vw;
		top: 0;
		left: 0;
		background: linear-gradient(to bottom, rgba(8,21,38,1), rgba(8,21,38,0));
	}
	#main.access > figure > img {
		width: 100%;
		height: 78vw;
	}
	#main.access #main-ttl {
		top: 6vw;
	}
	#main.access #main-ttl,
	#main.access #main-ttl .eng {
		color: #FFF;
	}
	#main.access #main-ttl .eng {
		opacity: .5;
	}
	#access-inner {
		position: relative;
		margin-top: -22vw;
	}
	#access1 {
		width: 74vw;
		margin: auto;
		margin-top: -18vw;
	}
	#access2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		gap: 6vw;
		margin-top: 10vw;
	}
	#access2-photo-block {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		flex-direction: row;
		gap: 2vw;
	}
	#access2-photo-block img {
		object-fit: cover;
		width: 45vw;
		height: 30vw;
	}
	#kobe-osaka-block {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		background: url(../img/access/bg.jpg);
		box-shadow: 0 0 10px rgba(0,0,0,.25);
		margin-top: 10vw;
	}
	#kobe-osaka-block img {
		width: 92vw;
	}
	#kobe-block,
	#osaka-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#osaka-block .text {
		order: 0;
	}
	#osaka-block .photo {
		order: 1;
	}
	
	
	
	/****************************************************************************************************
	design
	****************************************************************************************************/
	#main.design #main-ttl {
		padding: 7vw 0 6vw 0;
	}
	#main.design #main-ttl::before {
		height: 8vw;
	}
	#design-main1.design-main-block > figure > img {
		width: 130%;
		margin-left: 0;
	}
	#design-main2.design-main-block > figure > img {
		width: 120%;
		margin-left: -10%;
	}
	#design-main3.design-main-block > figure > img {
		width: 130%;
		margin-left: -15%;
	}
	.design-main-block > figure > figcaption {
		right: 1.0em;
		bottom: 1.0em;
		font-size: 0.533rem;
	}
	#design-main1 .design-main-text {
		left: 4vw;
		top: 4vw;
		font-size: 0.7rem;
		line-height: 2.2;
		letter-spacing: 0;
	}
	#design-main2 .design-main-text {
		left: 50%;
		top: 50%;
		font-size: 1.0rem;
		letter-spacing: 0;
		transform: translate(3vw, -50%);
	}
	#design-main3 .design-main-text {
		left: 50%;
		top: 8vw;
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	#design-main4 .design-main-text {
		left: 4.0vw;
		top: 4.0vw;
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	#design-main5 .design-main-text {
		right: 4.0vw;
		bottom: 4.0vw;
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	
	.sec-ttl .eng {
		font-size: 1.0rem;
	}
	.sec-ttl h3 {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}
	.sec-ttl p {
		font-size: 0.866rem;
		letter-spacing: 0;
	}
	.sec-body {
		margin-top: 8vw;
	}
	#landplan-inner.inner {
		padding: 10vw 0 10vw 0;
	}
	.landplan-block1 dl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		gap: 4vw;
	}
	.landplan-block1 dl dt {
		font-size: 1.466rem;
	}
	.landplan-block1 dl dd {
		font-size: 1.0rem;
	}
	.landplan-block2 {
		margin-top: 4vw;
	}
	.landplan-block3 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		gap: 4vw;
		margin-top: 6vw;
	}
	.landplan-block3-left,
	.landplan-block3-right {
		gap: 4vw;
		width: 100%;
	}
	.landplan-box {
		gap: 2vw;
	}
	.landplan-box-ttl {
		gap: 0.6em;
	}
	.landplan-box-ttl .num {
		width: 1.6rem;
		height: 1.6rem;
		font-size: 1.0rem;
	}
	.landplan-box-ttl h3 {
		font-size: 1.2rem;
	}
	.landplan-box-info {
		margin-top: 0.6em;
	}
	.landplan-box-info p {
		font-size: 1.0rem;
	}
	.landplan-box-info p .small {
		font-size: 0.733rem;
	}
	.landplan-box-img {
		width: 24vw;
	}
	#material-inner.inner {
		padding: 10vw 0 10vw 0;
	}
	.tile-area {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	.tile-block {
		width: 44vw;
		margin: auto;
	}
	.tile-box1 {
		position: relative;
		z-index: 2;
	}
	.tile-box2 {
		margin-left: -4vw;
		margin-top: 4vw;
	}
	.tile-cap {
		margin-top: 6vw;
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	plan
	****************************************************************************************************/
	#main.plan #main-ttl {
		padding: 7vw 0 6vw 0;
	}
	#main.plan #main-ttl::before {
		height: 8vw;
	}
	#main.plan > figure {
		position: relative;
	}
	#main.plan > figure > img {
		height: 25vw;
	}
	#main.plan > figure > figcaption {
		font-size: 0.533rem;
	}
	#plan-bg {
		background-position: 67% center;
	}
	#plan-bg-caption {
		font-size: 0.533rem;
	}
	#plan-inner {
		padding: 8vw 0 4vw 0;
	}
	#plan1 {
		width: 118%;
		margin-left: -14%;
		margin-top: -17vw;
	}
	.plan-block {
		gap: 2vw;
		margin-top: 10vw;
	}
	.plan-box {
		width: 45vw;
	}
	#plan-detail {
		width: 92vw;
		margin: auto;
		padding-top: 10vw;
	}
	#plan-detail figure {
		display: inline-block;
		box-shadow: 0 0 10px rgba(0,0,0,.15);
	}
	.plan-link {
		width:92vw;
		margin:0 auto;
		margin-top:4vw;
	}
	.plan-link select {
		font-size:0.866rem;
	}
	
	
	
	/****************************************************************************************************
	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;
		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;
	}
	
}

@media screen and (max-width: 960px) and (orientation: landscape) {
}