@charset "UTF-8";


.page-service {
	--accent-color: var(--color-brw-300);
}
.page-periodontal {
	--bg-color: #f8edeb;
	--grd-color-main: #ba5949;
	--grd-color-sub: #eb898a;
}
.page-implant {
	--accent-color: var(--color-och);
	--grd-color-main: #ad843d;
	--grd-color-sub: #bbac34;
}
.page-ortho {
	--accent-color: var(--color-blu);
	--bg-color: #e9f2f8;
	--grd-color-main: #0d75b5;
	--grd-color-sub: #6cbd8a;
}
.page-whitening {
	--accent-color: #9699c7;
	--bg-color: #eaebf4;
	--grd-color-main: #6665b4;
	--grd-color-sub: #ce9dd4;
}



/* ========================================================
  
  Common

======================================================== */

/*---------------------------------------------------------
 l-fv-med
---------------------------------------------------------*/
.l-fv-med {
	height: min(40vw,574px);
}
.l-fv-med .l-fv__img {
	height: 90%;
	max-height: 510px;
}
.l-fv-med .l-fv__img::after {
	position: absolute;
	content: "";
	background: linear-gradient(to right, var(--grd-color-main), transparent);
	width: 40%;
	height: 100%;
	left: 0;
	bottom: 0;
	opacity: 0.5;
}

.l-fv-med .l-fv__ttl {
	bottom: 30%;
}

.l-fv-med__right {
	position: absolute;
	width: 50%;
	max-width: 750px;
	right: 0;
	bottom: 0;
}

.l-fv-med__point {
	position: relative;
	width: 90%;
	max-width: 638px;
	display: flex;
	justify-content: center;
	column-gap: 2.9%;
	margin: 0 auto -3%;
	z-index: 1;
}
.l-fv-med__point > li {
	flex: 1;
	filter: drop-shadow(0 0 20px rgb(0 0 0 / 0.1));
}

.l-fv-med__copy {
	position: relative;
	color: #FFF;
	font: var(--font-min);
	font-size: min(2vw,156%);
	line-height: 1.6;
	letter-spacing: .1em;
	padding: 1.7em 3% 1.4em;
}
.l-fv-med__copy::before,
.l-fv-med__copy::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	inset: 0;
}
.l-fv-med__copy::before {
	background: linear-gradient(to right, var(--grd-color-main), var(--grd-color-sub));
	opacity: 0.8;
}
.l-fv-med__copy::after {
	background: url(../images/common/med-copy-bg@2x.png) no-repeat left top;
	background-size: contain;
}
.l-fv-med__copy p {
	position: relative;
	max-width: max-content;
	margin-inline: auto;
	z-index: 1;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv-med {
	height: 90vw;
}
.l-fv-med .l-fv__img {
	height: 80%;
}
.l-fv-med .l-fv__img img {
	object-position: 30% center;
}

.l-fv-med .l-fv__ttl {
	bottom: 60%;
}

.l-fv-med__right {
	width: 92%;
}

.l-fv-med__point {
	width: 90%;
	margin: 0 auto -3%;
}

.l-fv-med__copy {
	font-size: 100%;
	letter-spacing: .04em;
}
}


/*---------------------------------------------------------
 l-flt
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.l-flt .c-txt--asterisk {
	font-size: 100%;
}
}


/*---------------------------------------------------------
 l-box--bg
---------------------------------------------------------*/
.l-box--bg__inner {
	max-width: 990px;
}
.l-box--bg .c-list--point {
	width: 94%;
	max-width: max-content;
	margin-inline: auto;
	font-weight: var(--fw-bold);
}
.l-box--bg .c-list--point > li::before {
	background-color: var(--color-sand);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}



/* ========================================================
  
  Medical parts

======================================================== */

