@charset "UTF-8";
h1, h2, h3, h4, h5, p, div, dt, dd, dl, img, input, form, ul, li, span, address, a, table {
	margin: 0;
	padding: 0;
}

/*==============
調整
==============*/
html {
  scroll-padding-top: 200px;
}

.google-maps {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
.youtube {
 position: relative;
 padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
 height: 0;
 overflow: hidden;
}
 
.youtube iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.pc {
	display: none;
}
.page {
	background: #FFF;
}
small a {
	color: #999;
}
img.radius30{
		border-radius: 30px;
	}
	
/*	title
/* ------------------------------------- */
#title {
margin: 70px 0 0 0;
width: 100%;
padding: 50px 0;
text-align: center;
position: relative;
}
#title::before{
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.5);
}
#title h2 {
font-size: 130%;
font-weight: normal;
color: #FFF;
display: inline-block;
position: relative;
  	}

.t_other {
background: url(../img/page/t_other.jpg) center center / cover no-repeat;
}

/*	tex
/* ------------------------------------- */
.tex{
clear: both;
padding-top: 6%;
padding-bottom: 6%;
line-height:1.8;
font-size:1em;
text-align:left;
overflow: hidden
}
.tex img {
	border: 0;
max-width: 100%;
height: auto;
margin: 0 auto;
}
.tex a {
	text-decoration: underline;
	color: #5f61b1;
	transition: 0.3s;
}

.tex a:hover {
	opacity: 0.5;
	text-decoration: underline;
}

.tex img a{
	border: 0;
}
.tex a:hover img {
  opacity: 0.6;
  transition: 0.5s;
}
.tex p {
line-height:2.1em;
}

/* midasi
/* ------------------------------------- */
h3.midasi {
padding: 1rem 2rem;
background-color: #5f61b1;
color: #fff;
font-weight: normal;
font-size: 1.2em;
margin-bottom: 2%;
clear: both;
border-radius: 100vh;
}
h4.midasi {
padding: .8em 0;
font-size: 1.2em;
line-height:	2em;
font-weight: normal;
color:#5f61b1;
	}
h4.midasi_innai {
padding: .3em 0;
font-size: 1.2em;
line-height:	1.5em;
font-weight: normal;
color:#5f61b1;
	}
h5.midasi {
padding: 0;
font-size: 1.2em;
line-height:	2em;
font-weight: normal;
color:#5f61b1;
	}
	
h3.midasi:after,
h5.midasi:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}
.i_title{
	color: #5f61b1;
	font-size: 150%;
	line-height: 170%;
	margin: 0px 0px 10px 0px;
	font-weight: normal;
}
/*医師紹介*/
.lines-on-sides{
  position: relative;
  top: 0;
  left: 0;
  text-align: left;
	font-size: 1.1em;
	margin: 20px 0 0 0 ;
}

/*背景に数字*/
.midasi-suuji {
    position: relative;
    padding-top: 1.5em;
    color: #333333;
}

.midasi-suuji::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    color: #fff776;
    font-size: 3em;
    line-height: 1;
    content: attr(data-number);
    pointer-events: none;
}



/*	img
/* ------------------------------------- */

img.aligncenter,
img.alignright,
img.alignleft,
img.alignnone {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 4%;
clear:both;
}
.alignright {
  float: none;
}
.alignleft {
  float: none;
}

.left,
.right{
	margin: 0;
}
.left img,
.right img img {
	width:100%;
}
.no,
.no_sp {
	display: none;
}
.edit {
	width:100%;
	font-size:80%;
}

/*	hr
/* ------------------------------------- */

hr {
	border-width: 1px 0px 0px 0px; /* 太さ */
	border-style: dotted; /* 線種 */
	border-color: #5f61b1; /* 線色 */
	height: 1px; /* 高さ */
max-width: 100%;
clear:both;
margin: 4% 0px;
}

/*	arvhive
/* ------------------------------------- */

.i_date2{
	color: #666;
}

.i_text_box{
	border-bottom: 1px solid #5f61b1;
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 30px 0px;
}

li.news_list_item a {
text-decoration: none;
}

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

　 ボタン　お知らせ一覧back

--------------------------------------------------------------------------------------------- */
.back_btn {
margin: 5% 0;
padding: 0
}
.back_btn ul{
	width:100%;
	margin:0 auto}
.back_btn ul:after {
  content: "";
  clear: both;
  display: block;
}
.back_btn ul li {
  list-style-type: none;
  display: block;
  float: left;
  margin-bottom: 2.87%;
  text-align: center;/* 見た目の調整 */
  width: 48%;
  margin-right: 2.88%;
}
.back_btn ul li:nth-child(2n) {
  margin-right: 0;
}

