@charset "UTF-8";


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

======================================================== */
.fv_area {
	position: relative;
}
.fv_area::before {
	position: absolute;
	content: "";
	background: url(../images/common/bg-splay@2x.png) no-repeat right top;
	background-size: contain;
	width: 51%;
	height: 900px;
	right: 0;
	top: 0;
	z-index: -1;
}
.h_txt {
	margin-bottom: 1em;
}
.m_inbox {
	padding: min(4vw,50px) min(100px,6.6%) 0;
}
.m_title {
	font-size: min(4.5vw,333%);
	margin-bottom: .4em;
}
.m_img {
	max-height: 400px;
	overflow: hidden;
}
.m_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.h_txt {
	font-size: 100%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.fv_area::before {
	width: 68%;
	top: 10vw;
}
.m_inbox {
	padding: 4% 5.5% 0;
}
.m_title {
	font-size: 7vw;
}
.m_img {
	width: 100vw;
	aspect-ratio: 750/310;
	margin-inline: calc(50% - 50vw);
}
}




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

======================================================== */
main {
	padding-bottom: min(11vw,160px);
}

.com_box__corner {
	max-width: 1200px;
}


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

.site-bg {
	background: linear-gradient(to bottom, transparent 500px, var(--color-bei) 1000px);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.com_box__corner > .com_h__min {
	margin-bottom: 1em;
}
}

/*---------------------------------------------------------
 com_lead_box
---------------------------------------------------------*/
.com_lead_box {
    text-align: left;
	max-width: 1300px;
	box-sizing: content-box;
	padding: 0 min(100px,6.6%);
	margin-inline: auto;
}
.com_lead_box .com_h__en {
	margin-bottom: 2.2em;
}
.com_lead_box .com_h__en::first-letter {
    color: var(--color-mgrn);
}



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

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

/*---------------------------------------------------------
 text
---------------------------------------------------------*/
.med_txt_center {
	position: relative;
	text-align: center;
	font: var(--font-min);
	font-size: min(2vw,146%);
	line-height: 1.5;
	letter-spacing: .15em;
	margin-bottom: .6em;
	word-break: keep-all;
	overflow-wrap: break-word;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_txt_center {
	font-size: 105%;
	letter-spacing: .1em;
}
}


/*---------------------------------------------------------
 med_pickup
---------------------------------------------------------*/
/* color */
.med_pickup {
	--pick-accent-color: var(--color-bgrn);
	--pick-bg-color: rgba(63,195,178,0.2);
	--pick-bdr-color: #FFF;
}
.med_pickup.color_lgrn {
	--pick-accent-color: #85c16c;
	--pick-bg-color: rgba(133,193,108,0.2);
}
.med_pickup.color_och {
	--pick-accent-color: var(--color-och);
	--pick-bg-color: rgba(213,172,85,0.2);
}
.med_pickup.color_yel {
	--pick-accent-color: var(--color-och);
	--pick-bg-color: #ffffe9;
	--pick-bdr-color: rgba(213,172,85,0.5);
}
/* color */

.med_pickup {
	background-color: var(--pick-bg-color);
}
.med_pickup .bdr_b,
.med_pickup .com_col_list.col__3 > *:not(:last-child) {
	border-color: var(--pick-bdr-color);
}
.med_pickup .com_h__bld.has-icon::before {
	color: var(--pick-accent-color);
}
.med_pickup .med_box__plus {
	background-color: #fff;
}
/* pick_title */
.med_pickup .pick_title {
	position: relative;
	text-align: center;
	padding-bottom: 1.2em;
	margin-bottom: 4.5%;
	border-bottom: 1px solid var(--pick-bdr-color);
}
.med_pickup .pick_title .com_h__en {
	margin-bottom: .8em;
}
.med_pickup .pick_title .com_h__bld {
	font-size: min(2.7vw,200%);
	margin-bottom: 0;
}
/* pick_point */
.med_pickup .pick_point {
	position: relative;
	display: flex;
	align-items: center;
	background-color: #FFF;
	padding: 25px 3% 25px 0;
	border-radius: 10px;
}
.med_pickup .pick_point dt {
	width: 12em;
	text-align: center;
	white-space: nowrap;
	margin: 0;
}
.med_pickup .pick_point div {
	position: relative;
	display: inline-block;
	line-height: 1.5;
}
.med_pickup .pick_point div::before {
	position: absolute;
	content: "";
	background-size: contain;
	background-color: var(--pick-accent-color);
	mask: url(../images/common/accent.svg) no-repeat center;
	-webkit-mask: url(../images/common/accent.svg) no-repeat center;
	mask-size: contain;
	-webkit-mask-size: contain;
	width: .88em;
	height: .77em;
	left: -1em;
	top: -0.8em;
}
.med_pickup .pick_point dd {
	flex: 1;
	padding: .2em 4%;
	border-left: 1px solid var(--pick-accent-color);
}
.med_pickup .med_box__plus .com_h__min::before,
.med_pickup .pick_point dt.com_h__en div::first-letter,
.med_pickup .pick_point dt span {
	color: var(--pick-accent-color);
}
.med_pickup .com_list > li::before {
	background-color: var(--pick-accent-color);
}

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

