@charset "UTF-8";
/*
	Filename: home
	Version: 1.0.1
*/
header {
	background: #F4F4F5;
}
@media screen and (max-width: 1000px) {
	header {
		background: #fff;
	}
}
/*-----------------------------------------------------
	#mv
------------------------------------------------------*/
.mv_inner {
  position: relative;
  z-index: 0;
  margin-top: 144px;
  width: 100%;
  height: 879px;
	background: #F4F4F5;
}
.mv_inner::after {
  content: "";
  display: block;
  position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
  width: 100%;
  height: 69px;
  background: #fff;
}
.mv_inner img.mv_main {
	position: relative;
	z-index: 2;
  width: 70.3%;
	height: 879px;
	margin-left: 29.7%;
	object-position: top center;
	object-fit: cover;
	border-radius: 500px 0 0 0;
}
.mv_text {
	position: absolute;
	top: 146px;
	left: 9.9vw;
	z-index: 3;
}
.mv_text h2 {
	margin-bottom: 50px;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.2em;
	color: #2C3330;
}
.mv_text h3 {
	font-family: var(--font-serif);
	font-size: 50px;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.2em;
	color: #2C3330;
}
.pc_mv_ul {
	
}
.pc_mv_ul ul {
	flex-direction: row;
	gap: 10px;
	margin-top: 30px;
}
.pc_mv_ul ul li {
	padding: 0 20px;
	border-right: 1px solid #bf9f76;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	color: #2C3330;
	text-align: center;
	text-shadow:
	0 0 2px #fff,
	0 0 4px #fff,
	0 0 8px rgba(255, 255, 255, 0.8);
}
.pc_mv_ul ul li:last-of-type {
	border-right: none;
}
.pc_mv_ul ul li img {
	width: 70px;
	height: auto;
	margin-bottom: 10px;
}
.mv_sp {
	display: none;
}
.sp_mv_ul {
	display: none;
}
@media screen and (max-width: 1200px) {
	.mv_text {
		left: 40px;
	}
}
@media screen and (max-width: 1000px) {
	.mv_inner {
		margin-top: 85px;
		width: 100%;
		height: 87.9vw;
		background: #fff;
	}
	.mv_inner::after {
		display: none;
	}
	.mv_inner img.mv_main {
		width: 100%;
		height: 87.9vw;
		margin-left: 0;
		object-position: center center;
		border-radius: 40vw 0 0 0;
	}
	.mv_text {
		position: absolute;
		top: calc(50% - 72.5px);
		left: 66px;
		transform: translateY(-50%);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;

	}
	.mv_text h2 {
		margin-bottom: 0;
		font-size: 22px;
		writing-mode: vertical-rl;
		text-shadow:
		0 0 2px #fff,
		0 0 4px #fff,
		0 0 8px rgba(255, 255, 255, 0.8);
	}
	.mv_text h2 span {
		display: inline-block;
		transform: translateY(145px);
	}
	.mv_pc {
		display: none;
	}
	.mv_sp {
		display: block;
	}
	#mv h3 {
		padding: 40px 0 0;
		font-family: var(--font-serif);
		font-size: 50px;
		font-weight: 600;
		line-height: 2;
		letter-spacing: 0.2em;
		color: #2C3330;
		text-align: center;
	}
	.pc_mv_ul {
		display: none;
	}
	.sp_mv_ul {
		display: block;
	}
	.sp_mv_ul ul {
		flex-direction: row;
		gap: 10px;
		margin-top: 30px;
	}
	.sp_mv_ul ul li {
		width: calc((100% - 40px) / 5);
		padding: 0 10px;
		border-right: 1px solid #bf9f76;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.4;
		color: #2C3330;
		text-align: center;
	}
	.sp_mv_ul ul li:last-of-type {
		border-right: none;
	}
	.sp_mv_ul ul li img {
		width: 70px;
		max-width: 100%;
		height: auto;
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 750px) {
	.mv_inner {
		height: 114vw;
	}
	.mv_inner img.mv_main {
		height: 114vw;
		border-radius: 26.667vw 0 0 0;
	}
	.mv_text {
		top: calc(50% - 16.6665vw);
    left: auto;
    right: 10px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
	}
	.mv_text h2 {
		font-size: 5.333vw;
		margin: 0;
		writing-mode: vertical-rl;
	}
	.mv_text h2 span {
		transform: translateY(30.333vw);
	}
	#mv h3 {
		padding: 40px 45px 0;
		font-size: 7.7vw;
		text-align: left;
	}
	.sp_mv_ul ul {
		justify-content: center;
		gap: 20px 10px;
	}
	.sp_mv_ul ul li {
		width: calc((100% - 40px) / 3);
	}
	.sp_mv_ul ul li:nth-of-type(3) {
		border-right: none;
	}
}
@media screen and (max-width: 550px) {
	.mv_text {
		top: calc(50% - 10.6665vw);
	}
}
/*-----------------------------------------------------
	midasi
------------------------------------------------------*/
.top_title_01 {
	position: relative;
	margin-bottom: 40px;
	font-size: 24px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.2em;
	color: var(--glay-color);
}
.top_title_01::after {
  content: "";
  display: block;
  position: absolute;
	bottom: -10px;
	left: 0;
  width: 60px;
  height: 2px;
  background: var(--glay-color);
	border-radius: 9999px;
}
.top_title_01 span {
	margin-left: 10px;
	font-size: 14px;
}
@media screen and (max-width: 750px) {
	.top_title_01 {
		margin-bottom: 50px;
		line-height: 1.4;
		text-align: center;
	}
	.top_title_01::after {
		bottom: -20px;
		left: 50%;
		transform: translateX(-50%);
		width: 60px;
		height: 2px;
	}
	.top_title_01 span {
		display: block;
		margin-left: 0;
	}
}
/*-----------------------------------------------------
	#campaign #hot
------------------------------------------------------*/
#campaign {
	padding: 80px 0;
}
#hot {
	padding: 80px 0;
	background: #F4F4F5;
}
.swiper-button-prev {
	top: calc(50% + 44px);
	left: -75px;
}
.swiper-button-next {
	top: calc(50% + 44px);
	right: -75px;
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 40px;
	font-weight: 700;
	color: var(--gold-color);
}
.swiper-slide {
	border: 1px solid var(--glay-color);
}
.swiper-slide img {
	width: 100%;
	height: auto;
}
#campaign a.link_more {
	margin-top: 40px;
}
@media screen and (max-width: 1300px) {
	#campaign .wrap, #hot .wrap {
		padding-right: 40px;
		padding-left: 40px;
	}
	.swiper-button-prev {
		left: -10px;
	}
	.swiper-button-next {
		right: -10px;
	}
}
@media screen and (max-width: 750px) {
	#campaign .wrap, #hot .wrap {
		padding-right: 20px;
		padding-left: 20px;
	}
	.swiper-button-next:after, .swiper-button-prev:after {
		font-size: 20px;
	}
}

