@charset "UTF-8";
/* CSS Document */
/* header */
header {
	background-color: #f1ede5;
}
/* section */
/* mainArea */
.mainArea {
	width: 100%;
	height: calc(100svh - 92px);
	background-color: #f1ede5;
	.inner {
		height: 100%;
		padding: 0 40px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
		flex-direction: row-reverse;
	}
}
.mainArea .inner .left {
	width: calc(40% - 20px);
	text-align: center;
	h2 {
		img {
			max-width: 348px;
			margin: 0 auto;
		}
		span {
			display: block;
			padding-top: 26px;
			font-family: bilo, sans-serif;
			font-weight: 700;
			font-style: normal;
			letter-spacing: 0.16em;
			font-size: 26px;
			text-transform: capitalize;
		}
	}
	p {
		font-weight: 700;
		padding-top: 30px;
		font-size: 24px;
		line-height: 1.8;
		letter-spacing: 0.16em;
	}
}
.mainArea .inner .right {
	width: calc(60% - 20px);
}

.moveLogoArea {
	padding-top: 30vh;
	padding-bottom: 30vh;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
}
.logo-container {
  position: relative;
  width: 100vw;
  max-width: 700px;
  aspect-ratio: 620 / 287.32;
  overflow: visible;
  perspective: 800px;
}

.shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  transform-style: preserve-3d;
  opacity: 0;

  /* アニメ共通設定 */
  animation-duration: 3s;
  animation-fill-mode: forwards;
  /*animation-timing-function: ease;*/
  animation-timing-function: cubic-bezier(0.2, 0, 1, 1);
}
/* shape1 (#eca740) */
.shape1 {
  background-color: #eca740;
  clip-path: polygon(
    30.64% 38.73%,
    52.89% 100%,
    23.14% 79.86%
  );
  animation-name: moveShape1;
  animation-delay: 0s;
}
/* shape2 (#dc535b) */
.shape2 {
  background-color: #dc535b;
  clip-path: polygon(
    30.38% 5.60%,
    30.70% 38.73%,
    13.48% 22.73%
  );
  animation-name: moveShape2;
  animation-delay: 0.1s;
}
/* shape3 (#b29072) */
.shape3 {
  background-color: #b29072;
  clip-path: polygon(
    0% 100%,
    23.14% 79.86%,
    30.64% 38.73%
  );
  animation-name: moveShape3;
  animation-delay: 0.2s;
}

