@charset "utf-8";

:root {
	--vw: 1vw;
	--main-font-color: #4c4c4c;
	--main-color: #d3884f;
	--main-color-middle: #e5bb9b;
	--main-color-light: #fadeca;
	--main-color-super-light: #fbf3ec;
	--default-letter-spacing: 0.05em;
	--max-width: 1200px;
	--inner-padding: 40px;
	--inner-width: calc(var(--max-width) + var(--inner-padding) * 2);
	--over-margin: min(calc((-1 * var(--vw) * 100 + var(--max-width)) / 2),
			calc(-1 * var(--inner-padding)));
	/* noto入れるの忘れない */
	--font-main: YakuHanJPs, "Zen Kaku Gothic New", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ ProN W3", Hiragino Sans, "Osaka", "MS PGothic", -apple-system,
		BlinkMacSystemFont, arial, helvetica, sans-serif;
	--font-min: YakuHanMPs;
	--font-maru: YakuHanRPs, "Kiwi Maru";
}

/*共通*/
.img_bg_block {
	padding: 13vw 0;
}

/*その他の追加変更 ここから*/
.m_ttl01 {
	text-align: center;
	margin-bottom: 3vw;

	.txt01 {
		font-size: 4.5rem;
		display: block;
		font-weight: 500;
		letter-spacing: 0.12em;
		position: relative;
		z-index: 1;
		line-height: 1.1;
		color: #d2e9f0;
	}

	.txt02 {
		font-size: 2.6rem;
		letter-spacing: 0.06em;
		display: block;
		font-family: var(--font-maru);
		line-height: 1.5;
		position: relative;
		z-index: 10;
		margin-top: -5vw;
	}
}

.m_txt p {
	line-height: calc(30/16);
}

.m_txt p+p {
	margin-top: 1em;
}

.m_ttl02 {
	display: flex;
	flex-direction: column;
	text-align: center;
	position: relative;
	padding-bottom: 5vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 10vw;
		height: 1px;
		z-index: 1;
		background: #b08cd5;
	}

	.txt01 {
		font-family: var(--font-maru);
		letter-spacing: 0.06em;
		line-height: 1.5;
		font-size: 2.3rem;

		span {
			font-size: 1.6rem;
			position: relative;
			top: -0.2em;
			margin-left: 0.5em;
		}
	}

	.txt02 {
		letter-spacing: 0.3em;
		color: #b08cd5;
		font-weight: 700;
		font-size: 1.4rem;
	}
}

