@charset "UTF-8";

.contentpage .m_img_area .m_img::before{
    background-image: url("../images/m_deco@2x.png");}


/*med_flt
---------------------------------------------------------*/
.med_flt{
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
}
.med_flt .img_r,
.med_flt .txt_r{
    float: right;
}
.med_flt .img_l,
.med_flt .txt_l{
    float: left;
}
.med_flt .img_r,
.med_flt .img_l {
	width: 37%;
    max-width: 450px;
}
.med_flt .txt_r,
.med_flt .txt_l{
	width: 59%;
}
.med_flt.img500 .img_r{
	width: 41%;
    max-width: 500px;
}
.med_flt.img500 .txt_l{
	width: 55%;
}
.med_flt.img380 .img_r{
	width: 31%;
    max-width: 380px;
}
.med_flt.img380 .txt_l{
	width: 65%;
}

.med_bdr{
    position: relative;
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.med_bdr::before{
    position: absolute;
    display: block;
    content: "";
    background: #BFC6C6;
    background-size: 100% auto;
    width: 105%;
    height: 1px;
    left: -2.5%;
    bottom: 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.med_bdr::before{
    width: 100%;
    left: 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_flt .img_r,
.med_flt .img_l {
    margin-bottom: .5rem;
}
.med_flt .txt_r,
.med_flt .txt_l{
	width: 100%!important;
    float: none!important;
}
.med_flt .img_r{
    margin-left: 4%;
}
.med_flt .img_l{
    margin-right: 4%;
}
.med_bdr{
    padding-bottom: 6%;
    margin-bottom:6%;
}
.med_bdr::before{
    width: 100%;
    left:0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_flt .img_r,
.med_flt .txt_r{
    float: none;
}
.med_flt .img_l,
.med_flt .txt_l{
    float: none;
}
.med_flt .img_r,
.med_flt .img_l {
	width: 70%!important;
    margin: 0 auto 4%;
}
.med_flt .img_r.sp_w,
.med_flt .img_l.sp_w{
	width: 90%!important;
}
.med_flt .txt_r,
.med_flt .txt_l{
	width: 100%!important;
}
.com_inbox1 .com_btn1{
    width: 100%;
    max-width: 100%;
    display: block;
    text-align: center;
}
.com_inbox1 .com_btn1 a{
    margin-left: auto;
    margin-right: auto;
}
.med_bdr{
    padding-bottom: 7%;
    margin-bottom: 7%;
}
.med_bdr::before{
    width: 100%;
    left:0;
}
}





/*med_box1
---------------------------------------------------------*/
.med_box1{
    border:2px solid #E8AF2E;
}
.med_box1 > .inbox{
    padding: 55px 4.5%;
    box-sizing: border-box;
}
.med_box1 .med_box1_index{
    position: relative;
    margin-bottom: 60px;
    background: #FAEFD5;
    padding: 30px 0 40px;
    text-align: center;
    border-radius: 10px;
}
.med_box1 .med_box1_index::before{
    position: absolute;
    display: block;
    content: "";
    background:url("../images/icon_box@2x.png")no-repeat top left;
    background-size: auto 100%;
    width: 250px;
    height: 80%;
    top:0;
    left: 0;
}
.med_box1 .med_box1_index .ft_min,
.med_box1 .med_box1_index .ft_ad{
    position: relative;
    z-index: 2;
}
.med_box1 .med_box1_index .ft_min{
    font-size: min(210%,3.2vw);
    letter-spacing: 0.01em;
    font-feature-settings: "palt";
    line-height: 1.6em;
}
.med_box1 .med_box1_index .ft_ad{
    line-height: 1em;
    margin-top: .5em;
}
.med_box1 .col3{
    display: flex;
    justify-content: space-between;
    justify-content: start;
    margin-top: 30px;
}
.med_box1 .col3 li{
    width: 30%;
    margin-right: 5%;
}
.med_box1 .col3 li:nth-child(3n){
    margin-right: 0;
}
.med_box1 .col3 li .com_style1 dt{
    line-height: 1.3em;
}
.med_box1 .col3.type1 li .com_style1{
    margin-top: 1rem;
    text-align: center;
}
.med_box1 .col3.type2 li .img{
    margin-top: 2.3rem;
}
.med_box1 .med_bdr::before{
    width: 100%;
    left:0;
}
.med_box1 .com_style1 dt.icon::before{    color: #E8AF2E;}

.med_box1.pink{    border-color:#FFA191!important;}
.med_box1.pink .med_box1_index{    background: #FFF1EE!important;}
.med_box1.pink .icon::before{    color: #FFA191!important;}
.med_box1.purple{    border-color:#7C69AB!important;}
.med_box1.purple .med_box1_index{    background: #E5E1EE!important;}
.med_box1.purple .icon::before{    color: #7C69AB!important;}
.med_box1.blue{    border-color:#58B6C8!important;}
.med_box1.blue .med_box1_index{    background: #DEF0F4!important;}
.med_box1.orange{    border-color:#F09C41!important;}
.med_box1.orange .med_box1_index{    background: #FCEBD9!important;}
.med_box1.green{    border-color:#21B5AB!important;}
.med_box1.green .med_box1_index{    background: #E3F7F4!important;}
.med_box1.green .icon::before{    color: #73D9CA!important;}

.med_osusume{
    position: relative;
    padding: 45px 4% 45px 21.5%;
    box-sizing: border-box;
}
.med_osusume::before{
    position: absolute;
    display: block;
    content: "";
    background: #DEF0F4;
    background-size: 100% auto;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.med_osusume dt{
    position: absolute;
    top: -.7em;
    left: 4%;
    width: 16%;
}
.med_osusume dd li{
    position: relative;
    font-weight: bold;
    line-height: 1.6em;
    padding-left: 1.5em;
    box-sizing: border-box;
    margin-bottom: .6em;
}
.med_osusume dd li:last-child{
    margin-bottom: 0;
}
.med_osusume dd li::before{
    position: absolute;
    display: block;
    content: "";
    background: #58B6C8;
    background-size: 100% auto;
    width: .9em;
    height: .9em;
    top:.3em;
    left: 0;
    border-radius: 50px;
}
.med_osusume.green::before{    background: #E3F7F4;}
.med_osusume.pink::before{    background: #FFECE9;}
.med_osusume.orange::before{    background: #FCEBD9;}
.med_osusume.orange dd li::before{    background: #F09C41;}

.med_box1_sub{
    padding: 45px 5.4% 40px;
    box-sizing: border-box;
    background: #F9F8F6;
    border-radius: 30px;
}
.med_box1_sub .img_l{
    width: 42.5%;
}
.med_box1_sub .txt_r{
    width: 53%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_box1 > .inbox{
    padding: 4% 4% 8%;
}
.med_box1 .med_box1_index{
    margin-bottom: 5%;
}
.med_box1 .col3.type2 li .img{
    margin-top: 1rem;
}
.med_box1 .col3 li{
    width: 32%;
    margin-right: 2%;
}
.med_osusume{
    padding: 4% 4% 4% 21.5%;
}
.med_osusume dt{
    left: 3%;
    width: 16%;
}
.med_osusume dd li{
    padding-left: 1.4em;
    margin-bottom: .5em;
}
.med_box1_sub{
    padding: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_box1 > .inbox{
    padding: 4% 4% 8%;
}
.med_box1 .med_box1_index{
    margin-bottom: 5%;
    padding: 5vw 0 6vw;
}
.med_box1 .med_box1_index::before{
    background-size: 100% auto;
    width: 30%;
    height: 300px;
}
.med_box1 .med_box1_index .ft_min{
    font-size:130%;
    line-height: 1.4em;
}
.med_box1 .med_box1_index .ft_ad{
    margin-top: .4em;
}
.med_box1 .col3{
    display: block;
    margin-top: 5%;
}
.med_box1 .col3 li{
    width: 100%;
    margin-right: auto;
    border-bottom: 1px solid #BFC6C6;
    padding-bottom: 8%;
    margin-bottom: 8%;
}
.med_box1 .col3 li:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.med_box1 .col3 li:nth-child(3n){
    margin-bottom: 0;
}
.med_box1 .col3.type1 li .com_style1{
    margin-top: .8rem;
}
.med_box1 .col3.type2 li .img{
    margin-top: 1rem;
}
    
.med_osusume{
    padding: 20vw 4% 6%;
}
.med_osusume dt{
    top: -.7em;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 30%;
}
.med_osusume dd li{
    line-height: 1.6em;
    padding-left: 1.2em;
    margin-bottom: .5em;
}
.med_box1_sub{
    padding: 6% 4%;
}
}





/*med_box2
---------------------------------------------------------*/
.med_box2{
    background: #F5FAFA;
    padding: 55px 5% 60px;
    box-sizing: border-box;
    border-radius: 20px;
}
.med_box2 .tit{
    text-align: center;
    background: #CCE8E6;
    font-size: min(170%,2.8vw);
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    line-height: 1.6em;
    padding: .6em 0;
    margin-bottom: 40px;
    border-radius: 10px;
}
.med_box2 .img_l{
    width: 26%;
    max-width:280px;
}
.med_box2 .txt_r{
    width: 71%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_box2{
    padding: 4%;
}
.med_box2 .tit{
    margin-bottom: 3%;
}
.med_box2 .img_l{
    width: 30%;
    margin-right: 3%;
    margin-bottom: .5rem;
}
.med_box2 .txt_r{
    width:100%;
    float: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_box2{
    padding: 6% 4%;
}
.med_box2 .tit{
    font-size: 120%;
    padding: .8em 0;
    margin-bottom: 6%;
}
.med_box2 .img_l{
    width: 60%!important;
    margin: 0 auto 4%;
}
.med_box2 .txt_r{
    width:100%;
}
}




/*med_box3
---------------------------------------------------------*/
.med_box3{
	background-color: #EEEAD8;
	padding: 50px 4%;
}
.med_box3 .inbox{
	max-width: 1140px;
	margin: 0 auto; 
}
.med_box3 .inbox .tit{
	font-size: min(2.8vw,176%);
	letter-spacing: .08em;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 1.8em;
	position: relative;
}
.med_box3 .inbox .tit::before{
	position: absolute;
	content: "";
	background: url("../images/box3_tit_l.svg") no-repeat left top;
	background-size: 100% 100%;
	width: 1.44em;
	height: 1.44em;
	right: calc(50% + 10.5em);
	top:0.05em;
}
.med_box3 .inbox .tit::after{
	position: absolute;
	content: "";
	background: url("../images/box3_tit_r.svg") no-repeat right top;
	background-size: 100% 100%;
	width: 1.44em;
	height: 1.44em;
	left: calc(50% + 10.5em);
	top:0.05em;
}
.med_box3 ul{
	display: flex;
	justify-content: space-between;
}
.med_box3 ul li{
	max-width: 350px;
	width: 32%;
}

.med_box3 ul div{
	max-width: 278px;
	width: 80%;
	margin: 0 auto 30px;
	text-align: center;
}
.med_box3 ul dt{
	font-size: min(2.4vw,150%);
	letter-spacing: .05em;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 0.8em;
}
.med_box3_txt {
	font-size: min(2.4vw,150%);
	letter-spacing: .05em;
	line-height: 1.8;
	text-align: center; 
	padding: 1.2em 4%;
	box-sizing: border-box;
	background-color: #E2DBBE;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

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





/*med_flow_box
---------------------------------------------------------*/
.med_flow_box{
	background-color: #F9F8F6;
	padding: 60px 3%;
	box-sizing: border-box;
    border-radius: 30px;
}
.med_flow_box > .ft_min{
    font-size: min(170%,2.8vw);
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    margin-bottom: 1em;
}
.med_flow_box ul{
	display: flex;
	justify-content: space-between;
    max-width: 915px;
    margin: 0 auto;
}
.med_flow_box ul li{
    width: 17.5%;
    text-align: center;
}
.med_flow_box ul li.arrow{
    width: 1.8%;
    padding-top: 70px;
}
.med_flow_box ul li .deco{
    position: relative;
}
.med_flow_box ul li .deco::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/basshi@2x.png") no-repeat top right;
    background-size: 100% auto;
    width: 55%;
    height: 500px;
    top: -1.5em;
    right:-1.7em;
}
.med_flow_box ul li dl{
    margin-top: .8em;
}
.med_flow_box ul li dt{
    font-size: min(160%,2.8vw);
    line-height: 1em;
    color: #21B5AB;
    margin-bottom: .4em;
}
.med_flow_box ul li dd{
    line-height: 1.7em;
    font-feature-settings: "palt";
}

.med_flow_box ul.flow4{
    max-width: 932px;
}
.med_flow_box ul.flow4 li{
    width:20%;
}
.med_flow_box ul.flow4 li.arrow{
    width: 2%;
    padding-top: 90px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_flow_box{
	padding: 5% 3%;
}
.med_flow_box > .ft_min{
    margin-bottom: .6em;
}
.med_flow_box ul li.arrow{
    padding-top: 7vw;
}
.med_flow_box ul li .deco::before{
    top: -1vw;
    right:-1.5vw;
}
.med_flow_box ul li dl{
    margin-top: .7em;
}
.med_flow_box ul li dt{
    margin-bottom: .2em;
}
.med_flow_box ul li dd{
    font-size:85%;
    letter-spacing: normal;
    line-height: 1.6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_flow_box{
	padding: 7% 4%;
}
.med_flow_box > .ft_min{
    font-size: 120%;
    margin-bottom: .8em;
}
.med_flow_box ul{
	display: block;
}
.med_flow_box ul li{
    width: 100%!important;
    display: flex;
    justify-content: space-between;
}
.med_flow_box ul li.arrow{
    width: 100%!important;
    padding-top: 0!important;
    margin: 3% 0 2%;
    transform: rotate(90deg);
}
.med_flow_box ul li .img{
    width: 30%;
}
.med_flow_box ul li .deco::before{
    top: -1.7vw;
    right:-1.7vw;
}
.med_flow_box ul li dl{
    width: 64%;
    margin-top: 1rem;
    text-align: left;
}
.med_flow_box ul li dt{
    font-size: 120%;
    margin-bottom: .2em;
}
.med_flow_box ul li dd{
    font-size:90%;
    line-height: 1.6em;
}
}





/*med_check
---------------------------------------------------------*/
.med_check {
    position: relative;
    background: #FCF8DC;
    border-radius: 80px 80px 0 0;
    padding: 90px 4% 80px;
    box-sizing: border-box;
}
.med_check::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/icon_check@2x.png")no-repeat top center;
    background-size: 100% auto;
    width: 135px;
    height: 64px;
    top:-20px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.med_check dl{
    text-align: center;
    margin-bottom: 40px;
}
.med_check dl dt{
    font-size: min(150%,2.6vw);
    letter-spacing: 0.05em;
    line-height: 1em;
    margin-bottom: 1em;
}
.med_check dl dd{
    font-size: min(280%,4.2vw);
    letter-spacing: 0.1em;
    line-height: 1em;
}
.med_check ul{
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
    max-width: 1060px;
    margin: 0 auto;
}
.med_check ul li{
    width: 48%;
    font-size:120%;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    box-sizing: border-box;
    position: relative;
    border-bottom: dotted 2px #293F42;
    padding: 2em 0 1.2em 3em;
}
.med_check ul li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/check_yellow.svg")no-repeat top left;
    background-size: 100% auto;
    width: 1.5em;
    height: 1.5em;
    top:2em;
    left: 1em;
}
.med_check p{
    text-align: center;
    font-size: min(170%,2.5vw);
    list-style-type: 0.01em;
    font-feature-settings: "palt";
    line-height: 1.6em;
    margin-top: 3em;
    color: #E5A411;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_check {
    padding: 8vw 4% 6%;
}
.med_check::before{
    width: 13vw;
    top:-2vw;
}
.med_check dl{
    margin-bottom: 3%;
}
.med_check ul li{
    font-size:105%;
    letter-spacing: normal;
    padding: 1.5em 0 1em 1.8em;
}
.med_check ul li::before{
    width: 1.3em;
    height: 1.3em;
    top: 1.6em;
    left: 0;
}
.med_check p{
    margin-top: 1.5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_check {
    padding: 13vw 4% 8%;
    border-radius: 50px 50px 0 0;
}
.med_check::before{
    width: 20vw;
    top:-2vw;
}
.med_check dl{
    margin-bottom: 4%;
}
.med_check dl dt{
    font-size: 95%;
    letter-spacing: 0.01em;
    margin-bottom: 1em;
}
.med_check dl dd{
    font-size: 150%;
}
.med_check ul li{
    width: 100%;
    font-size: 100%;
    letter-spacing: normal;
    padding: 1.3em 0 .8em 1.6em;
}
.med_check ul li::before{
    width: 1.2em;
    height: 1.2em;
    top:1.5em;
    left: 0;
}
.med_check p{
    font-size:110%;
    margin-top: 1.2em;
}
}





/*med_col_list
---------------------------------------------------------*/
.med_col_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.med_col_list li{
    width: 32%;
    max-width: 380px;
    background: #F4F5F6;
    border-radius: 20px;
    padding: 50px 2.5%;
    box-sizing: border-box;
    margin-top: 40px;
}
.med_col_list li:nth-child(-n+3){
    margin-top: 0;
}
.med_col_list li .tit1{
    text-align: center;
    font-size: min(2.7vw,170%);
    letter-spacing: 0.01em;
    font-feature-settings: "palt";
    line-height: 1.5em;
    margin-bottom: .5em;
}
.med_col_list li .tit2{
    text-align: center;
    font-size: min(2vw,130%);
    font-weight: bold;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    line-height: 1.6em;
    padding: .3em 0;
    box-sizing: border-box;
    border-radius: 50px;
    background: #748384;
    color: #fff;
    margin-bottom: 1em;
}

.med_col_list li.pink{    background: #FFF1EE;}
.med_col_list li.pink .tit1{    color: #FF674D;}
.med_col_list li.pink .tit2{    background: #FFA191;}

.med_col_list li.green{
    background: #F5FAFA;
}
.med_col_list li.green .tit1{
    color: #21B5AB;
}
.med_col_list li.green .img{
    margin: -20px auto 1.2rem;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_col_list li{
    padding: 4vw 2.5%;
    margin-top: 2%;
}
.med_col_list li .tit1{
    letter-spacing: normal;
    margin-bottom: .3em;
}
.med_col_list li .tit2{
    letter-spacing: normal;
    margin-bottom: .8em;
}
.med_col_list li.green .img{
    width: 10vw;
    margin: -1vw auto 1rem;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_col_list{
	display: block;
}
.med_col_list li{
    width: 100%;
    max-width: 100%;
    padding: 7vw 4%;
    margin-bottom: 4%;
    margin-top: 0;
}
.med_col_list li:last-child{
    margin-bottom: 0;
}
.med_col_list li .tit1{
    font-size: 120%;
    margin-bottom: .3em;
}
.med_col_list li .tit2{
    font-size:100%;
    letter-spacing: 0.05em;
    margin-bottom: .8em;
}
.med_col_list li.green .img{
    width: 20vw;
    margin: -1vw auto 1rem;
}
}





/*med_merit_demerit
---------------------------------------------------------*/
.med_merit_demerit{
	display: flex;
	justify-content: space-between;
}
.med_merit_demerit dl{
    width: 49%;
    max-width: 590px;
}
dl.med_merit,
dl.med_demerit{
    border: 1px solid #FFA191;
    padding: 30px 2rem 35px;
    box-sizing: border-box;
}
dl.med_demerit{
    border-color: #66778C;
}
dl.med_merit dt,
dl.med_demerit dt{
    font-size: min(160%,2.5vw);
    letter-spacing: 0.01em;
    line-height: 1em;
    padding-bottom: 1em;
    margin-bottom: 1em;
    background: url("../images/line_demerit.svg")no-repeat bottom left;
    background-size: 100% auto;
    text-align: center;
}
dl.med_demerit dt{
    background-image: url("../images/line_merit.svg");
}
dl.med_merit dd,
dl.med_demerit dd{
    text-align: center;
}
dl.med_merit dd ul,
dl.med_demerit dd ul{
    text-align: left;
    max-width: 460px;
    margin: 0 auto;
}
.med_merit_list li,
.med_demerit_list li{
    font-weight: bold;
    line-height: 1.5em;
    position: relative;
    padding-left: 1.6em;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    margin-bottom: 1.2em;
}
.med_merit_list li:last-child,
.med_demerit_list li:last-child{
    margin-bottom: 0;
}
.med_merit_list li::before,
.med_demerit_list li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/icon_maru.svg")no-repeat top left;
    background-size: 100% auto;
    width: 1em;
    height: 1em;
    top:.2em;
    left: 0;
}
.med_demerit_list li::before{
    background-image: url("../images/icon_batsu.svg");}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
dl.med_merit,
dl.med_demerit{
    padding: 3vw 1rem 4vw;
}
.med_merit_list li,
.med_demerit_list li{
    padding-left: 1.4em;
    letter-spacing: normal;
    margin-bottom: .6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_merit_demerit{
	display: block;
}
.med_merit_demerit dl{
    width: 100%;
    max-width:100%;
}
dl.med_merit,
dl.med_demerit{
    padding: 5% 1rem 5%;
}
.med_merit_demerit dl.med_merit{
    margin-bottom: 4%;
}
dl.med_merit dt,
dl.med_demerit dt{
    font-size:115%;
    padding-bottom: 1em;
    margin-bottom: 1em;
}
.med_merit_list li,
.med_demerit_list li{
    font-size:95%;
    padding-left: 1.3em;
    letter-spacing: normal;
    margin-bottom: .6em;
}
.med_merit_list li::before,
.med_demerit_list li::before{
    width: .9em;
    height: .9em;
    top:.3em;
}
}




/* med_step
---------------------------------------------------------*/
.med_step > li{
    position: relative;
    padding-bottom: 60px;
    display: flex;
    justify-content: space-between;
}
.med_step > li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/line01.svg")repeat top left;
    background-size: 4px 364px;
    width: 4px;
    height:100%;
    top:.1em;
    left: 2.7rem;
    z-index: -1;
}
.med_step > li:last-child{
    padding-bottom: 0;
}
.med_step > li:last-child::before{
    display: none;
}

.med_step > li .number{
    width: 5.7rem;
}
.med_step > li .inbox{
    padding-left: 3rem;
    box-sizing: border-box;
    width: calc(100% - 5.7rem);
}
.med_step > li .inbox > .med_flt > .img_r{
    max-width: 380px;
    width: 35.5%;
}
.med_step > li .inbox > .med_flt > .txt_l{
    width: 60%;
}
.med_step > li .inbox > .com_style1 dt,
.med_step > li .inbox > .med_flt .com_style1 dt{
    color: #21B5AB;
}
.med_step .subbox{
    background: #F5FAFA;
    border-radius: 30px;
    padding: 45px 4%;
    box-sizing: border-box;
}
.med_step .subbox .img_l{
    width: 40%;
    max-width: 390px;
}
.med_step .subbox .txt_r{
    width: 56%;
}
.med_step .subbox .com_style1 dt{
    font-size: min(150%,2.5vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.med_step > li{
    padding-bottom: 8%;
}
.med_step > li::before{
    background-size: 4px 200px;
    width: 4px;
    top:.1em;
    left: 2.2rem;
}
.med_step > li .number{
    width: 4.5rem;
}
.med_step > li .inbox{
    padding-left: 1.3rem;
    width: calc(100% - 4.5rem);
}
.med_step > li .inbox > .med_flt > .img_r{
    width: 35.5%;
}
.med_step > li .inbox > .med_flt > .txt_l{
    width: 60%;
}
    
.med_step .subbox{
    padding: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.med_step > li{
    padding-bottom: 8%;
}
.med_step > li::before{
    background-size: 4px 200px;
    left: 2.1rem;
}
.med_step > li .number{
    width: 4.6rem;
}
.med_step > li .inbox{
    padding-left: 1rem;
    width: calc(100% - 4.6rem);
}
.med_step > li .inbox > .med_flt > .img_r{
    width: 80%!important;
    margin-bottom: 5%;
}
.med_step > li .inbox > .med_flt > .txt_l{
    width: 60%;
}
    
.med_step .subbox{
    padding:5%;
}
.med_step .subbox .com_style1 dt{
    font-size: 115%;
}
}




/*med_qa_list
---------------------------------------------------------*/
.med_qa_list li{
    position: relative;
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.med_qa_list li::before{
    position: absolute;
    display: block;
    content: "";
    background: #BFC6C6;
    background-size: 100% auto;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
}
.med_qa_list li:last-child{
    margin-bottom: 0;
}
.med_qa_list li dl{
    max-width: 1220px;
    margin: 0 auto;
}
.med_qa_list li dt,
.med_qa_list li dd{
    position: relative;
    padding-left: 4.5rem;
    box-sizing: border-box;
}
.med_qa_list li dt::before,
.med_qa_list li dd::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/icon_q@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 3.4rem;
    height: 3.4rem;
    left: 0;
}
.med_qa_list li dt::before{
    top:-0.5rem;
}
.med_qa_list li dd::before{
    top:.3rem;
    background-image: url("../images/icon_a@2x.png");
}
.med_qa_list li dt{
    font-size: min(160%,2.6vw);
    letter-spacing: 0.1em;
    line-height: 1.6em;
    color: #21B5AB;
    margin-bottom: 1em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.med_qa_list li::before{
    width: 100%;
    left: 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_qa_list li{
    padding-bottom: 5%;
    margin-bottom:5%;
}
.med_qa_list li::before{
    width: 100%;
    left: 0;
}
.med_qa_list li dt,
.med_qa_list li dd{
    padding-left: 3.8rem;
}
.med_qa_list li dt::before,
.med_qa_list li dd::before{
    width: 3rem;
    height: 3rem;
}
.med_qa_list li dt{
    letter-spacing: 0.05em;
    margin-bottom: .8em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_qa_list li{
    padding-bottom: 8%;
    margin-bottom: 8%;
}
.med_qa_list li::before{
    width: 100%;
    left:0;
}
.med_qa_list li dt,
.med_qa_list li dd{
    padding-left: 3.8rem;
}
.med_qa_list li dt::before,
.med_qa_list li dd::before{
    width: 3rem;
    height: 3rem;
}
.med_qa_list li dt::before{
    top:-0.4rem;
}
.med_qa_list li dt{
    font-size: 115%;
    letter-spacing: 0.01em;
    margin-bottom: .3em;
}
}





/* med_rank
---------------------------------------------------------*/
.med_rank{
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.2em;
    max-width: 650px;
}
.med_rank li{
    width: 32%;
    display: inline-block;
    text-align: center;
    font-size: min(120%,1.9vw);
    letter-spacing: 0.1em;
    line-height: 1em;
    font-weight: bold;
    background: #FBF6D3;
    color: #34B2C3;
    padding: .6em 0;
    border-radius: 50px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.med_rank{
    margin-bottom: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.med_rank{
    margin-bottom: 1em;
}
.med_rank li{
    width: 32.5%;
    font-size: 88%;
    letter-spacing: 0.05em;
}
}




/* med_price
---------------------------------------------------------*/
.med_price,
.med_price tr{
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    font-size: min(110%,2vw);
    letter-spacing: 0.1em;
    line-height: 1.6em;
    font-weight: bold;
}
.med_price th,
.med_price td{
    border-bottom: 2px solid #fff;
    background: #EDF7F6;
    padding: 1.2em 1.5em;
    box-sizing: border-box;
}
.med_price th{
    width: 50%;
}
.med_price td{
    position: relative;
    width: 50%;
    text-align: right;
}
.med_price td::before{
    position: absolute;
    display: block;
    content: "";
    background: #34B2C3;
    background-size: 100% auto;
    width: 1px;
    height: 60%;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}
.med_price td span{
    margin-left: -0.5em;
    font-weight: normal;
}
.med_price div{
    max-width: 360px;
    margin: 0 auto;
}
.med_price.orange th,
.med_price.orange td{    background: #FDF5EC;}
.med_price.orange td::before{    background: #F09C41;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.med_price th,
.med_price td{
    padding: 1em 1.2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.med_price,
.med_price tr{
    font-size: 90%;
    letter-spacing: normal;
}
.med_price th,
.med_price td{
    padding: 1.2em .5em 1.2em 1em;
}
}