/* shape4 (#3c97c7) */
.shape4 {
  background-color: #3c97c7;
  clip-path: polygon(
    34.65% 49.80%,
    57.87% 0%,
    53.96% 31.64%,
    41.27% 68.40%
  );
  animation-name: moveShape4;
  animation-delay: 0.3s;
}
/* shape5 (#0c68ab) */
.shape5 {
  background-color: #0c68ab;
  clip-path: polygon(
    68.68% 79.51%,
    74.72% 41.31%,
    57.87% 0%,
    53.96% 31.64%
  );
  animation-name: moveShape5;
  animation-delay: 0.4s;
}
/* shape6 (#64b691) */
.shape6 {
  background-color: #64b691;
  clip-path: polygon(
    53.96% 31.64%,
    68.68% 79.51%,
    52.89% 100%,
    41.27% 68.40%
  );
  animation-name: moveShape6;
  animation-delay: 0.5s;
}
/* shape7 (#8ab529) */
.shape7 {
  background-color: #8ab529;
  clip-path: polygon(
    68.68% 79.51%,
    100% 100%,
    74.72% 41.31%
  );
  animation-name: moveShape7;
  animation-delay: 0.6s;
}
/* shape1 */
@keyframes moveShape1 {
  0% {
    transform: translate(-300px, -200px) rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape2 */
@keyframes moveShape2 {
  0% {
    transform: translate(600px, 300px) rotateY(-180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape3 */
@keyframes moveShape3 {
  0% {
    transform: translate(-400px, 500px) rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape4 */
@keyframes moveShape4 {
  0% {
    transform: translate(500px, -200px) rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape5 */
@keyframes moveShape5 {
  0% {
    transform: translate(800px, 100px) rotateY(-180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape6 */
@keyframes moveShape6 {
  0% {
    transform: translate(-100px, -400px) rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* shape7 */
@keyframes moveShape7 {
  0% {
    transform: translate(300px, 600px) rotateY(180deg) rotate(0deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotateY(0deg) rotate(360deg);
    opacity: 1;
  }
}

/* newsArea */
.newsArea {
	background-color: #f1ede5;
	.inner {
		padding: 120px 40px;
		.news {
			background-color: #fff;
			border-radius: 1.6rem;
			padding: 50px;
			h2 {
				text-align: center;
				font-family: bilo, sans-serif;
				letter-spacing: 0.16em;
				font-weight: 700;
				font-size: 28px;
			}
		}
	}
}
.newsArea .inner .news ul li {
	display: flex;
	justify-content: space-between;
	align-items: end;
	flex-wrap: wrap;
	padding-bottom: 36px;
	margin-top: 36px;
	border-bottom: 2px solid #f1ede5;
}
.newsArea .inner .news ul li .left {
	width: calc(100% - 154px);
	.item {
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-size: 17px;
		display: flex;
		justify-content: flex-start;
		.date {
			width: 140px;
		}
		.cate {
			padding-left: 10px;
		}
	}
	.ttl {
		padding: 10px 0 0 10px;
	}
}
.newsArea .inner .news ul li .right {
	width: 154px;
	.btn {
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-size: 17px;
		.btnarrow {
			display: block;
			padding: 0 4px 8px;
			position: relative;
			transition: all .2s linear;
			border-bottom: 1px solid #000;
			&:hover {
				border-bottom: 1px solid #e9545d;
			}
			&::before {
				content: "";
				position: absolute;
				top: calc(50% - 5px);
				right: 6px;
				width: 18px;
				height: 1px;
				background: #000;
				transition: all .2s linear;
			}
			&::after {
				content: "";
				position: absolute;
				top: calc(50% - 8px);
				right: 6px;
				width: 6px;
				height: 6px;
				border-top: 1px solid #000;
				border-right: 1px solid #000;
				transform: rotate(45deg);
				transition: all .2s linear;
			}
			&:hover::before {
				right: 0px;
				width: 24px;
				background: #e9545d;
			}
			&:hover::after {
				right: 0px;
				border-top: 1px solid #e9545d;
				border-right: 1px solid #e9545d;
			}
		}
	}
}
.newsArea .inner .news .btn02 {
	display: flex;
	justify-content: flex-end;
	padding-top: 26px;
	.btnarrow02 {
		display: block;
		width: 140px;
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-size: 17px;
		position: relative;
		padding-right: 36px;
		&::after {
			content: url("../img/common02/arrow.svg");
			width: 28px;
			position: absolute;
			top: calc(50% - 14px);
			right: 10px;
			transition: all .3s;
		}
		&:hover::after {
			right: 0;
		}
	}
}
/* bnrArea */
.bnrArea .inner {
	padding: 120px 40px 70px;
}
.bnrArea .inner .bnr {
	margin: 0 auto;
	max-width: 1280px;
	width: 100%;
	&:nth-of-type(2) {
		padding-top: 40px;
	}
}
.bnrArea .inner .bnr img {
	width: 100%;
}
.bnrArea .inner .bnr a:hover img {
	opacity: .7;
}
/* conceptArea */
.conceptArea {
  position: relative;
}
.conceptArea .inner {
	position: absolute;
  top: 0;
  left: 50%;
	transform: translateX(-50%);
	z-index: 1;
  width: 100%;
	padding: 120px 40px 70px;
	h2 {
		text-align: center;
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-weight: 700;
		font-size: 28px;
	}
	.item {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		flex-wrap: wrap;
	}
}
.conceptArea .inner .item .left {
	width: calc(30% - 30px);
	display: flex;
    justify-content: center;
	h3 {
		writing-mode: vertical-rl;
		font-size: 30px;
		line-height: 2;
		letter-spacing: 0.16em;
	}
}
.conceptArea .inner .item .right {
	width: calc(70% - 30px);
	padding-top: 120px;
	p {
		padding-bottom: 50px;
			span {
			display: block;
			padding-bottom: 26px;
		}
	}
}

/* philosophyArea */
.philosophyArea {
	background-color: #f1ede5;
	.inner {
		padding: 120px 40px;
		text-align: center;
		h2 {
			font-family: bilo, sans-serif;
			letter-spacing: 0.16em;
			font-weight: 700;
			font-size: 28px;
		}
		h3 {
			font-size: 30px;
			padding-top: 30px;
			letter-spacing: 0.16em;
		}
	}
}
.philosophyArea .inner .item01 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-top: 80px;
	.left {
		width: calc(44% - 30px);
		p {
			text-align: left;
			line-height: 2.2;
		}
	}
	.right {
		width: calc(56% - 30px);
		.img {
			width: 100%;
			height: 100%;
			background-image: url("../img/common02/philosophy_img01.svg");
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
			aspect-ratio: 482 / 432;
		}
	}
}
.philosophyArea .inner .item02 {
	padding-top: 120px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
ul {
		width: calc(50% - 30px);
		li {
			font-size: 17px;
			text-align: left;
			padding: 0 0 16px 50px;
			margin-bottom: 30px;
			position: relative;
			text-transform: capitalize;
			&::before {
				position: absolute;
				left: 0;
			}
			&.icon01 {
				border-bottom: 2px solid #e8545d;
				&::before {
					content: url("../img/common02/philosophy_mark01.svg");
					width: 23px;
					height: 22px;
					top: calc(50% - 19px);
				}
			}
			&.icon02 {
				border-bottom: 2px solid #66bd95;
				&::before {
					content: url("../img/common02/philosophy_mark02.svg");
					width: 40px;
					height: 39px;
					top: calc(50% - 28px);				}
			}
			&.icon03 {
				border-bottom: 2px solid #b39073;
				&::before {
					content: url("../img/common02/philosophy_mark03.svg");
					width: 38px;
					height: 44px;
					top: calc(50% - 30px);
				}
			}
			&.icon04 {
				border-bottom: 2px solid #399fd3;
				&::before {
					content: url("../img/common02/philosophy_mark04.svg");
					width: 43px;
					height: 37px;
					top: calc(50% - 27px);
				}
			}
			&.icon05 {
				border-bottom: 2px solid #f4ab3c;
				&::before {
					content: url("../img/common02/philosophy_mark05.svg");
					width: 28px;
					height: 51px;
					top: calc(50% - 34px);
				}
			}
			&.icon06 {
				border-bottom: 2px solid #036eb6;
				&::before {
					content: url("../img/common02/philosophy_mark06.svg");
					width: 32px;
					height: 44px;
					top: calc(50% - 30px);
				}
			}
			&.icon07 {
				border-bottom: 2px solid #8dbc20;
				&::before {
					content: url("../img/common02/philosophy_mark07.svg");
					width: 32px;
					height: 44px;
					top: calc(50% - 30px);
				}
			}
		}
		dl dt {
			.lg {
				font-size: 20px;
			}
		}
	}
}
.philosophyArea .inner p {
	padding-top: 20px;
	span {
		text-align: left;
		display: block;
		padding-top: 30px;
	}
}

/* programArea */
.programArea {
	background-color: #e8545d;
	.inner {
		padding: 120px 40px 60px;
		text-align: center;
		color: #fff;
		h2 {
			font-family: bilo, sans-serif;
			letter-spacing: 0.16em;
			font-weight: 700;
			font-size: 28px;
		}
		h3 {
			font-size: 30px;
			padding-top: 30px;
			letter-spacing: 0.16em;
		}
		p {
			padding-top: 40px;
			span {
				padding-top: 40px;
				display: block;
				line-height: 2.2;
			}
		}
	}
}
.programArea  .inner ul {
	padding-top: 120px;
	li {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		padding-bottom: 60px;
	}
}
.programArea  .inner ul li .left {
	width: calc(46% - 50px);
}
.programArea  .inner ul li .right {
	width: calc(54% - 50px);
	text-align: left;
	dl {
		dt {
			border-bottom: 3px solid #fff;
			padding-bottom: 20px;
			.number {
				font-family: bilo, sans-serif;
				font-weight: 700;
				font-size: 28px;
			}
			.ttl {
				padding-top: 16px;
				font-size: 26px;
			}
		}
		dd {
			padding-top: 30px;
		}
	}
}

/* psArea */
.psArea .inner {
	padding: 120px 40px;
	text-align: center;
	h2 {
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-weight: 700;
		font-size: 28px;
	}
	h3 {
		font-size: 30px;
		padding-top: 30px;
		letter-spacing: 0.16em;
	}
}
.psArea .inner .swiper-container01 {
	overflow: hidden;
	position: relative;
	padding-bottom: 100px;
}
.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding-top: 80px;
	.left {
		width: calc(70% - 40px);
		.img a {
			display: block;
			&:hover {
				opacity: .7;
			}
			img {
				border-radius: 2rem;
				width: 100%;
				aspect-ratio: 660 / 440;
				object-fit: cover;
			}
		}
	}
	.right {
		width: calc(30% - 40px);
		text-align: left;
		padding-right: 30px;
		.ttl {
			font-family: bilo, sans-serif;
			font-size: 22px;
			span {
				font-size: 38px;
				font-weight: 500;
			}
		}
		.deta {
			padding-top: 26px;
			font-family: bilo, sans-serif;
			display: flex;
			justify-content: flex-start;
			span {
				font-size: 15px;
				display: block;
				letter-spacing: 0.16em;
				&.time {
					width: 150px;
				}
			}
		}
		p {
			padding-top: 26px;
			line-height: 2;
			font-weight: 700;
			font-size: 24px;
		}
	}
}
.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide .right .btnArea {
	padding-top: 26px;
	.btn {
		width: 154px;
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-size: 17px;
		.btnarrow {
			display: block;
			padding: 0 4px 8px;
			position: relative;
			transition: all .2s linear;
			border-bottom: 1px solid #000;
			&:hover {
				border-bottom: 1px solid #e9545d;
			}
			&::before {
				content: "";
				position: absolute;
				top: calc(50% - 5px);
				right: 6px;
				width: 18px;
				height: 1px;
				background: #000;
				transition: all .2s linear;
			}
			&::after {
				content: "";
				position: absolute;
				top: calc(50% - 8px);
				right: 6px;
				width: 6px;
				height: 6px;
				border-top: 1px solid #000;
				border-right: 1px solid #000;
				transform: rotate(45deg);
				transition: all .2s linear;
			}
			&:hover::before {
				right: 0px;
				width: 24px;
				background: #e9545d;
			}
			&:hover::after {
				right: 0px;
				border-top: 1px solid #e9545d;
				border-right: 1px solid #e9545d;
			}
		}
	}
}

.swiper-pagination-bullet {
  background-color: #fff;
  color: #e9545d;
  font-size: 16px;
  height: 24px;
  line-height: 1.3;
  transition: transform .2s linear;
  width: 24px;
	border: 1px solid #e9545d;
	opacity: 1;
	font-family: bilo, sans-serif;
}
.swiper-pagination-bullet-active {
  background-color: #e9545d;
  color: #fff;
  transform: scale(1.4);
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next,
.swiper-button-next, .swiper-rtl .swiper-button-prev {
	top: auto;
	bottom: 0 !important;
}
.swiper-button-prev,
.swiper-button-next {
	width: 88px;
	height: 28px;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 28px;
  margin: auto;
  width: 88px;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url("../img/common02/back_arrow.svg");
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url("../img/common02/next_arrow.svg");
}
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}
.psArea .inner .bk_btn {
	padding-top: 50px;
	a {
		width: fit-content;
		line-height: 1;
		color: #fff;
		font-weight: 500;
		padding: 10px 30px;
		border-radius: 50px;
		border: 1px solid #e9545d;
		background-color: #e9545d;
		&:hover {
			background-color: #fff;
			color: #e9545d;
		}
	}
}

/* ownerArea */
.ownerArea {
	background-color: #f1ede5;
	.inner {
		padding: 120px 40px;
		text-align: center;
		h2 {
			font-family: bilo, sans-serif;
			letter-spacing: 0.16em;
			font-weight: 700;
			font-size: 28px;
		}
		h3 {
			font-size: 30px;
			padding-top: 30px;
			letter-spacing: 0.16em;
		}
	}
}
.ownerArea .inner .item {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 100px;
	.left {
		width: calc(60% - 30px);
		img {
			width: 100%;
		}
	}
	.right {
		width: calc(40% - 30px);
		text-align: left;
	}
}

/* membersArea */
.membersArea {
	padding-top: 120px;
	padding-bottom: 120px;
	text-align: center;
	h2 {
		font-family: bilo, sans-serif;
		letter-spacing: 0.16em;
		font-weight: 700;
		font-size: 28px;
	}
	h3 {
		font-size: 30px;
		padding-top: 30px;
		letter-spacing: 0.16em;
	}
}
.membersArea .swiper-container02 {
  padding: 100px 40px 0 19vw;
	.img img {
		width: 100%;
	}
	.swiper-wrapper .swiper-slide dl {
		padding: 30px 0 0 22px;
		text-align: left;
		dt {
			font-size: 22px;
			font-weight: 700;
			span {
				font-size: 18px;
			}
		}
		dd {
			padding-top: 10px;
			font-size: 19px;
		}
	}
}
@media screen and (max-width: 1200px) {
	/* membersArea */
	.membersArea .swiper-container02 {
    padding-left: 10vw;
	}
	.membersArea .swiper-container02 .swiper-wrapper .swiper-slide dl dt {
		font-size: 20px;
		font-weight: 700;
	}

	/* psArea */
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide {
		.left {
			width: calc(66% - 26px);
		}
		.right {
			width: calc(34% - 26px);
		}
	}
}

@media screen and (max-width: 1300px) {
/* mainArea */
	.mainArea .inner .left  h2 span {
		font-size: 21px;
	}
}

@media screen and (max-width: 1000px) {
/* mainArea */
	.mainArea .inner .left {
		width: calc(42% - 10px);
		h2 span {
			font-size: 17px;
		}
		p {
			font-size: 20px;
		}
	}
	.mainArea .inner .right {
		width: calc(58% - 10px);
	}

/* conceptArea */
	.conceptArea .inner .item .right p {
		padding-bottom: 30px;
	}

/* philosophyArea */
	.philosophyArea .inner .item01 {
		padding-top: 60px;
			.left {
				width: calc(56% - 6px);
		}
		.right {
			width: calc(44% - 6px);
		}
	}
	.philosophyArea .inner .item02 ul {
		width: calc(50% - 20px);
		dl dd {
			min-height: 55px;
		}
	}

/* programArea */
	.programArea .inner ul {
		padding-top: 90px;
		li {
			.left {
				width: calc(36% - 20px);
			}
			.right {
				width: calc(64% - 20px);
			}
		}
	}

/* psArea */
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide {
		.left {
				width: calc(60% - 20px);
				.img {
					border-radius: 1rem;
				}
		}
		.right {
				width: calc(40% - 20px);
				.deta span {
					font-size: 14px;
					letter-spacing: inherit;
					&.time {
						width: 140px;
					}
				}
				p {
				padding-top: 20px;
				font-size: 20px;
			}
		}
	}

/* ownerArea */
	.ownerArea .inner .item {
		padding-top: 80px;
		.left {
			width: calc(50% - 20px);
		}
		.right {
			width: calc(50% - 20px);
		}
	}
}

@media screen and (max-width: 768px) {
/* mainArea */
.mainArea .inner {
	padding: 0 6vw;
	flex-direction: column;
	justify-content: center;
	.left {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		h2 {
			img {
				max-width: 300px;
			}
			span {
				font-size: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
			}
		}
		p {
			font-size: clamp(1.125rem, 0.946rem + 0.89vw, 1.375rem);
		}
	}
	.right {
		width: 100%;
		margin-bottom: 60px;
		}
	}
	.moveLogoArea {
    padding: 0;
}

/* newsArea */
	.newsArea .inner {
		padding: 60px 6vw;
		.news {
			border-radius: 1.2rem;
			padding: 30px;
			h2 {
				font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
			}
		}
	}
	.newsArea .inner .news ul li {
		padding-bottom: 20px;
		margin-top: 20px;
		flex-direction: column;
		align-items: flex-start;
		.left {
			width: 100%;
			.item {
				font-size: 15px;
				.date {
					width: 126px;
				}
			}
			.ttl {
				padding-left: 6px;
			}
		}
		.right {
			width: 134px;
			padding-top: 20px;
			margin-left: 6px;
			.btn {
				font-size: 15px;
				.btnarrow {
					padding-bottom: 6px;
				}
			}
		}
	}
	.newsArea .inner .news .btn02 .btnarrow02 {
		width: 128px;
		font-size: 15px;
	}

/* bnrArea */
	.bnrArea .inner {
			padding: 60px 6vw 20px;
	}
	.bnrArea .inner .bnr:nth-of-type(2) {
		padding-top: 20px;
	}

/* conceptArea */
	.conceptArea .inner {
		padding: 60px 6vw 20px;
		h2 {
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		.item {
			flex-direction: column;
		}
	}
	.conceptArea .inner .item .left {
		width: 100%;
		justify-content: flex-end;
		padding-top: 40px;
		h3 {
			font-size: clamp(1.375rem, 1.107rem + 1.34vw, 1.75rem);
		}
	}
	.conceptArea .inner .item .right {
		width: 100%;
		padding-top: 80px;
		p {
			padding-bottom: 24px;
				span {
				padding-bottom: 16px;
			}
		}
	}

/* philosophyArea */
	.philosophyArea .inner {
		padding: 60px 6vw;
		h2 {
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		h3 {
			padding-top: 20px;
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
	}
	.philosophyArea .inner .item01 {
		flex-direction: column;
		padding-top: 30px;
		.left {
			width: 100%;
			p {
				text-align: center;
				font-size: clamp(0.688rem, 0.509rem + 0.89vw, 0.938rem);
			}
		}
		.right {
			width: 100%;
			max-width: 500px;
			margin:0 auto;
			padding-top: 40px;
		}
	}
	.philosophyArea .inner .item02 {
		padding-top: 60px;
		flex-direction: column;
		ul {
			width: 100%;
			li {
				font-size: clamp(0.813rem, 0.723rem + 0.45vw, 0.938rem);
				width: 100%;
				padding: 0 0 10px 46px;
				margin-bottom: 20px;
				dl {
					dt {
						.lg {
						font-size: 16px;
						}
					}
					dd {
						min-height: inherit;
					}
				}
			}
		}
	}
	.philosophyArea .inner p {
		padding-top: 0;
		span {
			padding-top: 20px;
		}
	}

/* programArea */
	.programArea .inner {
		padding: 60px 6vw 10px;
		h2 {
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		h3 {
			padding-top: 20px;
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		p {
			padding-top: 10px;
			font-size: clamp(0.688rem, 0.509rem + 0.89vw, 0.938rem);
			span {
				padding-top: 20px;
			}
		}
	}
	.programArea  .inner ul {
		padding-top: 60px;
		li {
			flex-direction: column;
			padding-bottom: 50px;
		}
	}
	.programArea  .inner ul li .left {
		width: 100%;
	}
	.programArea  .inner ul li .right {
		width: 100%;
		padding-top: 30px;
		dl {
			dt {
				padding-bottom: 10px;
				.number {
					font-size: 26px;
				}
				.ttl {
					padding-top: 8px;
					font-size: clamp(1.125rem, 0.813rem + 1.56vw, 1.563rem);
				}
			}
			dd {
				padding-top: 20px;
			}
		}
	}

/* psArea */
	.psArea .inner {
		padding: 60px 6vw;
		h2 {
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		h3 {
			padding-top: 20px;
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
	}
	.psArea .inner .swiper-container01 {
		padding-bottom: 66px;
	}
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide {
		flex-direction: column;
		padding-top: 50px;
		.left {
			width: 98%;
			.img a img {
				border-radius: 1.6rem;
			}
			.ttlArea {
				display: flex;
				justify-content: space-between;
				align-items: baseline;
				padding-bottom: 20px;
				.ttl {
					font-family: bilo, sans-serif;
					font-size: clamp(1.063rem, 0.929rem + 0.67vw, 1.25rem);
					span {
						font-size: clamp(1.375rem, 1.018rem + 1.79vw, 1.875rem);
					}
				}
				.deta {
					width: 140px;
					font-family: bilo, sans-serif;
					display: flex;
					justify-content: space-between;
					font-size: clamp(0.563rem, 0.429rem + 0.67vw, 0.75rem);
					span {
						display: block;
						&.time {
							width: 80px;
						}
					}
				}
			}
		}
		.right {
			width: 98%;
			padding-right: 0;
			.ttl {
				display: none;
			}
			.deta {
				display: none;
			}
			p {
				text-align: center;
				padding-top: 30px;
				font-size: clamp(1rem, 0.866rem + 0.67vw, 1.188rem);
			}
		}
	}
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide .right .btnArea {
		padding-top: 26px;
		.btn {
			margin: 0 auto;
			width: 134px;
			font-size: 15px;
			.btnarrow {
				padding-bottom: 6px;
			}
		}
	}
	.swiper-pagination-bullet {
		font-size: 13px;
		height: 18px;
		line-height: 1.2;
		width: 18px;
	}
	.swiper-pagination-bullet-active {
		transform: scale(1.2);
	}
	.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 6px;
	}
	.swiper-button-prev,
	.swiper-rtl .swiper-button-next,
	.swiper-button-next, .swiper-rtl .swiper-button-prev {
		top: auto;
		bottom: 6px !important;
	}
	.swiper-button-prev,
	.swiper-button-next {
		width: 58px;
		height: 19px;
	}
	/* 前へ次への矢印カスタマイズ */
	.swiper-button-prev::after,
	.swiper-button-next::after {
		background-repeat: no-repeat;
		background-size: contain;
		height: 19px;
		width: 58px;
	}
	.psArea .inner .bk_btn {
		padding-top: 30px;
	}

/* ownerArea */
.ownerArea .inner {
	padding: 60px 6vw;
	h2 {
		font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
	}
	h3 {
		padding-top: 20px;
		font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
	}
}
.ownerArea .inner .item {
	padding-top: 50px;
	flex-direction: column;
	.left {
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
	.right {
		width: 100%;
		padding-top: 30px;
	}
}

/* membersArea */
	.membersArea {
		padding: 60px 6vw;
		h2 {
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
		h3 {
			padding-top: 20px;
			font-size: clamp(1.125rem, 0.679rem + 2.23vw, 1.75rem);
		}
	}
	.membersArea .swiper-container02 {
		padding: 50px 1vw 0 1vw;
		.swiper-wrapper .swiper-slide dl {
			padding: 20px 0 0 16px;
		dt {
			font-size: clamp(0.938rem, 0.804rem + 0.67vw, 1.125rem);
				span {
					font-size: clamp(0.625rem, 0.446rem + 0.89vw, 0.875rem);
				}
			}
			dd {
				font-size: clamp(0.813rem, 0.723rem + 0.45vw, 0.938rem);
			}
		}
	}
}

@media screen and (max-width: 600px) {
/* newsArea */
	.newsArea .inner .news {
		border-radius: 1rem;
		padding: 20px;
}

/* programArea */
	.programArea .inner ul li .left {
		max-width: 290px;
		margin: 0 auto;
	}

/* psArea */
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide .left .img a img {
		border-radius: 1rem;
	}
	.background-svg {
		transform: scale(2);
		top: -35%;
		left: -45%;
	}
}
@media screen and (max-width: 400px) {
/* mainArea */
	.mainArea .inner .left h2 img {
		max-width: 260px;
	}

/* psArea */
	.psArea .inner .swiper-container01 {
		padding-bottom: 40px;
	}
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide {
			padding-top: 30px;
	}
	.psArea .inner .swiper-container01 .swiper-wrapper .swiper-slide .right .btnArea {
		padding-top: 16px;
	}

/* ownerArea */
	.ownerArea .inner .item {
		padding-top: 40px;
	}

/* membersArea */
	.membersArea .swiper-container02 {
		padding-top: 40px;
	}
}