@charset "UTF-8";
.sp {
	display: none !important;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex_around {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flex_between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex_wrap {
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}

.flex_center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.bold {
	font-weight: bold;
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

#wrapper {
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	z-index: -1000;
}

#main {
	margin: 0 auto;
	max-width: 750px;
	-webkit-box-shadow: 0 0 10px 0 rgba(191, 217, 236, 0.5);
	box-shadow: 0 0 10px 0 rgba(191, 217, 236, 0.5);
	background: #ffffff;
}

/*=====================
header
======================*/
header {
	/* position: fixed; */
	position: absolute; /*20240409変更*/
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background-color: rgba(255, 255, 255, 0.96);
	box-shadow: 1px 1px 4px #efefef;
	padding: 10px 0;
}

header .hd_top {
	padding: 30px 0 20px;
}

header .inner {
	width: 940px;
	margin: 0 auto;
}

header h1 {
	width: 38%;
}

header .hd_time {
	margin-bottom: 10px;
	max-width: 470px;
}

/*=====================
cv
======================*/
.cv {
	text-align: center;
	padding: 40px 0;
}

.cv a {
	width: 720px;
	display: inline-block;
}

/*=====================
contents
======================*/
#main {
	margin-top: 208px;
}

#cnt02 {
	background: #fbe8ec;
	padding: 0 0 35px;
}

#cnt02 h3 {
	margin-bottom: 30px;
}

#cnt02 .swiper-slide {
	text-align: center;
}

#cnt02 .swiper-slide img {
	width: 670px;
}

#cnt02 .swiper-button-next,
#cnt02 .swiper-rtl .swiper-button-prev {
	right: 60px;
	bottom: 20px;
	top: auto;
	width: 59px;
	height: 59px;
	text-align: center;
	background: #ef646b;
	color: #ffffff;
}

#cnt02 .swiper-button-prev,
#cnt02 .swiper-rtl .swiper-button-next {
	left: 60px;
	bottom: 20px;
	top: auto;
	width: 59px;
	height: 59px;
	text-align: center;
	background: #ef646b;
	color: #ffffff;
}

#cnt03 .cnt03-01_swiper {
	position: relative;
}

#cnt03 .cnt03-01_swiper .swiper_box {
	position: absolute;
	top: 247px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#cnt03 .cnt03-01_swiper .swiper-slide {
	text-align: center;
}

#cnt03 .cnt03-01_swiper .swiper-slide img {
	width: 670px;
}

#cnt03 .cnt03-01_swiper .swiper-button-next,
#cnt03 .cnt03-01_swiper .swiper-rtl .swiper-button-prev {
	right: 60px;
	bottom: 20px;
	top: auto;
	width: 59px;
	height: 59px;
	text-align: center;
	background: #ef646b;
	color: #ffffff;
}

#cnt03 .cnt03-01_swiper .swiper-button-prev,
#cnt03 .cnt03-01_swiper .swiper-rtl .swiper-button-next {
	left: 60px;
	bottom: 20px;
	top: auto;
	width: 59px;
	height: 59px;
	text-align: center;
	background: #ef646b;
	color: #ffffff;
}

#cnt06 .cnt06-01 {
	margin-bottom: 30px;
}

#cnt06 .cnt06-01 .inner {
	width: 710px;
	margin: 0 auto;
}

#cnt06 .cnt06-01 .ac dl dt {
	width: 100%;
	height: 141px;
	background: url('../img/cnt06-01_btn_close.png') no-repeat center/cover;
}

#cnt06 .cnt06-01 .ac dl dt.open {
	background: url('../img/cnt06-01_btn_open.png') no-repeat center/cover;
}

#cnt06 .cnt06-01 .ac dl dd {
	display: none;
	border: 3px solid #ef646b;
	box-sizing: border-box;
	/* 動画を囲うdiv */
	/* YouTube埋め込み用のiframe */
}

#cnt06 .cnt06-01 .ac dl dd .youtube {
	position: relative;
	width: 100%;
	/* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
	height: 0;
	/* 高さは0にしておく(padding-topで高さを指定するため) */
	padding-top: 56.25%;
	/* 高さを指定(16:9) */
}

#cnt06 .cnt06-01 .ac dl dd .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*=====================
faq
======================*/
#faq #titlearea-faq #text-faq {
	left: 150px;
	background: url(../img/title_faq.png) no-repeat top left;
	background-size: 45px;
}

#faq #detail-faq {
	margin-top: 60px;
}

#faq #detail-faq a {
	-webkit-tap-highlight-color: transparent;
}