.m_ttl03 {
	position: relative;
	color: #b08cd5;
	position: relative;
	padding: 2vw 0;
	font-family: var(--font-maru);
	text-align: center;
	line-height: 1.5;
	margin-top: 7vw;
	font-size: 1.8rem;

	&::before,
	&::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		z-index: 1;
		background: linear-gradient(90deg, rgba(176, 140, 213, 0) 0%, rgba(176, 140, 213, 1) 20%, rgba(176, 140, 213, 1) 80%, rgba(176, 140, 213, 0) 100%);
	}

	&:before {
		top: 0;
	}

	&:after {
		bottom: 0;
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_mv
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_mv {
	position: relative;
}

.m_mv img {
	width: 100%;
}

.m_mv_inner {
	position: relative;
}

.m_mv_main {
	position: relative;
	z-index: 1;
}

.m_mv_txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.m_mv_logo {
	position: absolute;
	top: 8vw;
	left: 3vw;
	width: 38vw;
	z-index: 10;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
trouble
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.trouble {
	background: #ffeff2;
}

.trouble .img_bg_block {
    padding: 0 0 13vw;
}

.trouble_block {
    margin-top: 6vw;
    display: grid;
    gap: 9vw;
}

.trouble_box_content {
	position: relative;
	padding-bottom: 10vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 41vw;
		aspect-ratio: 360/92;
		z-index: 1;
		background: url(../images/arrow.png) center / 100% no-repeat;
	}
}

.trouble_list {
	display: grid;
	gap: 2.9vw;

	li {
		position: relative;
		font-weight: 500;
		font-size: 1.6rem;
		line-height: calc(28/18);
		border-bottom: 1px solid #c4c4c4;
		background: url(../images/icon_check.png) left top 1.2vw / 4vw no-repeat;
		padding: 0 0 3vw 6vw;
	}
}

.trouble_etc {
	margin-top: 3vw;
	font-weight: 500;
}

.trouble_bnr {
	display: block;
	filter: drop-shadow(0px 0px 1rem rgba(0, 0, 0, 0.2));
	margin-top: 5vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_consult
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.consult {
	position: relative;
	z-index: 15;
	box-shadow: 0px 0px 2rem rgba(0,0,0,0.2);

	background: #8fc2d1 url(../images/consultation_bg.jpg) center / cover no-repeat;
	overflow: hidden;
}

.consult .img_bg_block {
	padding: 0;
}

.consult_block {
	position: relative;
	padding: 20vw 0 13vw;
}

.consult_ttl {
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	isolation: isolate;
	font-weight: 500;
	text-align: center;
	width: 78vw;
	aspect-ratio: 400/90;
	color: #39a0be;
	letter-spacing: 0.12em;
	line-height: 1;
	padding-top: 4.4vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 100%;
		z-index: -1;
		-webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
		clip-path: polygon(50% 100%, 100% 0, 0 0);
		background: #c7dfe5;
	}
}

.consult_catch {
	color: #fff;
	font-family: var(--font-maru);
	text-align: center;
	margin-top: 5vw;
	letter-spacing: 0.16em;
	line-height: 1;
	font-size: 2.5rem;
}

.consult_btns {
	display: flex;
	justify-content: center;
	gap: 3vw;
	margin-top: 5vw;

	a {
		width: 40vw;
		filter:drop-shadow(0px 0px 1rem rgba(0, 0, 0, 0.2));
	}
}

.consult_txt {
	text-align: center;
	color: #fff;
	letter-spacing: 0.12em;
	font-size: 1.5rem;
	margin-top: 5vw;
}

.consult_hosoku {
		text-align: center;
	color: #fff;
	letter-spacing: 0.12em;
	font-size: 1.3rem;
	margin-top: 1vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_about
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_about_head {
	background: #f0e6f9;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 32vw;
	display: flex;
	align-items: center;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 93vw;
		aspect-ratio: 1/1;
		transform: translate(-50%, -50%);
		z-index: 1;
		background: #fff;
		border-radius: 50%;
		border: 8vw solid #f0e6f9;
		--filter-opacity: 1;
		--shadow-size: 1.8vw;
		--shadow-color: 255, 255, 255;
		filter:
			drop-shadow(0px 0px var(--shadow-size) rgba(var(--shadow-color), var(--filter-opacity))) drop-shadow(0px 0px var(--shadow-size) rgba(var(--shadow-color), var(--filter-opacity)));
	}

	.m_ttl01 {
		margin-bottom: 0;
	}
}

.m_about_imgs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3vw;

	img {
		border-radius: 3vw;
	}
}

.m_about_body {
	padding: 8vw 0;
}