a.btn {
  font-size: 0.8em;
  line-height: 1.5;
  display: inline-block;
  padding: 1rem 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width:100%;
}
a.btn:hover,
.back_btn ul li:hover {
text-decoration: none;
}

a.btn--blue{
  color: #5f61b1;
  border: solid 1px #5f61b1;
}
a.btn::after{
content: '';
  position: absolute;
top:42%;
right: 13px;
width: 5px;
height: 5px;
border-top: 2px solid #5f61b1;
border-right: 2px solid #5f61b1;
transform: rotate(45deg);
transition: all .3s;
}
a.btn:hover::after{
right: 11px;
}

@media screen and (min-width:768px) {
.back_btn ul{
	width:500px;
}
}
/*	 pagination
/* ------------------------------------- */
.pagination {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 12px;
	line-height: 12px;
text-align: center;
}
.pagination-box {
	display: inline-block;
}
.pagination span, .pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 8px 10px 8px 10px;
	text-decoration: none;
	width: auto;
	color: #5f61b1; /* 文字色 */
	background: #e3e3f1; /* 背景色 */
}
.pagination a:hover{
	color: #fff; /* マウスホバー時の文字色 */
	background: #5f61b1; /* マウスホバー時の背景色 */
}
.pagination .current{
	padding: 8px 10px 8px 10px;
	background:#5f61b1; /* 現在のページの文字色 */
	color: #fff; /* 現在のページの背景色 */
}

/* form
/* ------------------------------------- */

.red {
	color: #FF3300;
}

span.wpcf7-list-item { display: block; }
.delivery{
	background: #FCF7EA;
	width: 100%;
	padding: 10px 0px;
}
input[type=checkbox] {
	float: left;
	margin: 7px 0px 0px 0px;
}
input[type=radio] {
	float: left;
	margin: 7px 7px 0px 0px;
}
.wpcf7-not-valid-tip {
		color: #FF3300;
		margin: 0px 0px 0px 10px;
}

.wpcf7-text {
height: 35px !important;
		font-size:100%;
}
.form-width { width: 93%;}
.wpcf7 textarea {
height: 200px !important;
		 width: 93%;
		font-size:100%;
}
.wpcf7 select {
		font-size:100%;
height: 35px !important;

}

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

　 table 色つける

--------------------------------------------------------------------------------------------- */
/* table */
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-style: solid;
border-width: 0;
border-top: #5f61b1 dotted 1px;
text-align: left;
}
table th {
background-color:#f0ffdb;
}
table th,
table td {
font-weight:normal;
padding: 15px 15px;
border-bottom: #5f61b1 dotted 1px;
}
table#otoiawase th {
background-color:#f0ffdb;
width: 100%;
padding: 15px;
}
table#otoiawase td {
padding: 15px 0;
}
table#otoiawase th,
table#otoiawase td {
font-weight:normal;
border-bottom: #5f61b1 dotted 1px;
}

table.mobile-block {
border-left: none;
}
table.mobile-block th,
table.mobile-block td {
border-right: none;
}
table.mobile-block th{
color:#444;
}
table td img {
margin: 0;
margin-bottom:0px;
}
.contactform-width {
width: 80%;
}
.form_moji {
font-size: 130%;
}
/* 画像用 */
table.topwaku td,
table.topwaku {
font-weight:normal;
padding: 0 10px;
border: none;
border-top: none;
}
textarea{
width:100%;
padding:0;
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Chrome, Safari */
}
input[type="text"] ,input[type="email"] ,input[type="tel"] {
width:auto;
padding:5px 0;
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Chrome, Safari */
}