#faq #detail-faq .detail-squear .detail-squear-cont {
	border-top: 40px solid #fdf6f7;
	border-bottom: 0;
	background: #fdf6f7;
	position: relative;
	padding: 0 40px;
}

#faq #detail-faq .detail-squear .detail-squear-cont dl {
	background: #fff;
	border-bottom: 20px solid #fdf6f7;
	padding: 40px 35px;
}

#faq #detail-faq .detail-squear .detail-squear-cont dt a {
	padding: 20px 30px 40px 100px;
	display: block;
	font-size: 30px;
	font-weight: bold;
	border-bottom: 2px dotted #f49297;
	background: url(../img/faq_q_icon.png) no-repeat left center,
		url(../img/ico_arw-bottom.png) no-repeat right center;
	background-size: 60px, 20px 11px;
	line-height: 1.5;
}

#faq #detail-faq .detail-squear .detail-squear-cont dt a.open {
	background: url(../img/faq_q_icon.png) no-repeat left center,
		url(../img/ico_arw-top.png) no-repeat right center;
	background-size: 60px, 20px 11px;
}

#faq #detail-faq .detail-squear .detail-squear-cont dd {
	padding-left: 100px;
	min-height: 30px;
	font-size: 30px;
	background: url(../img/faq_a_icon.png) no-repeat left top;
	background-size: 60px;
	margin-top: 40px;
	line-height: 1.5;
}

#faq #detail-faq .detail-squear img.subtitle {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -80px;
	width: 300px;
}

/*=====================
     doctor
======================*/
.doctor {
	margin: 80px 0;
}

.doctor h3 {
	font-size: 50px;
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝',
		'MS PMincho', serif;
	text-align: center;
	margin-bottom: 50px;
	background: #ef646b;
	padding: 20px 0;
	color: #ffffff;
}

/*=====================
     clinic
======================*/
.clinic .inner {
	width: 710px;
	margin: 0 auto;
}

.clinic h3 {
	font-size: 50px;
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝',
		'MS PMincho', serif;
	text-align: center;
	margin-bottom: 50px;
	color: #ef646b;
	background: #fdf6f7;
	padding: 20px 0;
}

.clinic dl {
	border: 1px solid #ef646b;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 20px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium',
		'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
}

.clinic dl dt {
	background: #ef646b;
	padding: 15px;
	color: #ffffff;
	font-weight: bold;
	font-size: 45px;
}

.clinic dl dd {
	padding: 15px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
}

.clinic dl dd span {
	font-size: 28px;
	font-weight: normal;
}

.clinic dl dd .small {
	font-size: 24px;
}

/*=====================
     footer
======================*/
footer {
	text-align: center;
	font-size: 12px;
	padding: 20px 0 120px;
}
/*20240409追加*/
footer .footer_CTA {
	width: 100vw;
	position: fixed;
	background: #fff;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
	z-index: 10;
}
/* /0240409追加*/
@media screen and (min-width: 769px) and (max-width: 940px) {
	header .inner {
		width: 95vw;
		margin: 0 auto;
	}
	header h3 {
		width: 57.733vw;
	}
	header .hd_time {
		width: 50vw;
	}
}

