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



/****************************************************************************************************
contents
****************************************************************************************************/
#wrap {
	overflow: hidden;
	padding-top: 118px;
	background: #FFF;
}
#wrap.pt0 {
	padding-top: 0;
}
#contents {
	padding-bottom: 100px;
}
#contents.pb0 {
	padding-bottom: 0;
}

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



/****************************************************************************************************
concept
****************************************************************************************************/
#concept-main {
	padding-bottom: 100px;
	
}
#concept-main-img figure img {
	width: 100%;
}
#concept-main-text {
	margin: auto;
	text-align: left;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
}
#concept-main-text h2 {
	font-size: 3.733rem;
	font-weight: normal;
	letter-spacing: 0.5em;
	line-height: 1.5;
}
#concept-main-text p {
	margin: 0.6em 2em 0 0;
	font-size: 1.2rem;
	letter-spacing: 0.3em;
	line-height: 2.7;
}

.concept-sec-bg figure {
	position: relative;
	width: 100%;
}
.concept-sec-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 604px;
}
.concept-sec-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
}
.concept-sec-bg figure figcaption.white {
	color: #FFF;
	text-shadow:
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1);
}

.concept-sec {
	position: relative;
}
#concept-sec2 {
	margin-top: 5px;
}
.concept-sec-midashi {
	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;
	gap: 30px;
	left: 50%;
	top: 0;
	font-size: 1.4rem;
	letter-spacing: 1.5em;
	text-align: left;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
}
.concept-sec-midashi::before {
	content: "";
	position: absolute;
	width: 254px;
	height: 70px;
	bottom: -5px;
	left: -150px;
	background: url(../img/concept/mark.png) no-repeat center center;
	background-size: cover;
}
#concept-sec2 .concept-sec-midashi::before {
	bottom: -5px;
	left: -40px;
}
#concept-sec3 .concept-sec-midashi::before {
	bottom: -15px;
	left: -180px;
	opacity: .3;
}
#concept-sec1 .concept-sec-midashi {
	transform: translate(-37.0vw, 0);
	color: #FFF;
}
#concept-sec2 .concept-sec-midashi {
	transform: translate(37.0vw, 0);
	color: #FFF;
}
#concept-sec3 .concept-sec-midashi {
	transform: translate(-37.0vw, 0);
	color: #8D9193;
}
#concept-sec1 .concept-sec-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-28.5vw, -50%);
	color: #FFF;
	text-align: left;
}
#concept-sec2 .concept-sec-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(14vw, -50%);
	color: #FFF;
	text-align: left;
}
#concept-sec3 .concept-sec-text {
	position: absolute;
	left: 50%;
	top: 130px;
	transform: translate(-28.5vw, 0);
	text-align: left;
}
.concept-sec-text h3 {
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 2.2;
}
.concept-sec-text p {
	margin-top: 1.5em;
	font-size: 1.133rem;
	letter-spacing: 0.2em;
	line-height: 2.0;
}



/****************************************************************************************************
location
****************************************************************************************************/
#location-main {
	position: relative;
}
#location-main-img {
	position: relative;
}
#location-main-img figure img {
	width: 100%;
}
#location-main-img figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	line-height: 1.4;

}
#location-main-text {
	position: absolute;
	left: 14%;
	top: 30%;
}
#location-main-text h3 {
	color: #FFF;
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 2.2;
	text-align: left;
}
#location-main .page-ttl {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px;
	margin: auto;
}
#location-main .page-ttl h2 {
	color: #AC9574;
}
#location-main .page-ttl div {
	color: #FFF;
}
#location-main .page-ttl h2::before {
	opacity: .3;
}

