@charset "UTF-8";

.main.index {
	float: none;
	width: 100%;
}

.main.index .h2_box h2 {
	font-size: 36px;
	line-height: 1.6;
	display: table;
	margin: 0 auto;
	text-align: center;
}

.main.index .h2_box h2 span {
	display: block;
	font-size: 50px;
}

.main.index h3 {
	font-size: 18px;
	text-align: center;
}

.main.index .top_box_copy {
	max-width: 700px;
	margin: 0 auto 50px;
}

.main.index article:last-of-type {
	margin-bottom: 0;
}


/*------------------------------------------
  firstview
------------------------------------------*/

.firstview {
	position: relative;
}

.firstview.inner {
	padding-bottom: 80px;
}

.firstview img {
	width: 54%;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: -1;
}

.firstview h2 {
	width: 65%;
	font-size: 32px;
	text-align: left;
}

.firstview p {
	width: 43%;
}


/*------------------------------------------
  top_box01
------------------------------------------*/

.top_box01 {
	padding: 100px 0 55px;
	background: url(img/bg/bg_stripe01.png);
	background-size: 6px;
}

.top_box01 .h2_box {
	padding: 30px 0 20px;
	background: url(img/bg/bg_top01.png) no-repeat right;
	background-size: cover;
}

.top_box01 h2 {
	position: relative;
}

.top_box01 h2:after {
	content: "";
	background: url(img/ico/ico_nintei.png) no-repeat center;
	background-size: contain;
	display: block;
	width: 111px;
	height: 95px;
	position: absolute;
	left: 102%;
	bottom: 70%;
}

.top_box01 article {
	padding: 25px 30px 45px;
	margin-bottom: 30px;
	background: #fff;
	overflow: hidden;
	position: relative;
}

.main .top_box01 article h3 {
	font-size: 30px;
	text-align: left;
	padding: 10px 0 10px 70px;
	margin-bottom: 20px;
	background: url(img/ico/ico_memo.png) no-repeat left center;
	background-size: 60px;
}

.top_box01 article img {
	width: 29%;
	border: 1px solid #000;
}

.top_box01 article:nth-of-type(odd) img {
	float: left;
	margin-right: 30px;
}

.top_box01 article:nth-of-type(even) img {
	float: right;
	margin-left: 30px;
}

.top_box01 .name_staff {
	display: inline;
	font-size: 24px;
	font-weight: bold;
	margin-right: 10px;
}

.top_box01 .name_clinic {
	display: inline;
	font-size: 15px;
}

.top_box01 article .btn_wrap {
	margin-top: 30px;
}

.top_box01 article .detail_link {
	position: absolute;
	right: 20px;
	bottom: 2px;
	font-weight: 600;
}

.top_box01 article:nth-of-type(even) .detail_link {
/* 	right: 312px; */
}

.top_box01 article .detail_link a {
	background: url(img/ico/ico_arrow01.png) no-repeat right 10px center;
  background-size: 14px;
	display: block;
	width: 100px;
}


/*------------------------------------------
  top_box02
------------------------------------------*/

.top_box02 {
	padding: 50px 0;
}

.top_box02 .h2_box {
	width: 85%;
	padding: 20px 0;
	margin-bottom: 30px;
	background: url(img/img/img_interview01.png) no-repeat left bottom;
	background-size: contain;
}

.top_box02 h2 {
	position: relative;
}

.top_box02 h2:after {
	content: "";
	background: url(img/ico/ico_oshiete.png) no-repeat center;
	background-size: contain;
	display: block;
	width: 111px;
	height: 95px;
	position: absolute;
	left: 92%;
	bottom: 50%;
}

.top_box02 article {
	width: 49.5%;
	padding: 45px 30px;
	margin-bottom: 10px;
	border: 2px dashed #c9c9c9;
	position: relative;
}

.top_box02 article:nth-of-type(odd) {
	float: left;
	clear: both;
}

.top_box02 article:nth-of-type(even) {
	float: right;
}

.main .top_box02 article h3 {
	font-size: 24px;
	margin-bottom: 5px;
}

.top_box02 article h3 span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.2;
}

.top_box02 article img {
	display: block;
	width: 50%;
	margin: 0 auto 15px;
}

.top_box02 article .txt_box {
	margin: 0 0 80px;
}

.top_box02 article .btn {
	position: absolute;
	bottom: 45px;
	left: 0;
	right: 0;
	margin: 30px auto 0;
}


/*------------------------------------------
  top_box03
------------------------------------------*/

.top_box03 {
	padding-bottom: 50px;
	background: url(img/bg/bg_dot02.png);
	background-size: 7px;
}

