@charset "UTF-8";

body {
	color: #595757;
}

.main {
	overflow: hidden;
}

.header-navList__link._company {
	color: var(--color-orange);
}

.sectionCopy,
.sectionSubCopy,
.sectionCopy--m {
	color: #333;
}

/* kv
---------------------------------------------- */
.kv {
	padding-bottom: 0;
}

.kvTxtBox {
	position: relative;
	width: calc(635 / 1110 * 100%);
	z-index: 1;
}

.kv__figure {
	position: absolute;
	bottom: -56px;
	right: -18%;
	width: calc(450 / 635 * 100%);
	height: 84px;
	/* mask-image: linear-gradient(195deg, transparent, transparent 41.6666666667%, rgba(0, 0, 0, 0.02) 43.3333333333%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.18) 46.6666666667%, rgba(0, 0, 0, 0.32) 48.3333333333%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.68) 51.6666666667%, rgba(0, 0, 0, 0.82) 53.3333333333%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.98) 56.6666666667%, #000 58.3333333333%, #000);
	-webkit-mask-position: center top;
	mask-position: center top;
	mask-size: 100% max(300%, 100vh);
	-webkit-mask-repeat: none;
	mask-repeat: none;
	transition: mask-position 1s .4s linear, -webkit-mask-position 1s .4s linear; */
	z-index: -1;
}
/* .loaded .kv__figure {
	mask-position: center 100%;
} */

.kv__copy img {
	width: calc(584 / 635 * 100%);
	height: auto;
}

.kv__txt02 {
	letter-spacing: 0.08em;
	margin-top: 100px;
}
.kv__txt02 + .kv__txt02 {
	margin-top: 3em;
}

.kvImgBox {
	position: absolute;
	top: 0;
	right: 0;
	width: 39.33334vw;
}
.kv__img {
	height: 100%;
	max-height: 910px;
	border-radius: 0 0 0 200px;
	object-fit: cover;
}

.kv__name {
	width: min(calc(400 / 590 * 100%),400px);
	margin-top: 60px;
	margin-inline: auto;
}

#kv-svg {
  width: 100%;
	height: 100%;
}
#kv-svg image {
	width: 100%;
	height: 100%;
}
#kv-mask {
  stroke-dasharray: 2500px;
}
.kv-svg__cls-1 {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 78px;
	transform: translate(0px, -3px);
}
.loaded #kv-mask {
  animation: write-move-kv 2.4s .6s both;
}

@keyframes write-move-kv {
  0% {
    stroke-dashoffset: 2500px;
  }

  100% {
    stroke-dashoffset: 0px;
  }
}

@media screen and (max-width: 960px) {
	.kv__img {
		border-radius: 0 0 0 80px;
	}
}

@media screen and (max-width: 768px) {
	.kv {
		padding-top: 0;
	}

	.kvWrap {
		margin-top: 50px;
	}

	.kvTxtBox {
		width: 100%;
	}

	.kv__copy {
		width: 245px;
	}
	.kv__figure {
		bottom: -17px;
		right: -45px;
		width: 225px;
		height: 42px;
	}
	.kv__copy img {
		width: 100%;
	}

	.kv__txt02 {
		letter-spacing: 0.063em;
		margin-top: 40px;
	}
	.kv__txt02 + .kv__txt02 {
		margin-top: 2em;
	}

	.kvImgBox {
		position: static;
		width: calc(320 / 375 * 100%);
		margin-left: auto;
	}

	.kv__name {
		width: 300px;
		margin-top: 40px;
	}
}

/* intro
---------------------------------------------- */
.intro {
	background-color: #eaf1e0;
	border-radius: 40px;
	margin-top: 4vw;
}

.intro__inner {
	gap: 30px calc(50 / 1010 * 100%);
	padding: 50px calc(50 / 1110 * 100%);
}

.intro__img {
	width: calc(267 / 1010 * 100%);
}

.intro__body {
	flex: 1;
}
.introList > li {
	font-size: 16px;
	letter-spacing: 0.08em;
}
.introList > li + li {
	margin-top: 0.5em;
}

@media screen and (max-width: 768px) {
	.intro {
		border-radius: 20px;
		margin-top: 30px;
	}

	.intro__inner {
		padding-inline: calc(22.5 / 335 * 100%);
	}

	.intro__img {
		width: 100%;
	}

	.intro__body {
		flex: revert;
	}
	.introList > li {
		letter-spacing: 0.1em;
		line-height: 1.45;
	}
	.introList > li + li {
		margin-top: .8em;
	}
}

/* outline
---------------------------------------------- */
.outline {
	background-color: #faf6eb;
	border-radius: 200px 0 0 0;
	margin-top: 150px;
	padding-block: 80px 140px;
}

.outline__copy {
	margin-top: 80px;
}

.outlineBox {
	position: relative;
	background-color: #fff;
	border-radius: 40px;
	margin-top: 30px;
	padding-block: 70px;
	z-index: 0;
}
.outlineBox__figure {
	position: absolute;
	top: -240px;
	right: -20%;
	width: calc(482 / 1110 * 100%);
	height: 312px;
	z-index: 1;
}

