@charset "UTF-8";




/* ========================================================
  
  Variables

======================================================== */
.med_col_list > li.color_taq {
	--bg-color: rgba(74,190,188,0.1);
}
.med_col_list > li.color_lgrn {
	--bg-color: rgba(149, 198, 139, 0.1);
}
.med_col_list > li.color_coral {
	--bg-color: rgba(222,150,130,0.2);
}


/* ========================================================
  
  FV

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

/*-----------------------------------------------
 Layout - FV
-----------------------------------------------*/
.fv_area.type-med .m_img::before {
	display: none;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.fv_area.type-med .m_inbox {
	display: grid;
	grid-template-columns: 41% 59%;
}
.fv_area.type-med .m_title {
	grid-row: 1/2;
	grid-column: 1/2;
	padding-left: 15%;
}
.fv_area.type-med .m_img {
	max-height: 402px;
	grid-row: 1/2;
	grid-column: 2/3;
} 

.fv_area .com_bg__wave {
	width: 54vw;
	max-width: 800px;
	left: 0;
	top: 40%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.fv_area.type-med .m_img {
	width: 80%;
	margin-left: auto;
	margin-right: 0;
}

.fv_area .com_bg__wave {
	top: 72%;
}
}

/*-----------------------------------------------
 Layout - m_title
-----------------------------------------------*/
.fv_area.type-med .m_title {
	font-size: min(4.4vw,413%);
}
.fv_area.type-med .m_title div::first-letter {
	color: var(--color-blu);
}
.fv_area.type-med .m_title .ft_en {
	font-size: 37%;
}

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

.fv_area.type-med .m_title {
	font-size: 7vw;
	padding-top: .5em;
	padding-left: 6.5%;
}
}



/* ========================================================
  
  common

======================================================== */
.com_h__min.has-icon .pattern {
	display: inline-block;
	font-size: 72%;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-weight: var(--fw-bold);
	vertical-align: 0.1em;
	margin-right: .5em;
}

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

}



/* ========================================================
  
  medical parts

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

/*-----------------------------------------------
 med_subbox
-----------------------------------------------*/
.med_subbox {
	background-color: var(--bg-color);
	border-radius: 1.3em;
}
.med_subbox .com_h__min span {
	color: var(--accent-color);
}
.med_subbox .icon_wave {
	width: 10%;
	margin: 2% auto 3%;

}
.med_subbox .com_flt .img_r {
	max-width: 360px;
}
.med_subbox .com_flt .img_r .abs {
	width: 44%;
	right: 3.4%;
	top: 40%;
}
.med_subbox .com_flt .img_r .abs.pos__l {
	left: 3.4%;
	right: auto;
}

.med_subbox .sub_col2 .box_img {
	position: relative;
	margin: 0 auto 5%;
}
.med_subbox .sub_col2 .box_img img {
	width: 82%;
}
.med_subbox .sub_col2 .box_img .abs {
	position: absolute;
	width: 45%;
	max-width: 220px;
	right: -1%;
	top: 50%;
	translate: 0 -50%;
}
.med_subbox .sub_col2 .com_h__min {
	text-align: center;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

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

.med_subbox .sub_col2 {
	display: grid;
	row-gap: 2em;
}
}