/* お問い合わせボタン */
.buttonContainer {
text-align: center;
padding: 20px 0 0 0;
}
.buttonContainer #button {
width: 90%;
display: inline-block;
font: normal normal 300 1.3em '';
text-decoration: none;
color: #5f61b1;
background-color: transparent;
border: 1px solid #5f61b1;
padding: .6em 1em;
margin: 5px;
background-size: 200% 100%;
background-color: #fff;
transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}
.buttonContainer #button:hover {
color: rgba(255, 255, 255, 1);
background-color: #5f61b1;
background-position: -100% 100%;
}
/* 確認赤枠 */
.red_line {
padding: 1em;
margin: 2em 0;
font-weight: bold;
border: solid 1px red;
color:red
}
.red_line p {
margin: 0; 
padding: 0;
}
@media screen and (min-width: 768px) {
.buttonContainer #button {width: 240px;}
table#otoiawase th {
width: 30%;
}
table#otoiawase th,
table#otoiawase td {
padding: 15px;
}
}
@media (max-width:767px){
table.mobile-block,
table.mobile-block th,
table.mobile-block td{border:none;}
table.mobile-block th,
table.mobile-block td{width:100%;display:block;}
table.mobile-block th,
table#otoiawase th,
table#otoiawase td{border-bottom:none;}}
/* 必須マーク */
.must {	background: #5f61b1;}
/* 任意マーク */
.free {	background: #999;}
.must,
.free {
	color: #FFF;
	font-size: 12px;
	margin-right: 10px;
	padding: 5px 10px;
	letter-spacing: 0.2em;
}

/* 当院について table*/
.responsive-table {
  width: 100%;
  border-collapse: collapse;
}
.responsive-table td:first-child {
  width: 20%;
}
.responsive-table td:last-child {
  width: 70%;
}
/* スマホ用（幅768px以下） */
@media (max-width: 768px) {
  .responsive-table tr {
    display: block;
  }
  .responsive-table td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
    border-right: none; /* 右側の線を消す */
  }
  .responsive-table td:first-child {
    border-bottom: none;
  }
}



/* ------------------------------------- */
/*	 resposive480
/* ------------------------------------- */
@media screen and (min-width: 480px) {

#title h2 {
font-size: 150%;
}
}

/* ------------------------------------- */
/*	 resposive768
/* ------------------------------------- */
@media screen and (min-width: 768px) {
.pc {
	display: block;
}
#title h2 {
font-size: 180%;
}
.message_m {
	font-size:200%;
  }
.tex {
padding: 40px 0px;
}
hr {
margin: 2% 0px;
}
.left {
	width:48%;
	float: left;
}
.right {
	width:48%;
	float: right;
}

.no_sp {
	display: block;
}
.no_s {
	display: none;
}
	
/*	 pagination
/* ------------------------------------- */
.pagination {
	font-size: 14px;
	line-height: 14px;
padding: 0;
}
.pagination span, .pagination a {
	padding: 10px 15px 10px 15px;
}
.pagination .current{
	padding: 10px 15px 10px 15px;
}
.more a {
	margin: 30px auto 0px auto;
}
.i_title{
	font-size: 200%;
	margin: 0px 0px 30px 0px;
}

/*	 midasi
/* ------------------------------------- */
h3.midasi {
font-size: 1.5em;
}
h4.midasi,
h5.midasi{
font-size: 1.4em;
}
}


/* ------------------------------------- */
/*	 resposive980
/* ------------------------------------- */
@media screen and (min-width: 980px) {
/*	title
/* ------------------------------------- */
#title {
margin: 130px 0 0 0;
	padding: 120px 0;
}
#title h2 {
font-size: 250%;
}
#title h2:before {
  bottom: -20px; /*下線の上下位置調整*/
}
.tex {
padding: 60px 0px;
width: 980px;
margin: auto;
}

.left {
	width:47%;
	float: left;
}
.right {
	width:47%;
	float: right;
}



/*	arvhive
/* ------------------------------------- */
.i_date,
.i_text{
	float: left;
}
.info_box img {
width: 70px;
height: 70px;
float: left;
padding: 1px;
margin: 0px 10px 0px 0px;
}

img.centered {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
clear:none;
}
img.alignright {
margin-left: 20px;
margin-right: 0;
margin-bottom: 20px;
display: inline;
clear:none;
}
img.alignleft {
margin-left: 0;
margin-right: 20px;
margin-bottom: 20px;
display: inline;
clear:none;
}
img.alignnone {
margin-left: 0;
margin-right: 0;
margin-bottom: 20px;
clear:none;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}
.no {
	display: block;
}
.no_p {
	display: none;
}
/*	 pagination
/* ------------------------------------- */
.pagination {
width: 980px;
margin: auto;
}
}
/* ---------------------------------------------------------------------------------------------

　ギャラリー

--------------------------------------------------------------------------------------------- */
.gallery { /** ギャラリーを囲むボックス **/
width: 100%;
margin-bottom: 20px !important;
overflow: hidden;
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}

.gallery br {display: none;} /** 自動で挿入される clearfix の余白解除 **/

.gallery-item { /** 画像共通のスタイル **/
float: left;
margin-bottom: 0 !important;
}
.gallery-icon { /** 画像を囲む dt のスタイル **/
text-align: center;
}

.gallery-icon img {
width: 100%;
height: auto;
margin-bottom: 10px !important;
border-radius: 20px;
}

