@charset "UTF-8";
/*
	Filename: home
	Version: 1.0.1
*/
/*-----------------------------------------------------
	#mv
------------------------------------------------------*/
#mv {
  position: relative;
  width: 100%;
	overflow: hidden;
}
#mv::after {
  content: "";
  display: block;
  position: absolute;
	bottom: 0;
	left: 0;
  width: 100%;
  height: 24px;
  background-image: url("../img/home/wave.svg");
  background-repeat: repeat-x;
}
.mv_bg {
  position: relative;
  width: 100%;
}
.mv_slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2.5s ease, transform 20s ease;
}
.mv_slide::before {
  content: "";
  display: block;
  position: absolute;
	top: 0;
	left: 6%;
  width: 94%;
  height: 100%;
  background: rgba(255,255,255,.12);
	border-radius: 0 0 0 64px;
}
.mv_slide.is_active {
  opacity: 1;
}
.mv_slide:first-child {
  position: relative;
}
.slide_img  {
	display: block;
  width: 94%;
  height: auto;
	min-height: 640px;
	margin-left: 6%;
	object-fit: cover;
	border-radius: 0 0 0 64px;
}
.mv_dots {
	display: flex;
	gap: 20px;
	position: absolute;
	right: 32px;
	bottom: 40px;
	z-index: 5;
}
.mv_dot {
	display: block;
	width: 16px;
	height: 16px;
	padding: 0;
	border: 2px solid #8EACC0;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: background 0.3s ease, transform 0.3s ease;
}
.mv_dot.is_active {
	background: #8EACC0;
}
.mv_inner {
	position: absolute;
	bottom: 0;
	left: 6%;
	width: 94%;
}
.slide01 .mv_text {
	position: absolute;
	bottom: 120px;
	left: -40px;
}
.slide02 .mv_text {
	position: absolute;
	bottom: 147px;
	left: 120px;
}
.slide03 .mv_text {
	position: absolute;
	bottom: 92px;
	right: 44px;
	text-align: right;
}
.mv_text h2 span {
	display: inline-block;
	padding: 16px 24px;
	background: #fff;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
.mv_text h2 span:first-of-type {
	margin-bottom: 8px;
}
.mv_text h2 span strong.blue {
	color: #8EACC0;
}
.mv_text h2 span strong.pink {
	color: var(--pink);
}
.mv_text p {
	margin-top: 24px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
	text-shadow:
    2px 0 #fff,
    -2px 0 #fff,
    0 2px #fff,
    0 -2px #fff,
    1.5px 1.5px #fff,
    -1.5px 1.5px #fff,
    1.5px -1.5px #fff,
    -1.5px -1.5px #fff;
}
.slide01 .mv_photo {
	position: absolute;
	bottom: 52px;
	right: 54px;
}
.slide02 .mv_photo {
	position: absolute;
	bottom: 124px;
	right: 103px;
}
.slide03 .mv_photo {
	position: absolute;
	bottom: 15px;
	left: 0;
}
.slide01 .mv_photo img {
	width: 490px;
	height: 278px;
}
.slide02 .mv_photo img {
	width: 442px;
	height: 311px;
}
.slide03 .mv_photo img {
	width: 505px;
	height: 304px;
}
@media screen and (max-width: 1300px) {
	.slide01 .mv_text {
		bottom: 60px;
		left: -40px;
	}
	.slide02 .mv_text {
		bottom: 60px;
		left: 20px;
	}
	.slide03 .mv_text {
		bottom: 60px;
		right: 40px;
	}
	.slide01 .mv_photo {
		bottom: 20px;
		right: 20px;
	}
	.slide02 .mv_photo {
		bottom: 20px;
		right: 20px;
	}
	.slide03 .mv_photo {
		bottom: 10px;
		left: -60px;
	}
	.mv_text h2 span {
		padding: 16px;
		font-size: 25px;
	}
	.mv_dots {
		bottom: 25px;
	}
}
@media screen and (max-width: 1000px) {
	#mv {
		margin-top: 72px;
	}
	#mv::after {
		display: none;
	}
	.mv_slide::before {
		left: 16px;
		width: calc(100% - 16px);
		border-radius: 0 0 0 24px;
	}
	.slide_img {
		width: calc(100% - 16px);
		height: auto;
		min-height: auto;
		margin-left: 16px;
		object-fit: contain;
		border-radius: 0 0 0 24px;
	}
	.mv_dots {
		gap: 16px;
		top: calc(50% + 10px);
		right: auto;
		bottom: auto;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}
	.mv_dot {
		width: 12px;
		height: 12px;
		border: 1px solid #8EACC0;
	}
	.mv_inner {
		position: relative;
		bottom: auto;
		left: 0;
		width: 100%;
		padding-top: 60px;
	}
	.mv_inner::after {
		content: "";
		display: block;
		position: absolute;
		top: -24px;
		left: 0;
		width: 100%;
		height: 24px;
		background-image: url("../img/home/wave.svg");
		background-repeat: repeat-x;
	}
	.slide01 .mv_text, .slide02 .mv_text, .slide03 .mv_text {
		position: relative;
		bottom: auto;
		right: auto;
		left: 0;
		text-align: left;
	}
	.mv_text h2 {
		text-align: center;
	}
	.mv_text h2 span {
		padding: 0;
		font-size: 36px;
	}
	.mv_text p {
		display: none;
	}
	.slide01 .mv_photo, .slide02 .mv_photo, .slide03 .mv_photo {
		position: relative;
		bottom: auto;
		right: auto;
		left: 0;
		text-align: center;
	}
	.slide01 .mv_photo img, .slide02 .mv_photo img, .slide03 .mv_photo img {
		width: 670px;
		max-width: 100%;
		height: auto;
		margin-top: 16px;
	}
}
@media screen and (max-width: 900px) {
	.mv_dots {
		top: calc(50% + 0px);
	}
}
@media screen and (max-width: 800px) {
	.mv_dots {
		top: calc(50% - 10px);
	}
}
@media screen and (max-width: 750px) {
	.mv_inner::after {
		top: -12px;
		height: 12px;
		background-image: url("../img/home/sp_wave.svg");
	}
	.mv_dots {
		top: 48.4vw;
		right: auto;
		bottom: auto;
		transform: translateX(-50%) translateY(0);
	}
	.mv_text h2 {
		padding-right: 16px;
		padding-left: 16px;
	}
	.mv_text h2 span {
		font-size: 24px;
	}
	.slide01 .mv_photo, .slide02 .mv_photo, .slide03 .mv_photo {
		padding-right: 16px;
		padding-left: 16px;
	}
}
@media screen and (max-width: 414px) {
	.mv_text h2 {
		text-align: left;
	}
	.mv_text h2 span {
		font-size: 22px;
	}
}
/*-----------------------------------------------------
	#mv_link
------------------------------------------------------*/
#mv_link {
	margin-top: 24px;
	margin-bottom: 64px;
}
#mv_link .wrap ul {
	gap: 16px;
}
#mv_link .wrap ul li {
	position: relative;
	width: calc((100% - 112px) / 8);
	text-align: center;
}
#mv_link .wrap ul li a {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}
#mv_link .wrap ul li a span {
	display: block;
	font-family: var(--font-en);
	font-size: 14px;
	text-align: center;
}
#mv_link .wrap ul li a .menu_icon {
	position: relative;
	height: 53px;
	text-align: center;
}
#mv_link .wrap ul li a .menu_icon img {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
@media screen and (max-width: 1240px) {
	#mv_link .wrap ul {
		gap: 8px;
	}
	#mv_link .wrap ul li {
		width: calc((100% - 56px) / 8);
	}
	#mv_link .wrap ul li a {
		font-size: 14px;
	}
	#mv_link .wrap ul li a span {
		font-size: 12px;
	}
}
@media screen and (max-width: 1000px) {
	#mv_link {
		display: none;
	}
}
/*-----------------------------------------------------
	#news
------------------------------------------------------*/
#news {
	position: relative;
	z-index: 0;
}
#news::before {
  content: "";
  display: block;
  position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
  width: calc((100% - 1150px) / 2);
  height: 100%;
  background: #F9F5C9;
}
#news .wrap .flex {
  align-items: center;
}
.news_l {
	width: 28.4%;
	padding-top: 56px;
	padding-right: 64px;
	padding-bottom: 79px;
	background: #F9F5C9;
	border-radius: 0 64px 64px 0;
	text-align: center;
}
.news_r {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	flex-direction: row;
	gap: 24px;
	width: 71.6%;
	padding-left: 64px;
}
.news_item {
	width: 100%;
}
.news_item time {
	margin-bottom: 8px;
	font-family: var(--font-en);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #E6A258;
}
.news_item h3 a {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 1240px) {
	#news::before {
		width: 50px;
	}
	.news_l {
		width: 323px;
	}
	.news_r {
		width: calc(100% - 323px);
	}
}
@media screen and (max-width: 1000px) {
	#news {
		margin-top: 64px;
	}
	.news_l {
		padding-right: 30px;
	}
	.news_r {
		padding-left: 30px;
	}
}
@media screen and (max-width: 750px) {
	#news::before {
		display: none;
	}
	#news .wrap .flex {
		flex-direction: column;
		justify-content: flex-start;
		flex-direction: row;
		align-items: flex-start;
		gap: 32px;
	}
	.news_l {
		width: 216px;
		margin-left: -16px;
		padding-top: 32px;
		padding-right: 32px;
		padding-bottom: 43px;
		padding-left: 32px;
		border-radius: 0 16px 16px 0;
	}
	.news_r {
		width: 100%;
		padding-left: 0;
	}
	.news_item time {
		font-size: 14px;
	}
	.news_item h3 a {
		font-size: 14px;
	}
}
/*-----------------------------------------------------
	#about
------------------------------------------------------*/
#about {
	padding-top: 96px;
	padding-bottom: 82px;
	background-image: url("../img/home/about_bg.svg");
	background-position: 50% 110px;
	background-repeat: no-repeat;
	background-size: 1612px 1020px;
}
#about .wrap::before {
  content: "";
  display: block;
  position: absolute;
	top: -82px;
	right: 0;
  width: 127px;
  height: 181px;
  background: url("../img/home/about_illust_01.svg") no-repeat center center;
  background-size: cover;
}
#about .wrap::after {
  content: "";
  display: block;
  position: absolute;
	bottom: -150px;
	left: -95px;
	z-index: 1;
  width: 86px;
  height: 86px;
  background: url("../img/home/about_illust_02.svg") no-repeat center center;
  background-size: cover;
}
#about .wrap h2 {
  margin-bottom: 56px;
}
.about_l {
	width: 50%;
}
.about_l img {
	width: 100%;
}
.about_r {
	width: 50%;
	padding-left: 56px;
}
.about_r h3 {
	margin-bottom: 32px;
}
.about_r h3 span {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 8px;
	background: #fff;
	border-radius: 8px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.7;
}
.about_r h3 span strong.blue {
	color: #8EACC0;
}
.about_r h3 span strong.pink {
	color: var(--pink);
}
.about_r p {
	margin-bottom: 12px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}