.outlineBox__inner {
	padding-inline: calc(80 / 1110 * 100%);
}

.outlineBox__head {
	width: calc(410 / 950 * 100%);
}

.outlineList > dl {
	display: flex;
	gap: 5px calc(30 / 410 * 100%);
	padding-block: 20px;
}
.outlineList > dl:first-child {
	padding-top: 0;
}
.outlineList > dl:last-child {
	padding-bottom: 0;
}
.outlineList > dl + dl {
	border-top: 1px solid #dfdfdf;
}
.outlineList > dl > dt {
	width: 100px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6;
}
.outlineList > dl > dd {
	flex: 1;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.outlineBox__body {
	width: calc(480 / 950 * 100%);
}
.outlineBox__ttl {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	padding-bottom: 1.3em;
	border-bottom: 1px solid #dfdfdf;
}

.contentsList {
	margin-top: 20px;
}
.contentsList > li {
	font-size: 16px;
}
.contentsList > li + li {
	margin-top: 0.5em;
}
.contentsList > li::before {
	width: 7px;
	background-color: #595757;
}

.area__copy {
	margin-top: 200px;
}

.area__txt {
	display: flex;
	align-items: center;
	gap: .6em;
	color: var(--color-orange);
	margin-top: .5em;
}
.area__txt::before {
	content: '';
	display: block;
	background: url(../img/icon_house.svg) center/contain no-repeat;
	width: 30px;
	height: 24px;
}

.areaBox {
	position: relative;
	background-color: #fff;
	border-radius: 40px;
	margin-top: 30px;
	/* overflow: hidden; */
	z-index: 0;
}
.areaBox__figure {
	position: absolute;
	bottom: -80px;
	left: -20%;
	width: calc(502 / 1110 * 100%);
	height: 145px;
	z-index: 1;
}

.areaMap {
	width: calc(550 / 1110 * 100%);
}
.areaMap img {
	border-radius: 40px 0 0 40px;
	object-fit: cover;
}

.areaBox__body {
	flex: 1;
	padding: calc(80 / 1110 * 100%) calc(55 / 1110 * 100%);
}

.facilityBtnWrap {
	max-width: 500px;
	margin-top: 80px;
}

.facilityBtn {
	font-size: clamp(15px, 0.35rem + 1.23vw, 24px);
	padding: 1em;
	padding-left: 3em;
}
.facilityBtn .otherLink {
	align-items: center;
	column-gap: 2.5em;
}
.facilityBtn .otherLink::after {
	width: 16px;
}

.media__copy {
	margin-top: 200px;
}

.mediaBox {
	margin-top: 25px;
}

.mediaItem {
	width: calc((100% - 110px) / 2);
}
.mediaItem__ttl {
	color: var(--color-orange);
	margin-top: 1em;
}
.mediaItem__date {
	color: #333;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-top: 1em;
}
.mediaItem__txt {
	margin-top: 1em;
}

@media screen and (max-width: 768px) {
	.outline {
		border-radius: 80px 0 0 0;
		margin-top: 80px;
		padding-block: 70px 80px;
	}

	.outline__ttl {
		text-align: center;
	}

	.outline__copy {
		position: relative;
		width: calc(290 / 375 * 100%);
		font-size: 19px;
		margin-top: 40px;
		margin-inline: auto;
		z-index: 1;
	}

	.outlineBox {
		border-radius: 20px;
		margin-top: 15px;
		padding-block: 50px;
	}
	.outlineBox__figure {
		top: -60px;
		right: -15%;
		width: calc(184 / 335 * 100%);
		height: 120px;
	}

	.outlineBox__inner {
		row-gap: 15px;
		padding-inline: calc(22.5 / 335 * 100%);
	}

	.outlineBox__head {
		width: 100%;
	}

	.outlineList > dl {
		flex-direction: column;
		padding-block: 15px;
	}
	.outlineList > dl > dt {
		width: 100%;
		font-size: 15px;
	}
	.outlineList > dl > dd {
		flex: revert;
	}

	.outlineBox__body {
		width: 100%;
	}
	.outlineBox__ttl {
		padding-block: 1.3em 0;
		border-top: 1px solid #dfdfdf;
		border-bottom: none;
	}

	.contentsList {
		margin-top: 15px;
	}

	.area__copy {
		width: calc(290 / 375 * 100%);
		margin-top: 50px;
		margin-inline: auto;
	}

	.area__txt {
		align-items: flex-start;
		gap: .6em;
		width: calc(290 / 375 * 100%);
		font-size: 19px;
		margin-top: .5em;
		margin-inline: auto;
	}
	.area__txt::before {
		width: 20px;
		height: 16px;
		margin-top: 0.5em;
	}

	.areaBox {
		border-radius: 20px;
		margin-top: 20px;
	}
	.areaBox__figure {
		bottom: -20px;
		width: calc(251 / 335 * 100%);
		height: 72px;
	}

	.areaMap {
		width: 100%;
	}
	.areaMap img {
		border-radius: 20px 20px 0 0;
	}

	.areaBox__body {
		flex: revert;
		padding: 30px calc(22.5 / 335 * 100%) 70px;
	}

	.facilityBtnWrap {
		max-width: 290px;
		margin-top: 70px;
	}

	.facilityBtn .otherLink::after {
		width: 12px;
	}

	.media__copy {
		width: calc(290 / 375 * 100%);
		margin-top: 50px;
		margin-inline: auto;
	}

	.mediaBox {
		row-gap: 40px;
		background-color: #fff;
		border-radius: 20px;
		margin-top: 20px;
		padding: 50px calc(22.5 / 375 * 100%);
	}

	.mediaItem {
		width: 100%;
	}
	.mediaItem__ttl {
		font-size: 23px;
		margin-top: 0.5em;
	}
	.mediaItem__date {
		font-size: 16px;
		margin-top: .2em;
	}
}

/* group
---------------------------------------------- */
.group {
	background-color: #faf6eb;
}

.group__inner {
	background-color: #fff;
	border-radius: 0 200px 0 0;
	padding-block: 100px 150px;
}

.group__ttl {
	display: flex;
	align-items: center;
	gap: 1em;
}

.groupBox {
	margin-top: 70px;
}

.groupList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px calc(110 / 1110 * 100%);
}