.med_pickup .com_flt .img_l,
.med_pickup .com_flt .img_r {
	width: 42%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_pickup .pick_title {
	margin-bottom: 8%;
}
.med_pickup .pick_title .com_h__bld {
	font-size: 120%;
}
.med_pickup .com_h__bld.has-icon {
	font-size: 110%;
}
.med_pickup .sp_bdr_b {
	border-color: var(--pick-bdr-color);
}
/* pick_point */
.med_pickup .pick_point {
	display: block;
	padding: 10% 6% 7%;
}
.med_pickup .pick_point dt {
	width: 100%;
	font-size: 110%;
	padding-bottom: .8em;
	margin-bottom: 1em;
	border-bottom: 1px solid var(--pick-accent-color);
}
.med_pickup .pick_point dd {
	padding: 0 2%;
	border-left: none;
}
}


/*---------------------------------------------------------
 med_check
---------------------------------------------------------*/
.med_check {
	color: #FFF;
	background-color: #969696;
	border-radius: 2em;
}
.med_check > div {
	padding: 3.4% 5%;
}
.med_check > div:last-of-type {
	background-color: #8c8c8c;
	border-bottom-left-radius: inherit;
	border-bottom-right-radius: inherit;
}
.med_check .check_title {
	text-align: center;
	margin-bottom: 2em;
}
.med_check .check_title .radi {
	display: inline-block;
	width: 50%;
	max-width: 366px;
	color: #787878;
	font-size: 106%;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	letter-spacing: .1em;
	font-feature-settings: "halt";
	background-color: #fff;
	padding: .5em 1em;
	border-radius: .6em;
	margin-bottom: .6em;
}
.med_check .com_h__min {
	margin-bottom: 0;
}
.med_check .com_h__min > span {
	font-size: 166%;
}
.med_check .com_h__min span span,
.med_check .com_h__en {
	color: #3fecbc;
}
.med_check .com_h__en {
	margin-bottom: 1em;
}
.med_check .check_txt {
	position: relative;
	text-align: center;
	font-size: min(2vw,133%);
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: .15em;
	word-break: keep-all;
	overflow-wrap: break-word;
}
/*chk_list*/
.med_check .chk_list li {
	position: relative;
	font-size: 106%;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	padding-left: 3.4em;
}
.med_check .chk_list li::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/icon-check.svg) no-repeat;
	background-size: contain;
	min-width: 2.1em;
	height: 2em;
	left: 0;
	top: -0.1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.med_check .chk_list {
	max-width: 1060px;
	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 {
	border-radius: 7vw;
}
.med_check > div {
	padding: 7%;
}
.med_check .check_title {
	margin-bottom: 1.5em;
}
.med_check .check_title .radi {
	width: 85%;
	font-size: 90%;
}
.med_check .com_h__min {
	font-size: 85%;
}
.med_check .check_txt {
	font-size: 100%;
	letter-spacing: .1em;
}
/*chk_list*/
.med_check .chk_list li {
	font-size: 95%;
	padding-left: 3em;
}
.med_check .chk_list li:nth-of-type(n+2) {
	margin-top: .5em;
}
}


