@charset "UTF-8";

/*==============
調整
==============*/
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%;
}


/*メインコンテンツ
---------------------------------------------------------------------------*/
#main {
float: none;
width:100%;
overflow: hidden;
margin: 30px 0 0 0;
}
@media screen and (min-width:768px) {
#main {
margin: 10px 0 0 0;
}}


/*title
---------------------------------------------------------------------------*/
#title {
margin: 0;
width: 100%;
padding: 50px 0;
text-align: center;
position: relative;
border-radius: 50px 0;
}
#title::before{
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#title h2 {
font-size: 150%;
font-weight: normal;
color: #FFF;
display: inline-block;
position: relative;
font-family: serif;
}
.t_other {
background: url(../img/page/t_other.jpg) center 0px / cover no-repeat;
}

@media screen and (min-width:768px) {
#title {
border-radius: 80px 0;
}}


/*tex
---------------------------------------------------------------------------*/
.tex{
clear: both;
padding: 6% 0;
font-size:1em;
text-align:justify;
overflow: hidden
}
.tex img {
border: 0;
max-width: 100%;
height: auto;
margin: 0 auto;
border-radius: 20px;
}
.tex a {
text-decoration: underline;
color: #00a900;
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;
}


/*	NEWS
---------------------------------------------------------------------------*/
.news_list {
  margin: 0 auto;
	text-align: left;
	padding: 0;
	margin-top: 0;
}
.info_box a,
.info_box a:hover{
text-decoration:none
}

/* midasi
---------------------------------------------------------------------------*/
h3.midasi {
padding: 1rem 2rem;
background-color: #00a900;
color: #fff;
font-weight: normal;
font-size: 1.4em;
margin-bottom: 20px;
clear: both;
border-radius: 100vh;
font-family: serif;
}
h4.midasi {
font-size: 1.2em;
line-height:2em;
font-weight: normal;
color:#00a900;
font-family: serif;
padding: .3em .7em;
border-left: 3px solid #00a900;
}
h5.midasi {
padding: 0;
font-size: 1.2em;
line-height:2em;
font-weight: normal;
color:#00a900;
}

h3.midasi:after,
h4.midasi:after,
h5.midasi:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}
.i_title{
color: #00a900;
font-size: 150%;
line-height: 170%;
margin: 0px 0px 10px 0px;
font-weight: normal;
}


/*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%;
}
.edit {
width:100%;
font-size:80%;
}

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

/*arvhive
/* ------------------------------------- */
.i_date2{
color: #666;
}

.i_text_box{
border-bottom: 1px solid #fff;
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;
width:100%;
box-sizing:border-box;
}
.back_btn a{
margin:0 auto;
}
.back_btn a:after {
content: "";
clear: both;
display: block;
}
a.btn {
display:block;
padding: 1em 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;
color: #00a900;
border: solid 1px #00a900;
border-radius: 100vh
}
a.btn:hover{
opacity: 0.5;
text-decoration: none;
}
@media screen and (min-width:768px) {
.back_btn a{
width:250px;
}}



/* pagination
/* ------------------------------------- */
.pagination {
  clear: both;
  padding: 20px 0;
  margin-top: 30px !important;
  text-align: center;
  font-size: 12px;
  display: block;
}
.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: #00a900; /* 文字色 */
background: #f0ffdb; /* 背景色 */
}
.pagination a:hover{
color: #fff; /* マウスホバー時の文字色 */
background: #00a900; /* マウスホバー時の背景色 */
}
.pagination .current{
padding: 8px 10px 8px 10px;
background:#00a900; /* 現在のページの文字色 */
color: #fff; /* 現在のページの背景色 */
}



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

　 table 色つける

--------------------------------------------------------------------------------------------- */
/* table */
table {
width: 100%;
max-width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-top: #00a900 dotted 1px;
text-align: left;
}
table th {
background-color:#f0ffdb;
font-weight: normal;
}
table th,
table td {
font-weight: normal;
padding: 15px 0;
border-bottom: #00a900 dotted 1px;
box-sizing: border-box;
}
/* =========================
   お問い合わせテーブル
========================= */
table#otoiawase th {
background-color:#f0ffdb;
width: 100%;
padding: 15px;
color: #00a900;
vertical-align: middle;
}
table#otoiawase th,
table#otoiawase td {
font-weight:normal;
border-bottom: #00a900 dotted 1px;
}