.top_box03 .h2_box {
	background: url(img/bg/bg_top02.png) no-repeat right;
	background-size: cover;
}

.top_box03 .h2_box .inner {
	padding: 60px 0 25px;
}

.top_box03 h2 {
	width: 100%;
	max-width: 800px;
	margin-bottom: 20px !important;
	padding: 30px 0 15px 70px;
	position: relative;
	background: url(img/img/img_honne01.png) no-repeat left center;
	background-size: 150px;
}

.top_box03 h2:after {
	content: "";
	background: url(img/ico/ico_kira.png) no-repeat center;
	background-size: contain;
	display: block;
	width: 50px;
	height: 65px;
	position: absolute;
	right: 40px;
	top: -5px;
}

.top_box03 .h2_box .inner .top_box_copy {
	margin-bottom: 0;
}

.top_box03 .article_wrap {
	padding: 30px 0;
	background: #fff;
	display: table;
}

.top_box03 article {
	width: 33.3%;
	padding: 0 25px 50px;
	display: table-cell;
	position: relative;
}

.top_box03 article + article {
	border-left: 1px solid #000;
}

.top_box03 article h3 {
	margin-bottom: 20px;
}

.top_box03 article .ico_honne {
	width: 55px;
	display: block;
	margin: 0 auto 10px;
}

.top_box03 article .img_fit_box {
	height: 150px;
}

.top_box03 article .btn {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}


/*------------------------------------------
  top_box04
------------------------------------------*/

.top_box04 {
	padding: 50px 0;
	background: #f4f4f4;
}

.top_box04 .h2_box {
	margin-bottom: 50px;
}

.top_box04 .h2_box h2 {
	width: 85%;
	background: url(img/img/img_ichiran01.png) no-repeat left center;
	background-size: contain;
}

.top_box04 .article_wrap {
	overflow: hidden;
}

.top_box04 article {
	width: 33%;
	float: left;
	border-right: 5px solid #f4f4f4;
	padding: 40px 30px 10px;
	background: #fff;
	border-radius: 10px 15px 15px 10px/10px 10px 10px 10px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	_::-webkit-full-page-media, _:future, :root .top_box04 article {
		min-height: 210px;
	}
}

.top_box04 article:nth-of-type(3n+1) {
	clear: both;
}

.top_box04 article:nth-of-type(n+4) {
	margin-top: .8%;
}

.top_box04 article h3 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	background: url(img/bg/bg_dot01.png) repeat-x bottom;
	background-size: 10px;
}


/*------------------------------------------
  top_box05
------------------------------------------*/

.top_box05 {
	padding: 40px 0 0;
	position: relative;
}

.top_box05:before {
	content: "";
	height: 30px;
	width: 100%;
	display: block;
	position: absolute;
	background: url(img/bg/bg_stripe01.png) bottom;
	background-size: 13px;
	top: 0;
}

.top_box05 .h2_box {
	margin-bottom: 50px;
}

.top_box05 .h2_box h2 {
	width: 85%;
	background: url(img/img/img_ichiran01.png) no-repeat left center;
	background-size: contain;
}

.main .top_box05 h3 {
	font-size: 24px;
	padding: 10px;
	margin-bottom: 30px;
	background: url(img/bg/bg_dot02.png);
	background-size: 12px;
}

.top_box05 .btn {
	margin: 50px auto 60px;
}

.top_box05 .btn.btn_last {
	margin: 50px auto 0;
}

/*------------------------------------------
  2020.12追加 .top_comparison
------------------------------------------*/
.top_comparison .h2_box {
  background: url(img/img/img_comparison01.png) no-repeat left bottom;
  background-size: contain;
}

.top_comparison h2:after {
  content: none;
}
.comparison_tbl{
  width:1000px;
  margin: 0 auto 50px;
}
.comparison_tbl td {
  border: 1px solid #dddddd;
  padding: 10px;
}
/* .comparison_tbl th:first-child, .comparison_tbl td:first-child, .comparison_tbl th:last-child, .comparison_tbl td:last-child {
  border-left: none;
  border-right: none;
} */

.comparison_tbl th {
  background: #f6f6f6;
  font-weight: bold;
  padding: 10px;
  border: 1px solid #dddddd;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
}