#location-sec1 {
	position: relative;
	padding: 253px 0 0 0;
}
#location-sec2 {
	position: relative;
	padding: 0 0 130px 0;
}
#location-sec3 {
	position: relative;
	padding: 130px 0 130px 0;
}
#location-sec1-bg,
#location-sec2-bg,
#location-sec3-bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#location-sec1-bg figure,
#location-sec2-bg figure,
#location-sec3-bg figure {
	width: 100%;
	height: 100%;
}
#location-sec1-bg figure img,
#location-sec2-bg figure img,
#location-sec3-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#location-sec1-bg figure figcaption,
#location-sec2-bg figure figcaption,
#location-sec3-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
	text-shadow:
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1);
}
#location-sec1-contents,
#location-sec2-contents,
#location-sec3-contents,
#location-sec4-contents {
	position: relative;
	width: 1210px;
	margin: auto;
	padding: 90px 170px;
	background: rgba(0,0,0,.75);
	color: #FFF;
}
#location-sec3-contents {
	background: rgba(255,255,255,.75);
	color: #000;
}
#location-sec4-contents {
	padding: 100px 170px;
	background: none;
	color: #000;
}
#location-sec1-ttl,
#location-sec2-ttl,
#location-sec3-ttl {
}
#location-sec1-ttl h3,
#location-sec2-ttl h3,
#location-sec3-ttl h3,
#location-sec4-ttl h3 {
	margin: auto;
	text-align: left;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	
	font-size: 1.466rem;
	font-weight: normal;
	letter-spacing: 0.3em;
}
#location-sec1-body,
#location-sec2-body,
#location-sec3-body {
	margin-top: 70px;
	text-align: left;
}
#location-sec4-body {
	margin-top: 40px;
	text-align: left;
}
#location-sec1-body > p,
#location-sec2-body > p,
#location-sec3-body > p,
#location-sec4-body > p {
	font-size: 1.2rem;
	line-height: 2.4;
	letter-spacing: 0.1em;
}
#location-sec1-img-block,
#location-sec3-img-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 66px;
	margin-top: 40px;
}
.location-sec1-img-box-text,
.location-sec3-img-box-text {
	margin-top: 14px;
}
.location-sec1-img-box-text h4,
.location-sec3-img-box-text h4 {
	font-size: 1.0rem;
	line-height: 1.8;
}
.location-sec1-img-box-text div,
.location-sec3-img-box-text div {
	font-size: 0.733rem;
	line-height: 1.8;
}
.location-sec1-img-box-text p,
.location-sec3-img-box-text p {
	margin-top: 1.0em;
	font-size: 0.933rem;
	line-height: 1.8;
}
#location-sec2-img-block {
	text-align: center;
	margin: auto;
	margin-bottom: 40px;
}

#location-sec4 {
	position: relative;
	padding: 0 0 0 0;
}
#location-sec4-bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#location-sec4-bg figure {
	width: 100%;
	height: 100%;
}
#location-sec4-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#location-sec4-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
}
#location-sec2::after,
#location-sec3::after,
#location-sec4::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}

#facility {
	padding: 50px 0;
}
.facility-ttl {
	position: relative;
}
.facility-ttl .eng {
	color: #8A704B;
	font-family: Garamond;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
	border-bottom: 1px solid rgb(171,148,115,.5);
}
.facility-ttl .eng::after {
	content: "";
	display: block;
	width: 170px;
	height: 6px;
	margin: auto;
	margin-top: 10px;
	background: rgb(238,238,238);
}
.facility-block1,
.facility-block2 {
	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: 42px;
	padding: 35px 0 60px 0;
}
.facility-box1 {
	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;
	width: 430px;
	text-align: left;
}
.facility-box2 {
	width: 220px;
	text-align: left;
}
.facility-box2 .facility-text {
	margin-top: 16px;
}
.facility-box1 h4,
.facility-box2 h4 {
	font-size: 1.0rem;
	line-height: 1.4;
}
.facility-box1 div,
.facility-box2 div {
	font-size: 0.733rem;
	line-height: 1.8;
}
.facility-box1 p,
.facility-box2 p {
	margin-top: 1.0em;
	font-size: 0.933rem;
	line-height: 1.8;
}

#map {
	position: relative;
	padding: 90px 0;
}
.map-ttl {
	position: relative;
}
.map-ttl .eng {
	margin-bottom: 34px;
	color: #8A704B;
	font-family: Garamond;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
}
.map-block {
	position: relative;
}
#map::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .4;
}



/****************************************************************************************************
access
****************************************************************************************************/
#access-main {
	position: relative;
}
#access-main-img {
	position: relative;
}
#access-main-img figure img {
	width: 100%;
}
#access-main-img figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	line-height: 1.4;
	text-shadow:
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1);

}
#access-main-text {
	position: absolute;
	left: 63%;
	top: 33%;
}
#access-main-text h3 {
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 2.2;
	text-align: left;
}