/*-----------------------------------------------------
	#menu
------------------------------------------------------*/
#menu {
	padding-top: 80px;
}
#menu h3 {
	margin-bottom: 40px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
}
.menu_inner {
	background: #F4F4F5;
}
.geka {
	justify-content: space-between;
	padding: 28px 0;
	background: url("../img/home/menu_bg.webp") top center no-repeat;
}
.geka_l {
	width: 201px;
}
.geka_r {
	width: 201px;
	padding-top: 70px;
}
.geka_link {
	margin-bottom: 20px;
	background: #fff;
	border: 1px solid var(--text-color);
}
.geka_link h4 {
	padding: 10px;
	background: var(--text-color);
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	text-align: center;
}
.geka_link ul {
	position: relative;
	padding: 20px 30px 20px 12px;
}
.geka_link ul::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
  width: 8px;
  height: 14px;
  background: url("../img/common/g_arrow.svg") no-repeat center center;
  background-size: cover;
}
.geka_link ul li a {
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}
@media screen and (max-width: 750px) {
	.menu_inner .wrap {
		width: 100%;
	}
	.geka {
		flex-direction: column;
		padding: 28px 0 0;
		background: url("../img/home/sp_menu_bg.webp") top right no-repeat;
	}
	.geka_l, .geka_r {
		width: calc(100% - 226px);
		padding-top: 0;
		margin-left: 20px;
	}
	.geka_link {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 450px) {
	.geka_link h4 {
		font-size: 16px;
	}
}

.menu_tab {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-top: 40px;
	padding-bottom: 80px;
}
.tab_btns {
  display: flex;
	justify-content: center;
  margin-bottom: 40px;
}
.tab_btn {
	width: 200px;
  padding: 15px 5px;
	background: none;
	border: none;
  border-bottom: 4px solid #D8D8D8;
  font-size: 20px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #D8D8D8;
	text-align: center;
  cursor: pointer;
  transition: 0.3s;
}
.tab_btn.is-active {
  color: var(--text-color);
  border-color: var(--text-color);
}
.tab_content {
  display: none;
}
.tab_content.is-active {
  display: block;
}
.concern_list {
	gap: 20px 26px;
}
.concern_list_child {
	width: calc((100% - 78px) / 4);
	background: #fff;
	text-align: center;
}
.concern_list_child a {
	display: block;
	padding: 30px 10px;
	background: #fff;
}
.concern_list_child img {
	max-width: 100%;
	margin-bottom: 30px;
}
.concern_list_child p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.dermatology_list {
	gap: 20px;
}
.dermatology_list li a {
	display: inline-block;
	position: relative;
	padding: 5px 30px 5px 10px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.dermatology_list li a::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
  width: 8px;
  height: 14px;
  background: url("../img/common/g_arrow.svg") no-repeat center center;
  background-size: cover;
}
.other {
	padding-top: 80px;
	padding-bottom: 80px;
}
@media screen and (max-width: 1160px) {
	.concern_list_child {
		width: calc((100% - 52px) / 3);
	}
}
@media screen and (max-width: 750px) {
	.tab_btn {
		width: 150px;
		font-size: 16px;
	}
	.dermatology_list {
		padding: 0 20px;
	}
	.concern_list {
		gap: 15px;
	}
	.concern_list_child {
		width: calc((100% - 15px) / 2);
	}
	.concern_list_child img {
		margin-bottom: 20px;
	}
	.concern_list_child p {
		font-size: 14px;
	}
}
/*-----------------------------------------------------
	#case
------------------------------------------------------*/
#case {
	padding: 80px 0;
}
.swiper03 .swiper-slide {
  height: auto;
}
.swiper03-wrap .swiper-pagination {
  position: static;
	width: 1040px;
  height: 6px;
	margin: 40px auto 0;
  background: #EAEAEA;
}
.swiper03-wrap .swiper-pagination-progressbar-fill {
  background: var(--gold-color);
}
.swiper03-wrap .swiper-button-prev, .swiper03-wrap .swiper-button-next {
	display: none;
}
.case_img_child img {
	width: 100%;
}
.case_img_child h3 {
	padding: 5px;
	background: var(--gold-color);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: center;
}
.case_img_child p {
	padding: 20px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
#case a.link_more {
	margin-top: 40px;
}
@media screen and (max-width: 1160px) {
	.swiper03-wrap .swiper-pagination {
		width: calc(100% - 40px);
	}
}