.m_about_txt {
	margin-top: 5vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bri
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.bri .img_bg_block {
	padding: 0;
}

.bri_ttl {
	.txt01 {
		font-size: 1.9rem;
		color: #f0e6f9;
	}

	.txt02 {
		margin-top: -1.9vw;
	}
}

.bri_menu_head {
	background: url(../images/menu_ttl_bg.jpg) center / cover no-repeat;
}

.bri_menu_ttl {
	.ttl {
		display: flex;
		flex-direction: column;
		text-align: center;
		padding: 5vw 0;
		font-family: var(--font-maru);

		span {
			letter-spacing: 0.26em;
			padding-left: 0.26em;
			font-size: 1.6rem;
		}

		em {
			letter-spacing: 0.06em;
			padding-left: 0.06em;
			font-size: 2.3rem;
			line-height: 1.5;
		}
	}
}

.bri_menu_item {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	padding: 3.5vw 0px 3.5vw 4vw;
	display: flex;
	align-items: center;
	gap: 4vw;
	background: rgba(255, 255, 255, 0.5);
	transition: 0.3s;

	&:after {
		content: '';
		display: block;
		height: 1px;
		background: #fff;
		z-index: 1;
		flex: 1;
	}

	.ttl {
		display: flex;
		flex-direction: column;
	}

	.txt01 {
		font-family: var(--font-maru);
		letter-spacing: 0.06em;
		line-height: 1.5;
		font-size: 2rem;

		em {
			font-size: 1.5rem;
			margin-left: 0.5em;
			position: relative;
			top: -0.12em;
		}
	}

	.txt02 {
		color: #b08cd5;
		letter-spacing: 0.3em;
		font-size: 1.2rem;
		line-height: 1;
		font-weight: 700;
		margin-top: 1vw;
		padding-bottom: 0.75em;
	}

	&.on {
		border-right-color: transparent;
		background: rgba(176, 140, 213, 0.5);

		.txt01,
		.txt02 {
			color: #fff;
		}
	}
}
.bri_menu_box_wrap {
	background: url(../images/menu_ttl_bg.jpg) center / cover no-repeat;

}
.bri_menu_box_ttl {
		border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	padding: 3.5vw 0px 3.5vw 4vw;
	display: flex;
	align-items: center;
	gap: 4vw;
	background: rgba(255, 255, 255, 0.5);
	transition: 0.3s;

	&:after {
		content: '';
		display: block;
		height: 1px;
		background: #fff;
		z-index: 1;
		flex: 1;
	}

	.ttl {
		display: flex;
		flex-direction: column;
	}

	.txt01 {
		font-family: var(--font-maru);
		letter-spacing: 0.06em;
		line-height: 1.5;
		font-size: 2rem;

		em {
			font-size: 1.5rem;
			margin-left: 0.5em;
			position: relative;
			top: -0.12em;
		}
	}

	.txt02 {
		color: #b08cd5;
		letter-spacing: 0.3em;
		font-size: 1.2rem;
		line-height: 1;
		font-weight: 700;
		margin-top: 1vw;
		padding-bottom: 0.75em;
	}

	&.on {
		border-right-color: transparent;
		background: rgba(176, 140, 213, 0.5);

		.txt01,
		.txt02 {
			color: #fff;
		}
	}
}

.bri_menu_box {
	background: #f2f9fe url(../images/menu_bg.jpg) center bottom / 100% no-repeat;
	padding: 8vw 5vw;

	&.on {
		display: block;
	}
}

.bri_menu_desc {
	margin-top: 5vw;
}

.bri_menu_txt {
	margin-top: 5vw;

	p+p {
		margin-top: 3vw;
	}
}

.bri_point {
	background: #fceef1;
	padding: 0 0 8vw;

	.m_ttl01 {
		padding-top: 4vw;

		.txt01 {
			color: rgba(255, 255, 255, 0.5);
		}

		.txt02 {
			font-size: 2.3rem;

			span {
				position: relative;
				isolation: isolate;

				&:before {
					content: '';
					display: block;
					position: absolute;
					top: 1.4vw;
					left: 0;
					width: 100%;
					height: 100%;
					z-index: -1;
					background: url(../images/wave.png) center bottom / 100% no-repeat;
				}
			}
		}

	}
}

.bri_point_head {
	position: relative;
	isolation: isolate;
	padding-right: 45vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -23vw;
		width: 91%;
		aspect-ratio: 860/676;
		z-index: -1;
		background: url(../images/point_bg.jpg) center / 100% no-repeat;
	}
}

.bri_point_catch {
	border-radius: 5vw;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: inset 0 0 1.4rem rgba(255, 255, 255, 1);
	padding: 3.8vw;
	margin-top: 5vw;
	text-align: center;
	line-height: 1.6;
	font-family: var(--font-maru);
}

.bri_point_txt {
	margin-top: 5vw;
}

.bri_point_cols {
	margin-top: 8vw;
	display: grid;
	gap: 6vw;
}

.bri_point_box {
	border: 2px solid #fff;
	background: rgba(255, 255, 255, 0.7);
}

.bri_point_box_head {
	position: relative;
	background: rgba(176, 140, 213, 0.2);
	padding: 1.7vw 4vw 1.5vw 11vw;
}

.bri_point_box_num {
	border-radius: 50%;
	background: #deccf0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -4vw;
	width: 12.7vw;
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.12em;
	padding-left: 0.12em;
	font-size: 2.5rem;
}

.bri_point_box_ttl {
	font-family: var(--font-maru);
	font-size: 1.7rem;
	letter-spacing: 0.12em;
}