#access-sec1 {
	position: relative;
	padding: 90px 0;
}
#access-sec1::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .65;
}
#access-sec1::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}
#access-sec1 p {
	width: 870px;
	margin: auto;
	margin-top: 1.6em;
	font-size: 1.2rem;
	line-height: 2.4;
	text-align: left;
}

#access-sec2 {
	position: relative;
}
#access-sec2-bg figure img {
	width: 100%;
}
#access-sec2-contents {
	position: absolute;
	left: 0;
	right: 0;
	top: 110px;
	margin: auto;
}
#access-sec2-ttl h3 {
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 1.4;
}
#access-sec2-img {
	margin-top: 40px;
}

#access-sec3 {
	position: relative;
	margin-top: -90px;
}
#access-sec3-ttl {
	position: relative;
}
#access-sec3-ttl h3 {
	margin-bottom: 40px;
	font-size: 1.733rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.3em;
}
#access-sec3-ttl .eng {
	color: #8A704B;
	font-family: Garamond;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
	border-bottom: 1px solid rgb(171,148,115,.5);
}
#access-sec3-ttl .eng::after {
	content: "";
	display: block;
	width: 170px;
	height: 6px;
	margin: auto;
	margin-top: 10px;
	background: rgb(238,238,238);
}
#access-sec3-contents {
}
#access-sec3-midashi {
	margin: 20px 0;
}
#access-sec3-midashi h4 {
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
#access-sec3-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: 60px;
}
.access-time {
	margin-top: 10px;
}



/****************************************************************************************************
design
****************************************************************************************************/
#design-main {
	position: relative;
}
#design-main-img {
	position: relative;
}
#design-main-img figure img {
	width: 100%;
}
#design-main-img figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	line-height: 1.4;
	text-shadow:
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1),
		0 0 10px rgba(0,0,0,1);

}
#design-main-text {
	position: absolute;
	left: 56%;
	top: 24%;
}
#design-main-text h3 {
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 2.2;
	text-align: left;
}

#design-sec1 {
	position: relative;
	padding: 90px 0;
}
#design-sec1::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .65;
}
#design-sec1::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}
#design-sec1 .page-ttl p {
	width: 870px;
	margin: auto;
	margin-top: 1.6em;
	font-size: 1.2rem;
	line-height: 2.4;
	text-align: left;
}
#design-sec1-contents {
	position: relative;
	margin-top: 40px;
}
#design-sec1-text {
	margin-top: 60px;
}
#design-sec1-text h3 {
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec1-text p {
	margin-top: 1.0em;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
}

#design-sec2-main {
	position: relative;
	padding: 0 0 0 0;
}
#design-sec2-main-bg {
	width: 100%;
	height: 100%;
}
#design-sec2-main-bg figure {
	width: 100%;
	height: 100%;
}
#design-sec2-main-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#design-sec2-main-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
	color: #FFF;
	text-shadow: 0 0 5px rgba(0,0,0,1);
}
#design-sec2-main-contents {
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	margin: auto;
	color: #FFF;
}
#design-sec2-main-ttl h3 {
	margin: auto;
	text-align: left;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	
	font-size: 1.466rem;
	font-weight: normal;
	letter-spacing: 0.3em;
}

#design-sec2 {
	position: relative;
	padding: 56px 0 90px 0;
}
#design-sec2::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .65;
}
#design-sec2::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}
#design-sec2-contents {
	position: relative;
}
#design-sec2-ttl h2 {
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec2-img {
	margin-top: 50px;
}
#design-sec2-text {
	margin-top: 60px;
}
#design-sec2-text h3 {
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec2-text p {
	margin-top: 1.0em;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
}

#design-sec3-main {
	position: relative;
	padding: 0 0 0 0;
}
#design-sec3-main-bg {
	width: 100%;
	height: 100%;
}
#design-sec3-main-bg figure {
	width: 100%;
	height: 100%;
}
#design-sec3-main-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#design-sec3-main-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
	color: #FFF;
	text-shadow: 0 0 5px rgba(0,0,0,1);
}
#design-sec3-main-contents {
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	margin: auto;
	color: #FFF;
}
#design-sec3-main-ttl h3 {
	margin: auto;
	text-align: left;
	writing-mode: vertical-rl;
	font-feature-settings: normal;
	
	font-size: 1.466rem;
	font-weight: normal;
	letter-spacing: 0.3em;
}