.about_bottom {
	justify-content: space-between;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px dashed #929292;
}
.about_bottom_child {
	justify-content: space-between;
	width: 48.6%;
}
.about_bottom_child_img {
	width: 164px;
}
.about_bottom_child_img img {
	width: 100%;
	border-radius: 16px;
}
.about_bottom_child_text {
	width: calc(100% - 180px);
}
.about_bottom_child_text h3 {
	display: block;
	margin-bottom: 8px;
	background: var(--blue);
	text-align: center;
}
.about_bottom_child_text h3 span {
	font-size: 16px;
}
.about_bottom_child_text p {
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}
@media screen and (max-width: 1380px) {
	#about .wrap::after {
		left: 10px;
	}
}
@media screen and (max-width: 1060px) {
	#about .wrap::after {
		left: -20px;
	}
	.about_r h3 span {
		font-size: 22px;
	}
	.about_bottom_child_img {
		width: 134px;
	}
	.about_bottom_child_text {
		width: calc(100% - 150px);
	}
}
@media screen and (max-width: 1000px) {
	#about {
		position: relative;
		background-image: url("../img/home/sp_about_bg.svg");
		background-size: 1612px 1595px;
	}
	#about::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -43px;
		left: 0;
		width: 100%;
		height: 75px;
		background: url("../img/home/sp_about_bg_bottom.webp") no-repeat center center;
		background-size: cover;
	}
	#about .wrap::after {
		bottom: -190px;
	}
	.about_l {
		width: 100%;
		margin-bottom: 24px;
		text-align: center;
	}
	.about_l img {
		width: 60%;
		max-width: 100%;
	}
	.about_r {
		width: 100%;
		padding-left: 0;
	}
}
@media screen and (max-width: 750px) {
	#about {
		padding-top: 64px;
		padding-bottom: 0;
		background-position: 50% 63px;
	}
	#about .wrap::before {
		top: -55px;
		right: 0;
		width: 63px;
		height: 90px;
	}
	#about .wrap::after {
		bottom: -85px;
		left: -20px;
		width: 43px;
		height: 43px;
	}
	#about .wrap h2 {
		margin-bottom: 40px;
	}
	.about_l img {
		width: 450px;
		max-width: 100%;
	}
	.about_r h3 {
		margin-bottom: 16px;
	}
	.about_r h3 span {
		font-size: 20px;
	}
	.about_r p {
		font-size: 14px;
	}
	.about_bottom {
		gap: 24px;
		margin-top: 12px;
		padding-top: 24px;
	}
	.about_bottom_child {
		width: 100%;
	}
	.about_bottom_child_img {
		width: 100%;
		margin-bottom: 16px;
		text-align: center;
	}
	.about_bottom_child_img img {
		width: 140px;
	}
	.about_bottom_child_text {
		width: 100%;
	}
}
/*-----------------------------------------------------
	#nayami
------------------------------------------------------*/
#nayami {
	padding-top: 96px;
	overflow: hidden;
}
#nayami .wrap {
	z-index: 0;
	padding-top: 80px;
}
#nayami .wrap::after {
  content: "";
  display: block;
  position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
  width: 1160px;
  height: 620px;
  background: url("../img/home/nayami_bg.svg") no-repeat center center;
  background-size: cover;
}
#nayami h2 {
	margin-bottom: 56px;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #7B756F;
	text-align: center;
}
#nayami h2 span {
	border-bottom: 1px dashed var(--pink);
	color: var(--pink);
}
.nayami {
	justify-content: space-between;
}
.nayami_child {
	width: fit-content;
	margin-bottom: 15px;
}
@media screen and (max-width: 1240px) {
	.nayami_child:nth-of-type(1) img {
		width: 22.742vw;
		height: 16.613vw;
	}
	.nayami_child:nth-of-type(2) img {
		width: 19.274vw;
		height: 18.387vw;
	}
	.nayami_child:nth-of-type(3) img {
		width: 18.952vw;
		height: 15.726vw;
	}
	.nayami_child:nth-of-type(4) img {
		width: 18.065vw;
		height: 15.968vw;
	}
	.nayami_child:nth-of-type(5) img {
		width: 20.645vw;
		height: 19.113vw;
	}
	.nayami_child:nth-of-type(6) img {
		width: 20.484vw;
		height: 19.516vw;
	}
	.nayami_child:nth-of-type(7) img {
		width: 21.613vw;
		height: 17.984vw;
	}
	.nayami_child:nth-of-type(8) img {
		width: 19.677vw;
		height: 19.919vw;
	}
}
@media screen and (max-width: 1000px) {
	#nayami {
		position: relative;
		padding-bottom: 128px;
		background: url("../img/home/sp_nayami_bg.webp") no-repeat center 96px;
		background-size: cover;
	}
	#nayami::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 128px;
		background: url("../img/home/nayami_bottom.webp") no-repeat center center;
	}
	#nayami .wrap::after {
		display: none;
	}
	#nayami h2 {
		font-size: 35px;
	}
	.nayami {
		justify-content: center;
		gap: 20px;
	}
	.nayami_child:nth-of-type(1) img {
		width: 282px;
		height: 206px;
	}
	.nayami_child:nth-of-type(2) img {
		width: 239px;
		height: 228px;
	}
	.nayami_child:nth-of-type(3) img {
		width: 235px;
		height: 195px;
	}
	.nayami_child:nth-of-type(4) img {
		width: 224px;
		height: 198px;
	}
	.nayami_child:nth-of-type(5) img {
		width: 256px;
		height: 237px;
	}
	.nayami_child:nth-of-type(6) img {
		width: 254px;
		height: 242px;
	}
	.nayami_child:nth-of-type(7) img {
		width: 268px;
		height: 223px;
	}
	.nayami_child:nth-of-type(8) img {
		width: 244px;
		height: 247px;
	}
}
@media screen and (max-width: 750px) {
	#nayami {
		padding-top: 84px;
	}
	#nayami .wrap {
		padding-top: 0;
	}
	#nayami h2 {
		margin-bottom: 40px;
		font-size: 26px;
	}
	.nayami {
		gap: 0 8px;
	}
	.nayami_child {
		width: calc((100% - 8px) / 2);
		margin-bottom: 0;
	}
	.nayami_child:nth-of-type(1) img, .nayami_child:nth-of-type(2) img, .nayami_child:nth-of-type(3) img, .nayami_child:nth-of-type(4) img, .nayami_child:nth-of-type(5) img, 
	.nayami_child:nth-of-type(6) img, .nayami_child:nth-of-type(7) img, .nayami_child:nth-of-type(8) img {
		width: 100%;
		height: auto;
	}
}
/*-----------------------------------------------------
	#cv
------------------------------------------------------*/
#cv {
	position: relative;
	padding-top: 162px;
}
#cv::before {
  content: "";
  display: block;
  position: absolute;
	top: 1px;
	left: 50%;
	transform: translateX(-50%);
  width: 294px;
  height: 161px;
  background: url("../img/home/cv_illust.webp") no-repeat center center;
  background-size: cover;
}
#cv .wrap {
	z-index: 0;
	padding-top: 50px;
	padding-bottom: 40px;
	background: #8DC5E0;
	border-radius: 64px 0 0 24px;
}
#cv .wrap::before {
	content: "";
  display: block;
  position: absolute;
	top: 0;
	right: -100px;
	z-index: -1;
  width: 100px;
  height: 100%;
  background: #8DC5E0;
	border-radius: 0 64px 24px 0;
}
#cv .wrap::after {
  content: "";
  display: block;
  position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
  width: 238px;
  height: 401px;
  background: url("../img/home/cv_photo.webp") no-repeat center center;
  background-size: cover;
}
#cv .wrap h2 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.01em;
	color: #fff;
	text-align: center;
}
#cv .wrap p {
	margin-bottom: 24px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.01em;
	color: #fff;
	text-align: center;
}
ul.cv_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin: 0 auto;
}
ul.cv_link li {
	width: 420px;
	max-width: 100%;
}
ul.cv_link li a {
	display: block;
	padding: 15px 10px;
	background: #fff;
	border: 4px solid var(--blue);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: var(--text-color);
	text-align: center;
}
ul.cv_link li a em {
	position: relative;
	display: inline-block;
	margin-bottom: 5px;
	padding-left: 48px;
	font-family: var(--font-en);
	font-style: normal;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
ul.cv_link li a em::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: url("../img/common/nav_cv_tel.svg") no-repeat center center;
	background-size: cover;
}
ul.cv_link li a span {
	position: relative;
	display: inline-block;
	margin-bottom: 5px;
	padding-left: 48px;
	font-family: var(--font-sans);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
ul.cv_link li a span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: url("../img/common/nav_cv_web.svg") no-repeat center center;
	background-size: cover;
}
ul.cv_link li:last-of-type a {
	border: 4px solid #F6D088;
}
@media screen and (max-width: 1375px) {
	#cv .wrap {
		border-radius: 64px 64px 24px 24px;
	}
	#cv .wrap::before {
		display: none;
	}
}
@media screen and (max-width: 1000px) {
	ul.cv_link li {
		width: 300px;
	}
}
@media screen and (max-width: 750px) {
	#cv {
		padding-top: 30px;
	}
	#cv::before {
		top: -78px;
		width: 146px;
		height: 108px;
		background: url("../img/home/sp_cv_illust.svg") no-repeat center center;
		background-size: cover;
	}
	#cv .wrap {
		padding-top: 40px;
		padding-right: 16px;
		padding-left: 16px;
		border-radius: 40px 40px 16px 16px;
	}
	#cv .wrap h2 {
		width: calc(50% - 8px);
		font-size: 20px;
		text-align: left;
	}
	#cv .wrap p {
		width: calc(50% - 8px);
		font-size: 16px;
		text-align: left;
	}
	ul.cv_link {
		flex-direction: column;
		width: 326px;
		max-width: 100%;
	}
	ul.cv_link li {
		width: 326px;
	}
	ul.cv_link li a {
		padding: 15px 10px;
	}
	ul.cv_link li a em {
		padding-left: 40px;
		font-size: 24px;
	}
	ul.cv_link li a em::after {
		width: 32px;
		height: 32px;
	}
	ul.cv_link li a span {
		padding-left: 40px;
		font-size: 20px;
	}
	ul.cv_link li a span::before {
		width: 32px;
		height: 32px;
	}
	ul.cv_link li:last-of-type a {
		border: 4px solid #F6D088;
	}
}

