@charset "utf-8";

@charset "utf-8";
/* page common
-----------------------------------------------------------------*/
.en { font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", 'Noto Serif JP', serif; font-weight: 400;}
.white { color: #FFF;}
.gold { color: #D0BF95}
.blue { color: #004386;}
.mt00 { margin-top: 0!important;}
.mb20 { margin-bottom: 20px !important;}
.yellow { color: #fff658 !important;}
.orange { color: #f6ae54 !important;}
.bg-orange { background-color: #f6ae54 !important;}
.bg-red { background-color: #b22323 !important;}
.tar { text-align: right;}
.tac { text-align: center;}
.cap-image .cap.no-bg {
	background: none;
	color: #323232;
}

/* main visual
-----------------------------------------------------------------*/
.sub-mv {
  position : relative;
  opacity : 0;
  transition : 2s;
  overflow : hidden;
}
.sub-mv.on { opacity : 1;}
.sub-mv:before {
  content : "";
  display : block;
  padding-bottom : calc(1200 / 2880 * 100%);
}
.sub-mv .mv-bg {
  position : absolute;
  top : 0;
  left : 0;
}
@media screen and (max-width: 767px) {
  .sub-mv:before {
    padding-bottom : calc(1200 / 750 * 100%);
  }
  .sub-mv .mv-bg {
    height : calc(1200 / 750 * 100vw);
  }
  .sub-mv .mv-bg img {
    max-width : auto;
    width : auto;
    height : 100%;
    transform: translate(-24%, 0);
  }
}

.sub-mv__ttls {
  position : absolute;
  left : 5%;
  top : 10%;
  color : #fff;
}
.sub-mv__ttl1 {
  font-size : 60px;
  margin-bottom : 5px;
}
.sub-mv__ttl2 { font-size : 18px;}
.sub-mv__txts {
  position : absolute;
  right : 5%;
  bottom: 80px;
  color : #fff;
}
.sub-mv__txt1 {
  font-size : 30px;
  line-height : 1.6;
}
.sub-mv__txt2 {
  font-size : 16px;
  line-height : 2;
}
@media screen and (max-width: 1023px) {
  .sub-mv__txt1 { font-size: 25px; }
}
@media screen and (max-width: 767px) {
  .sub-mv__ttls { top : 20px; }
  .sub-mv__txts {
    right : 0;
    width : 100%;
    padding : 0 15px;
    bottom: 100px;
  }
  .sub-mv__txt1 { font-size : 24px; }
  .sub-mv__txt2 { font-size : 14px; }
}
/* section
-----------------------------------------------------------------*/
section { padding : 100px 0; }
.sec-wrap {
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 30px);
}
.sec-head {
  margin-bottom: 45px;
  text-align: center;
}
.sec-ttl {
  color : #004386;
  font-size : 44px;
  margin-bottom : 30px;
}
.sec-txt-1 {
  font-size: 30px;
  line-height: 1.7;
  margin-bottom: 30px;
  color: #488d7b;
}
.sec-txt-2 {
  font-size : 18px;
  line-height : 2;
}
.sec-txt-2 + .sec-txt-2 {
	margin-top: 55px;
}
.sec-txt-3 {
	font-size: 20px;
	line-height: 2.25;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  section { padding : 50px 0; }
  .sec-ttl {
    font-size : 28px;
    margin-bottom: 20px;
  }
  .sec-txt-1 {
    font-size : 20px;
    margin-bottom: 20px;
  }
  .sec-txt-2 {
    font-size : 14px;
  }
  .sec-txt-3 {
		font-size: 15px;
	}
	.sec-txt-2 + .sec-txt-2 {
		margin-top: 20px;
	}
}

.d-inline-block { display: inline-block;}
.txt-sm {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.01em;
}
.notes {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.01em;
	margin-top: 15px;
}
.ttl-bg {
	background-color: #488d7b;
	color: #fff;
	font-size: 24px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: center;
	margin-bottom: 20px;
	padding: 5px 5px;
}
.ttl-bg .small { font-size: 67%;}
@media screen and (max-width: 1200px) {
	.ttl-bg { font-size: 22px;}
}
@media screen and (max-width: 991px) {
	.ttl-bg {
		font-size: 18px;
		line-height: 1.2;
	}
	.txt-sm {
		font-size: 12px;
		line-height: 1.5;
		letter-spacing: 0;
	}
}

@media screen and (max-width: 767px) {
	.ttl-bg {
		font-size: 16px;
		margin-bottom: 10px;
		padding: 8px 5px;
	}
	.notes {
		font-size: 10px;
		margin-top: 10px;
	}
}

.sec-box {
	background-color: #fff;
	position: relative;
	z-index: 1;
	margin-top: -75px;
	padding-top: 75px;
}
@media screen and (max-width: 1360px) {
	.sec-box { margin-top: -40px;}
	.sec-main .cap { bottom: 45px;}
}
@media screen and (max-width: 1023px) {
	.sec-box {
		margin-top: 0;
		padding-top: 40px;
	}
	.sec-main .cap { bottom: 0;}
}
@media screen and (max-width: 767px) {
	.sec-main img {
		height: 200px;
		object-fit: cover;
		object-position: center;
	}
}

/* sec-intro
-----------------------------------------------------------------*/
.sec-intro { padding: 100px 0 100px;}
.sec-intro .sec-head { margin-bottom: 0;}
.sec-intro .intro-img {
	margin: 0 auto 50px;
	max-width: 97%;
}
.sec-intro .box-txt {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
	gap: 20px;
}
.sec-intro .box-txt li {
	border-radius: 10px;
	background: -o-linear-gradient(0deg, rgba(72, 141, 123, 1) 0%, rgba(163, 198, 189, 1) 100%);
	background: linear-gradient(0deg, rgba(72, 141, 123, 1) 0%, rgba(163, 198, 189, 1) 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 30px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-align: center;
	height: 126px;
	width: 126px;
}
.sec-intro .box-txt li sub { bottom: 0;}
@media screen and (max-width: 991px) {
	.sec-intro .box-txt li {
		font-size: 22px;
		height: 100px;
		width: 100px;
	}
}
@media screen and (max-width: 767px) {
	.sec-intro { padding: 50px 0;}
	.sec-intro .box-txt li {
		font-size: 18px;
		height: 80px;
		width: 80px;
	}
	.sec-intro .box-txt {
		margin-bottom: 30px;
		gap: 15px;
	}
	.sec-intro .intro-img {
		margin: 0 auto 30px;
		max-width: 100%;
	}
}

/* sec-overview
-----------------------------------------------------------------*/
.sec-overview {
	position: relative;
	padding: 0 0 125px;
}
.sec-overview::after {
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), to(rgba(218, 232, 229, 1)));
	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(218, 232, 229, 1) 100%);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(218, 232, 229, 1) 100%);
	content: "";
	position: absolute;
	bottom: 0;
	z-index: -1;
	height: 1000px;
	width: 100%;
}
.sec-overview .logo-zeh {
	margin: 0 auto 50px;
	max-width: 17%;
}
.sec-overview .img-overview {
	margin: 120px auto 95px;
	max-width: 833px;
}
.sec-overview .box-flat {
	background-color: #ffffff;
	padding: 40px 50px 35px;
}
.sec-overview .box-flat .sec-head { margin-bottom: 30px;}
.sec-overview .box-flat .block-flat { display: flex;}
.sec-overview .box-flat .block-flat .txt {
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: 0.025em;
}
.sec-overview .box-flat .block-flat .desc {
	padding-right: 5%;
	width: 67%;
}
.sec-overview .box-flat .block-flat .img {
	flex: 1;
	text-align: center;
}
.sec-overview .box-flat .block-flat .logo-flat {
	margin: 0 auto 15px;
	max-width: 317px;
}
.sec-overview .box-flat .block-flat .link { font-size: 16px;}
.sec-overview .box-flat .block-flat .txt-sm { margin-top: 15px;}
@media screen and (max-width: 1200px) {
	.sec-overview .box-flat {
		background-color: #ffffff;
		padding: 30px 20px 30px;
	}
}
@media screen and (max-width: 991px) {
	.sec-overview .img-overview {
    max-width: 700px;
    margin: 90px auto 80px;
  }
	.sec-overview .box-flat .block-flat .txt { font-size: 14px; line-height: 1.8;}
}
@media screen and (max-width: 767px) {
	.sec-overview { padding: 0 0 60px;}
	.sec-overview .logo-zeh {
		margin: 0 auto 30px;
		max-width: 105px;
	}
	.sec-overview .img-overview {	margin: 0 auto 0px;}
	.sec-overview .img-overview img {
		width: 795px !important;
	}
	.sec-overview .box-flat .block-flat .desc {
		margin-bottom: 20px;
		padding-right: 0;
		width: 100%;
	}
	.sec-overview .box-flat .block-flat { display: block;}
	.sec-overview .box-flat {	padding: 30px 15px 30px;}
	.sec-overview .box-flat .block-flat .txt-sm { margin-top: 10px;}
	.sec-overview .box-flat .sec-head { margin-bottom: 20px;}
  .sec-overview .box-flat .block-flat .txt { font-size: 13px; 
  }
}

/* sec-building
-----------------------------------------------------------------*/
.sec-building { padding: 115px 0 125px;}
.sec-building .sec-head { margin-bottom: 70px;}
.sec-building .box-building {
	background-color: #fef3e5;
	padding: 40px 50px 45px;
}
.sec-building .box-building .sec-head { margin-bottom: 0;}
.sec-building .box-building .list-building {
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
}
.sec-building .box-building .list-building .item { width: calc(100% / 2 - 1.5%);}
.sec-building .box-building .tbl-building {
	border-spacing: 4px;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-align: center;
	width: 100%;
  margin: 0 -4px;
  width: calc(100% + 8px);
}
.sec-building .box-building .tbl-building .sm { font-size: 75%;}
.sec-building .box-building .tbl-building .md {	font-size: 125%;}
.sec-building .box-building .tbl-building .lg {	font-size: 150%;}
.sec-building .box-building .tbl-building .lg-s {	font-size: 138%;}
.sec-building .box-building .tbl-building .bg-red {	color: #fff;}
.sec-building .box-building .tbl-building th,
.sec-building .box-building .tbl-building td { vertical-align: middle;}
.sec-building .box-building .tbl-building thead th {
	background-color: #323232;
	color: #fff;
	text-align: center;
	padding: 6px 2px;
}
.sec-building .box-building .tbl-building tbody td {
	background-color: #ffffff;
	padding: 6px 2px;
}

@media screen and (max-width: 1200px) {
	.sec-building .box-building {	padding: 30px 20px 30px;}
	.sec-building .box-building .tbl-building {	font-size: 14px;}
}
@media screen and (max-width: 1023px) {
	.sec-building .box-building .tbl-building {
		font-size: 11px;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 767px) {
	.sec-building {	padding: 50px 0 50px;}
	.sec-building .sec-head { margin-bottom: 30px;}
	.sec-building .box-building .list-building { display: block;}
	.sec-building .box-building .list-building .item { width: 100%;}
	.sec-building .box-building .list-building .item + .item { margin-top: 30px;}
	.sec-building .box-building { padding: 30px 15px 30px;}
	.sec-building .box-building .tbl-building {
		border-spacing: 2px;
		font-size: 10px;
		margin: 0 -2px;
		width: calc(100% + 4px);
	}
}
/* sec-appeal
-----------------------------------------------------------------*/
.sec-appeal { padding: 0 0 135px;}
.sec-appeal .sec-head { margin-bottom: 65px;}
.appeal-list .ttl {
	font-size: 24px;
	line-height: 1.875;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.appeal-list .ttl sub { bottom: 0;}
.appeal-list .ttl-box {
	background-color: #e4eeeb;
	color: #488d7b;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-bottom: 30px;
	padding: 5px 0;
}
.appeal-list .ttl-box p {
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: -0.02em;
}
.appeal-list .txt {
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: 0.01em;
	margin-top: 20px;
}
.appeal-list .txt sub { bottom: 0;}
.appeal-list .txt.txt-bdr {
	border: 1px solid #323232;
	line-height: 1.5;
	text-align: center;
	padding: 5px 2px;
}
.appeal-list .facilitie-head {
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}
.appeal-list .facilitie-head .desc {
	padding: 0 50px 0 0;
	width: 50%;
}
.appeal-list .facilitie-head .img { flex: 1;}
.appeal-list .facilitie-list .cont .cap-image { margin-bottom: 30px;}
.appeal-list .facilitie-list .cont .cap-image .cap-cus01 {
	bottom: 7px;
	left: 64%;
}
.appeal-list .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -15px;
}
.appeal-list .row .col-3 {
	padding: 0 15px;
	width: calc(100% / 3);
}
.appeal-list .row .col-3:nth-child(n + 4) {	margin-top: 50px;}
.appeal-list .row .col-3.w01 { width: 40%;}
.appeal-list .row .col-3.w02 { width: 26.6%;}
.appeal-list .row .col-2 {
	padding: 0 15px;
	width: calc(100% / 2);
}
.appeal-list .row.row-cus01 { margin: 0 -25px;}
.appeal-list .row.row-cus01 > .col-2 { padding: 0 25px;}
.appeal-list .row.row-cus02 .col-2:nth-child(1) { width: 59%;}
.appeal-list .row.row-cus02 .col-2:nth-child(2) { width: 41%;}
.appeal-list .row.row-cus03 .col-2:nth-child(1) {	width: 43%;}
.appeal-list .row.row-cus03 .col-2:nth-child(2) { width: 50%;}
.appeal-list .appeal-item + .appeal-item { margin-top: 120px;}
.appeal-list .appeal-item:nth-child(odd) .facilitie-head { flex-direction: row-reverse;}
.appeal-list .appeal-item:nth-child(odd) .facilitie-head .desc { padding: 0 0 0 50px;}
.appeal-list .row.row-cus02 .group-img .item-group + .item-group { margin-top: 20px;}
@media screen and (max-width: 1280px) {
	.appeal-list .ttl-box p { font-size: 16px;}
}
@media screen and (max-width: 1200px) {
	.appeal-list .ttl {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.appeal-list .txt {
    font-size: 13px; 
    line-height: 1.8;
  }
  .appeal-list .facilitie-list .cont .cap-image .cap-cus01 {
		bottom: 0;
		left: 68%;
	}
}
@media screen and (max-width: 994px) {
	.appeal-list .ttl-box.mh-g01 { min-height: 58px;}
}
@media screen and (max-width: 991px) {
	.appeal-list .row.row-cus01 { margin: 0 -15px;}
	.appeal-list .row.row-cus01 > .col-2 { padding: 0 15px;}
	.appeal-list .ttl { font-size: 18px;}
}
@media screen and (max-width: 767px) {
	.sec-appeal { padding: 0 0 50px;}
	.sec-appeal .sec-head { margin-bottom: 30px;}
	.appeal-list .ttl { 
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
  }
	.appeal-list .facilitie-head {
		display: block;
		margin-bottom: 20px;
	}
	.appeal-list .appeal-item:nth-child(odd) .facilitie-head .desc,
	.appeal-list .facilitie-head .desc {
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
	}
	.appeal-list .row { margin: 0 -7.5px;}
	.appeal-list .row .col-3 {
		padding: 0 7.5px;
		width: calc(100% / 2);
	}
	.appeal-list .row .col-3:nth-child(n + 3) {	margin-top: 25px;}
	.appeal-list .row .col-3.w01 { width: 50%;}
	.appeal-list .row .col-3.w02 { width: 50%;}
	.appeal-list .txt {
		font-size: 12px;
		letter-spacing: 0;
		margin-top: 10px;
    line-height: 1.6;
	}
	.appeal-list .ttl-box { margin-bottom: 10px;}
	.appeal-list .ttl-box p {
		font-size: 13px;
		letter-spacing: -0.03em;
	}
	.appeal-list .txt.txt-bdr {	margin-top: 10px;}
	.appeal-list .facilitie-list .cont .cap-image {	margin-bottom: 10px;}
	.appeal-list .appeal-item + .appeal-item { margin-top: 50px;}
	.appeal-list .row.row-cus01 > .col-2 { width: 100%;}
	.appeal-list .row.row-cus01 > .col-2 + .col-2 {	margin-top: 20px;}
	.appeal-list .row.row-cus02,
	.appeal-list .row.row-cus03 { padding: 5px;}
	.appeal-list .row.row-cus02 .col-2,
	.appeal-list .row.row-cus03 .col-2 { padding: 5px;}
	.appeal-list .row.row-cus02 .mb20 { margin-bottom: 10px !important;}
	.appeal-list .ttl-box.mh-g01 { min-height: 50px;}
	.appeal-list .ttl-box.mh-auto-sp { min-height: auto;}
	.appeal-list .row.row-cus02 .col-2:nth-child(1) {
		width: 100%;
	}
	.appeal-list .row.row-cus02 .col-2:nth-child(2) {
		width: 100%;
	}
	.appeal-list .row.row-cus02 .group-img .item-group + .item-group { margin-top: 0;}
	.appeal-list .row.row-cus02 .group-img {
		display: flex;
		margin: 15px -15px 0;
	}
	.appeal-list .row.row-cus02 .group-img .item-group {
		padding: 0 15px;
	}
	.appeal-list .row.row-cus03 .col-2:nth-child(1) {
		width: 100%;
	}
	.appeal-list .row.row-cus03 .col-2:nth-child(2) {
		width: 90%;
		margin: 15px auto 0;
	}
}
/*swipe */
.icon_swipe {
	margin-right: auto;
	margin-left: auto;
	max-width: 270px;
}
.swipe {
	display: none;
}
@media screen and (max-width: 767px) {
	.swipe-img {
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 15px;
	}
	.swipe {
		display: block;
		text-align: center;
		margin: 20px auto 40px;
	}
	.swipe-img img {
		width: auto !important;
		max-width: auto !important;
		max-width: inherit !important;
	}
}