@media screen and (max-width: 750px) {
	.swiper03-wrap {
		position: relative;
		width: calc(100% - 40px);
		margin: 0 auto;
		padding: 0 20px;
	}
	.swiper03-wrap .swiper-pagination {
		display: none;
	}
	.swiper03-wrap .swiper-button-prev, .swiper03-wrap .swiper-button-next {
		display: block;
	}
	.swiper03-wrap .swiper-button-prev {
		left: 0;
	}
	.swiper03-wrap .swiper-button-next {
		right: -20px;
	}
}

/*-----------------------------------------------------
	#doctor
------------------------------------------------------*/
#doctor {
	position: relative;
	padding-top: 80px;
}
.doctor_bg {
	position: absolute;
	top: 80px;
	left: 0;
	width: 41%;
	height: 450px;
}
.doctor_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.doctor_bg h3 {
	position: absolute;
	top: 130px;
	left: 0;
	width: 100%;
	padding: 10px 20px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}
.doctor_bg h3 span {
	margin-right: 10px;
	margin-left: 10px;
	font-size: 20px;
}
.doctor_wrap {
	width: 84.3%;
	margin-left: 15.7%;
}
.doctor_wrap h2 {
	margin-bottom: 30px;
	margin-left: 50%;
	font-size: 96px;
	font-weight: 300;
	letter-spacing: 0.1em;
	color: #F4F4F5;
}
.doctor_inner {
	background: #F4F4F5;
}
.doctor_photo {
	position: relative;
	width: 50%;
	text-align: right;
}
.doctor_photo img {
	position: absolute;
	bottom: 0;
	right: 50px;
}
.doctor_text {
	width: 50%;
	padding: 80px 140px 80px 0;
}
.doctor_text h4 {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.doctor_text p {
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
}
.doctor_text ul {
	justify-content: flex-start;
	gap: 10px;
}
.doctor_text ul li a {
	display: inline-block;
	padding: 15px 24px;
	background: var(--text-color);
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.doctor_text ul li a span {
	position: relative;
	padding-left: 23px;
}
.doctor_text ul li a span::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url("../img/common/insta_icon.svg") no-repeat center center;
  background-size: cover;
}
.doctor_text ul li:last-of-type a {
	background: #06C755;
}
.doctor_text ul li:last-of-type a span {
	padding-left: 24px;
}
.doctor_text ul li:last-of-type a span::before {
  width: 24px;
  height: 24px;
  background: url("../img/common/header_line_icon.svg") no-repeat center center;
  background-size: cover;
}
.sp_doctor_photo {
	display: none;
}
@media screen and (max-width: 1360px) {
	.doctor_bg h3 {
		text-align: left;
	}
	.doctor_wrap h2 {
		margin-left: 47%;
	}
	.doctor_photo {
		width: 60%;
	}
	.doctor_photo img {
		right: 30px;
	}
	.doctor_text {
		width: 40%;
		padding: 80px 40px 80px 0;
	}
}
@media screen and (max-width: 1000px) {
	.doctor_bg {
		position: relative;
		top: 20px;
		width: 100%;
	}
	.doctor_bg h3 {
		top: 50%;
		transform: translateY(-50%);
		width: 85%;
	}
	.sp_doctor_photo {
		display: block;
		position: absolute;
		right: 0;
		bottom: -60px;
		text-align: right;
	}
	.sp_doctor_photo img {
		width: 50%;
		height: auto;
	}
	.doctor_wrap {
		width: 100%;
		margin-left: 0;
	}
	.doctor_wrap h2 {
		position: absolute;
		top: 0;
		width: 100%;
		margin-bottom: 0;
		margin-left: 0;
		text-align: center;
	}
	.doctor_inner {
		margin-top: 20px;
	}
	.doctor_photo {
		display: none;
	}
	.doctor_text {
		width: 100%;
		padding: 80px 40px;
	}
}
@media screen and (max-width: 750px) {
	.doctor_bg {
		height: 400px;
	}
	.doctor_wrap h2 {
		font-size: 80px;
	}
	.doctor_text {
		padding: 60px 20px;
	}
}
@media screen and (max-width: 540px) {
	.doctor_bg {
		height: 308px;
	}
	.doctor_bg h3 {
		width: 80%;
	}
}

/*-----------------------------------------------------
	#clinic
------------------------------------------------------*/
#clinic {
	position: relative;
	margin-top: 100px;
	padding-top: 117px;
	padding-bottom: 80px;
}
.clinic_bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 81%;
	height: 679px;
}
.clinic_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 500px 0 0 0;
}
.clinic_haed {
	width: 640px;
	margin-bottom: 100px;
	padding: 40px 20px;
	background: rgba(255,255,255,.8);
}
#clinic h2 span {
	display: block;
	margin-left: 0;
}
#clinic h3 {
	font-family: var(--font-serif);
	font-size: 32px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.2em;
}
.clinic_list {
  gap: 30px;
}
.clinic_list li {
  position: relative;
  width: calc((100% - 90px) / 4);
  padding: 60px 0;
  background: #F4F4F5;
  border-radius: 500px;
  text-align: center;
}
.clinic_list li img {
  display: block;
	max-width: 100%;
  margin: 0 auto 20px;
}
.clinic_list li .clinic_text {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
}
.clinic_list li h4 {
	margin-left: 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: var(--gold-color);
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: normal;
}
.clinic_list li p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--gold-color);
	text-align: left;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin: 0;
}
@media screen and (max-width: 1000px) {
	.clinic_bg {
		width: 90%;
	}
	.clinic_list {
		gap: 20px;
		width: 500px;
		margin: 0 auto;
	}
	.clinic_list li {
		width: 240px;
	}
}

