@charset "utf-8";

.print_item {
  display: none;
}
@media print {
  .print_item {
    display: block;
				/* width: 80%; */
				margin: auto;
  }
}

figure {
	position: relative;
}
sup {
	font-size: 10px;
}
.globalNav_item.active a {
	color: #4CACBD;
	pointer-events: initial;
}
.plan_contents {
	position: relative;
	padding-top: 300px;
	background-image: url(../images/plan/plan_bg.jpg);
	background-repeat: no-repeat;
	background-position: center ;
	background-size: cover;
}
.plan_inner {
	max-width: 930px;
	padding-left: 15px;
	padding-right: 15px;
	margin:auto;
}

.plan_detail {
	margin-top: 40px;
	background-color: #fff;
	padding: 40px 50px;
}

.plan_detail .line {
	border-top: 2px solid #d1d1d1;
	display: block;
	margin-top: 30px;
	margin-bottom: 30px;
}

.spec_flex {
	display: flex;
	align-items: flex-start;
}
.spec_type {
	max-width: 160px;
	width: 100%;
}
.type {
	font-family: 'EB Garamond', serif;
	text-align: center;
	position: relative;
	padding: 20px ;
	text-align: center;
	background: rgb(25,113,73);
	background: linear-gradient(135deg, rgba(25,113,73,1) 0%, rgba(11,62,39,1) 100%);
	color: #fff;
	font-size: 20px;
	line-height: 1;
}
.type span {
	font-size: 100px;
	line-height: 1;
}
.spec_type_label {
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 100%;
	font-size: 14px;
	padding: 2px 0;
	color: #fff;
	text-align: center;
	background-color: #0051a7;
}
.spec_body {
	/* width: 70%; */
	margin-left: 40px;
	color: #000;
	flex: 1;
}
.spec_inflex {
	display: flex;
	padding-bottom: 20px;
	margin-bottom: 20px;
	justify-content: space-between;
	border-bottom: 1px solid #005c3b;
}
.spec_text_box {
	margin-left: 30px;
}

.spec_text {
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: right;
}
.spec_text .num {
	font-size: 60px;
	font-family: 'EB Garamond', serif;
}
.spec_text .num02 {
	font-size: 40px;
	font-family: 'EB Garamond', serif;
}
.spec_text2_wrap.wide {
	max-width: 420px;
	margin-left: auto;
}
.spec_text2_wrap {
	max-width: 350px;
	margin-left: auto;
}
.spec_text2 {
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 1.6;
	text-align: left;
}
.spec_cap {
	margin-top: 6px;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: right;
}
.spec_ldk {
	color: #005c3b;
	font-family: 'EB Garamond', serif;
	font-weight: 300;
	letter-spacing: 0.1em;
	font-size: 56px;
	line-height: 1;
}
.spec_ldk span {
	font-size: 68px;
	line-height: .8;
}
.spec_ldk span.ldh_s {
	font-size: 28px;
	line-height: .8;
}
.plan_floor {
	width: 100%;
	margin: 60px auto;
	text-align: center;
}
.plan_floor img {
	width: auto;
	margin: auto;
}
.menseki {
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	margin-top: 6px;
	letter-spacing: 0.04em;
}
.guide_area {
	width: 70%;
	flex-wrap: wrap;
	margin: 20px auto 0;
	display: flex;
	justify-content: center;
	row-gap: 16px;
}
.guide img {
	width: auto;
	padding: 0 10px;
}

@media only screen and (max-width:900px) {
	.spec_text2_wrap {
		max-width: 340px;
	}
	.spec_text2 {
		font-size: 16px;
	}
}

@media only screen and (max-width:768px) {
	.plan_contents {
			padding-top: 120px;
			padding-bottom: 20px;
	}
	.plan_contents::after {
			background-image: url(../images/plan/plan_bg_sp.png);
			background-position: center;
			height: 490px;
	}
	.plan_detail {
			margin-top: 20px;
			padding: 20px 20px;
	}
	
	.spec_flex {
			display: block;
	}
	.spec_type {
			max-width: 160px;
			width: 100%;
			margin: auto;
	}
	.spec_body {
			margin: 20px 0;
			width: 100%;
	}
	.spec_inflex {
			display: block;
			margin-bottom: 12px;
	}
	.spec_text_box {
			width: 100%;
			margin-left: 0;
	}
	.spec_text2_wrap.wide {
		max-width: 330px;
		margin-left: auto;
		margin-right: auto;
	}
	.spec_text2_wrap {
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.spec_text2 {
		font-size: 14px;
		text-align: left;
	}
	
	.spec_text {
		margin-top: 14px;
			font-size: 14px;
			font-family: 'Noto Serif JP', serif;
			letter-spacing: 0.05em;
			line-height: 1;
			text-align: center;
	}
	.spec_text .num {
			font-size: 42px;
	}
	.spec_text .num02 {
		font-size: 30px;
	}
	.spec_cap {
			font-size: 13px;
			letter-spacing: 0.02em;
			text-align: center;
	}
	.spec_ldk {
			text-align: center;
			font-size: 42px;
			line-height: 1;
	}
	.spec_ldk span {
			font-size: 58px;
			line-height: .8;
	}
	.menseki {
			font-size: 13px;
			margin-left: 1em;
	}
	.plan_floor {
			margin: 0px auto 0;
	}
	.guide_area {
		width: 100%;
		margin: 30px auto 0;
		row-gap: 10px;
	}
	.guide img {
		width: 80%;
		padding: 0;
	}
}

/* ----- ボタン ----- */
.mapBtnbox {
	display: flex;
	margin-top: 60px;
}

@media screen and (max-width: 768px) {
	.mapBtnbox {
			display: block;
			margin-top: 40px;
	}
}
.map_btn_g-map {
	position: relative;
	width: 100%;
	margin-right: 2%;
	text-align: center;
	background: rgb(209,227,219);
	background: linear-gradient(90deg, rgba(209,227,219,1) 0%, rgba(255,255,255,1) 50%, rgba(209,227,219,1) 100%);
	border: 2px solid #197149;
	border-radius: 50px;
}
.map_btn_g-map::before {
	content: '';
	position: absolute;
	background-image: url(../images/common/icon_arrow_green2.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 30px;
	height: 20px;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}


@media screen and (max-width: 768px) {
	.map_btn_g-map {
			max-width: 400px;
			margin-top: 10px;
			margin: 10px auto;
	}
}

.map_btn_g-map a {
	font-size: 22px;
	color: #0b3e27;
	font-weight: bold;
	display: block;
	padding: 18px 20px;
}

.map_btn_g-map:hover {
	-webkit-transition: .3s;
	transition: .3s;
	opacity: .7;
}


.map_btn_print {
	position: relative;
	width: 100%;
	text-align: center;
	background: rgb(217,213,197);
	background: linear-gradient(90deg, rgba(217,213,197,1) 0%, rgba(255,255,255,1) 50%, rgba(217,213,197,1) 100%);
	border: 2px solid #8a754b;
	border-radius: 50px;
}

.map_btn_print::before {
	content: '';
	position: absolute;
	background-image: url(../images/common/icon_brown2.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 30px;
	height: 20px;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	.map_btn_print {
			max-width: 400px;
			margin-top: 10px;
			margin: 10px auto;
	}
}

.map_btn_print a {
	font-size: 22px;
	color: #736629;
	font-weight: bold;
	display: block;
	padding: 18px 40px;
}

.map_btn_print:hover {
	opacity: .7;
	transition: .4s;
}

.capArea {
	background: transparent;
}
.capArea p {
	color: #000;
}