/*---------------------------------------------------------
 med_soudan
---------------------------------------------------------*/
.med_soudan {
	background-color: #e6e9e2;
}
.med_soudan .com_h__deco {
	--deco-color: rgba(255,255,255,0.6);
	--deco-bg-color: #e6e9e2;
	font-size: min(10vw,800%);
	letter-spacing: .08em;
	margin-bottom: -0.4em;
}
.med_soudan .radi_txt {
	display: flex;
	gap: .2em 1em;
	font-size: min(1.7vw,126%);
	font-weight: var(--fw-bold);
	line-height: 1.4;
	margin-bottom: 1em;
}
.med_soudan .radi_txt span {
	display: block;
	padding: .2em 1.2em;
	border-radius: 2em;
	border: 1px solid currentColor;
}
.med_soudan .com_h__bld {
	margin-bottom: .2em;
}
.med_soudan .com_flt {
	max-width: 1030px;
	margin-inline: auto;
}
.med_soudan .com_flt .abs {
	position: absolute;
	width: 38.3%;
	left: 0;
	bottom: 0;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}
.med_soudan .com_ctc_btn.btn__cal > a:not(:hover) {
	background-color: #fff;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_soudan .bg_txt {
	font-size: 12vw;
}
.med_soudan .radi_txt {
	font-size: 70%;
}
}


/*---------------------------------------------------------
 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: 993px;
	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: 79%;
	max-width: max-content;
	margin: 0 auto 5%;
}
.med_flow_list .img_item::after {
	position: absolute;
	font-family: 'fontello'; 
	content: '\e800';
	font-size: min(2vw,120%);
	left: 114%;
	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 {
	color: var(--color-bgrn);
	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,200%);
}
/*5列*/
.med_flow_list.col5 {
    grid-template-columns: repeat(5,20%);
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

/*5列*/
.med_flow_list.col5 {
	width: 106%;
	max-width: 1165px;
	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
---------------------------------------------------------*/
.med_col_list > li {
	position: relative;
	background-color: #FFF;
	padding: 4% 3.2%;
	border-radius: 2em;
}
.med_col_list dt {
	text-align: center;
}
.med_col_list dt > span.ft_en {
	display: block;
	color: var(--color-bgrn);
	font-size: 50%;
	margin-top: .5em;
}
/*color*/
.med_col_list.list__color dt .com_h__min {
	-webkit-text-fill-color: #FFF;
	background-color: currentColor;
	padding: .4em;
	border-radius: .3em;
	margin-bottom: .5em;
}
.med_col_list.list__color dt .fw_bold {
	font-size: min(1.7vw,126%);
	line-height: 1.5;
	margin-bottom: .8em;
}
/*icon*/
.med_col_list.list__icon .icon {
	width: 25%;
	max-width: max-content;
	margin: 0 auto 4%;
}
/* 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: 587px;
}
.med_col_list.list__col3 > li {
	width: 32.4%;
}
.med_col_list .com_h__min {
	font-size: min(2.2vw,200%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_col_list > li {
	padding: 8% 6%;
	border-radius: 6vw;
}
.med_col_list > li:nth-of-type(n+2) {
	margin-top: 3%;
}
/*color*/
.med_col_list.list__color dt .fw_bold {
	font-size: 90%;
}
/*icon*/
.med_col_list.list__icon .icon {
	width: 20%;
}
}


/*---------------------------------------------------------
 med_rank
---------------------------------------------------------*/
.med_rank {
	position: relative;
	display: flex;
	column-gap: 8%;
	font-size: min(1.6vw,106%);
	font-weight: var(--fw-bold);
	line-height: 1.4;
	letter-spacing: .14em;
	white-space: nowrap;
	background-color: #fff;
	padding: .9em 3%;
	margin-bottom: 1.2em;
	border-radius: .6em;
}
.med_rank > li {
	flex: 1;
}
.med_rank > li span {
	color: var(--color-bgrn);
	font-size: 105%;
	font-weight: normal;
	margin-left: 1.2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* .med_rank {
	width: 58%;
} */
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_rank {
	justify-content: center;
	column-gap: .8em;
	font-size: 75%;
	letter-spacing: .1em;
	padding: 1em 6%;
}
.med_rank > li span {
	margin-left: .6em;
}
}


/*---------------------------------------------------------
 med_mer_dem
---------------------------------------------------------*/
.med_mer_dem {
	margin-top: 3.4%;
}
.med_mer_dem dt {
	text-align: center;
	color: #FFF;
	font: var(--font-en);
	font-size: 133%;
	letter-spacing: .15em;
	background-color: var(--color-bgrn);
	padding: .6em;
	border-radius: .5em;
	margin-bottom: 1em;
}
.med_mer_dem .demerit dt { background-color: #969696;}

.med_mer_dem .com_list {
	row-gap: 1em;
	font-weight: var(--fw-bold);
}

/* 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%,490px));
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_mer_dem {
	margin-top: 6%;
}
.med_mer_dem dt {
	font-size: 110%;
}
.med_mer_dem > dl:first-of-type {
	margin-bottom: 6%;
}
.med_mer_dem .com_list {
	font-size: 90%;
}
}


/*---------------------------------------------------------
 med_qa
---------------------------------------------------------*/
.med_qa > li {
	padding: 0 3.8% 3.8%;
	border-bottom: 1px solid #e6e6e6;
	margin-bottom: 3.8%;
}
.med_qa > li:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.med_qa .qa_q,
.med_qa .qa_a {
	position: relative;
}
.med_qa .qa_q {
	color: var(--color-bgrn);
	padding-left: 9.6%;
	margin-bottom: 2em;
}
.med_qa .qa_a {
	font-size: 105%;
	padding-right: 9.6%;
}

.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,380%);
	letter-spacing: .1em;
	line-height: 1;
	white-space: nowrap;
	top: .15em;
}
.med_qa .qa_q::before {
	content: "Q.";
	left: 0;
}
.med_qa .qa_a::before {
	content: "A.";
	color: var(--color-pnk);
	right: 0;
}