@media screen and (max-width: 490px) {
	#cv .wrap::after {
		top: 40px;
		bottom: auto;
		right: 16px;
		width: 155px;
		height: 242px;
		background: url("../img/home/sp_cv_photo.webp") no-repeat center center;
		background-size: cover;
	}
	#cv .wrap h2 {
		font-size: 18px;
	}
	ul.cv_link {
		width: 100%;
	}
	ul.cv_link li {
		width: 100%;
	}
}

/*-----------------------------------------------------
	#feature
------------------------------------------------------*/
#feature {
	padding-top: 96px;
	padding-bottom: 120px;
}
#feature h2 {
	margin-bottom: 56px;
}
.feature h3 {
	width: fit-content;
	margin: 8px auto 16px;
	padding-bottom: 10px;
	border-bottom: 2px dashed var(--green);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.feature h3.orange {
	border-color: var(--orange);
}
.feature h3.pink {
	border-color: var(--pink);
}
.feature p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: left;
}
.feature_bg_green {
	background: #EAF4C5;
}
.feature_bg_usugreen {
	background: #F9F5C9;
}
.feature_bg_pink {
	background: #F4E4E7;
}
.feature_top {
	position: relative;
	margin-bottom: 40px;
}
.feature_top::after {
  content: "";
  display: block;
  position: absolute;
	top: -57px;
	right: -77px;
  width: 137px;
  height: 121px;
  background: url("../img/home/feature_illust.svg") no-repeat center center;
  background-size: cover;
}
.feature_top_img {
	width: 48%;
}
.feature_top_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 48px 0 0 48px;
}
.feature_top_text {
	width: 52%;
	padding: 40px;
	border-radius: 0 48px 16px 0;
	text-align: center;
}