@media screen and (max-width: 768px) {

.main.index .h2_box h2 {
	font-size: 18px;
	text-align: left;
}

.main.index .h2_box h2 span {
	display: inline;
	font-size: 24px;
	margin-left: 5px;
}

.contents .main.index h3 {
	font-size: 18px;
}

.main.index .top_box_copy {
	margin: 0 auto 20px;
}


/*------------------------------------------
  firstview
------------------------------------------*/

.firstview.inner {
	padding: 20px 15px;
}

.firstview img {
	width: 100%;
	position: static;
	z-index: 0;
	margin-bottom: 20px;
}

.firstview h2 {
	width: 100%;
	font-size: 24px;
}

.firstview p {
	width: 100%;
}


/*------------------------------------------
  top_box01
------------------------------------------*/

.top_box01 {
	padding: 35px 0;
}

.top_box01 .inner {
	padding-top: 20px;
}

.top_box01 .h2_box {
	padding: 20px 5px;
}

.top_box01 h2 {
	font-size: 15px;
	display: block;
	width: 100%;
}

.top_box01 h2:after {
	width: 80px;
	height: 70px;
	right: 0;
	left: auto;
	bottom: 100%;
}

.top_box01 article {
	padding: 15px 15px 45px;
	margin-bottom: 15px;
}

.main .top_box01 article h3 {
	padding: 12px 0 12px 70px;
	background-size: 50px;
}

.main .top_box01 article img {
	float: none;
	width: 70%;
	margin: 0 auto 20px;
	display: block;
}

.top_box01 .name_staff {
	display: block;
	font-size: 24px;
	margin: 0 auto 5px;
}

.top_box01 .name_clinic {
	display: block;
	margin: 0 auto;
}

.top_box01 article:nth-of-type(even) .detail_link {
  right: 20px;
}


/*------------------------------------------
  top_box02
------------------------------------------*/

.top_box02 {
	padding: 0 0 15px;
}

.top_box02 .h2_box {
	width: 100%;
	margin-bottom: 15px;
	padding: 160px 0 0;
	background-position: center top;
	background-size: 150px;
}

.top_box02 h2:after {
	width: 80px;
	height: 70px;
	right: -35px;
	left: auto;
	bottom: 80%;
}

.main .top_box02 article {
	float: none;
	width: 100%;
	padding: 25px 15px;
	margin: 0 auto 15px;
}

.top_box02 article h3 span {
	font-size: 12px;
}

.top_box02 article .txt_box {
	margin: 0;
}

.top_box02 article .btn {
	position: static;
	margin-top: 10px;
	width: 100%;
}


/*------------------------------------------
  top_box03
------------------------------------------*/

.top_box03 {
	padding: 0;
}

.top_box03 .h2_box {
	background: none;
}

.top_box03 .h2_box .inner {
	padding: 15px 15px 0;
}

.top_box03 h2 {
	text-align: left;
	padding: 0 35% 0 0;
	background-position: right center;
	background-size: contain;
}

.top_box03 h2:after {
	left: -10px;
	top: -50px;
	bottom: auto;
	width: 40px;
}

.top_box03 .article_wrap {
	padding: 0 15px;
	display: block;
}

.top_box03 article {
	width: 100%;
	display: block;
	padding: 30px 0;
	position: static;
}

.top_box03 article + article {
	border: none;
	border-top: 1px solid #000;
}

.top_box03 article .btn {
	position: static;
	margin-top: 20px;
}


/*------------------------------------------
  top_box04
------------------------------------------*/

.top_box04 {
	padding: 0;
}

.top_box04 .h2_box {
	margin-bottom: 30px;
}

.top_box04 .h2_box h2 {
	width: 100%;
	padding: 120px 0 0;
	background-position: center top;
	background-size: 150px;
}

.top_box04 article {
	float: none;
	width: 100%;
	min-height: 100%;
	padding-bottom: 20px;
	margin: 0 auto;
	height: auto !important;
}

.main .top_box04 article:nth-of-type(n+2) {
	margin-top: 10px;
}

/*------------------------------------------
  top_box05
------------------------------------------*/

.top_box05 {
	padding-top: 15px;
}

.top_box05 .h2_box {
	margin-bottom: 20px;
}

.top_box05 .h2_box h2 {
	width: 100%;
	padding: 120px 0 0;
	background-position: center top;
	background-size: 150px;
}

.contents .main .top_box05 h3 {
	font-size: 15px;
	margin-bottom: 20px;
}

.top_box05 .btn {
	margin: 30px auto 40px;
}

.top_box05 .btn.btn_last {
	margin: 30px auto 0;
}
/*------------------------------------------
  2020.12追加 .top_comparison
------------------------------------------*/
  .top_comparison .h2_box {
      width: 100%;
      margin-bottom: 15px;
      padding: 180px 0 0;
      background-position: center top;
      background-size: 105px;
  }
 .main.index .top_comparison .h2_box h2 {
      text-align: center;
  }
}