/*---------------------------------------------------------
 med_pickup
---------------------------------------------------------*/
.med_pickup {
	border-radius: 0;
}
/* pick_title */
.med_pickup .pick_title {
	position: relative;
	text-align: center;
	color: #FFF;
	font-size: min(2.4vw,186%);
	font-weight: var(--fw-bold);
	line-height: 1.4;
	letter-spacing: .1em;
	background-color: var(--accent-color);
	padding: 1.2em 5%;
	border-radius: 10px;
	margin-bottom: 1.8em;
}
.med_pickup .pick_title .ft_en {
	font-size: 60%;
	opacity: 0.7;
	margin-top: .4em;
}
/* pick_point */
.med_pickup .pick_point {
	position: relative;
	background-color: var(--bg-color);
	padding: 4.5% 5.8%;
	border-radius: 20px;
}
.med_pickup .pick_point .com_h__min span {
	color: var(--accent-color);
}
.med_pickup .pick_point .com_h__en {
	text-align: center;
}
.med_pickup .pick_point .com_h__en::before {
	content: "";
	display: block;
	background-color: var(--accent-color);
	width: 1.5em;
	height: 0.5em;
	margin: 0 auto .6em;

	mask: url(../images/common/icon-wave-single.svg) no-repeat center center;
	-webkit-mask: url(../images/common/icon-wave-single.svg) no-repeat center center;
	mask-size: contain;
	-webkit-mask-size: contain;
}

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

.med_pickup .bdr_b__dash {
	padding-bottom: min(6%,50px);
	margin-bottom: min(6%,50px);
}
.med_pickup .com_col_list.col__3 {
	row-gap: 3em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_pickup .com_col_list.col__3 {
	row-gap: 1.6em;
}
/* pick_title */
.med_pickup .pick_title {
	font-size: 115%;
	margin-bottom: 1.5em;
	padding: 1em 3%;
}
.med_pickup .pick_title .ft_en {
	font-size: 60%;
	opacity: 0.7;
	margin-top: .4em;
}
/* pick_point */
.med_pickup .pick_point {
	display: block;
	padding: 10% 6% 8%;
}
.med_pickup .pick_point .com_h__min {
	text-align: center;
}
}


/*---------------------------------------------------------
 med_check
---------------------------------------------------------*/
.med_check {
	background-color: rgba(205,202,168,0.2);
}
.med_check .check_title {
	position: relative;
	text-align: center;
	font-size: min(1.8vw,133%);
	line-height: 1.5;
	letter-spacing: .1em;
}
.med_check .check_title .fw_bold span {
	color: var(--color-coral);
}
.med_check .check_title .ft_min {
	font-size: 200%;
	letter-spacing: .12em;
	margin-top: .1em;
}
.med_check .check_title .ft_min span {
	color: var(--color-och-100);
}
.med_check .check_title::before {
	position: absolute;
	content: "";
	background: url(../images/common/check.svg) no-repeat;
	background-size: contain;
	width: 10.4em;
	height: 7em;
	left: 65%;
	bottom: 1em;
}
.med_check .check_title::after {
	display: block;
	content: "";
	width: 60%;
	max-width: 26em;
	height: 2px;
	border-bottom: 2px dotted currentColor;
	margin: 1.2em auto 2.2em;
}

.med_check .check_txt {
	position: relative;
	max-width: 1100px;
	text-align: center;
	color: #FFF;
	font-size: min(2vw,133%);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	letter-spacing: .1em;
	background-color: var(--color-taq);
	padding: 1.2em;
	border-radius: 100vmax;
	margin: 5.5% auto 0;
}
/*chk_list*/
.med_check .chk_list li {
	position: relative;
	font-size: min(1.6vw,133%);
	line-height: 1.6;
	padding-left: 2.5em;
}
.med_check .chk_list li::before {
	position: absolute;
	display: block;
	content: "";
	background-color: rgba(255,255,255,0.8);
	width: 1.3em;
	height: 1.3em;
	border-radius: 19%;
	left: 0;
	top: 0.1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.med_check {
	padding-top: 6%;
	padding-bottom: 5.4%;
}
.med_check .chk_list {
	width: 92%;
	max-width: 1100px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,48.4%);
	row-gap: 2.5em;
    flex-wrap: wrap;
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_check .check_title {
	font-size: 90%;
}
.med_check .check_title .ft_min {
	font-size: 150%;
	letter-spacing: .1em;
}
.med_check .check_title::before {
	width: 8em;
	height: 5em;
}
.med_check .check_title::after {
	width: 60%;
	height: 1px;
	border-width: 1px;
	margin: 1em auto 1.8em;
}
.med_check .check_txt {
	font-size: 95%;
	letter-spacing: .08em;
	padding: .8em;
	margin-top: 7%;
}
/*chk_list*/
.med_check .chk_list li {
	font-size: 95%;
}
.med_check .chk_list li:nth-of-type(n+2) {
	margin-top: .5em;
}
}