/* =========================
   モバイルブロック
========================= */
table.mobile-block {
border-left: none;
}
table.mobile-block th,
table.mobile-block td {
border-right: none;
}
/* =========================
   画像
========================= */
table td img {
margin: 0;
}
/* =========================
   フォーム幅制御（重要）
========================= */
.contactform-width {
width: 100%;
}
/* 画像用 */
table.topwaku td,
table.topwaku {
font-weight:normal;
padding: 0 10px;
border: none;
border-top: none;
}
textarea{
width:100%;
padding: 15px;
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: 100%;
max-width: 100%;
padding: 5px 10px;
box-sizing: border-box;
}
/* =========================
   ボタン
========================= */
.buttonContainer {
text-align: center;
padding: 20px 0 0 0;
}
.buttonContainer #button {
width: 100%;
display: inline-block;
font: normal normal 300 1.3em '';
text-decoration: none;
color: #00a900;
border: 1px solid #00a900;
padding: .6em 0;
margin: 5px 0;
background-color: #fff;
border-radius: 100vh;
transition: all .3s ease;
}
.buttonContainer #button:hover {
color: #fff;
background-color: #00a900;
}
/* =========================
   チェックボックス拡大
========================= */
form .wpcf7-acceptance input[type="checkbox"] {
transform: scale(2.0);
margin: 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#otoiawase th,
table#otoiawase td {
display: block;
width: 100%;
padding: 10px;
border-bottom: none;
}
}

/* =========================
   その他
========================= */
.font-s {
font-size: 80%;
line-height:0.5em;
margin: 10px 0 0 0
}
/* 必須マーク */
.must {
background: #00a900;
color: #FFF;
font-size: 12px;
margin-right: 10px;
padding: 5px 10px;
letter-spacing: 0.2em;
}
table td:nth-child(1){
color: #00a900;
font-weight:bold
}

/* その他 */
table.sonota td:nth-child(1){
color: #00a900;
vertical-align: middle;
}
table.sonota td {
padding: 8px 0;
margin-bottom: 8px;
vertical-align: middle;
}

@media screen and (min-width: 768px) {
table.sonota td{
padding: 20px 20px 20px 0;
}
table.sonota td:nth-child(1){
width:30%;
}
}
@media all and (max-width: 767px) {
table.sonota td {
display: block;
width: 100%;
}
table.sonota td:nth-child(1){
padding: 8px 0 0 0;
border: none;
margin-bottom: 0
}
}

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

　 ボックス

--------------------------------------------------------------------------------------------- */
.border-box01 {
padding: 3em;
margin: 2em 0;
font-weight: normal;
border: solid 4px #abd6ab;
}
.border-box02 {
padding: 3em;
margin: 1em 0;
font-weight: normal;
background-color:#f0ffdb;
}
.border-box01 b,
.border-box02 b{
color: #00a900;
font-size: 120%
}
.border-box01 p,
.border-box02 p{
margin: 0; 
padding: 0;
}
.border-box01 img,
.border-box02 img{
width: 100%;
height: auto;
margin: 0 0 20px 0; 
padding: 0;
border-radius: 0;
}
.border-box01:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}

/* list */
.list-1 {
list-style-type: disc;
padding: 1em 0 .5em 1.5em;
}
.list-1 li {
padding: 0;
}
.list-1 li::marker {
color: #00a900;
font-size: 1.1em;
}

.list-2 {
counter-reset: li;
}

.list-2 li {
display: flex;
align-items: center;
padding: .3em;
}

.list-2 li::before {
display: inline-block;
min-width: 1.7em;
margin-right: 5px;
border-radius: 50%;
background-color: #00a900;
color: #fff;
font-weight: bold;
font-size: .75em;
line-height: 1.7em;
text-align: center;
content: counter(li);
counter-increment: li;
}
@media screen and (min-width: 901px) {
.border-box01 img,
.border-box02 img{
width: 30%;
height: auto;
padding-right: 40px;
margin: 0;
}}
@media (max-width:767px){
.border-box01,
.border-box02{
padding: 2em;
}}