.bri_point_box_body {
	padding: 5vw;
}

.bri_point_list {
	display: grid;
	gap: 2vw;
}

.bri_point_list li {
	position: relative;
	padding-left: 4vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 2.6vw;
		left: 0;
		width: 1.34vw;
		aspect-ratio: 1/1;
		z-index: 1;
		border-radius: 50%;
		background: #b08cd5;
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
placenta
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.placenta {
	position: relative;
	z-index: 10;
}
.placenta .img_bg_block {
	padding: 0;
}

.placenta_about {
	.m_about_head {
		background: #d8f4ef;

		&:before {
			border-color: #d8f4ef;
		}
	}
}

.placenta_ttl {
	.txt01 {
		color: #d8f4ef;
		font-size: 2.6rem;
	}

	.txt02 {
		margin-top: -3vw;
	}
}

.placenta_our {
	background: #fceef1;
	padding-bottom: 13vw;
}

.placenta_head {
	position: relative;
	isolation: isolate;
	padding-left: 40vw;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -10vw;
		width: 52vw;
		aspect-ratio: 950/900;
		z-index: -1;
		background: url(../images/placenta_bg.jpg) center / 100% no-repeat;
	}

	.m_ttl01 {
		padding-top: 6vw;
	}

	.txt01 {
		color: rgba(255, 255, 255, 0.5);
		font-size: 2.8rem;
		white-space: nowrap;
		width: fit-content;
	}

	.txt02 {
		margin-top: -3vw;
	}
}

.placenta_txt {
	margin-top: 5vw;
	position: relative;
	z-index: 10;
}

.placenta_desc {
	display: grid;
	gap: 5vw;
	margin-top: 5vw;
}

.placenta_desc_box {
	border: 2px solid #fff;
	background: rgba(255, 255, 255, 0.7);
}

.placenta_desc_box_ttl {
	background: rgba(97, 202, 182, 0.2);
	padding: 2vw 5vw;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.12em;
}

.placenta_desc_box_body {
	padding: 5vw;
}

.placenta_ttl_sub {
	color: #178b75;
	font-size: 2rem;
	letter-spacing: 0.12em;
	line-height: 1.5;
	display: flex;
	align-items: center;
	gap: 3vw;
	text-align: center;
	margin-top: 7vw;
	font-family: var(--font-maru);

	&:before,
	&:after {
		content: '';
		display: block;
		height: 1px;
		z-index: 1;
		flex: 1;
	}

	&:before {
		background: linear-gradient(90deg, rgba(4, 162, 129, 0) 0%, rgba(4, 162, 129, 1) 50%, rgba(4, 162, 129, 1) 100%);
	}

	&:after {
		background: linear-gradient(90deg, rgba(4, 162, 129, 1) 0%, rgba(4, 162, 129, 1) 50%, rgba(4, 162, 129, 0) 100%);
	}
}

.placenta_feature {
	position: relative;
	--triangle-size: 8vw;
	--triangle-gap: -0.5vw;
	background: #dde7e5;
	padding: 5vw 5vw 7vw;
	margin-top: 5vw;

	&:before,
	&:after {
		content: '';
		display: block;
		position: absolute;
		top: var(--triangle-gap);
		width: var(--triangle-size);
		aspect-ratio: 1/1;
		z-index: 1;
		background: #61cab6;
	}

	&:before {
		left: var(--triangle-gap);
		-webkit-clip-path: polygon(0 100%, 0 0, 100% 0);
		clip-path: polygon(0 100%, 0 0, 100% 0);
	}

	&:after {
		right: var(--triangle-gap);
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%);
	}
}

.placenta_feature_in {

	&:before,
	&:after {
		content: '';
		display: block;
		position: absolute;
		bottom: var(--triangle-gap);
		width: var(--triangle-size);
		aspect-ratio: 1/1;
		z-index: 1;
		background: #61cab6;
	}

	&:before {
		left: var(--triangle-gap);
		-webkit-clip-path: polygon(100% 100%, 0 100%, 0 0);
		clip-path: polygon(100% 100%, 0 100%, 0 0);
	}

	&:after {
		right: var(--triangle-gap);
		-webkit-clip-path: polygon(100% 100%, 100% 0, 0 100%);
		clip-path: polygon(100% 100%, 100% 0, 0 100%);
	}
}