.feature_mid {
	justify-content: space-between;
}
.feature_mid_child {
	width: 48%;
	margin-bottom: 40px;
	border-radius: 48px 48px 16px 48px;
}
.feature_mid_img img {
	width: 100%;
	height: auto;
	border-radius: 48px 48px 0 0;
}
.feature_mid_text {
	padding: 40px;
	border-radius: 0 0 16px 48px;
	text-align: center;
}

.feature_bottom_img {
	width: 48%;
}
.feature_bottom_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 48px 16px 0;
}
.feature_bottom_text {
	width: 52%;
	padding: 40px;
	border-radius: 48px 0 0 48px;
	text-align: center;
}
@media screen and (max-width: 1335px) {
	.feature_top::after {
		top: -57px;
		right: -30px;
	}
}
@media screen and (max-width: 750px) {
	#feature {
		padding-top: 64px;
		padding-bottom: 76px;
	}
	#feature h2 {
		margin-bottom: 40px;
	}
	.feature h3 {
		font-size: 18px;
	}
	.feature p {
		font-size: 14px;
	}
	.feature_top {
		margin-bottom: 24px;
	}
	.feature_top::after {
		display: none;
	}
	.feature_top_img {
		width: 100%;
	}
	.feature_top_img img {
		width: 100%;
		height: auto;
		object-fit: contain;
		border-radius: 24px 24px 0 0;
	}
	.feature_top_text {
		width: 100%;
		padding: 24px;
		border-radius: 0 0 24px 24px;
	}
	.feature_top_text img {
		width: 98px;
		height: auto;
	}
	.feature_mid_child {
		width: 100%;
		margin-bottom: 24px;
		border-radius: 24px;
	}
	.feature_mid_img img {
		border-radius: 24px 24px 0 0;
	}
	.feature_mid_text {
		padding: 24px;
		border-radius: 0 0 24px 24px;
	}
	.feature_mid_text img {
		width: 98px;
		height: auto;
	}
	.feature_bottom_img {
		order: 1;
		width: 100%;
	}
	.feature_bottom_img img {
		width: 100%;
		height: auto;
		object-fit: contain;
		border-radius: 24px 24px 0 0;
	}
	.feature_bottom_text {
		order: 2;
		width: 100%;
		padding: 24px;
		border-radius: 0 0 24px 24px;
	}
	.feature_bottom_text img {
		width: 98px;
		height: auto;
	}
}
@media screen and (max-width: 414px) {
	.feature h3 {
		font-size: 16px;
	}
}
/*-----------------------------------------------------
	#doctor
------------------------------------------------------*/
#doctor {
	position: relative;
	padding-top: 96px;
	padding-bottom: 120px;
	background-image: url("../img/home/doctor_bg.webp");
	background-position: top center;
	background-color: #DFE9EC;
}
#doctor::before {
  content: "";
  display: block;
  position: absolute;
	top: -24px;
	left: 0;
  width: 100%;
  height: 24px;
  background-image: url("../img/common/group_wave.svg");
  background-repeat: repeat-x;
}
#doctor::after {
  content: "";
  display: block;
  position: absolute;
	bottom: -24px;
	left: 0;
	transform: scaleY(-1);
  width: 100%;
  height: 24px;
  background-image: url("../img/common/group_wave.svg");
  background-repeat: repeat-x;
}
.doctor_illust_l {
	position: absolute;
	top: 40px;
	left: 0;
}
.doctor_illust_r {
	position: absolute;
	top: 40px;
	right: 0;
}
.doctor_illust_r img {
	transform: scaleX(-1);
}
#doctor h2 {
	margin-bottom: 24px;
}
.doctor {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}
.doctor:last-of-type {
	margin-bottom: 0;
}
.doctor_img {
	width: 30.4%;
}
.doctor_img img {
	width: 100%;
}
.doctor_text {
	width: 66%;
	padding: 64px 40px;
	background: #fff;
	border-radius: 16px;
}
.doctor_title {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}
.doctor_name {
	gap: 16px;
	align-items: center;
}
.doctor_name h3 {
	background: var(--blue);
}
.doctor_name h3 span {
	padding: 4px 34px;
	font-size: 16px;
}
.doctor_name h4 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
.doctor_name h4 rt {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
}
.doctor_text p {
	margin-bottom: 8px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
}
.prof {
	gap: 8px;
}
.prof li {
	width: calc((100% - 8px) / 2);
	padding: 8px 16px;
	background: #F9F5C9;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 1000px) {
	.doctor {
		gap: 16px;
		margin-bottom: 32px;
	}
	.doctor:last-of-type {
		margin-bottom: 0;
	}
	.doctor_img {
		order: 1;
		width: 100%;
		text-align: center;
	}
	.doctor_img img {
		width: 353px;
	}
	.doctor_text {
		order: 2;
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	#doctor {
		padding-top: 64px;
		padding-bottom: 64px;
		background-image: url("../img/home/sp_doctor_bg.webp");
		background-position: top center;
	}
	#doctor::before {
		top: -12px;
		height: 12px;
		background-image: url("../img/common/sp_group_wave.svg");
	}
	#doctor::after {
		bottom: -12px;
		height: 12px;
		background-image: url("../img/common/sp_group_wave.svg");
	}
	.doctor_illust_l {
		left: 16px;
	}
	.doctor_illust_r {
		right: 16px;
	}
	.doctor_illust_l img, .doctor_illust_r img {
		width: 29.6vw;
		height: auto;
	}
	#doctor h2 {
		margin-bottom: 40px;
	}
	.doctor_img img {
		width: 71%;
	}
	.doctor_text {
		position: relative;
		width: 600px;
		max-width: 100%;
		margin: 0 auto;
		padding: 24px 24px 79px;
	}
	.doctor_title {
		justify-content: space-between;
		align-items: center;
		margin-bottom: 16px;
	}
	.doctor_name {
		gap: 16px;
		align-items: center;
	}
	.doctor_name h3 {
		background: var(--blue);
	}
	.doctor_name h3 span {
		padding: 3px 37px;
		font-size: 14px;
	}
	.doctor_name h4 {
		font-size: 26px;
	}
	.doctor_name h4 rt {
		margin-bottom: 7px;
		font-size: 11px;
	}
	.doctor_title div:not(.doctor_name) {
		position: absolute;
		bottom: 38px;
		left: 50%;
		transform: translateX(-50%);
	}
	.doctor_text p {
		font-size: 14px;
	}
	.prof li {
		width: 100%;
	}
}
/*-----------------------------------------------------
	#menu
------------------------------------------------------*/
#menu {
	padding-top: 200px;
}
@media screen and (max-width: 750px) {
	#menu {
		padding-top: 112px;
	}
}
/*-----------------------------------------------------
	#price
------------------------------------------------------*/
#price {
	padding-top: 96px;
	padding-bottom: 76px;
}
.price_img {
	width: 34.4%;
}
.price_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 24px 0 0 24px;
}
.price_text {
	width: 65.6%;
	padding: 65px 40px;
	background: #F3EEE9;
	border-radius: 0 24px 24px 0;
	text-align: center;
}
.price_text h2 {
	margin-bottom: 32px;
}
.price_text h2 img {
	max-width: 100%;
}
.price_text h3 {
	margin-bottom: 5px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05em;
	text-align: center;
}
.price_text p {
	margin-bottom: 32px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
}
@media screen and (max-width: 750px) {
	#price {
		padding-top: 64px;
		padding-bottom: 44px;
	}
	.price_img {
		width: 100%;
	}
	.price_img img {
		width: 100%;
		height: auto;
		object-fit: contain;
		border-radius: 16px 16px 0 0;
	}
	.price_text {
		width: 100%;
		padding: 24px 24px 38px;
		border-radius: 0 0 16px 16px;
	}
	.price_text h2 {
		margin-bottom: 24px;
	}
	.price_text h2 img {
		width: 178px;
		max-width: 100%;
	}
	.price_text h3 {
		font-size: 20px;
	}
	.price_text p {
		margin-bottom: 24px;
		font-size: 14px;
	}
}
/*-----------------------------------------------------
	#recommended
------------------------------------------------------*/
.recommended_wrap {
	overflow: hidden;
	padding-top: 40px;
	padding-bottom: 40px;
}
#recommended {
	position: relative;
	padding-top: 56px;
	padding-bottom: 56px;
	background: #DFE9EC;
}
#recommended::before,
#recommended::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 120%;
  height: 80px;
  background: #DFE9EC;
  border-radius: 50%;
  z-index: 1;
}
#recommended::before {
  top: -40px;
}
#recommended::after {
  bottom: -40px;
}
#recommended .wrap {
	padding-top: 104px;
	padding-bottom: 104px;
	background: #fff;
	border-radius: 8px;
}
#recommended .wrap::before, #recommended .wrap::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background: repeating-linear-gradient(
		90deg,
		rgba(223, 158, 154, 1) 0 8.3333%,
		rgba(230, 192, 88, 1) 8.3333% 16.6667%,
		rgba(142, 188, 149, 1) 16.6667% 25%,
		rgba(142, 172, 192, 1) 25% 33.3333%
	);
	border-radius: 8px 8px 0 0;
}
#recommended .wrap::after {
	top: auto;
	bottom: 0;
	border-radius: 0 0 8px 8px;
}
#recommended h2 {
	margin-bottom: 16px;
}
.recommended_icon {
	margin-bottom: 56px;
}
.recommended {
	position: relative;
	width: calc(100% - 160px);
	margin: 0 auto 40px;
}
.recommended::before {
  content: "";
  display: block;
  position: absolute;
  top: -11px;
  left: 56px;
  width: 78px;
  height: 84px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.recommended_wrap .recommended:nth-child(3)::before {
  background-image: url("../img/home/num_01.svg");
}
.recommended_wrap .recommended:nth-child(4)::before {
	left: auto;
	right: 56px;
  background-image: url("../img/home/num_02.svg");
}
.recommended_wrap .recommended:nth-child(5)::before {
  background-image: url("../img/home/num_03.svg");
}
.recommended_wrap .recommended:nth-child(6)::before {
	left: auto;
	right: 56px;
  background-image: url("../img/home/num_04.svg");
}
.recommended_wrap .recommended:nth-child(6) {
	margin-bottom: 0;
}
.recommended_img {
	width: 50%;
}
.recommended_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 40px 0 0 16px;
}
.recommended:nth-child(even) .recommended_img img {
	border-radius: 0 40px 16px 0;
}
.recommended_text {
	width: 50%;
	padding: 43px 40px;
	background: #F9F5C9;
	border-radius: 0 16px 16px 0;
}
.recommended:nth-child(even) .recommended_text {
	background: #EAF4C5;
	border-radius: 16px 0 0 16px;
}
.recommended_text h3 {
	margin-bottom: 16px;
	font-size: 24px;
}
.recommended_text h3 span {
	font-size: 20px;
}
.recommended_text p {
	margin-bottom: 16px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 1240px) {
	.recommended {
		width: calc(100% - 80px);
	}
	.recommended::before {
		left: 20px;
	}
	.recommended_wrap .recommended:nth-child(4)::before {
		left: auto;
		right: 20px;
	}
	.recommended_wrap .recommended:nth-child(6)::before {
		left: auto;
		right: 20px;
	}
	.recommended_text h3 {
		font-size: 20px;
	}
	.recommended_text h3 span {
		font-size: 18px;
	}
}
@media screen and (max-width: 750px) {
	#recommended::before,
	#recommended::after {
		height: 40px;
	}
	#recommended::before {
		top: -20px;
	}
	#recommended::after {
		bottom: -20px;
	}
	#recommended .wrap {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	#recommended .wrap::before, #recommended .wrap::after {
		height: 4px;
	}
	.recommended {
		width: calc(100% - 32px);
	}
	.recommended::before {
		top: -10px;
		left: 10px;
		width: 52px;
		height: 56px;
	}
	.recommended_wrap .recommended:nth-child(4)::before {
		left: 10px;
		right: auto;
	}
	.recommended_wrap .recommended:nth-child(6)::before {
		left: 10px;
		right: auto;
	}
	.recommended_img {
		order: 1;
		width: 100%;
	}
	.recommended_img img {
		width: 100%;
		height: auto;
		object-fit: contain;
		border-radius: 16px 16px 0 0;
	}
	.recommended:nth-child(even) .recommended_img img {
		border-radius: 16px 16px 0 0;
	}
	.recommended_text {
		order: 2;
		width: 100%;
		padding: 24px 16px 37px;
		border-radius: 0 0 16px 16px;
	}
	.recommended:nth-child(even) .recommended_text {
		border-radius: 0 0 16px 16px;
	}
	.recommended_text h3 span {
		font-size: 16px;
	}
	.recommended_text p {
		font-size: 14px;
	}
}
/*-----------------------------------------------------
	#information
------------------------------------------------------*/
#information {
	padding-top: 96px;
	padding-bottom: 164px;
}
.information {
	justify-content: space-between;
}
.information_child {
	width: 48%;
}
.information_child h2 {
	margin-bottom: 24px;
}
.info_logo {
	display: block;
	width: 265px;
	margin: 0 auto 24px;
}
.information_child h3 {
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05;
}
.information_child address {
	margin-bottom: 24px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05;
}
.information_child a.info_tel {
	display: block;
	margin-bottom: 40px;
	padding: 15px 10px;
	background: #fff;
	border: 4px solid var(--blue);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: var(--text-color);
	text-align: center;
}
.information_child a.info_tel em {
	position: relative;
	display: inline-block;
	margin-bottom: 5px;
	padding-left: 48px;
	font-family: var(--font-en);
	font-style: normal;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
.information_child a.info_tel em::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: url("../img/common/nav_cv_tel.svg") no-repeat center center;
	background-size: cover;
}
.medical_table {
  width: 100%;
	margin-bottom: 8px;
  border-collapse: collapse;
  table-layout: fixed;
  border-bottom: 1px dashed #929292;
  font-size: 15px;
}
.medical_table th,
.medical_table td {
	padding-top: 8px;
	padding-bottom: 8px;
  vertical-align: middle;
  font-weight: 500;
  text-align: center;
}
.medical_table thead th {
  padding-top: 0;
  padding-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 1px dashed #929292;
}
.medical_table thead th:first-child,
.medical_table tbody th {
  width: 34%;
  text-align: center;
}
.medical_table tbody th {
  font-weight: 500;
  white-space: nowrap;
}
.medical_table tbody td {
  width: calc(66% / 7);
}
.medical_table tbody td:not(:has(span)) {
  font-size: 14px;
  line-height: 1;
}
.medical_table td:has(span) {
  font-size: 16px;
  line-height: 1.4;
  color: var(--blue);
}
.medical_table td span {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
	color: var(--text-color);
}
.medical_table td::first-letter {
  color: var(--blue);
}
.information_child ul li {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.information_child ul li span {
	color: var(--blue);
}
.information_child iframe {
	width: 100%;
	border-radius: 16px 16px 0 0;
}
.map_info {
	margin-top: -6px;
	padding: 24px;
	background: #F3EEE9;
	border-radius: 0 0 16px 16px;
}
.map_info ul {
	align-items: center;
	gap: 48px;
}
.map_info ul li {
	position: relative;
	padding-left: 52px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
.map_info ul li::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-image: url("../img/home/train.svg");
	background-repeat: no-repeat;
	background-position: center center;
  background-size: cover;
}
.map_info ul li:last-of-type::before {
  background-image: url("../img/home/parking.svg");
}
@media screen and (max-width: 1240px) {
	.map_info ul {
		gap: 20px;
	}
}
@media screen and (max-width: 1000px) {
	.information {
		gap: 32px;
	}
	.information_child {
		width: 100%;
	}
	.information_child h3 {
		text-align: center;
	}
	.information_child address {
		text-align: center;
	}
	.information_child a.info_tel {
		max-width: 400px;
		margin: 0 auto 40px;
	}
}
@media screen and (max-width: 750px) {
	#information {
		padding-top: 64px;
		padding-bottom: 88px;
	}
	.info_logo {
		width: 223px;
	}
	.information_child h3 {
		font-size: 16px;
	}
	.information_child address {
		font-size: 14px;
	}
	.information_child a.info_tel {
		width: 326px;
		max-width: 100%;
		padding: 15px 10px;
		border: 3px solid var(--blue);
	}
	.information_child a.info_tel em {
		padding-left: 40px;
		font-size: 24px;
	}
	.information_child a.info_tel em::after {
		width: 32px;
		height: 32px;
	}
	.medical_table {
		font-size: 14px;
	}
	.medical_table thead th {
		font-size: 14px;
	}
	.medical_table tbody td:not(:has(span)) {
		font-size: 12px;
	}
	.medical_table td:has(span) {
		font-size: 12px;
	}
	.information_child ul li {
		font-size: 12px;
	}
	.map_info {
		margin-top: -6px;
		padding: 24px;
		background: #F3EEE9;
		border-radius: 0 0 16px 16px;
	}
	.map_info ul {
		align-items: center;
		gap: 14px;
	}
	.map_info ul li {
		width: 47%;
		font-size: 14px;
	}
}
@media screen and (max-width: 414px) {
	.information_child h3 {
		text-align: left;
	}
	.information_child address {
		text-align: left;
	}
}
/*-----------------------------------------------------
	#recruit
------------------------------------------------------*/
#recruit {
	position: relative;
	padding-top: 48px;
	padding-bottom: 45px;
	background: #F4E4E7;
}
.recruit_img {
	position: absolute;
	top: -64px;
	right: 0;
	text-align: right;
}
.recruit_img img {
	width: auto;
	height: 400px;
	border-radius: 64px 0 0 16px;
}
.recruit {
	position: relative;
	width: 636px;
	padding-left: 48px;
	text-align: center;
}
.recruit h2 {
	margin-bottom: 24px;
}
.recruit h3 {
	margin-bottom: 16px;
	background: var(--pink);
}
.recruit p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
.recruit_link {
	position: absolute;
	bottom: -95px;
	left: calc(50% + 24px);
	transform: translateX(-50%);
}
@media screen and (min-width: 1901px) {
	.recruit_img {
		right: auto;
		left: calc(50% + 535px);
		transform: translateX(-50%);
	}
	.recruit_img img {
		border-radius: 64px 64px 16px 16px;
	}
}
@media screen and (max-width: 1600px) {
	#recruit .wrap {
		margin-left: 10%;
	}
}
@media screen and (max-width: 1460px) {
	#recruit .wrap {
		margin-left: 5%;
	}
}
@media screen and (max-width: 1380px) {
	#recruit .wrap {
		margin-left: 0;
	}
}
@media screen and (max-width: 1300px) {
	#recruit {
		padding-top: 0;
	}
	#recruit .wrap {
		width: 636px;
		margin-left: auto;
	}
	.recruit {
		padding-left: 0;
	}
	.recruit_link {
		left: 50%;
	}
	.recruit_img {
		position: relative;
		background: #FFFFFF;
		background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 90.1%, rgba(255, 255, 255, 0) 100%);
	}
	.recruit_img img {
		width: 80%;
		height: 400px;
		object-fit: cover;
		object-position: top center; 
	}
}
@media screen and (max-width: 1000px) {
	.recruit_img img {
		width: calc(100% - 40px);
		object-position: center center; 
	}
}
@media screen and (max-width: 750px) {
	#recruit {
		padding-bottom: 20px;
	}
	#recruit .wrap {
		width: calc(100% - 32px);
	}
	.recruit {
		width: 100%;
		padding-left: 0;
	}
	.recruit p {
		font-size: 14px;
	}
	.recruit_img {
		top: -24px;
	}
	.recruit_link {
		bottom: -65px;
	}
	.recruit_img img {
		width: calc(100% - 16px);
		height: auto;
		object-fit: contain;
	}
}
@media screen and (max-width: 570px) {
	.recruit p {
		text-align: left;
	}
}
/*-----------------------------------------------------
	#blog
------------------------------------------------------*/
#blog {
	padding-top: 158px;
	padding-bottom: 120px;
}
#blog h2 {
	text-align: left;
}
.blog_head {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}
.post_list_item:nth-child(n + 4) {
	display: none;
}
@media screen and (max-width: 750px) {
	#blog {
		padding-top: 120px;
		padding-bottom: 76px;
	}
	.post_list_item:nth-child(n + 4) {
		display: block;
	}
}