@media screen and (max-width: 768px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none;
	}
	img {
		width: 100%;
	}
	/*=====================
     header
  ======================*/
	header {
		/* position: fixed; */
		position: absolute; /*20240409変更*/
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		background-color: rgba(255, 255, 255, 0.96);
		box-shadow: 1px 1px 4px #efefef;
		padding: 2% 0;
	}
	header .inner {
		width: 95%;
		margin: 0 auto;
	}
	header .hd_time {
		margin: 0 auto 1.333vw;
	}
	header .hd_time img {
		max-width: 470px;
	}
	header .flex_footer {
		position: relative;
		z-index: 191;
		display: -webkit-flex;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		align-items: center;
		position: fixed;
		bottom: 0;
		background-color: #ffffff;
		box-shadow: 0 0 4px #c1c1c1;
		width: 100%;
		padding: 2% 0;
	}
	header .flex_footer h1 {
		width: 60%;
		margin: 0 !important;
		line-height: 1;
		display: inline-block;
		vertical-align: middle;
	}
	header .flex_footer a {
		width: 38%;
		display: inline-block;
		vertical-align: middle;
	}
	/*=====================
      cv
  ======================*/
	.cv {
		text-align: center;
		padding: 5.333vw 0;
	}
	.cv a {
		width: 96vw;
		display: inline-block;
	}
	/*=====================
      contents
  ======================*/
	#main {
		margin-top: 25.067vw;
	}
	#cnt02 {
		background: #fbe8ec;
		padding: 0 0 4.667vw;
	}
	#cnt02 h3 {
		margin-bottom: 4vw;
	}
	#cnt02 .swiper-slide img {
		width: 89.333vw;
	}
	#cnt02 .swiper-button-next,
	#cnt02 .swiper-rtl .swiper-button-prev {
		right: 8vw;
		bottom: 2.667vw;
		top: auto;
		width: 7.867vw;
		height: 7.867vw;
		text-align: center;
		background: #ef646b;
		color: #ffffff;
	}
	#cnt02 .swiper-button-prev,
	#cnt02 .swiper-rtl .swiper-button-next {
		left: 8vw;
		bottom: 2.667vw;
		top: auto;
		width: 7.867vw;
		height: 7.867vw;
		text-align: center;
		background: #ef646b;
		color: #ffffff;
	}
	#cnt02 .swiper-button-next:after,
	#cnt02 .swiper-button-prev:after {
		font-size: 4vw;
	}
	#cnt03 .cnt03-01_swiper {
		position: relative;
	}
	#cnt03 .cnt03-01_swiper .swiper_box {
		position: absolute;
		top: 32.933vw;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	#cnt03 .cnt03-01_swiper .swiper-slide {
		text-align: center;
	}
	#cnt03 .cnt03-01_swiper .swiper-slide img {
		width: 89.333vw;
	}
	#cnt03 .cnt03-01_swiper .swiper-button-next,
	#cnt03 .cnt03-01_swiper .swiper-rtl .swiper-button-prev {
		right: 8vw;
		bottom: 2.667vw;
		top: auto;
		width: 7.867vw;
		height: 7.867vw;
		text-align: center;
		background: #ef646b;
		color: #ffffff;
	}
	#cnt03 .cnt03-01_swiper .swiper-button-prev,
	#cnt03 .cnt03-01_swiper .swiper-rtl .swiper-button-next {
		left: 8vw;
		bottom: 2.667vw;
		top: auto;
		width: 7.867vw;
		height: 7.867vw;
		text-align: center;
		background: #ef646b;
		color: #ffffff;
	}
	#cnt03 .cnt03-01_swiper .swiper-button-next:after,
	#cnt03 .cnt03-01_swiper .swiper-button-prev:after {
		font-size: 4vw;
	}
	#cnt06 .cnt06-01 {
		margin-bottom: 4vw;
	}
	#cnt06 .cnt06-01 .inner {
		width: 94.667vw;
		margin: 0 auto;
	}
	#cnt06 .cnt06-01 .ac dl dt {
		width: 100%;
		height: 18.8vw;
		background: url('../img/cnt06-01_btn_close.png') no-repeat center/cover;
	}
	#cnt06 .cnt06-01 .ac dl dt.open {
		background: url('../img/cnt06-01_btn_open.png') no-repeat center/cover;
	}
	#cnt06 .cnt06-01 .ac dl dd {
		display: none;
		border: 3px solid #ef646b;
		box-sizing: border-box;
		/* 動画を囲うdiv */
		/* YouTube埋め込み用のiframe */
	}
	#cnt06 .cnt06-01 .ac dl dd .youtube {
		position: relative;
		width: 100%;
		/* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
		height: 0;
		/* 高さは0にしておく(padding-topで高さを指定するため) */
		padding-top: 56.25%;
		/* 高さを指定(16:9) */
	}
	#cnt06 .cnt06-01 .ac dl dd .youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	/*=====================
      faq
  ======================*/
	#faq #titlearea-faq #text-faq {
		left: 20vw;
		background: url(../img/title_faq.png) no-repeat top left;
		background-size: 6vw;
	}
	#faq #detail-faq {
		margin-top: 8vw;
	}
	#faq #detail-faq a {
		-webkit-tap-highlight-color: transparent;
	}
	#faq #detail-faq .detail-squear .detail-squear-cont {
		border-top: 40px solid #fdf6f7;
		border-bottom: 0;
		background: #fdf6f7;
		position: relative;
		padding: 0 5.333vw;
	}
	#faq #detail-faq .detail-squear .detail-squear-cont dl {
		background: #fff;
		border-bottom: 20px solid #fdf6f7;
		padding: 5.333vw 4.667vw;
	}
	#faq #detail-faq .detail-squear .detail-squear-cont dt a {
		padding: 2.667vw 4vw 5.333vw 13.333vw;
		display: block;
		font-size: 4vw;
		font-weight: bold;
		border-bottom: 2px dotted #f49297;
		background: url(../img/faq_q_icon.png) no-repeat left center,
			url(../img/ico_arw-bottom.png) no-repeat right center;
		background-size: 11.673vw, 3.891vw 2.14vw;
		line-height: 1.5;
	}
	#faq #detail-faq .detail-squear .detail-squear-cont dt a.open {
		background: url(../img/faq_q_icon.png) no-repeat left center,
			url(../img/ico_arw-top.png) no-repeat right center;
		background-size: 11.673vw, 3.891vw 2.14vw;
	}
	#faq #detail-faq .detail-squear .detail-squear-cont dd {
		padding-left: 13.333vw;
		min-height: 4vw;
		font-size: 4vw;
		background: url(../img/faq_a_icon.png) no-repeat left top;
		background-size: 8vw;
		margin-top: 5.333vw;
		line-height: 1.5;
	}
	#faq #detail-faq .detail-squear img.subtitle {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		top: -10.667vw;
		width: 40vw;
	}
	/*=====================
     doctor
  ======================*/
	.doctor {
		margin: 10.667vw 0;
	}
	.doctor h3 {
		font-size: 6.667vw;
		margin-bottom: 6.667vw;
		padding: 2.667vw 0;
	}
	/*=====================
     clinic
  ======================*/
	.clinic {
		padding: 0;
		margin-bottom: 6vw;
	}
	.clinic .inner {
		width: 84vw !important;
	}
	.clinic h3 + .flex {
		display: block;
	}
	.clinic .inner {
		max-width: 100%;
		width: 84vw;
		margin: 0 auto;
	}
	.clinic h3 {
		font-size: 6.667vw;
		margin-bottom: 6.667vw;
		padding: 2.667vw 0;
	}
	.clinic dl {
		border: 1px solid #ef646b;
		width: 100%;
		margin-bottom: 2.6vw;
		font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro',
			'メイリオ', 'Meiryo', sans-serif;
	}
	.clinic dl dt {
		padding: 2.66vw;
		color: #ffffff;
		font-size: 4vw;
		line-height: 1;
	}
	.clinic dl dt {
		background: #ef646b;
		padding: 2vw;
		color: #ffffff;
		font-weight: bold;
	}
	.clinic dl dd {
		padding: 2.66vw;
		font-size: 3.46vw;
		font-weight: bold;
		line-height: 1.2;
	}
	.clinic dl dd span {
		font-size: 2.66vw;
		font-weight: normal;
		line-height: 1.5;
		margin-top: 1.33vw;
		display: inline-block;
	}
	.clinic dl dd .small + br + span {
		margin-top: 0;
	}
	.clinic dl dd .small {
		font-size: 2.66vw;
	}
	.clinic dl dd img {
		width: 28.4vw;
	}
	.clinic p {
		font-size: 3.46vw;
		line-height: 1.2;
	}
	/*=====================
     footer
  ======================*/
	footer {
		text-align: center;
		font-size: 2.667vw;
		padding: 2.667vw 0;
		margin-bottom: 11.867vw;
	}
}

