img.rf15{
	float: right;
	margin: 0 0 20px 20px;
}
img.resize-small{
	width: 300px;
	height: auto;
}
@media screen and (max-width: 768px){
    img.rf15{
        float: none;
        display: block;
        margin: 20px auto;
    }
    img.resize-small{
        width: auto;
        max-width: 100%;
        height: auto;
    }
}

/*about
************************************************************************************/
.greeting img{
	width: 200px;
	height: auto;
	margin-right: 15px;
	float: left;
}

.boxstaff{
	margin: 30px 0;
	width: 100%;
	padding: 15px;
	box-sizing: border-box;
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #C0C0C0;
}
.boxstaff .portrait{
	width: 20%;
}
.boxstaff .portrait img{
	max-width: 100%;
	height: auto;
	margin: auto;
}
.boxstaff .prof{
	padding-left: 30px;
}
.boxstaff .name{
	color: #1c3177;
	padding: 0 0 0 15px;
	margin-bottom: 20px;
	font-size: 1.375em;
	font-weight: bold;
	border-left: 4px solid #1c3177;
}
.boxstaff ul.ar_gry li{
	margin: 5px 0;
	padding: 0 0 0 20px;
	width: auto;
	background: url("../../img/common/ar_gry.svg") no-repeat left 0.4em;
	background-size: 12px auto;
	border: 0;
}

#page_about table.line_btm th{
	width: 8em;
}

#page_about #research .text20{
	border: 1px solid #dedede;
	border-radius: 5px;
	margin: 20px 0 20px;
}
@media screen and (max-width: 599px) {
    .boxstaff{
        display: block;
    }
    .boxstaff .portrait{
        width: 100%;
        text-align: center;
    }
    .boxstaff .prof{
        padding: 1em 0 0;
    }
}

/*faq
************************************************************************************/
dl.faq{
	margin: 30px 0;
}
dl.faq dt{
	background: #f5f5f5;
	padding: 20px 20px 20px 60px;
	position: relative;
	margin: 5px 0;
}
dl.faq dt:before{
	content: "Q";
	display: inline-block;
	position: absolute;
	padding: 0em;
	color: #1c3177;
	border: 1px solid #1c3177;
	width: 30px;
	height: 30px;
	line-height: 25px;
	text-align: center;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}
dl.faq dd{
	padding: 20px 20px 20px 60px;
	position: relative;
	margin-bottom: 15px;
}
dl.faq dd:before{
	content: "A";
	display: inline-block;
	position: absolute;
	padding: 0em;
	color: #FFF;
	background: #1c3177;
	width: 30px;
	height: 30px;
	line-height: 25px;
	text-align: center;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

/*membership
************************************************************************************/
#page_membership section.section#corporation{
	padding: 30px 50px;
	box-sizing: border-box;
	background: #E2EEF4;
}
#page_membership section.section#corporation h1.lv_h1{
	display: flex;
	align-items: center;
	background: none;
	border: 0;
	padding: 0;
	margin: 0 0 .5em;
}
#page_membership section.section#corporation h1.lv_h1:before,
#page_membership section.section#corporation h1.lv_h1:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #000;
	display: block;
}
#page_membership section.section#corporation h1.lv_h1:before {
	margin-right: .4em;
}
#page_membership section.section#corporation h1.lv_h1:after {
	margin-left: .4em;
}

@media screen and (max-width: 768px){
    #page_membership section.section#corporation{
	    padding: 30px 30px;
    }
    #page_membership table{
        display: block;
        width: 100%;
    }
    #page_membership table thead{
        display: none;
    }
    #page_membership table tbody{
        display: block;
        width: 100%;
    }
    #page_membership table tr{
        display: block;
        width: 100%;
    }
    #page_membership table th,
    #page_membership table td{
        display: list-item;
        width: 100%;
        box-sizing: border-box;
        display: block;
    }
    #page_membership table th{
        margin-bottom: 5px;
        list-style-type: none;
        display: block;
    }
    #page_membership table td{
        margin-left: 0;
        list-style-type: none;
        border: 0;
        padding: 10px;
        text-align: left;
    }
    #page_membership table tbody td:before{
        font-weight: bold;
    }
    #page_membership table tbody td:nth-of-type(2):before { content: "[エッセンシャルプログラム]　"; }
    #page_membership table tbody td:nth-of-type(3):before { content: "[フルプログラム]　"; }
}

/*step
----------------------------------------------------------------------*/
.flow_stepbar {
  margin: 0 auto 30px auto;
  width: 96%;
}
.flow_stepbar .stepbarwrap {
  padding: 2em 0 2em;
  position: relative;
}
.flow_stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}
.flow_stepbar .stepbarwrap .steptitle .stepcircle {
	display: inline-block;
	width: 3em;
	height: 3em;
	content: "";
	border-radius: 50%;
	background: #1c3177;
	color: #fff;
	text-align: center;
	z-index: 10;
}