/* 等分
---------------------------------------------------------------------------*/
.boxA:after{content: "";
display: block;
clear: both}
@media screen and (min-width: 768px) {
.box2{float: left;width: 47%;}
.box3{float: right;width: 47%;}
.boxB{float: left;width: 57%;}
.boxC{float: right;width: 37%;}
}

@media (max-width:767px){
.box2,.boxB{margin-bottom: 5%}
}


/* メニュ横並び（施設紹介）
---------------------------------------------------- */
.button-list-box {
margin: 0 0 30px 0;
}
.button-list-box ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0;
padding: 0;
flex-wrap: wrap;
}
.button-list-box li {
width: calc(25% - 5px);
margin-bottom: 7px;
display: table;
text-align: center;
line-height: 1.6
}
.button-list-box li .a-link{
display: table-cell;
vertical-align: middle;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
border: 1px solid #00a900;
}
.button-list-box li:hover{
text-decoration: none;
}
@media screen and (max-width:980px) { 
.button-list-box li {
width: calc(50% - 5px);
font-size: 80%;
line-height: 1.3
}
.button-list-box li .a-link{
padding: 15px 0;
}
}



/*ギャラリー
---------------------------------------------------------------------------*/
.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;} 
.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;
}
.gallery-caption,
.wp-caption-text { /** キャプション **/
color: #222;
font-size: 14px;
margin: 0 0 10px;
text-align: center;
}
.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){
/* 640px以下用の記述 */
.gallery-columns-3 .gallery-item{
width: 48%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item {
width: 31.33333%;
margin: 0 1%;
}
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;}
.release br {display: none;}
}


/*キャプション
---------------------------------------------------------------------------*/
figure {
background-color: #fff;
padding: 5px;
display: table;
overflow: hidden;
}

figure img {
width:100%;
max-width: 100%;
height: auto;
}

figcaption {
display: table-caption;
caption-side: bottom;
background: #fff;
}
@media only screen and (max-width:60em) {
figure {
text-align:center;
clear:both;
overflow:hidden;
padding:0;
margin:0 auto
}
figure .alignright img,
figure .alignleft img{float:none;}
}

/* editボタン
---------------------------------------------------- */
a.post-edit-link {
display: inline-block;
  padding: 0 1.6em;
  font-size: 0.8em;
  color: #fff;
  text-decoration: none;
  user-select: none;
  background: #999;
  transition: 0.2s ease;
margin-top: 5%
}
a.post-edit-link:hover {
opacity: .6;
color: #fff;  
}

.postmetadata{
	margin: 10px 0;
	width:100%;
	clear:both;
}
.postmetadata:after {
　display:block;
　content:'';
　clear:both;
}

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

　   入院案内

--------------------------------------------------------------------------------------------- */
.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #00a900;
  border-bottom: 0;
	margin: 0 auto
}


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

　   Q&A

--------------------------------------------------------------------------------------------- */
.faq_box {
margin-bottom: 60px;
}
.accordion-qa {
max-width: 100%;
margin-bottom: 7px;
border-radius: 5px;
		border: 3px solid #f2f2f2;
		box-sizing:border-box;
		overflow: hidden;
}
.accordion-qa summary {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 1em 2em;
color: #333333;
font-weight: bold;
cursor: pointer;
		font-size: 1.2em;
		background-color: #f2f2f2;
}

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

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

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

.accordion-qa div {
transform: translateY(-10px);
opacity: 0;
margin: 0;
padding: 1.5em 2.5em ;
color: #333333;
transition: transform .5s, opacity .5s;
		font-weight: normal;
}

.accordion-qa[open] div {
transform: none;
opacity: 1;
}

.accordion-qa .gallery { /** ギャラリーを囲むボックス **/
padding: 0 ;
margin-top: 20px
}


/* ------------------------------------- */
/* resposive480
/* ------------------------------------- */
@media screen and (min-width: 480px) {
#title {
padding: 70px 0;
}
}


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

/* 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.6em;
}
h4.midasi,
h5.midasi{
font-size: 1.4em;
}}


@media screen and (max-width: 768px) {
.sisetu-list ul.al-4  li {
  width: 100%;
}}


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

/*arvhive
/* ------------------------------------- */
.i_date,
.i_text{
float: left;
}

.info_box{
margin-bottom: 0
}
.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;
}

/* pagination
/* ------------------------------------- */
.pagination {
width: 980px;
margin: auto;
}
}