/*メディア紹介*/
.media-bnr img {
	width: 100%;
}


/***********

追加css 

*****************/

.new250404_swiper {
	position: relative;
}
.new250404_swiper .swiper_box {
	position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 135px;
}
.new250404_swiper .swiper_box .swiper-slide {
	text-align: center;
}

.new250404_swiper .swiper_box .swiper-button-prev, .new250404_swiper .swiper_box .swiper-rtl .swiper-button-next {
	left: 60px;
	bottom: 0;
    top: 0;
    margin: auto;
	width: 59px;
	height: 59px;
	text-align: center;
	background: #ef646b;
	color: #ffffff;
	
}
.new250404_swiper .swiper_box .swiper-slide img {
	width: 670px;
}
.new250404_swiper .swiper_box .swiper-button-next, .new250404_swiper .swiper_box .swiper-rtl .swiper-button-prev {
	right: 60px;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 59px;
    height: 59px;
    text-align: center;
    background: #ef646b;
    color: #ffffff;
}

@media screen and (max-width: 768px) {
	.new250404_swiper .swiper_box {
    top: 20vw;
}
	.new250404_swiper .swiper_box .swiper-slide img {
        width: 89.333vw;
    }
	
.new250404_swiper .swiper_box .swiper-button-prev, .new250404_swiper .swiper_box .swiper-rtl .swiper-button-next {
	left: 8vw;
	bottom: 0;
    top: 0;
    margin: auto;
	width: 7.867vw;
	height: 7.867vw;
	
}	
.new250404_swiper .swiper_box .swiper-button-next, .new250404_swiper .swiper_box .swiper-rtl .swiper-button-prev {
	right: 8vw;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 7.867vw;
	height: 7.867vw;
}
.new250404_swiper .swiper_box .swiper-button-next:after, .new250404_swiper .swiper_box .swiper-button-prev:after {
        font-size: 4vw;
    }	
	
}