#design-sec3 {
	position: relative;
	padding: 56px 0 90px 0;
	background: #000;
	color: #FFF;
}
#design-sec3-contents {
	position: relative;
}
#design-sec3-ttl h2 {
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec3-img {
	margin-top: 50px;
}
#design-sec3-text {
	margin-top: 60px;
}
#design-sec3-text h3 {
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec3-text p {
	margin-top: 1.0em;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
}

#design-sec4 {
	position: relative;
	padding: 0 0 100px 0;
	background: #000;
}
#design-sec4-ttl {
	position: relative;
}
#design-sec4-ttl .eng {
	color: #AC9574;
	font-family: Garamond;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
	border-bottom: 1px solid rgba(171,148,115,.5);
}
#design-sec4-ttl .eng::after {
	content: "";
	display: block;
	width: 170px;
	height: 6px;
	margin: auto;
	margin-top: 10px;
	background: rgb(238,238,238);
}
#design-sec4-ttl h3 {
	margin-top: 20px;
	color: #AC9574;
	font-size: 1.333rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.3em;
}
#design-sec4-img {
	margin-top: 40px;
}

#design-sec5 {
	position: relative;
	padding: 0 0 100px 0;
	background: #000;
}
#design-sec5-ttl {
	position: relative;
}
#design-sec5-ttl .eng {
	color: #AC9574;
	font-family: Garamond;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
	border-bottom: 1px solid rgba(171,148,115,.5);
}
#design-sec5-ttl .eng::after {
	content: "";
	display: block;
	width: 170px;
	height: 6px;
	margin: auto;
	margin-top: 10px;
	background: rgb(238,238,238);
}
#design-sec5-ttl h3 {
	margin-top: 20px;
	color: #AC9574;
	font-size: 1.333rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.3em;
}
#design-sec5-contents {
	position: relative;
	margin-top: 50px;
	color: #FFF;
}
#design-sec5-text h4 {
	font-size: 0.866rem;
	font-weight: normal;
	line-height: 1.6;
}
#design-sec5-text dl {
	margin-top: 10px;
}
#design-sec5-text dt {
	font-size: 0.866rem;
	font-weight: normal;
	line-height: 1.6;
}
#design-sec5-text dd {
	font-size: 1.333rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.6;
}
#design-sec5-text dd span {
	font-size: 1.0rem;
}
#design-sec5-text p {
	margin-top: 20px;
	font-size: 1.0rem;
	line-height: 1.8;
}
#design-sec5-img {
	margin-top: 24px;
}



/****************************************************************************************************
plan
****************************************************************************************************/
#plan-main {
	position: relative;
}
#plan-main-img {
	position: relative;
}
#plan-main-img figure img {
	width: 100%;
}
#plan-main-img figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	color: #FFF;
	font-size: 0.733rem;
	line-height: 1.4;
}
#plan-main-text {
	position: absolute;
	left: 51%;
	top: 44%;
	transform: translate(-50%, -50%);
}
#plan-main-text h3 {
	font-size: 1.733rem;
	font-weight: normal;
	letter-spacing: 0.3em;
	line-height: 2.2;
	text-align: left;
}

#plan-sec1 {
	position: relative;
	padding: 90px 0;
}
#plan-sec1::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .4;
}
#plan-sec1::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}

#plan-sec2 {
	position: relative;
	padding: 60px 0;
}
#plan-sec2-bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#plan-sec2-bg figure {
	width: 100%;
	height: 100%;
}
#plan-sec2-bg figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#plan-sec2-bg figure figcaption {
	position: absolute;
	right: 0.8em;
	bottom: 0.8em;
	font-size: 0.733rem;
}
#plan-sec2-point {
	position: relative;
	width: 1120px;
	margin: auto;
}
#plan-sec2-point ul {
	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: 12px;
	width: 864px;
}