/*---------------------------------------------------------
 med_consul
---------------------------------------------------------*/
.med_consul {
	background-image: url(../images/treatment/orthodontics/consul-bg@2x.png);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 50% auto;
}
.med_consul .com_h__en {
	margin-bottom: .5em;
}
.med_consul .com_h__min {
	margin-bottom: .3em;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.med_consul .com_box__s {
	padding: 3.8%;
}
}

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

.med_consul {
	background-size: 80% auto;
}
.med_consul .com_cta_list {
	flex-wrap: wrap;
	row-gap: .6em;
}
}


/*---------------------------------------------------------
 med_box__plus
---------------------------------------------------------*/
.med_box__plus {
	background-color: #f6f8f1;
}
.med_box__plus > .com_h__min {
	display: block;
	padding: 1.2em 0 0 0;
}
.med_box__plus .com_h__min::before {
	color: var(--color-bgrn);
	left: 50%;
	top: 0;
	translate: -50% 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.med_box__plus .com_flt .img_l,
.med_box__plus .com_flt .img_r {
	width: 42%;
}
}


/*---------------------------------------------------------
 med_flow
---------------------------------------------------------*/
.med_flow {
	text-align: center;
}
.med_flow_list {
	position: relative;
	max-width: 1016px;
	display: grid;
    grid-template-columns: repeat(4,25%);
	margin-inline: auto;
}
.med_flow_list li {
	position: relative;
}
.med_flow_list .img_item {
	position: relative;
	width: 73%;
	max-width: max-content;
	margin: 0 auto 5%;
}
.med_flow_list .img_item::after {
	position: absolute;
	content: "";
	background-color: var(--color-base);
	width: 10.1%;
	height: 10.5%;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	left: 118%;
	top: 50%;
	translate: -50% -50%;
}
.med_flow_list li:last-of-type .img_item::after {
	display: none;
}
.med_flow_list .txt {
	position: relative;
	text-align: center;
	font-size: min(1.4vw,100%);
	line-height: 1.5;
	letter-spacing: .08em;
	padding: 0 5%;
}
.med_flow_list .txt dt {
	font-size: min(2.2vw,166%);
	letter-spacing: .1em;
	line-height: 1.3;
	margin-bottom: .2em;
}
.med_flow_list .txt dt.ft_en {
	font-size: min(2.5vw,220%);
}
.med_flow_list .txt dt.ft_en span {
	color: var(--accent-color);
}
/*5列*/
.med_flow_list.col5 {
    grid-template-columns: repeat(5,20%);
}
.med_flow_list.col5 .img_item {
	width: 66%;
    max-width: 150px;
}
.med_flow_list.col5 .img_item::after {
	left: 126%;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

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

/* med_flow_list */
.med_flow_list {
   min-width: max-content;
}
.med_flow_list > li {
    width: 40vw;
}
.med_flow_list .img_item {
	width: 70%;
	margin-bottom: .8em;
}
.med_flow_list .img_item::after {
	font-size: 120%;
	left: 120%;
}
.med_flow_list .txt {
	font-size: 80%;
}
.med_flow_list .txt dt {
	font-size: 120%;
}
.med_flow_list .txt dt.ft_en {
	font-size: 150%;
}
}

/*---------------------------------------------------------
 med_col_list
---------------------------------------------------------*/
:where(.med_col_list > li) {
	--bg-color: #FFF;
}