.gallery-columns-1 .gallery-item { /** カラムなし **/
width: 100%;
margin-right: 0;
}
.gallery-columns-2 .gallery-item { /** 2カラム **/
width: 48%;
margin: 0 1%;
}
.gallery-columns-3 .gallery-item { /** 3カラム **/
width: 31.33333%;
margin: 0 1%;
}
.gallery-columns-4 .gallery-item { /** 4カラム **/
width: 23%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item { /** 5カラム **/
width: 18%;
margin: 0 1%;
}

@media (max-width:767px){
.gallery-columns-5 .gallery-item,
.gallery-columns-4 .gallery-item{
width: 31.33333%;
margin: 0 1%;
}
}
/* ---------------------------------------------------------------------------------------------

　キャプション

--------------------------------------------------------------------------------------------- */
.gallery-caption,
.wp-caption-text { /** キャプション **/
color: #222;
font-size: 14px;
margin: 0 0 10px;
text-align: center;
padding: 5px 0 20px 0;
}
@media (max-width:767px){
.wp-caption-text {
   font-size: 80%;
	 line-height: 1.5em;
	 text-align: left
}
}
/* ------------------------------------- */
/*	 カード
/* ------------------------------------- */
#cardlayout-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 1em auto;
    max-width: 980px;
    width: 97%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

/* カードレイアウト内の画像を幅いっぱいに表示 */
#cardlayout-wrap img {
    display: block;
    width: auto;
    height: 50px;
		margin: 0 auto;
		padding-top: 40px
}

.card-figure {
    margin: 0;
    padding: 0;
}

/* カードレイアウトのタイトル部分 */
.card-title {
    margin: 0.6em 0;
    color: #333;
    text-align: center;
    font-size: 1.3em;
		font-weight: normal;
		position: relative;
}


/* カードレイアウトを1カラムで配置 */
.card-list {
    margin: 0.5em auto;
    padding: 0;
    width: calc(96% / 3);
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		border-radius: 10px
}

.card-list a,
.card-list a:hover{
    text-decoration: none;
}

    
/* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    #cardlayout-wrap::after{
        content: "";
        display: block;
        width: calc(96% / 3);
    }
@media (max-width:767px){
#cardlayout-wrap img {
    height: 40px;
		padding-top: 20px
}
.card-title {
    font-size: 0.8em;
		line-height: 1.1;
		padding: 0 10px 10px 10px
}
}
/* ---------------------------------------------------------------------------------------------

　2等分

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

.boxA {
margin-bottom: 5%
}
.boxA:after {
	content: "";
	display: block;
	clear: both
}
.box50_l img,.box50_r img,
.box50_l_innai img,.box50_r_innai img{
border-radius: 30px;
}
.box70_l_innai img,.box70_r_innai img{
border-radius: 20px;
}

@media screen and (min-width: 768px) {
	.box50_l{
		float: left;
		width: 46%
	}
	.box50_r{
		float: right;
		width: 46%
	}
		.box50_l_innai{
		float: left;
		width: 46%
	}
	.box50_r_innai{
		float: right;
		width: 46%
	}
/* 院内案内 */
.box70_l_innai{
		float: left;
		width: 66%
	}
	.box70_r_innai{
		float: right;
		width: 26%
	}
}
@media (max-width:767px) {
	.box50_l,.box50_r,
	.box50_l_innai,.box50_r_innai,
	.box70_r_innai{
		margin-bottom: 40px
	}
	.box70_l_innai img{
		margin-bottom: 10px
	}
.box50_l img,.box50_r img{
width: 60%
	}

}

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

　囲み枠

--------------------------------------------------------------------------------------------- */
.box_bg {
    padding: 1.5em 2em;
    margin: 2em 0;
    background: #f0f0f8;
		border-radius: 30px;
}
.box_bg p {
    margin: 0; 
    padding: 0;
}
@media (max-width:767px) {
.box_bg {
    padding: 1.5em 1.5em;
}
}
/* ---------------------------------------------------------------------------------------------

　当院について　アコーディオン

--------------------------------------------------------------------------------------------- */
.accordion-etc {
    max-width: 100%;
    background-color: #f0f0f8;
		margin-bottom: 7px;
}
.accordion-etc summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background-color: #5f61b1;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-etc summary::-webkit-details-marker {
    display: none;
}

.accordion-etc summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-etc[open] summary::after {
    transform: rotate(225deg);
}

.accordion-etc p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-etc[open] p {
    transform: none;
    opacity: 1;
}