#plan-sec3 {
	position: relative;
	padding: 90px 0;
}
#plan-sec3::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .3;
}
#plan-sec3::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}
#plan-sec3-ttl {
	position: relative;
}
#plan-sec3-ttl 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.4em;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 0.2em;
}
#plan-sec3-ttl h3 .small {
	font-size: 0.666rem;
}
#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;
	gap: 60px 100px;
	width: 1200px;
	margin: auto;
	margin-top: 66px;
}
.plan-box a {
	display: block;
	box-shadow: 0 0 20px rgba(0,0,0,.25);
}

#plan-detail-block {
	position: relative;
	padding: 218px 0 100px 0;
}
#plan-detail-block::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: .3;
}
.plan-detail-box {
	display: inline-block;
	box-shadow: 0 0 20px rgba(0,0,0,.25);
}
.plan-link {
	width: 1000px;
	margin: 0 auto;
	margin-top: 50px;
}
.plan-link select {
	width: 100%;
	height: auto;
	padding: 1.0em;
	background: rgba(255,255,255,.25);
	font-size: 1.2rem;
}

.page-ttl {
	position: relative;
}
.page-ttl h2 {
	position: relative;
	color: #8A704B;
	font-family: Garamond;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.5em;
}
.page-ttl h2::before {
	content: "";
	position: absolute;
	display: block;
	width: 250px;
	height: 69px;
	left: 0;
	right: 0;
	margin: auto;
	transform: translate(-15px, -25px);
	background: url(../img/common/mark.png) no-repeat;
	background-size: cover;
	opacity: .2;
}
.page-ttl div {
	margin-top: 0.2em;
	font-size: 1.2rem;
	line-height: 1.8;
	letter-spacing: 0.6em;
}