.groupList__body {
	margin-top: 20px;
}

.groupList__type {
	font-size: clamp(16px, 0.87rem + 0.27vw, 18px);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.groupList__type.flex {
	margin-bottom: -3%;
}
.groupList__type .health {
	width: calc(200 / 500 * 100%);
	mix-blend-mode: darken;
}

.groupList__name {
	color: var(--color-orange);
}

.groupList__txt {
	margin-top: .5em;
}

.waiki {
	background-color: #eaf2f6;
	border-radius: 40px;
	margin-top: 80px;
	padding-block: 70px;
}

.waiki__inner {
	padding-inline: calc(80 / 1110 * 100%);
}

.waiki__head {
	gap: 15px calc(30 / 950 * 100%);
}
.waiki__logo {
	width: calc(350 / 950 * 100%);
}
.waiki__name {
	position: relative;
	flex: 1;
	color: #2b7ca9;
	padding-left: calc(30 / 950 * 100%);
	z-index: 0;
}
.waiki__name::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 100%;
	max-height: 70px;
	background-color: #dfdfdf;
	z-index: 0;
}
.waiki__name .small {
	display: block;
	color: #333;
	font-size: 69.23%;
}

.waikiContents {
	margin-top: 50px;
}

.waikiBox01 {
	width: calc(500 / 950 * 100%);
}
.waikiBox02 {
	position: relative;
	width: calc(400 / 950 * 100%);
	z-index: 0;
}
.waikiBox02__figure {
	position: absolute;
	bottom: -100px;
	right: -36%;
	width: calc(546 / 400* 100%);
	height: 153px;
	z-index: 1;
}
.waikiBox03 {
	width: calc(500 / 950 * 100%);
	margin-top: 40px;
}

.waiki__copy {
	font-size: clamp(17px, 0.87rem + 0.41vw, 20px);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.8;
	color: #2b7ca9;
}
* + .waiki__txt {
	margin-top: 1em;
}

@media screen and (max-width: 768px) {
	.group__inner {
		border-radius: 0 80px 0 0;
		padding-block: 60px 80px;
	}

	.group__ttl {
		justify-content: center;
		gap: 0;
	}
	.group__ttl img {
		width: 53px;
	}

	.groupBox {
		margin-top: 30px;
	}

	.groupList {
		width: calc(290 / 335 * 100%);
		grid-template-columns: 1fr;
		row-gap: 40px;
		margin-inline: auto;
	}

	.groupList__type.flex {
		margin-bottom: -4%;
	}
	.groupList__type .health {
		width: calc(167 / 290 * 100%);
	}

	.groupList__name {
		font-size: 23px;
		line-height: 1.4;
	}
	* + .groupList__name {
		margin-top: 0.3em;
	}

	.groupList__txt {
		margin-top: .5em;
	}

	.waiki {
		border-radius: 20px;
		margin-top: 40px;
		padding-block: 50px;
	}

	.waiki__inner {
		padding-inline: calc(22.5 / 335 * 100%);
	}

	.waiki__logo {
		width: calc(230 / 290 * 100%);
	}
	.waiki__name {
		flex: revert;
		font-size: 23px;
		line-height: 1.4;
		padding-left: 0;
	}
	.waiki__name::before {
		content: none;
		position: absolute;
	}
	.waiki__name .small {
		margin-bottom: 0.5em;
	}

	.waikiContents {
		margin-top: 20px;
	}

	.waikiBox01 {
		float: none;
		width: 100%;
	}
	.waikiBox02 {
		float: none;
		width: 100%;
		margin-top: 30px;
	}
	.waikiBox02__figure {
		bottom: -52px;
		right: -22%;
		width: calc(273 / 290 * 100%);
		height: 76px;
	}
	.waikiBox03 {
		float: none;
		width: 100%;
		margin-top: 80px;
	}
}