/*---------------------------------------------------------
 c-med-grd
---------------------------------------------------------*/
.c-med-grd {
	position: absolute;
	background: linear-gradient(to bottom, #f1efda, transparent);
	width: 100dvw;
	height: 500px;
	left: 0;
	top: 0;
	margin-inline: calc(50% - 50vw);
	z-index: -2;
	overflow: clip;
	pointer-events: none;
}


/*---------------------------------------------------------
 c-med-bgbox
---------------------------------------------------------*/
.c-med-bgbox {
	position: relative;
	text-align: center;
	background-color: var(--bg-color);
	padding: 5%;
	margin-inline: auto
}
.c-med-bgbox .c-hdg--min span {
	color: var(--grd-color-main);
}
.c-med-bgbox dl {
	max-width: 1060px;
	background-color: #FFF;
	padding: 20px 6%;
	border-radius: 10px;
	margin: 2em auto 0;
}
.c-med-bgbox dl dt {
	color: var(--grd-color-main);
	font-size: min(1.9vw,112%);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	letter-spacing: .08em;
	white-space: nowrap;
}
.c-med-bgbox dl dd {
	text-align: left;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-bgbox dl {
	display: flex;
	align-items: center;
	column-gap: 5%;
}
.c-med-bgbox dl dd {
	padding-left: 4%;
	border-left: 1px dashed var(--color-bdr);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-bgbox {
	padding: 8% 6%;
}
.c-med-bgbox dl {
	padding: 6%;
	margin-top: 6%;
}
.c-med-bgbox dl dt {
	font-size: 100%;
	padding-bottom: .8em;
	margin-bottom: .8em;
	border-bottom: 1px dashed var(--color-bdr);
}
}


/*---------------------------------------------------------
 c-med-typebox
---------------------------------------------------------*/
.c-med-typebox {
	position: relative;
	background-color: #fff;
	border-radius: 20px;
	padding: 6.5% 2.8%;
	margin-inline: auto;
}
.c-med-typebox + .c-med-typebox {
	margin-top: 10px;
}
.c-med-typebox > .c-hdg--min {
	text-align: center;
	margin-bottom: 4%;
}
.c-med-typebox > .c-hdg--min span {
	color: var(--accent-color);
}
.c-med-typebox .c-hdg--bar::before {
	background-color: var(--accent-color);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-typebox > * {
	width: 96%;
	max-width: 1060px;
	margin-inline: auto;
}
.c-med-typebox > .l-col-list.is-col4 {
	width: 100%;
	max-width: none;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-typebox {
	padding: 10% 8%;
}
.c-med-typebox > .c-hdg--min {
	margin-bottom: 8%;
}

.c-med-typebox .l-col-list.is-col4 {
	grid-template-columns: auto;
	row-gap: 2em;
}
.c-med-typebox .l-col-list.is-col4 .l-col-list__img {
	width: 80%;
}
.c-med-typebox .l-col-list.is-col4 > *:not(:last-child) {
	padding-bottom: 8%;
	border-bottom: 1px solid var(--color-bdr);
}
}

/*---------------------------------------------------------
 Check
---------------------------------------------------------*/
.c-med-check {
	position: relative;
	width: 96%;
	max-width: 1100px;
	border: 2px solid #d9d5d4;
	border-radius: 30px;
	margin-inline: auto;
}
.c-med-check:has(.c-hdg--en) {
	border-radius: 20px;
}
.c-med-check__icon {
	position: absolute;
	background-color: var(--color-ivo);
	padding: 0 .2em;
	font-size: min(6vw,410%);
	line-height: 1;
	left: 50%;
	top: 0;
	translate: -50% -55%;
}
.c-med-check__icon::after {
	font-family: 'fontello';
	content: '\e808';
	font-weight: normal;
	background: linear-gradient(to right, #efb9b4 20%, #f8d97e);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.c-med-check__tit {
	text-align: center;
	padding: 4.5% 0 2%;
}
.c-med-check__tit p {
	line-height: 1.4;
	margin-bottom: .5em;
}
.c-med-check__tit .c-hdg--min {
	margin-bottom: 0;
}

.c-med-check .c-hdg--en {
	position: absolute;
	color: var(--color-brw-300);
	font-size: min(3vw,187%);
	background-color: var(--color-ivo);
	padding: 0 0.6em;
	inset: 0 auto auto 50%;
	translate: -50% -50%;
}
.c-med-check .c-hdg--en::after {
	font-family: 'fontello';
	content: '\e808';
	font-weight: normal;
	margin-left: .2em;
	background: linear-gradient(to right, #efb9b4 20%, #f8d97e);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.c-med-check__inner {
	padding: 4.5% 4%;
}
.c-med-check__bg {
	background-color: #fff;
	border-radius: inherit;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.c-med-check .c-txt--radi {
	background-color: #a39b97;
	margin-top: 2em;
}

.c-med-check .c-list--check {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	letter-spacing: .06em;
}
.c-med-check .c-list--check > li::before {
	background-color: var(--color-sand);
	top: .2em;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-check .c-list--check {
	width: 96%;
	max-width: 900px;
	max-width: max-content;
	gap: 1.4em 2em;
	grid-template-columns: repeat(2, max-content);
	margin-inline: auto;
}
.page-service .c-med-check {
	max-width: 980px;
}
.page-service .c-med-check .c-list {
	max-width: max-content;
}
}

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {

.page-service #sas .c-med-check .c-list {
	grid-template-columns: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-check .c-hdg--en {
	font-size: 5vw;
}
.c-med-check__icon {
	font-size: 8vw;
}

.c-med-check__tit {
	text-align: center;
	padding: 8% 6% 5%;
}
.c-med-check__inner {
	padding: 8% 6% 7%;
}

.c-med-check .c-list {
	row-gap: .6em;
}

.c-med-check .c-txt--radi {
	font-size: 90%;
	margin-top: 1.2em;
}
}


/*---------------------------------------------------------
 c-med-flow
---------------------------------------------------------*/
.c-med-flow {
	position: relative;
	max-width: 1052px;
	display: grid;
    grid-template-columns: repeat(4,25%);
	margin-inline: auto;
}
.c-med-flow li {
	position: relative;
}
.c-med-flow__img {
	position: relative;
	width: 65%;
	max-width: max-content;
	margin: 0 auto 5%;
}
.c-med-flow__img::after {
	position: absolute;
	font-family: 'fontello'; 
	content: '\e802';
	color: var(--accent-color);
	font-size: min(2vw,130%);
	left: 126%;
	top: 50%;
	translate: -50% -50%;
}
.c-med-flow li:last-of-type .c-med-flow__img::after {
	display: none;
}
.c-med-flow__txt {
	position: relative;
	text-align: center;
	font-size: min(1.3vw,94%);
	line-height: 1.5;
	letter-spacing: .05em;
	padding: 0 5%;
}
.c-med-flow__txt dt {
	margin-bottom: .3em;
}
.c-med-flow__txt dt.u-font-min {
	color: var(--color-brw-300);
	font-size: min(2vw,143%);
	letter-spacing: .1em;
}
.c-med-flow__txt dt.u-font-en {
	color: var(--color-brw-300);
	font-size: min(2.5vw,200%);
	letter-spacing: .1em;
}
.c-med-flow__txt dt.u-fw--bld {
	max-width: 200px;
	color: #FFF;
	letter-spacing: .1em;
	background-color: var(--color-org);
	padding: .3em 1em;
	border-radius: 2em;
	margin: .8em auto .5em;
}
/*5列*/
.c-med-flow.is-col5 {
    grid-template-columns: repeat(5,20%);
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

/*5列*/
.c-med-flow.is-col5 {
	width: 106%;
	max-width: 1165px;
	left: 50%;
	translate: -50% 0;
	margin: 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/* c-med-flow */
.c-med-flow {
   min-width: max-content;
}
.c-med-flow > li {
    width: 45vw;
}
.c-med-flow__img {
	margin-bottom: .8em;
}
.c-med-flow__img::after {
	font-size: 120%;
}
.c-med-flow__txt {
	font-size: 80%;
	letter-spacing: .02em;
}
.c-med-flow__txt dt.u-font-min {
	font-size: 110%;
}
.c-med-flow__txt dt.u-font-en {
	font-size: 150%;
}
}

/*---------------------------------------------------------
 c-med-slide
---------------------------------------------------------*/
.c-med-slide {

}
.c-med-slide {
	list-style: none;
	counter-reset: flowCounter;
}
.c-med-slide .splide__slide {
	max-width: 280px;
}
.c-med-slide__img {
	position: relative;
	margin: 0 auto 6%;
}
.c-med-slide__img::after {
	position: absolute;
	font-family: 'fontello'; 
	content: '\e802';
	color: #d8d6d5;
	font-size: min(2vw,130%);
	left: 110%;
	top: 50%;
	translate: -50% -50%;
}
.c-med-slide li:last-of-type .c-med-slide__img::after {
	display: none;
}
.c-med-slide__txt .c-hdg--bld {
	color: var(--accent-color);
	font-size: min(1.8vw,125%);
	letter-spacing: .06em;
	padding-left: 1.5em;
}
.c-med-slide__txt .c-hdg--bld::before {
	position: absolute;
	counter-increment: flowCounter;
	content: counter(flowCounter, decimal-leading-zero);
	width: 1.5em;
	font: var(--font-en);
	letter-spacing: .1em;
	left: 0;
	top: .2em;
}
.c-med-slide__txt {
	letter-spacing: .02em;
	line-height: 1.5;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-slide .splide__slide {
	width: 64vw !important;
}
.c-med-slide__img::after {
	font-size: 120%;
}
.c-med-slide__txt .c-hdg--bld {
	font-size: 105%;
	letter-spacing: .05em;
}
} 


/*---------------------------------------------------------
 c-med-col
---------------------------------------------------------*/
.c-med-col > * {
	position: relative;
	background-color: #FFF;
	padding: 3.6%;
	border-radius: 20px;
}
.c-med-col dt {
	text-align: center;
	color: var(--accent-color);
	font-size: min(1.8vw,125%);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	letter-spacing: .08em;
	margin-bottom: .8em;
}
.c-med-col dd {
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.6;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-col {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 10px;
}
.c-med-col.is-col3 > * {
	width: 32.8%;
}
.c-med-col.is-col4 > * {
	width: 24.5%;
	padding: 3.2% 2.4%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

.c-med-col.is-col4 > * {
	width: 49%;
	padding: 5% 4%;
}
.c-med-col.is-col4 dt {
	font-size: 2vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-col > * {
	padding: 8% 6%;
}
.c-med-col > *:nth-of-type(n+2) {
	margin-top: 2%;
}
.c-med-col dt {
	font-size: 105%;
}
}


/*---------------------------------------------------------
 c-med-rank
---------------------------------------------------------*/
.c-med-rank {
	position: relative;
	display: flex;
	column-gap: .5em;
	text-align: center;
	font: var(--font-min);
	font-size: min(1.6vw,106%);
	line-height: 1.4;
	letter-spacing: .14em;
	white-space: nowrap;
	margin-bottom: .8em;
}
.c-med-rank > li {
	flex: 1;
	max-width: 9.2em;
	background-color: #f4f4ea;
	padding: .5em 1em;
}
.c-med-rank > li i {
	color: var(--color-brw-300);
	font-size: 110%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-rank {
	font-size: 80%;
	letter-spacing: .1em;
}
}


/*---------------------------------------------------------
 c-med-procon
---------------------------------------------------------*/
.c-med-procon {
	margin-top: 3.4%;
}
.c-med-procon dl {
	border: 1px solid #a6c6f3;
	border-radius: 20px;
}
.c-med-procon dt {
	text-align: center;
	font: var(--font-min);
	font-size: min(125%,1.8vw);
	line-height: 1.5;
	letter-spacing: .1em;
	font-feature-settings: "halt";
	background-color: #e9f1fc;
	padding: 1em;
	border-radius: 20px 20px 0 0;
}
.c-med-procon dd {
	padding: 5% 5% 6%;
}
.c-med-procon .demerit {border-color: var(--color-pnk);}
.c-med-procon .demerit dt { background-color: #fcf2f4;}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-procon {
	display: grid;
    justify-content: space-between;
	grid-template-columns: repeat(2, 48.2%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-procon {
	margin-top: 7%;
}
.c-med-procon dt {
	font-size: 110%;
	padding: .6em;
}
.c-med-procon > dl:first-of-type {
	margin-bottom: 4%;
}
.c-med-procon dd {
	padding: 7% 6%;
}
}


/*---------------------------------------------------------
 c-med-step
---------------------------------------------------------*/
.c-med-step {
	list-style: none;
	counter-reset: stepCounter;
}
.c-med-step > li {
	position: relative;
	counter-increment: stepCounter;
	padding: 0 2% min(7%,60px);
	margin-bottom: min(7%,60px);
	border-bottom: var(--border-solid);
}
.c-med-step > li:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.c-med-step > li::after {
	position: absolute;
	content: "";
	color: #b1b6b4;
	font-family: 'fontello';
	content: '\e802';
	font-size: min(5vw,200%);
	line-height: 1;
	background-color: var(--color-ivo);
	rotate: 90deg;
	padding: 1em 0;
	left: 50%;
	bottom: 0;
	translate: -50% 50%;
}
.c-med-step > li:last-of-type:after {
	display: none;
}
.c-med-step .c-hdg--min {
	display: flex;
	column-gap: .5em;
	margin-bottom: .6em;
}
.c-med-step .steo-no {
	display: block;
	font: var(--font-en);
	color: #dadab0;
	font-size: 185%;
	line-height: 0.8;
	letter-spacing: .1em;
}
.c-med-step .steo-no::before {
	content: counter(stepCounter, decimal-leading-zero);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-step > li > * {
	max-width: 1100px;
	margin-inline: auto;
}
.c-med-step .c-hdg--min {
	padding-top: .6em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-step > li {
	padding: 0 2% 10%;
	margin-bottom: 10%;
}
.c-med-step > li::after {
	
}
}

/*---------------------------------------------------------
 c-med-dlwrap
---------------------------------------------------------*/
.c-med-dlwrap dl {
	padding-left: 1.2em;
}
.c-med-dlwrap dt {
	position: relative;
	font-weight: var(--fw-bold);
	letter-spacing: .1em;
	line-height: 1.5;
	margin-bottom: .3em;
}
.c-med-dlwrap dt::before {
	position: absolute;
	content: "";
	display: block;
	background-color: var(--color-sand);
	width: .75em;
	height: .75em;
	border-radius: 50%;
	left: -1.2em;
	top: .35em;
}
.c-med-dlwrap dd {
	font-size: 93%;
	line-height: 1.7;
	letter-spacing: .05em;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-dlwrap.is-col2 {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,min(460px,48%));
}
.c-med-dlwrap.is-col2 > dl:nth-of-type(n+3) {
	margin-top: 2em;
	padding-top: 2em;
	border-top: 1px solid var(--color-bdr);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-dlwrap.is-col2 > dl:nth-of-type(n+2) {
	margin-top: 1.2em;
	padding-top: 1.2em;
	border-top: 1px solid var(--color-bdr);
}
.c-med-dlwrap dt {
	letter-spacing: .06em;
}
.c-med-dlwrap dd {
	font-size: 90%;
	line-height: 1.6;
	letter-spacing: .02em;
}
}

/*---------------------------------------------------------
 c-med-pickup
---------------------------------------------------------*/
.c-med-pickup {
	position: relative;
	background-color: #f2f2e5;
	padding: 5.4% 5%;
	border-radius: 20px;
}
.c-med-pickup > * {
	max-width: 1100px;
	margin-inline: auto;
}
.c-med-pickup .c-hdg--en {
	position: absolute;
	left: 50%;
	top: 0;
	translate: -50% -40%;
}
.c-med-pickup__tit {
	text-align: center;
	margin-bottom: 2em;
}
.c-med-pickup .c-hdg--min span {
	color: var(--accent-color);
}

.c-med-pickup .c-hdg--radi {
	background-color: var(--accent-color);
}
.c-med-pickup .l-col-list .c-txt--asterisk {
	font-size: 100%;
	margin-top: .8em;
}

.c-med-pickup-wrap .c-med-pickup {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.c-med-pickup-wrap .c-med-bgbox {
	color: #FFF;
	background-color: var(--accent-color);
	border-radius: 0 0 20px 20px;
}
.c-med-pickup-wrap .c-med-bgbox > * {
	max-width: 950px;
	margin-inline: auto;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-pickup {
	padding: 12% 6% 10%;
}
.c-med-pickup__tit {
	margin-bottom: 8%;
}
}


/*---------------------------------------------------------
 c-med-consul
---------------------------------------------------------*/
.c-med-consul {
	position: relative;
	background-color: #FFF;
	padding: 5%;
	border: 2px solid var(--accent-color);
	margin-top: 10px;
}
.c-med-consul__tit {
	text-align: center;
	margin-bottom: 4%;
}
.c-med-consul .c-txt--fuki::before,
.c-med-consul .c-txt--fuki::after {
	background-color: var(--accent-color);
	width: 2px;
}
.c-med-consul .c-hdg--min span {
	color: var(--accent-color);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.c-med-consul .l-flt {
	max-width: 1020px;
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.c-med-consul {
	padding: 8% 6%;
}
.c-med-consul__tit {
	margin-bottom: 6%;
}
}



/* ========================================================
  
  Original Page

======================================================== */

/*---------------------------------------------------------
 Point
---------------------------------------------------------*/
.point {
	background: linear-gradient(to top, var(--color-ivo), transparent) no-repeat left bottom;
	background-size: 100% 350px;
	padding-top: 0;
}
.point .c-bg-color {
	background-color: #ededd9;
}
.point__ttl {
	position: relative;
	text-align: center;
	padding: 1.6em 0 1.2em;
	margin-bottom: 5%;
}
.point__ttl::after {
	position: absolute;
	content: "";
	background: url(../images/common/shadow-yel@2x.png) no-repeat center top;
	background-size: contain;
	width: 100%;
	height: 92px;
	inset: 100% 0 auto 0;
	margin: auto;
}
.point__ttl img {
	position: absolute;
	width: 7.5em;
	max-width: 300px;
	left: 50%;
	top: 0;
	translate: -50% -70%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.point__ttl {
	margin-bottom: 8%;
}
} 
 
/* Point - l-med-point
-----------------------------------------------*/
.l-med-point {
	display: grid;
	row-gap: 1.2em;
}
.l-med-point > li {
	background-color: #fff;
	padding: 1.4% 1.4% 2.8%;
	border-radius: 10px;
}
.l-med-point__img {
	position: relative;
	max-width: max-content;
	margin: 0 auto 8%;
}
.l-med-point__txt {
	width: 94%;
	max-width: 370px;
	margin-inline: auto;
}
.l-med-point .c-hdg--bld {
	text-align: center;
	font-size: min(1.9vw,143%);
	letter-spacing: .05em;
}
.l-med-point .c-hdg--bld span {
	color: var(--accent-color);
}
.l-med-point .c-icon {
	position: absolute;
	font-size: min(1.6vw,125%);
	width: 3em;
	color: var(--accent-color);
	background-color: #fff;
	left: 50%;
	bottom: 0;
	translate: -50% 40%;
}
.l-med-point .c-icon::before {
	content: '\e808';
	line-height: 3;
}
.l-med-point .c-icon::after {
	position: absolute;
	content: "";
	width: 85%;
	height: 85%;
	border-radius: 50%;
	border: 2px solid #d9d5d4;
	inset: 0;
	margin: auto;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.l-med-point {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 1.625%;
}
.l-med-point > li {
	width: 32.25%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-med-point {
	row-gap: .8em;
}
.l-med-point > li {
	padding: 4% 4% 8%;
}
.l-med-point__txt {
	width: 94%;
	max-width: 370px;
	margin-inline: auto;
}
.l-med-point .c-hdg--bld {
	font-size: 115%;
}

.l-med-point .c-icon {
	font-size: 4vw;
}
}

/*---------------------------------------------------------
 Feature
---------------------------------------------------------*/

/* Feature - head
-----------------------------------------------*/
.fea-head {
	position: relative;
	text-align: center;
	color: #FFF;
	background: linear-gradient(to top, rgb(0 0 0 / 0.1), transparent) no-repeat left bottom;
	background-size: 100% 200px;
	padding-bottom: min(10%,90px);
	margin-bottom: min(12vw,120px);
}
.fea-head .c-bg-color {
	height: calc(100% - 100px);
	background-color: var(--accent-color);
	inset: auto 0 0 0;
}

.fea-head__img {
	position: relative;
	width: 70%;
	max-width: max-content;
	margin: 0 auto 50px;
}
.fea-head .c-path-draw {
	position: absolute;
	opacity: 0.6;
	width: 45%;
	left: 64%;
	bottom: 6%;
}

.fea-head__ttl {
	margin-bottom: 0;
}
.fea-head__ttl .c-hdg--en {
	color: rgb(255 255 255 / 0.7);
}

.fea-head__arw {
	position: absolute;
	width: 8%;
	max-width: 110px;
	filter: drop-shadow(0 0 20px rgb(0 0 0 / 0.1));
	inset: auto 0 0 0;
	margin: auto;
	translate: 0 50%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.fea-head {
	background-size: 100% 10vw;
}
.fea-head .c-bg-color {
	height: calc(100% - 10vw);
}

.fea-head__img {
	width: 80%;
	margin-bottom: 6%;
}

.fea-head__arw {
	width: 12%;
}
}

/* Feature - content
-----------------------------------------------*/
.fea-content {
	counter-reset: feaCounter;
}

.fea-no {
	position: relative;
	counter-increment: feaCounter;
	color: var(--accent-color);
	font: var(--font-en);
	font-size: min(2vw,156%);
	letter-spacing: .1em;
	line-height: 0.8;
	margin-bottom: 1.2em;
}
.fea-no::after {
	content: counter(feaCounter, decimal-leading-zero);
	font-size: 200%;
	vertical-align: -0.1em;
	margin-left: .1em;
}

.fea-box__tit {
	line-height: 1.5;
}
.fea-box__tit b {
	display: block;
	color: #867b76;
	font-size: min(2vw,112%);
	margin-bottom: .2em;
}

.fea-box__img {
	max-width: max-content;
	margin: 0 auto 5%;
}

.fea-box .l-box--s {
	background-color: var(--bg-color);
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.fea-content {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: min(8vw,120px);
}
.fea-box {
	width: 100%;
}
.fea-box.is-half {
	width: 48%;
	max-width: 550px;
}

.fea-flt .l-flt__img {	width: 50%;}
.fea-flt .l-flt__txt {	width: 45%;}
.c-med-pickup .l-flt .l-flt__img {	width: 33%;}

.fea-flt .c-btn-wrap .c-btn-radi > a {
	width: 18em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.fea-content {
	display: grid;
	row-gap: 10vw;
}
.fea-flt .l-flt__img {
	width: 100%;
}
.fea-no {
	font-size: 3.5vw;
}
.fea-box__tit b {
	font-size: 100%;
}
}

/*---------------------------------------------------------
 bg-area
---------------------------------------------------------*/
.p-bg-area .c-bg-color {
	background-color: var(--bg-color);
}

/*---------------------------------------------------------
 Risk
---------------------------------------------------------*/
.risk .c-bg-color {
	background-color: #fff;
}
.risk .c-hdg--min {
	text-align: center;
}
.risk .c-hdg--min::after {
	background-color: var(--color-och);
	height: 2px;
}
.risk .c-list {
	max-width: max-content;
	margin-inline: auto;
}
.risk .c-list > li::before {
	background-color: #e0d2b3;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}

/*---------------------------------------------------------
 Step
---------------------------------------------------------*/
.step .c-bg-color {
	background: linear-gradient(to bottom, #FFF, transparent) no-repeat left top;
	background-size: 100% 100%;
	height: 630px;
}






/* ========================================================
  
  Implant

======================================================== */
.page-implant .l-lead .c-hdg--min span {
	color: #87662d;
}
.page-implant .c-med-col > *:nth-of-type(odd) {
	background-color: #f2f2e5;
}
.page-implant .l-col-list > *:nth-of-type(odd) .c-hdg--radi {
	background-color: #b1b267;
}
.page-implant .l-col-list > *:nth-of-type(even) .c-hdg--radi {
	background-color: #a89369;
}


/* ========================================================
  
  Periodontal

======================================================== */
.page-periodontal .l-col-list > *:nth-of-type(even) .c-hdg--radi {
	background-color: #dfa275;
}


/* ========================================================
  
  Ortho

======================================================== */
.page-ortho .l-lead .c-hdg--min span {
	color: var(--grd-color-main);
}


/* ========================================================
  
  Whitening

======================================================== */
.page-whitening .l-lead .c-hdg--min span {
	color: #6e6db9;
}

/*---------------------------------------------------------
 Whitening - difference
---------------------------------------------------------*/
.page-whitening .l-col-list .c-hdg--radi {
	background-color: var(--color-sand);
}
.page-whitening .l-col-list > div:nth-of-type(1) .c-hdg--radi {
	background-color: #9bbed2;
}
.page-whitening .l-col-list .c-list {
	width: 96%;
	max-width: 450px;
	margin-inline: auto;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.page-whitening .l-col-list {
	row-gap: 1.6em;
}
}


/*---------------------------------------------------------
 Whitening - menu
---------------------------------------------------------*/
.page-whitening .other-plan {
	width: 92%;
	max-width: 930px;
	margin-inline: auto;
}
.page-whitening .other-plan__tit {
	position: relative;
	text-align: center;
	padding-left: 3%;
	padding-bottom: 3%;
}
.page-whitening .other-plan__pose {
	position: absolute;
	width: 13%;
	max-width: max-content;
	left: 1.2%;
	bottom: 0;
}
.page-whitening .other-plan__list li {
	line-height: 1.5;
	padding-top: 1.2em;
	border-top: 1px solid var(--accent-color);
}
.page-whitening .other-plan__list p {
	color: var(--accent-color);
	font-weight: var(--fw-bold);
	margin-bottom: .4em;
}

.page-whitening .l-box--s {
	max-width: 1060px;
	background-color: #dadbeb;
	border-radius: 0;
}
.page-whitening .l-box--s .icon {
	position: absolute;
	width: 3.4%;
	max-width: max-content;
	left: 50%;
	top: 0;
	translate: -50% -20%
}

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.page-whitening .other-plan__list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 47% 47%;
}

.page-whitening .l-box--s .c-btn-radi {
	position: absolute;
	left: 50%;
	bottom: 0;
	translate: -50% 50%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.page-whitening .other-plan__tit {
	padding-left: 20%;
	padding-bottom: 3%;
}
.page-whitening .other-plan__pose {
	width: 25%;
}
.page-whitening .other-plan__list > li:nth-of-type(n+2) {
	margin-top: 6%;
}

.page-whitening .l-box--s .icon {
	width: 8%;
}
}




/*---------------------------------------------------------
 
---------------------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}