.page-main{
	width: calc(100% - 90px);
	margin: 0 auto;
}
	.page-main img{ width: 100%; }

/****** fonts ******/

.container h1{
	font-size: 30px;
	text-align: center;
	position: relative;
	margin: 90px 0 74px;
	padding-bottom: 4px;
}
.container h1:after{
	content: '';
	width: 30px;
	height: 1px;
	background: #1d2183;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.container h2{
	font-family: ten-mincho-text, serif;
	font-size: 28px;
	color: #fff;
	/*background: #33a9e1; 
	background: -moz-linear-gradient(-45deg, #33a9e1 0%, #0076be 32%, #004da0 100%); 
	background: -webkit-linear-gradient(-45deg, #33a9e1 0%,#0076be 32%,#004da0 100%); 
	background: linear-gradient(135deg, #33a9e1 0%,#0076be 32%,#004da0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33a9e1', endColorstr='#004da0',GradientType=1 ); */
	border-radius: 7px;
	padding: 0 20px;
	margin: 80px 0 30px;
	background: rgb(0,60,160);
    background: -moz-linear-gradient(left, rgba(0,60,160,1) 0%, rgba(5,35,124,1) 50%, rgba(0,11,83,1) 100%);
    background: -webkit-linear-gradient(left, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
    background: linear-gradient(to right, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003ca0', endColorstr='#000b53',GradientType=1 );
}

.taku h3{
    margin: 0px!important;
}

.container h3{
	font-family: ten-mincho-text, serif;
	font-size: 24px;
	color: #33a9ff;
	margin: 50px 0 30px;
}

.container h4{
	font-family: ten-mincho-text, serif;
	font-size: 20px;
	color: #1d2183;
	margin: 40px 0 20px;
}

.container p{
	font-size: 16px;
	margin-bottom: 1em;
}

.h4{
	font-family: ten-mincho-text, serif;
	font-size: 20px;
	color: #1d2183;
}
/****** layout ******/

.right-image, .left-image{
	display: flex;
	justify-content: space-between;
	margin: 90px 0;
}
	.right-image .left, .left-image .right{ width: 410px; }
	.right-image .right, .left-image .left{ width: 435px; }
	.right-image .left > *:first-child,
	.right-image .right > *:first-child,
	.left-image .left > *:first-child,
	.left-image .right > *:first-child,
	.container ul.flow-list li dd .txt > *:first-child{ margin-top: 0; }
	.right-image .left > *:last-child,
	.right-image .right > *:last-child,
	.left-image .left > *:last-child,
	.left-image .right > *:last-child,
	.container ul.flow-list li dd .txt > *:last-child{ margin-bottom: 0; }
	.round-wrap{
		width: 435px;
		height: 435px;
		border-radius: 220px;
		overflow: hidden;
	}
		.round-wrap img{ width: 100%; }


.container h1 + *,
.container h2 + *,
.container h3 + *,
.container h4 + *{ margin-top: 0 !important; }

.container table{
	width: 700px;
	margin: 40px auto;
}
.container table.half{ table-layout: fixed; }
	.container table th{
		font-size: 16px;
		color: #000;
		background: #ecf5fc;
		border: solid 1px #33a9ff;
		padding: 10px 20px;
		vertical-align: middle;
		text-align: center;
  }
  .container table td{
      font-size: 16px;
      color: #000;
      border: solid 1px #33a9ff;	
      padding: 10px 20px;
      vertical-align: middle;
      text-align: center;
  }
  .container table.recruit td{
      text-align: left
  }


	.recruit th{
		width: 147px;
	}

	.tablerecruithead {
		background-color: lightblue !important; 
}


.table-wrap{
	max-width: 700px;
	margin: 0 auto;
}
	.table-wrap dt{ 
		font-size: 18px;
		font-family: ten-mincho-text, serif;
		color: #1d2183;
		padding-left: 1em;
		border-left: solid 5px #1d2183;
		line-height: 1.4;
		margin-bottom: 20px;
	}
		.table-wrap dd table{ margin: 0; }
		.table-wrap dd table + p{
			text-align: right;
			margin-top: 0.6em;
			color: #33a9ff;
		}

.container ul.dot{
	max-width: 800px;
	margin: 40px auto;
}
	.container ul.dot li{
		font-size: 16px;
		padding-left: 1.5em;
		position: relative;
	}
	.container ul.dot li:before{
		content: '';
		width: 18px;
		height: 18px;
		background: url(../images/common/list-item01.png) no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 6px;
	}

.container ul.flow-list{
	counter-reset: flow;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
	.container ul.flow-list li{
		width: 425px;
		margin-top: 30px;
		margin-bottom: 33px;
	}
		.container ul.flow-list li dt{
			font-size: 18px;
			color: #fff;
			text-align: center;
			border-radius: 7px;
			
			position: relative;
			background: rgb(0,60,160);
    background: -moz-linear-gradient(left, rgba(0,60,160,1) 0%, rgba(5,35,124,1) 50%, rgba(0,11,83,1) 100%);
    background: -webkit-linear-gradient(left, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
    background: linear-gradient(to right, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
		}
		.container ul.flow-list li dt:before{
			counter-increment: flow;
			content: counter(flow,decimal-leading-zero);
			font-size: 20px;
			color: #1d2183;
			width: 55px;
			height: 56px;
			padding-left: 3px;
			background: url(../images/common/bg-flow-list01.png) no-repeat;
			background-size: contain;
			display: flex;
			align-items: center;
			justify-content: center;
			position: absolute;
		    left: -16px;
    		top: -18px;
		}
		.container ul.flow-list li dd{
			display: flex;
			justify-content: space-between;
			margin-top: 18px;
		}
			.container ul.flow-list li dd .txt,
			.container ul.flow-list li dd .img{ width: 205px; }
				.container ul.flow-list li dd .img img{
					width: 100%;
				}
				.container ul.flow-list li dd .txt p,
				.container ul.flow-list li dd .txt{ font-size: 14px; }


.container .wrap > *:last-child{ margin-bottom: 0 !important }
.container{ padding-bottom: 130px; }

.clinic-info{ background: #ecf5fc;}
.treatment{
	/*background: #33a9e1; 
	background: -moz-linear-gradient(-45deg, #33a9e1 0%, #0076be 32%, #004da0 100%);
	background: -webkit-linear-gradient(-45deg, #33a9e1 0%,#0076be 32%,#004da0 100%); 
	background: linear-gradient(135deg, #33a9e1 0%,#0076be 32%,#004da0 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33a9e1', endColorstr='#004da0',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	padding: 80px 0 160px;
	background: rgb(0,60,160);
    background: -moz-linear-gradient(left, rgba(0,60,160,1) 0%, rgba(5,35,124,1) 50%, rgba(0,11,83,1) 100%);
    background: -webkit-linear-gradient(left, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
    background: linear-gradient(to right, rgba(0,60,160,1) 0%,rgba(5,35,124,1) 50%,rgba(0,11,83,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003ca0', endColorstr='#000b53',GradientType=1 );
}
.treatment h2{ margin-bottom: 100px; }
.treatment h2, .treatment h2 span{ color: #fff; }
.treatment h2:after{ background: #fff; }
.futura{
	font-family: futura-pt, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.treatment h2{
	font-size: 30px;
	text-align: center;
	position: relative;
	padding-bottom: 6px;
}
.treatment h2:after{
	content: '';
	width: 35px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.treatment h2 span{
	color: #fff;
	font-size: 12px;
	line-height: 1;
	display: block;
	text-align: center;
}
.half_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.half_box .item{
	flex-basis: 48%;
}
.container .half_box table{
	width: 100%;
}
.container ul.dot.dr{
	width: 100%;
	margin: 0;
}
.container ul.dot.dr li{
	word-break: break-all;
}
.flex_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_box .item, .flex_box .item_img{
	flex-basis: 49%;
}
input[type="text"] {
    width: 100%;
}

textarea {
    width: 100%;
}
.submit_btn{
	width: 300px;
	margin: 0 auto;
}
.submit_btn p {
    text-align: center;
}
.submit_btn input{
	vertical-align:middle;
    background-color: #005fad;
    color: #fff;
    padding: 10px 20px;
	border-radius: 20px;
}
.submit_btn input:hover{
	background-color: #fff;
	color: #005fad;
	padding: 10px 20px;
}
h3.first.dr_maeda{
	font-size: 28px;
	line-height: 1.4;
}
h3.first.dr_maeda span{ font-size: 16px; }
.container .right-image h3, 
	.container .left-image h3, 
	.container .flex_box .item h3{
		margin: 0 0 1vw;
	}
header .head-nav .btn-list li:nth-of-type(1) .txt_sml2{
	padding-left: 0;
	font-size: .7em;
}

header .head-nav .btn-list li:nth-of-type(1) .txt_sml2:before{
	content: none;
}

ul.shorei{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	width: 800px;
	margin: 0 auto;
}

ul.shorei li{
	display: inline-block;
	width: 375px;
	font-size: 18px;
	font-weight: 600;
}
ul.shorei li img{
	width: 100%;
}

table.shorei_t th{
	width: 20%;
}

table.shorei_t td{
   text-align: left;
}

table.price_01 th{
	width: 38%;
}

table.price_01 td{
   text-align: left;
}






ul.access_flex{
	display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

body{
	counter-reset: number;
}

ul.access_flex li{
    display:inline-block;
	width: 48%;
	margin-bottom: 25px;
	position: relative;
}
ul.access_flex li img{
    width: 100%;
} 

ul.access_flex li:before{
	width: 50px;
	height: 50px;
	background: #1d2183;
	position: absolute;
	top:0;
	left: 0;
	counter-increment: number 1;
    content: counter(number, decimal-leading-zero) " ";
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding-top: 12px;
	box-sizing: border-box;
}

.btn_w{
	width: 260px;
}

.btn_w2{
	width: 285px;
}

.qa{
	font-size:21px;
	
}

.round-wrap2{
	border-radius: 0;
}

.right-image2{
	margin-bottom: 0;
}

.invi{
	margin-top: 35px;
}

.invi:hover{
	opacity: .7;
	transition: .3s;
}

strong{
	font-family: ten-mincho-text, serif;
	font-size: 16px;
	color: #1d2183;
    background: linear-gradient(transparent 65%,#91D1FF 40%);
   
   
}


.right-image-mgb{
	margin-bottom: 40px;
}

a.lp_banner:hover{
	opacity: .7;
	transition: .2s;
}

.btn_width{
	width: 335px;
}

ul.flex_3{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}

ul.flex_3 li{
	width: 30%;
}

ul.flex_3 li h4{
	margin: 0;
}

.jidv{
	cursor: pointer;
}

.jidv:hover{
	opacity: .7;
	transition: .2s;
}

.btn_long{
	width: 240px;
	margin-top: 20px;
}

.contact_btn input{
	background: #1d2183;
	color: #fff;
	padding: 10px;
	-webkit-appearance: none;
}

.contact_btn input:hover{
	background: #fff;
	color: #1d2183;
	transition: .2s;
}

/*↓20201221追加*/
.head-access .wrap {
    display: flex;
    justify-content: space-between;
}
.medicalmole {
    width: 400px;
}
.head-access .wrap .right {
    width: 435px;
}
.head-access h2 {
    font-size: 26px;
    display: table;
    border-bottom: solid 3px #33a9ff;
    margin-bottom: 26px;
}
.head-access h2 + p {
    font-size: 21px;
    margin-bottom: 20px;
}


.container .entry-content table{
width:100%;}

.container .entry-content img{
		width: 50%;
	}

.flex_box.case{justify-content: space-around;width: 100%;}
.flex_box.case .half {background-color: #ecf5fb; padding: 20px; box-sizing: border-box; width: 48%;margin-bottom: 10px; padding-bottom: 35px;}
.flex_box.case .half:nth-child(3n - 1){background-color: #ecf5fa;}
.flex_box.case .half:nth-child(3n){background-color: #ecf5fa;}
.flex_box.case .half h3 {margin: 0 0 10px; text-align: center;}
.flex_box.case .half h3:before {content: none;}
.flex_box.case .half a.btn{margin: 0 auto; width: 76%;}
.flex_box.case .half p{font-size: 22px;}
/**/

.flex_box .half img {
    width: 75%;
    display: block;
    margin: 0 auto;
	padding-bottom: 10px;
}
.flex_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 10px;
}

.cases{text-align: center;}

.flex_box .half h3 {color: #1e2183;}


/*ここから*/
.box.box-H > *.num.num-blue2 {
    background-color: #33a9ff;
}
@media (min-width: 688px)
.box.box-H > *.num {
    width: calc( 35px + ( ( 70 - 35 ) * ( 100vw / 1312 ) ));
}
@media (min-width: 688px)
.box.box-H > *.num {
    line-height: calc( 35px + ( ( 70 - 35 ) * ( 100vw / 1312 ) ));
}
@media (min-width: 688px)
.box.box-H > *.num {
    font-size: calc( 25px + ( ( 50 - 25 ) * ( 100vw / 1312 ) ));
}

.box.box-H > *.num {
    border-radius: 50%;
    color: #FFF;
    font-size: 25px;
    line-height: 35px;
    width: 35px;
    text-align: center;
}
.box.box-H > * {
    vertical-align: top;
}

.box.box-H > *.num.num-blue {
    background-color: rgb(0,60,160);
}
@media (min-width: 688px)
.box.box-H > *.num {
    width: calc( 35px + ( ( 70 - 35 ) * ( 100vw / 1312 ) ));
}
@media (min-width: 688px)
.box.box-H > *.num {
    line-height: calc( 35px + ( ( 70 - 35 ) * ( 100vw / 1312 ) ));
}
@media (min-width: 688px)
.box.box-H > *.num {
    font-size: calc( 25px + ( ( 50 - 25 ) * ( 100vw / 1312 ) ));
}
.box.box-H > *.num {
    border-radius: 50%;
    color: #FFF;
    font-size: 25px;
    line-height: 35px;
    width: 35px;
    text-align: center;
}
.box.box-H > * {
    vertical-align: top;
}

.lists.lists-A.lists-A-- {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
/*    align-items: stretch;*/
    padding: 50px 40px 0;
}
.fl {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color:#f2f2f2;
  
}
/*
.fl:nth-child(odd){
    padding-left: 20px;
}
*/

.ib {
    display: flex;
    padding-bottom: 10px;
}

@media (min-width: 1080px) and (min-width: 688px)
.box.box-H > *.text-box {
    width: calc( 100% - ( 25px + ( ( 50 - 25 ) * ( 100vw / 1312 ) ) ));
}


@media (min-width: 1080px) and (min-width: 688px)
.lists.lists-A.lists-A-- > .item:nth-of-type(even) {
    padding-left: calc( 15px + ( ( 30 - 15 ) * ( 100vw / 1312 ) ));
}
@media (min-width: 1080px)
.lists.lists-A.lists-A-- > .item:nth-of-type(even) {
    padding-left: 15px;
}

@media (min-width: 1080px)
.lists.lists-A.lists-A-- > .item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
}
.lists.lists-A.lists-A-- > .item {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 50%;
}


.lists.lists-A.lists-A-- > .item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    width: 100%;*/
}
.lists.lists-A.lists-A-- > .item {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
/*    width: 100%;*/
}



@media (min-width: 1080px){
.lists.lists-A.lists-A-- > .item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 45%;
}
.lists.lists-A.lists-A-- > .item {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 48%;
    
}

    }

.text{
    font-size: 20px!important;
    font-weight: 600;
}

.taku p{
    margin-bottom: 0px!important;
}

.fl{
  padding: 10px;
  margin-bottom: 40px;
}



/*20220721*/
.container .ac-child h4{
    border-bottom: 1px solid #1d2183;
    padding-bottom: 10px;
    text-align: left;
    font-weight: bold;
    padding-left:1em;
    text-indent:-1.5em;
}
.container .ac-parent h3 {
    margin-bottom: 0;
    text-align: left;
}
/*アコーディオンメニュー*/
.ac {   /* アコーディオンメニュー全体のサイズ・位置 */
	
}
.ac-parent {   /* クリック領域 */
	position: relative;
	border-bottom: 1px solid #171717;
	line-height: 20px;
	cursor: pointer;
	font-weight: bold;
	margin-top: 30px;
	padding-bottom: 10px;
	padding-right: 50px;
}
.ac-parent:hover {
	opacity: .7;
}
.ac-parent:first-of-type {
	margin-top: 0;
} 
.ac-parent:after {   /* 擬似要素で下三角形を作成 */
	content: "";
	display: inline-block;
	position: absolute;
	top: 45%;
	right: 30px;
	width: 10px;
	height: 10px;
	border-right: 3px solid #171717;
	border-bottom: 3px solid #171717;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}
.ac-parent.open:after {   /* オープン時にopenクラスを付与 */
	transform: rotate(225deg);
}
.ac-child {   /* クリックしたら表示される領域 */
	display: none;
	padding: 20px 20px 0;
	font-weight: bold;
}
/*//アコーディオンメニュー*/



.insta:hover{
	opacity: .7;
	transition: .2s;
}

.recruit:hover{
	opacity: .7;
	transition: .2s;
}

.sml{
	font-size: 13px;
}

.container p.point {
    text-align: center;
    font-size: 26px;
    font-family: trajan-pro-3, serif;
    margin-bottom: 10px;
    color: #1d2183;
}

.invi_point{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.invi_point li {
    width: 49%;
    text-align: center;
    font-size: 18px;
    margin-bottom: 15px;
    background: #1d2183;
	color: #fff;
    padding: 10px;
    font-weight: 600;
    font-family: 游明朝, YuMincho, yu-mincho-pr6n, sans-serif;
}

/*//20220721*/

@media (min-width: 1080px) and (min-width: 688px) {
.mainV h1{
		background-color: #E2E2F0;
		border-radius: 10px;
		opacity: 0.7;
		padding: 0 14px;
		font-size: 40px;
		 /* -webkit-writing-mode: vertical-rl;
		      -ms-writing-mode: tb-rl;
		          writing-mode: vertical-rl;*/
		position: absolute;
		top: 736px;
		left: 100px;
		/*top: 40px;
		right: 180px;*/
		line-height: 1.7;
		z-index: 100;
		height: 100px;
		padding-bottom: 160px;
	}
.mainV h1 span.small_title{ 
	    font-size: 24px;
	    position: relative;
	    top: 20px;
	    left: 5px;
    }
	}

.invi_img{
	position: relative;
}

.invi_img p{
	position: absolute;
    font-size: 34px;
    font-family: ten-mincho-text, serif;
    bottom: 20px;
    right: 0px;
    background: #fff;
    width: 470px;
    padding-left: 15px;
}





ol.number{
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}

ol.number li{
	font-size: 18px;
	line-height: normal;
}
ol.number li::before{
	counter-increment: listnum;
	content: counter(listnum) "."; /* 半角スペースを入れて""の中にピリオドを追加 */
	padding-right: 15px;
	color: #rgb(2 61 160);
	vertical-align: middle;
	font-size: 24px;
	font-family: roboto;
	font-weight: bold;
}

ol.number > li > ul.dot {
  counter-reset: listnum;  /* 子リスト内の番号をリセット */
}

ul.dot li {
  position: relative;
  counter-reset: item;  /* 子リストのカウンターをリセット */
}

ul.dot li::before {
  content: counter(item) ". ";  /* 各liの番号を表示 */
  counter-increment: item;  /* 項目ごとにカウンターをインクリメント */
  font-weight: bold;
  color: rgb(2, 61, 160);
  font-size: 20px;  /* サイズ調整 */
  padding-right: 10px;
}

.price_01.affiliated-clinic-table {
  border-collapse: collapse;
}
.price_01.affiliated-clinic-table th, .price_01.affiliated-clinic-table td {
  text-align: center;
  vertical-align: middle;
  padding: 10px;
  border: 1px solid #33a9ff;
}

.price_01.affiliated-clinic-table th {
	font-weight: bold;
}

.clinic-info p.bg-blue {
    background: #FFFF;
}
.clinic-info h2 {
    font-size: 30px;
    text-align: center;
    position: relative;
    padding-bottom: 6px;
}