.placenta_feature_ttl {
	text-align: center;
	font-family: var(--font-maru);
	color: #49b5a0;
	font-size: 1.8rem;
	line-height: 1;

	span {
		font-size: 3.6rem;
	}
}

.placenta_feature_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2vw;
	counter-reset: count;
	margin-top: 5vw;
}

.placenta_feature_item {
	counter-increment: count;
	background: #b1e7dd;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	isolation: isolate;

	&:before {
		content: '0' counter(count);
		display: block;
		position: absolute;
		top: -1.8vw;
		left: -0.4vw;
		z-index: -1;
		font-weight: 500;
		color: rgba(255, 255, 255, 0.5);
		letter-spacing: 0.08em;
		line-height: 1;
		font-size: 3.5rem;
	}
}

.placenta_feature_item_ttl {
	padding: 1.3vw 0;
	letter-spacing: 0.06em;
	text-align: center;
	font-size: 1.5rem;
	font-family: var(--font-maru);
}

.placenta_feature_item_txt {
	background: #fff;
	flex: 1;
	padding: 3vw 4vw;
	line-height: 1.6;
}

.placenta_caution {
	display: grid;
	gap: 3vw;
	margin-top: 7vw;
}

.placenta_caution dt {
	color: #49b5a0;
	letter-spacing: 0.12em;
	font-family: var(--font-maru);
	font-size: 1.8rem;
}

.placenta_caution dd {
	margin-top: 3vw;
	font-size: 1.6rem;
}

.placenta_table_scroll {
	margin-top: 5vw;
}

.placenta_table_ttl {
	border: 2px solid #fff;
	background: #61cab6;
	color: #fff;
	text-align: center;
	padding: 2vw;
	letter-spacing: 0.22em;
	margin-top: 7vw;
	font-size: 1.8rem;
}

.placenta_table {
	:is(th, td) {
		background: rgba(255, 255, 255, 0.2);
		border: 2px solid #fff;
		font-size: 1.6rem;
		padding: 3vw 1vw;
		text-align: center;
		vertical-align: middle;
	}

	thead {
		background: #b1e7dd;

		th {
			span {
				font-size: 1.3rem;
			}
		}
	}
}

.placenta_diff {
background: #dde7e5;
padding: 5vw;
margin-top: 8vw;
}

.placenta_diff_ttl {
	    color: #49b5a0;
    font-size: 2rem;
    font-weight: 500;
    font-family: var(--font-maru);
    text-align: center;
    margin-bottom: 2vw;
}