.med_col_list > li {
	position: relative;
	background-color: var(--bg-color);
	padding: 4% 3.2%;
}
.med_col_list dt {
	text-align: center;
}
.med_col_list dt.bdr_b__dash {
	padding-bottom: .8em;
	margin-bottom: .8em;
}
.med_col_list dd.radi {
	text-align: center;
	color: #FFF;
	font-size: min(1.8vw,146%);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	background-color: var(--accent-color);
	padding: .4em 1.2em;
	border-radius: 2em;
	margin-bottom: .6em;
}
/*icon*/
.med_col_list.list__icon > li {
	padding: 1px 3.2% 5%;
}
.med_col_list.list__icon .icon {
	width: 42%;
	max-width: 132px;
	margin: -8% auto 6%;
}
.med_col_list.list__icon > li:nth-of-type(1) {	background-color: rgba(74,190,188,0.1);}
.med_col_list.list__icon > li:nth-of-type(2) {	background-color: rgba(222,150,130,0.1);}
.med_col_list.list__icon > li:nth-of-type(3) {	background-color: rgba(149,198,139,0.1);}

.med_col_list.list__icon > li:nth-of-type(1) dt span {	color: var(--color-taq);}
.med_col_list.list__icon > li:nth-of-type(2) dt span {	color: var(--color-coral);}
.med_col_list.list__icon > li:nth-of-type(3) dt span {	color: var(--color-lgrn);}

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

.med_col_list {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 1.5em;
}
.med_col_list.list__col2 > li {
	width: 48%;
	max-width: 625px;
}
.med_col_list.list__col3 > li {
	width: 32%;
	max-width: 400px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_col_list {
	display: grid;
	row-gap: .5em;
}
.med_col_list > li {
	padding: 8% 6%;
}
.med_col_list dd.radi {
	font-size: 95%;
}
/*icon*/
.med_col_list.list__icon > li {
	padding: 1px 8% 6%;
}
.med_col_list.list__icon > li:nth-of-type(n+2) {
	margin-top: 8%;
}
.med_col_list.list__icon .icon {
	width: 30%;
	margin: -5% auto 4%;
}
}


/*---------------------------------------------------------
 med_rank
---------------------------------------------------------*/
.med_rank {
	position: relative;
	width: 100%;
	max-width: 555px;
	display: flex;
	justify-content: center;
	column-gap: 8%;
	font-size: min(1.6vw,113%);
	font-weight: var(--fw-bold);
	line-height: 1.3;
	letter-spacing: .14em;
	white-space: nowrap;
	background-color: #fff;
	padding: .9em 3%;
	margin-bottom: 1.2em;
	border-radius: 10px;
}
.med_rank > li {
	padding-right: 1.8em;
	border-right: 2px dotted var(--color-och-100);
}
.med_rank > li:last-of-type {
	padding-right: 0;
	border-right: none;
}
.med_rank > li span {
	color: var(--color-taq);
	font-size: 158%;
	font-weight: normal;
	vertical-align: -0.1em;
	margin-left: .8em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_rank {
	column-gap: 7%;
	font-size: 75%;
	letter-spacing: .1em;
	padding: .8em 6%;
}
.med_rank > li {
	padding-right: 1.4em;
	border-width: 1px;
}
.med_rank > li span {
	margin-left: .6em;
}
}


/*---------------------------------------------------------
 med_mer_dem
---------------------------------------------------------*/
.med_mer_dem {
	margin-top: 4%;
}
.med_mer_dem > dl {
	background-color: rgba(74,190,188,0.1);
	padding: 3.5% 3.5% 6%;
}
.med_mer_dem dt {
	text-align: center;
	color: #FFF;
	font: var(--font-en);
	font-size: min(2vw,140%);
	letter-spacing: .1em;
	background-color: var(--color-taq);
	padding: 1em;
	border-radius: .5em;
	margin-bottom: 1.4em;
}