.flow_stepbar .stepbarwrap .steptitle .stepcircle span {
  display: inline-block;
  line-height: 0.8em;
  font-size: 1.5em;
  position: relative;
  top: 0.5em;
}

.flow_stepbar .stepbarwrap .steptitle .title {
	margin: 0.5em;
	font-weight: bold;
	font-size: 1.5em;
}

.flow_stepbar .stepbarwrap .steptxt {
	padding-left: 3.5em;
}

.flow_stepbar .stepbarwrap .steptxt .txt {
}

.flow_stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: #dedede;
  position: absolute;
  top: 2.5em;
  left: 1.5em;
  z-index: 5;
}

.flow_stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}



.flow_caution {
	width: 100%;
	padding: 60px 60px;
	box-sizing: border-box;
	position: relative;
	margin: 30px 0;
}
.flow_caution:before,
.flow_caution:after{
	position: absolute;
	font-size: 5em;
	font-weight: 700;
	color: #AEE3DC;
}
.flow_caution:before {
	top: 0;
	left: 0;
	content: """;
}
.flow_caution:after {
	bottom: 0;
	right: 0;
	content: """;
}



@media screen and (min-width: 1025px) {
/*pc*/
}
@media screen and (max-width: 1024px){
/*smart phone*/
  .flow_stepbar {
    width: 96%;
  }
}
@media screen and (max-width: 768px){
/*smart phone*/
}
@media screen and (max-width: 599px) {
/*sp*/
}
@media screen and (max-width: 415px){
}

/*program
************************************************************************************/
/*page_program_details*/

table.normal.course tr:nth-child(odd){
	background:#e4f4f4;
}
table.normal.course td:nth-of-type(2),
table.normal.course td:nth-of-type(3){
	text-align: center;
	width: 25%;
}

table.normal.price td:nth-of-type(1){
	background:#eeeeee;
	text-align: center;
}

table.normal.price td:nth-of-type(2),
table.normal.price td:nth-of-type(3){
	text-align: right;
	width: 25%;
}
/*page_option*/
.frame_ph_text {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 40px;
	row-gap: 20px;
	align-items: center;
}
.box_ph img {
	max-width: 100%;
	height: auto;
}
.page_option table.normal.course td:nth-of-type(2),
.page_option table.normal.course td:nth-of-type(3){
	text-align: left;
	width: auto;
}
.page_option table.normal.course tbody th{
	width: 11em;
}
.page_option ul.ar_gry li{
	padding: 3px 10px 3px 25px;
	background: url("../../img/common/ar_gry.svg") no-repeat left 5px center;
}
@media screen and (max-width: 768px){
    .frame_ph_text {
        grid-template-columns: 1fr;
    }
    .box_ph{
        text-align: center;
    }
    
    #page_program.page_option table{
        display: block;
        width: 100%;
    }
    #page_program.page_option table thead{
        display: none;
    }
    #page_program.page_option table tbody{
        display: block;
        width: 100%;
    }
    #page_program.page_option table tr{
        display: block;
        width: 100%;
    }
    #page_program.page_option table th,
    #page_program.page_option table td{
        display: list-item;
        width: 100%;
        box-sizing: border-box;
        display: block;
    }
    #page_program.page_option table th{
        margin-bottom: 5px;
        list-style-type: none;
        display: block;
    }
    #page_program.page_option table td{
        margin-left: 0;
        list-style-type: none;
        border: 0;
        padding: 10px;
    }
    #page_program.page_option table tbody td:before{
        font-weight: bold;
        display: block;
    }
    #page_program.page_option table tbody td:nth-of-type(1):before { content: "[主な検査（一部オプション検査含む）]"; }
    #page_program.page_option table tbody td:nth-of-type(2):before { content: "[対象の疾患例]"; }
}

@media screen and (max-width: 620px) {
	table.normal.price td:nth-of-type(2),
	table.normal.price td:nth-of-type(3){
		width: 100%;
	}
	
}


/*membership
************************************************************************************/
.frame_seminar{
	display: grid;
	grid-template-columns: 300px 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
	border-bottom: 1px solid #dedede;
}
.frame_seminar .ph img{
	max-width: 100%;
	height: auto;
	margin: auto;
}
@media screen and (max-width: 768px){
    .frame_seminar{
        grid-template-columns: 1fr;
        column-gap: 10px;
        row-gap: 10px;
    }
}

/*access
************************************************************************************/
.frame_access{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
}

/*sitemap
************************************************************************************/
.frame_sitemap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 40px;
	row-gap: 30px;
	align-items: stretch;
}
.frame_sitemap a {
	color: #000;
	text-decoration: none;
}

.frame_sitemap .lv_h3 {
	margin: 1.5em 0 .5em;
	font-size: 1.25em;
	
}