.placenta_diff_txt {
	p + p {
		margin-top: 1rem;
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feature
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.feature_block {
	overflow: hidden;
	border-radius: 5vw;
	counter-reset: feature_count;
	margin-top: 7vw;
}

.feature_item {
	background: #e4f5fa;
	padding: 7vw 5vw;
	counter-increment: feature_count;

	&:nth-of-type(2n) {
		background: #d2e9f0;
	}
}

.feature_item_ttl {
	display: flex;
	align-items: center;
	gap: 2vw;

	&:before {
		content: '0' counter(feature_count);
		display: block;
		font-weight: 500;
		color: #71bacf;
		letter-spacing: 0.12em;
		line-height: 1;
		font-size: 3.1rem;
		position: relative;
		top: -0.05em;
	}

	span {
		flex: 1;
		position: relative;
		padding-left: 3vw;
		font-weight: 500;
		line-height: calc(34/24);
		letter-spacing: 0.05em;
		font-size: 1.7rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			left: 0;
			width: 2px;
			height: 100%;
			z-index: 1;
			background: #71bacf;
		}
	}
}

.feature_item_txt {
	margin-top: 4vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
faq
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.faq {
	--faq-color: #b08cd5;
	--faq-bg: #f0e6f9;

	&:has(.faq_btn02.on) {
		--faq-color: #61cab6;
		--faq-bg: #d8f4ef;
	}
}

.faq .img_bg_block {
	padding: 0;
}

.faq_btns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2vw;
}

.faq_btn {
	--btn-color: #b08cd5;
	background: #fff;
	color: var(--btn-color);
	font-size: 1.5rem;
	display: block;
	text-align: center;
	border-radius: 3vw 3vw 0 0;
	padding: 3vw 0;
	letter-spacing: 0.12em;
	border: 2px solid var(--btn-color);
	border-bottom: 0;
	font-weight: 500;
	

	span {
		font-size: 1.6rem;
		letter-spacing: 0.08em;
	}

	&.on {
		background: var(--btn-color);
		color: #fff;
	}

	&.faq_btn02 {
		--btn-color: #61cab6;
	}
}

.faq_item {
	background: var(--faq-bg);
	border-top: 3px solid var(--faq-color);
	border-bottom: 3px solid var(--faq-color);
	padding: 8vw 0;
}

/*++++++++++++++++++++++++++++
js_tabs_item
++++++++++++++++++++++++++++*/
.js_tabs_item {
	display: none !important;
}

.js_tabs_item.on {
	display: block !important;
}

/*++++++++++++++++++++++++++++
m_faq
++++++++++++++++++++++++++++*/
.m_faq {
	overflow: hidden;
	--left-padding: 10vw;
	border: 2px solid var(--faq-color);

	&+& {
		margin-top: 1rem;
	}

	.m_faq_head {
		position: relative;
		--icon-right: 1.4rem;
		--icon-width: 1rem;

		&:before {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: var(--icon-right);
			width: var(--icon-width);
			aspect-ratio: 1/1;
			border-right: 2px solid #fff;
			border-bottom: 2px solid #fff;
			z-index: 5;
			transition: 0.5s;
			transform: translateY(-50%) rotate(45deg);
		}
	}

	.m_faq_ttl {
		margin-top: 0;
		z-index: 1;
		padding: 4vw 4.8vw 4vw var(--left-padding);
		font-size: 1.7rem;
		line-height: 1.5;
		display: flex;
		cursor: pointer;
		background: var(--faq-color);
		align-items: center;
		transition: var(--default-transition);
		font-family: var(--font-maru);
		letter-spacing: 0.06em;
		color: #fff;

		&:before {
			content: "Q";
			display: block;
			position: absolute;
			line-height: 1;
			display: block;
			font-size: 2.6rem;
			font-weight: 500;
			font-family: var(--font-main);
			color: #fff;
			top: 3.5vw;
			left: 3vw;
			transition: 0.3s;
		}
	}

	.m_faq_body {
		display: none;
		position: relative;
		padding: 4vw 4vw 4vw var(--left-padding);
		background: #fff;

		&:before {
			content: "A";
			display: block;
			position: absolute;
			line-height: 1;
			display: block;
			font-size: 2.6rem;
			font-weight: 500;
			font-family: var(--font-main);
			color: #9bd0e0;
			top: 3.6vw;
			left: 3.4vw;
			transition: 0.3s;
		}
	}

	&.on .m_faq_head:before {
		transform: translateY(-50%) rotate(-135deg);
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
greeting
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.greeting {
	background: url(../images/greeting_bg.png) center / 100% 100% no-repeat;
}

.greeting_head {
	position: relative;
	box-shadow: 2vw 5vw 0px rgba(255, 255, 255, 0.3);

	picture {
		position: relative;
		z-index: 10;
		display: block;
	}
}
.greeting_ttl {
	color: #9bd0e0;
	font-weight: 500;
	letter-spacing: 0.12em;
	font-size: 4.5rem;
	line-height: 1;
	margin-top: 9vw;
}

.greeting_txt {
	margin-top: 5vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.clinic_block {
	margin-top: 5vw;
}

.clinic_body {
	margin-top: 7vw;
}

.clinic_name {
	font-weight: 500;
	font-size: 2.5rem;
	margin-top: 4.8vw;
}

.clinic_list {
	margin-top: 2vw;

	li {
		padding-left: 5vw;
		background: url(../images/icon_pin.png) left center / 3vw no-repeat;
	}

	.tel {
		background-image: url(../images/icon_tel.png);
	}
}

.clinic_table {
	margin-top: 5vw;
}

.clinic_hosoku {
	font-size: 1.3rem;
	margin-top: 2vw;
}

.clinic_bnr {
	display: block;
	margin-top: 5vw;
}