.med_mer_dem .demerit { background-color: rgba(194,193,182,0.1);}
.med_mer_dem .demerit dt { background-color: #C2C1B6;}

.med_mer_dem .com_list {
	row-gap: 1em;
	padding: 0 3%;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.med_mer_dem {
	display: grid;
    justify-content: space-between;
	grid-template-columns: repeat(2, min(48.5%,630px));
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_mer_dem {
	margin-top: 6%;
}
.med_mer_dem > dl {
	padding: 4% 4% 6%;
}
.med_mer_dem dt {
	font-size: 105%;
	padding: .8em;
}
.med_mer_dem > dl:first-of-type {
	margin-bottom: 4%;
}
.med_mer_dem .com_list {
	font-size: 90%;
}
}


/*---------------------------------------------------------
 med_qa
---------------------------------------------------------*/
.med_qa > li {
	background-color: #fff;
	padding: 1.5%;
	border-radius: 20px;
	margin-bottom: 3.8%;
}
.med_qa > li:last-of-type {
	margin-bottom: 0;
}
.med_qa .qa_q,
.med_qa .qa_a {
	position: relative;
}
.med_qa .qa_q {
	padding-left: 13%;
	margin-bottom: 1.5em;
}
.med_qa .qa_q .com_h__min {
	padding: .6em 0;
	margin-bottom: 0;
}
.med_qa .qa_a {
	background-color: var(--color-ivo);
	padding: 2em 5% 2em 13%;
	border-radius: 20px;
}

.med_qa .qa_q::before,
.med_qa .qa_a::before {
	position: absolute;
	display: block;
	text-align: center;
	font: var(--font-en);
	font-size: min(5vw,456%);
	letter-spacing: .1em;
	line-height: 1;
	white-space: nowrap;
	left: 6.5%;
	top: 0;
	translate: -50% 0;
}
.med_qa .qa_q::before {
	content: "Q.";
	color: var(--color-taq);
}
.med_qa .qa_a::before {
	content: "A.";
	color: var(--color-och);
	top: .4em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_qa > li {
	padding: 3%;
	margin-bottom: 8%;
}
.med_qa .qa_q {
	margin-bottom: .8em;
}
.med_qa .qa_q .com_h__min {
	padding: .4em 0;
}
.med_qa .qa_a {
	padding: 5%;
}
.med_qa .qa_q,
.med_qa .qa_a {
	padding-left: 14vw;
}
.med_qa .qa_q::before,
.med_qa .qa_a::before {
	font-size: 8vw;
	left: 9%;
}
}


/*---------------------------------------------------------
 med_step
---------------------------------------------------------*/
.med_step {
	list-style: none;
	counter-reset: stepCounter;
}
.med_step > li {
	position: relative;
	counter-increment: stepCounter;
	padding-left: 10%;
	margin-bottom: 4%;
}
.med_step > li:last-of-type {
	margin-bottom: 0;
}

.med_step .step_no {
	position: absolute;
	width: 1.5em;
	height: 100%;
	font: var(--font-en);
	color: var(--color-och-100);
	font-size: min(4.2vw,366%);
	line-height: 0.8;
	letter-spacing: .06em;
	padding-bottom: .5em;
	left: 0;
	top: 0;
}
.med_step .step_no::after {
	display: block;
	content: counter(stepCounter, decimal-leading-zero);
	background: url(../images/common/wave-grn.svg) no-repeat center bottom 1px;
	background-size: contain;
	width: 100%;
	height: 1.3em;
}
.med_step .step_no::before {
	position: absolute;
	content: "";
	width: 2px;
	height: calc(100% - 1.5em);
	border-left: 2px dotted var(--color-och-100);
	left: 50%;
	bottom: 0;
}
.med_step > li:last-of-type .step_no::before {
	display: none;
}

.med_step .com_box__s {
	background-color: #fff;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.med_step > li.noimg {
	padding-bottom: 4%;
}
.med_step .com_box__s {
	padding: 3%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_step > li {
	padding-left: 14%;
	margin-bottom: 10%;
}
.med_step .step_no {
	font-size: 8vw;
	left: -4%;
}
.med_step .step_no::before {
	border-width: 1px;
}
}


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

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

}

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

}