/****************************************************************************************************
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: calc(50% + 50px);
	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 {
		padding-bottom: 10vw;
	}
	
	.img-box .caption {
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	concept
	****************************************************************************************************/
	#concept-main {
		padding-bottom: 10vw;
		
	}
	#concept-main-img figure img {
		width: 160%;
		margin-left: -30%;
	}
	#concept-main-text h2 {
		font-size: 2rem;
	}
	#concept-main-text p {
		font-size: 0.866rem;
	}
	
	.concept-sec-bg figure img {
		width: 100%;
		height: auto;
	}
	.concept-sec-bg figure figcaption {
		font-size: 0.533rem;
	}
	
	#concept-sec2 {
		margin-top: 1vw;
	}
	.concept-sec-midashi {
		gap: 6vw;
		left: 50%;
		top: 0;
		font-size: 0.866rem;
	}
	.concept-sec-midashi::before {
		width: calc(254vw / 12);
		height: calc(70vw / 12);
		bottom: calc(5vw / 12);
		left: calc(-150vw / 12);
	}
	#concept-sec2 .concept-sec-midashi::before {
		bottom: calc(5vw / 12);
		left: calc(40vw / 12);
	}
	#concept-sec3 .concept-sec-midashi::before {
		bottom: calc(15vw / 12);
		left: calc(-180vw / 12);
		opacity: .3;
	}
	.concept-sec-midashi img {
		width: 1vw;
	}
	#concept-sec1 .concept-sec-midashi {
		transform: translate(-42.0vw, 0);
	}
	#concept-sec2 .concept-sec-midashi {
		transform: translate(-42.0vw, 0);
	}
	#concept-sec3 .concept-sec-midashi {
		transform: translate(-42.0vw, 0);
	}
	#concept-sec1 .concept-sec-text {
		top: 13.5vw;
		transform: translate(-32vw, 0);
	}
	#concept-sec2 .concept-sec-text {
		top: 13.5vw;
		transform: translate(-32vw, 0);
	}
	#concept-sec3 .concept-sec-text {
		top: 13.5vw;
		transform: translate(-32vw, 0);
	}
	.concept-sec-text h3 {
		white-space: nowrap;
		font-size: 1.333rem;
		letter-spacing: 0.1em;
	}
	.concept-sec-text p {
		white-space: nowrap;
		font-size: 0.866rem;
		letter-spacing: 0.1em;
	}
	
	
	
	/****************************************************************************************************
	location
	****************************************************************************************************/
	#location-main-img figure img {
		width: 160%;
		margin-left: -10%;
	}
	#location-main-img figure figcaption {
		font-size: 0.533rem;
		text-align: right;
	}
	#location-main-text {
		position: absolute;
		left: 7%;
		top: 18%;
	}
	#location-main-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		line-height: 2.0;
		white-space: nowrap;
	}
	#location-main .page-ttl {
		bottom: 4vw;
	}
	#location-main .page-ttl h2 {
		letter-spacing: 0.3em;
	}
	
	#location-sec1 {
		padding: 30vw 0 4vw 0;
	}
	#location-sec2 {
		padding: 0 0 10vw 0;
	}
	#location-sec3 {
		padding: 10vw 0 10vw 0;
	}
	#location-sec1-bg figure figcaption,
	#location-sec2-bg figure figcaption,
	#location-sec3-bg figure figcaption {
		font-size: 0.533rem;
	}
	#location-sec1-contents,
	#location-sec2-contents,
	#location-sec3-contents,
	#location-sec4-contents {
		width: 92vw;
		padding: 10vw 4vw 6vw 4vw;
	}
	#location-sec4-contents {
		padding: 10vw 4vw 6vw 4vw;
	}
	#location-sec1-ttl h3,
	#location-sec2-ttl h3,
	#location-sec3-ttl h3,
	#location-sec4-ttl h3 {
		font-size: 1.0rem;
		letter-spacing: 0.2em;
	}
	#location-sec1-body,
	#location-sec2-body,
	#location-sec3-body {
		margin-top: 6vw;
	}
	#location-sec4-body {
		margin-top: 6vw;
	}
	#location-sec1-body > p,
	#location-sec2-body > p,
	#location-sec3-body > p,
	#location-sec4-body > p {
		font-size: 0.866rem;
		line-height: 2.0;
		letter-spacing: 0;
	}
	#location-sec1-img-block,
	#location-sec3-img-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw 2vw;
		margin-top: 4vw;
	}
	.location-sec1-img-box,
	.location-sec3-img-box {
		width: 41vw;
	}
	.location-sec1-img-box-text,
	.location-sec3-img-box-text {
		margin-top: 2vw;
	}
	.location-sec1-img-box-text h4,
	.location-sec3-img-box-text h4 {
		font-size: 0.733rem;
	}
	.location-sec1-img-box-text div,
	.location-sec3-img-box-text div {
		font-size: 0.6rem;
	}
	.location-sec1-img-box-text p,
	.location-sec3-img-box-text p {
		margin-top: 0.6em;
		font-size: 0.666rem;
	}
	#location-sec2-img-block {
		margin-bottom: 6vw;
	}
	
	#location-sec4-bg figure figcaption {
		font-size: 0.533rem;
	}
	#location-sec2::after,
	#location-sec3::after,
	#location-sec4::after {
		height: 3vw;
	}
	
	#facility {
		padding: 10vw 0;
	}
	.facility-ttl .eng {
		font-size: 1.0rem;
	}
	.facility-ttl .eng::after {
		width: 20vw;
		height: 1vw;
		margin-top: 2vw;
	}
	.facility-block1,
	.facility-block2 {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw 2vw;
		padding: 6vw 4vw 8vw 4vw;
	}
	.facility-box1 {
		gap: 4vw;
		width: 100%;
	}
	.facility-box1 figure {
		width: 45vw;
	}
	.facility-box1 .facility-text {
		flex: 1;
	}
	.facility-box2 {
		width: 45vw;
	}
	.facility-box2 .facility-text {
		margin-top: 2vw;
	}
	.facility-box1 h4,
	.facility-box2 h4 {
		font-size: 0.733rem;
	}
	.facility-box1 div,
	.facility-box2 div {
		font-size: 0.6rem;
		line-height: 1.8;
	}
	.facility-box1 p,
	.facility-box2 p {
		margin-top: 0.6em;
		font-size: 0.666rem;
	}
	
	#map {
		padding: 10vw 4vw;
	}
	.map-ttl .eng {
		margin-bottom: 6vw;
		font-size: 1.0rem;
	}
	.map-block {
		position: relative;
	}
	
	
	
	/****************************************************************************************************
	access
	****************************************************************************************************/
	#access-main-img figure img {
		width: 160%;
		margin-left: -32%;
	}
	#access-main-img figure figcaption {
		font-size: 0.533rem;
	
	}
	#access-main-text {
		position: absolute;
		left: auto;
		right: 4vw;
		top: 25%;
	}
	#access-main-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		line-height: 2.0;
		white-space: nowrap;
	}
	
	#access-sec1 {
		padding: 10vw 4vw 8vw 4vw;
	}
	#access-sec1::after {
		height: 3vw;
	}
	#access-sec1 p {
		width: 100%;
		font-size: 0.866rem;
		line-height: 2.0;
	}
	
	#access-sec2-bg figure img {
		width: 180%;
		margin-left: -20%;
	}
	#access-sec2-contents {
		top: 10vw;
		margin: auto;
	}
	#access-sec2-ttl h3 {
		font-size: 1.333rem;
		letter-spacing: 0.2em;
	}
	#access-sec2-img {
		width: 92vw;
		margin: auto;
		margin-top: 6vw;
	}
	
	#access-sec3 {
		margin-top: -8vw;
	}
	#access-sec3-ttl h3 {
		margin-bottom: 8vw;
		font-size: 1.333rem;
		font-weight: normal;
		line-height: 1.6;
		letter-spacing: 0.3em;
	}
	#access-sec3-ttl .eng {
		font-size: 1.0rem;
	}
	#access-sec3-ttl .eng::after {
		width: 20vw;
		height: 1vw;
		margin-top: 2vw;
	}
	#access-sec3-midashi {
		margin: 4vw 0;
	}
	#access-sec3-midashi h4 {
		font-size: 1.0rem;
	}
	#access-sec3-img-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 6vw;
		padding: 0 4vw;
	}
	.access-time {
		margin-top: 2vw;
	}
	
	
	
	/****************************************************************************************************
	design
	****************************************************************************************************/
	#design-main-img figure img {
		width: 112%;
		margin-left: -6%;
	}
	#design-main-img figure figcaption {
		font-size: 0.533rem;
	
	}
	#design-main-text {
		position: absolute;
		left: auto;
		right: 3.5vw;
		top: 14vw;
	}
	#design-main-text h3 {
		font-size: 0.933rem;
		letter-spacing: 0.05em;
		line-height: 1.6;
		white-space: nowrap;
		text-align: right;
	}
	
	#design-sec1 {
		padding: 10vw 4vw 8vw 4vw;
	}
	#design-sec1::after {
		height: 3vw;
	}
	#design-sec1 .page-ttl p {
		width: 100%;
		font-size: 0.866rem;
		line-height: 2.0;
	}
	#design-sec1-contents {
		margin-top: 6vw;
	}
	#design-sec1-text {
		margin-top: 8vw;
	}
	#design-sec1-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#design-sec1-text p {
		font-size: 0.866rem;
		letter-spacing: 0;
		line-height: 2.0;
	}
	
	#design-sec2-main-bg figure figcaption {
		font-size: 0.533rem;
	}
	#design-sec2-main-contents {
		top: 10vw;
	}
	#design-sec2-main-ttl h3 {
		font-size: 1.0rem;
		letter-spacing: 0.2em;
		text-shadow: 0 0 5px rgba(0,0,0,1);
	}
	
	#design-sec2 {
		padding: 6vw 4vw 10vw 4vw;
	}
	#design-sec2::after {
		height: 3vw;
	}
	#design-sec2-ttl h2 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#design-sec2-img {
		margin-top: 5vw;
	}
	#design-sec2-text {
		margin-top: 8vw;
	}
	#design-sec2-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#design-sec2-text p {
		font-size: 0.866rem;
		letter-spacing: 0;
		line-height: 2.0;
	}
	
	#design-sec3-main-bg figure figcaption {
		font-size: 0.533rem;
	}
	#design-sec3-main-contents {
		top: 10vw;
	}
	#design-sec3-main-ttl h3 {
		font-size: 1.0rem;
		letter-spacing: 0.2em;
		text-shadow: 0 0 5px rgba(0,0,0,1);
	}
	
	#design-sec3 {
		padding: 6vw 4vw 10vw 4vw;
	}
	#design-sec3-ttl h2 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#design-sec3-img {
		margin-top: 5vw;
	}
	#design-sec3-text {
		margin-top: 8vw;
	}
	#design-sec3-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
	#design-sec3-text p {
		font-size: 0.866rem;
		letter-spacing: 0;
		line-height: 2.0;
	}
	
	#design-sec4 {
		padding: 0 0 10vw 0;
	}
	#design-sec4-ttl .eng {
		font-size: 1.0rem;
	}
	#design-sec4-ttl .eng::after {
		width: 20vw;
		height: 1vw;
		margin-top: 2vw;
	}
	#design-sec4-ttl h3 {
		margin-top: 4vw;
		font-size: 1.0rem;
		line-height: 1.6;
	}
	#design-sec4-img {
		margin-top: 8vw;
		padding: 0 4vw;
	}
	
	#design-sec5 {
		padding: 0 0 10vw 0;
	}
	#design-sec5-ttl .eng {
		font-size: 1.0rem;
	}
	#design-sec5-ttl .eng::after {
		width: 20vw;
		height: 1vw;
		margin-top: 2vw;
	}
	#design-sec5-ttl h3 {
		margin-top: 4vw;
		font-size: 1.0rem;
		line-height: 1.6;
	}
	#design-sec5-contents {
		margin-top: 8vw;
		padding: 0 4vw;
	}
	#design-sec5-text h4 {
		font-size: 0.666rem;
	}
	#design-sec5-text dl {
		margin-top: 4vw;
	}
	#design-sec5-text dt {
		font-size: 0.666rem;
	}
	#design-sec5-text dd {
		font-size: 1.0rem;
	}
	#design-sec5-text dd span {
		font-size: 0.733rem;
	}
	#design-sec5-text p {
		margin-top: 4vw;
		font-size: 0.866rem;
	}
	#design-sec5-img {
		width: 40vw;
		margin: auto;
		margin-top: 5vw;
	}
	
	
	
	/****************************************************************************************************
	plan
	****************************************************************************************************/
	#plan-main-img figure img {
		width: 180%;
		margin-left: -42%;
	}
	#plan-main-img figure figcaption {
		font-size: 0.533rem;
	}
	#plan-main-text {
		left: 51%;
		top: 44%;
		transform: translate(-50%, -50%);
	}
	#plan-main-text h3 {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		line-height: 2.2;
		white-space: nowrap;
	}
	
	#plan-sec1 {
		padding: 10vw 0 8vw 0;
	}
	#plan-sec1::after {
		height: 3vw;
	}
	
	#plan-sec2 {
		padding: 8vw 4vw 50vw 4vw;
	}
	#plan-sec2-bg figure figcaption {
		font-size: 0.533rem;
	}
	#plan-sec2-point {
		width: 100%;
	}
	#plan-sec2-point ul {
		gap: 2vw;
		width: 100%;
	}
	#plan-sec2-point ul li {
		width: 45vw;
	}
	#plan-sec2-point ul li:nth-last-of-type(1) {
		width: 100%;
	}
	
	#plan-sec3 {
		position: relative;
		padding: 10vw 4vw;
	}
	#plan-sec3::after {
		height: 3vw;
	}
	#plan-sec3-ttl h3 {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	#plan-sec3-ttl h3 .small {
		font-size: 0.533rem;
	}
	#plan-block {
		gap: 4vw;
		width: 100%;
		margin-top: 6vw;
	}
	.plan-box a {
		box-shadow: 0 0 2vw rgba(0,0,0,.25);
	}
	
	#plan-detail-block {
		padding: 15vw 4vw 10vw 4vw;
	}
	.plan-detail-box {
		box-shadow: 0 0 2vw rgba(0,0,0,.25);
	}
	.plan-link {
		width: 100%;
		margin-top: 4vw;
	}
	.plan-link select {
		font-size: 1.0rem;
	}
	
	.page-ttl h2 {
		font-size: 1.866rem;
		letter-spacing: 0.5em;
	}
	.page-ttl h2::before {
		width: calc(250vw * 0.18);
		height: calc(69vw * 0.18);
		transform: translate(-2vw, -5vw);
	}
	.page-ttl div {
		font-size: 1.0rem;
		letter-spacing: 0.6em;
	}
	
	
	
	/****************************************************************************************************
	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 {
		top: calc(50% + 4vw);
		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) {
}