@media screen and (max-width: 750px) {
	#clinic {
		margin-top: 80px;
	}
	.clinic_bg {
		width: 67.4%;
		height: 679px;
	}
	.clinic_bg img {
		border-radius: 200px 0 0 0;
	}
	.clinic_haed {
		width: 73.4%;
		min-width: 320px;
		margin-bottom: 40px;
		padding: 40px 30px 40px 0;
	}
	#clinic h2 {
		text-align: left;
	}
	#clinic h2::after {
		left: 0;
		transform: none;
	}
	#clinic h3 {
		font-size: 24px;
	}
	.clinic_list li {
		padding: 46px 0;
		border-radius: 9999px;
	}
	.clinic_list li img {
		margin: 0 auto 15px;
	}
	.clinic_list li h4 {
		font-size: 15px;
	}
	.clinic_list li p {
		font-size: 13px;
	}
}
@media screen and (max-width: 560px) {
	.clinic_list {
		width: 100%;
	}
	.clinic_list li {
		width: calc((100% - 20px) / 2);
	}
	.clinic_list li img {
		width: 116px;
	}
}

/*-----------------------------------------------------
	#post_list
------------------------------------------------------*/
#post_list {
	padding-bottom: 100px;
}
#post_list h2 span {
	display: block;
	margin-left: 0;
}
.post_list {
	justify-content: space-between;
}
.blog_list .right {
	margin-top: 20px;
}
.news_list .right {
	margin-top: 40px;
}
.blog_list {
	width: 71%;
	padding-right: 60px;
	padding-left: 20px;
	border-right: 1px solid var(--glay-color);
}
.news_list {
	width: 24%;
	padding-right: 20px;
}
.blog_list .contents_list,
.news_list .contents_list {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--glay-color);
}
.blog_list .contents_list:nth-last-child(2),
.news_list .contents_list:nth-last-child(2) {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.contents_list a.flex {
	justify-content: space-between;
}
.eye {
	width: 260px;
	height: 160px;
}
.eye img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.list_text {
	width: calc(100% - 290px);
}
.meta {
	align-items: center;
	margin-bottom: 20px;
}
.cat_name {
	display: inline-block;
	margin-right: 14px;
	padding: 3px 10px 5px;
	background: var(--gold-color);
	font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.post_date {
	font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--glay-color);
}
.post_title {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.news_list .eye {
	width: 60px;
	height: auto;
}
.news_list .eye img {
	width: 60px;
	height: 60px;
	object-fit: cover;
}
.news_list .list_text {
	width: calc(100% - 80px);
}
.news_list .post_title {
	margin-bottom: 10px;
	font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1000px) {
	.blog_list {
		width: 100%;
		margin-bottom: 60px;
		padding-right: 0;
		padding-left: 0;
		border-right: none;
	}
	.news_list {
		width: 100%;
		padding-right: 0;
	}
}
@media screen and (max-width: 750px) {
	#post_list {
		padding-bottom: 80px;
	}
	.blog_list .right {
		margin-top: 20px;
	}
	.news_list .right {
		margin-top: 20px;
	}
	.blog_list .contents_list:nth-last-child(2),
	.news_list .contents_list:nth-last-child(2) {
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px solid var(--glay-color);
	}
	.eye {
		width: 80px;
		height: 100px;
	}
	.list_text {
		width: calc(100% - 90px);
	}
	.post_title {
		font-size: 13px;
	}
	.news_list .eye {
		width: 80px;
		height: 100px;
	}
	.news_list .eye img {
		width: 100%;
		height: 100%;
	}
	.news_list .list_text {
		width: calc(100% - 90px);
	}
	.news_list .post_title {
		font-size: 13px;
		font-weight: 700;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
}

/*-----------------------------------------------------
	#instagram
------------------------------------------------------*/
#instagram {
}