.med_qa .qa_bbl {
	position: relative;
	font-weight: var(--fw-bold);
	line-height: 1.8;
	background-color: #fff;
	padding: 2.5% 4%;
	border-radius: 20px;
}
.med_qa .qa_bbl::before {
	position: absolute;
	content: "";
	background-color: inherit;
	width: 10px;
	height: 15px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	left: 100%;
	top: 2rem;
}
.med_qa .qa_q .qa_bbl {
	background-color: #e6e9e2;
	padding-top: .7em;
	padding-bottom: .7em;
}
.med_qa .qa_q .qa_bbl::before {
	left: auto;
	right: 100%;
	scale: -1 1;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.med_qa > li {
	padding: 0 2% 8%;
	margin-bottom: 8%;
}
.med_qa .qa_q {
	padding-left: 12vw;
	margin-bottom: 1em;
}
.med_qa .qa_a {
	font-size: 100%;
	padding-right: 12vw;
}
.med_qa .qa_q::before,
.med_qa .qa_a::before {
	font-size: 8vw;
}
.med_qa .qa_q::before {
	left: -0.2em;
}
.med_qa .qa_a::before {
	right: -0.2em;
}
.med_qa .qa_bbl {
	line-height: 1.6;
	padding: 7% 8%;
}
.med_qa .qa_bbl::before {
	top: 6vw;
}
.med_qa .qa_a .qa_bbl {
	padding: 8% 8% 9%;
}
}


/*---------------------------------------------------------
 med_step
---------------------------------------------------------*/
.med_step {
	list-style: none;
	counter-reset: stepCounter;
}
.med_step > li {
	position: relative;
	counter-increment: stepCounter;
	background-color: #fff;
	padding: 5%;
	margin-inline: auto;
	border-radius: 2em;
	margin-bottom: 5%;
}
.med_step > li:last-of-type {
	margin-bottom: 0;
}
.med_step > li::after {
	position: absolute;
	content: "";
	background-color: var(--color-bgrn);
	width: 35px;
	aspect-ratio: 35/23;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	inset: 100% 0 auto 0;
	margin: auto;
}
.med_step > li:last-of-type:after {
	display: none;
}
.med_step .com_h__min {
	padding-left: 3.6em;
}
.med_step .com_h__min::before {
	position: absolute;
	content: counter(stepCounter, decimal-leading-zero);
	width: 2em;
	font: var(--font-en);
	color: var(--color-bgrn);
	font-size: 135%;
	line-height: 0.8;
	letter-spacing: .15em;
	border-right: 1px solid var(--color-base);
	left: 0;
	top: 50%;
	translate: 0 -50%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.med_step > li::after {
	translate: 30% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_step > li {
	padding: 10% 6%;
	border-radius: 6vw;
	margin-bottom: 10%;
}
.med_step > li::after {
	width: 10%;
}
.med_step .com_h__min {
	padding-left: 3em;
}
.med_step .com_h__min::before {
	font-size: 120%;
}
}


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

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


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

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

}

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

}
