@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/********* HTML再定義 ***********************************************/

html {
	-ms-text-size-adjust: 100%;
}
body {
	font-size: 62.5%;
	font-size: 1.6rem;
	font-size: 16px;
	line-height: 180%;
	letter-spacing: 0px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	min-height: 100%;
	padding: 0;
	margin: 0 auto;
}
body {	
/* font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;*/
font-family:"Droid Sans","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Roboto, Verdana, sans-serif;
}


p {
	margin: 0;
	padding: 0;
	margin-bottom: 1em;
}

.entry-content h3,
.entry-content h4,
.entry-content h5,
article h3,
article h4,
article h5 {
  margin: 0;
  margin-bottom: 1em;
  border: none;
  background: none;
  padding: 0;
}
ul,
ol,
dl {
  margin: 0;
  padding: 0;
}
p,
.entry-content p {
  margin: 0;
  padding: 0;
  margin-bottom: 1em;
}

a {
  color: #000;
  text-decoration: none;
}
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  margin-bottom: 16px;
  line-height: 150%;
  background: none;
  border: none;
}

div table th, 
div table td {
font-weight: 400;
    font-size: 1em;
}

/********* 全体 ***********************************************/

.eye-catch-wrap {
border: 5px solid #8ac596;
}
figure {
width: 100%;
}
.eye-catch-wrap img {
display: block;
width: 100%;
}
@media screen and (max-width: 834px){
.eye-catch-wrap {
border: 3px solid #8ac596;
}
}
.eye-catch {
display: block;
margin: 0 auto;
max-width: 100%;
}
.eye-catch-image {
display: block;
    width: 100%;
    height: auto;
	max-width: none;
    padding: 0;
    margin: 0;
    border: none;
    vertical-align:bottom

}




/********* ヘッダー *************************************************/

.header-container {
padding: 0;
margin: 0 auto;
}
.header-container-in {
margin: 0;
padding: 0 0;
}
@media screen and (max-width: 1023px) {
.header-container {
display: none;
}
}


.head_flex {
display: flex;
max-width: 1000px;
margin: 0 auto;
padding: 1em 0;
justify-content: space-between;
flex-wrap: wrap;
align-items: flex-end;
}
@media only screen and (max-width: 1280px) {
.head_flex {
padding: 0.65em 0;
}
}

.head_flex_left {
display: block;
max-width: 360px;
width: 40%;
}
.head_flex_right{
display: block;
width: 60%;
}
haeder {
padding: 0;
margin: 0;
}
.header {
display: block;
padding: 0;
margin: 0;
}
.header-in {
float: none;
margin: 0;
padding: 0 0;
width: 100%;
}


@media only screen and (max-width: 834px) {
.header {
padding: 1em 1em;
}
}
h1.logo.logo-header.logo-image,
h1.logo.logo-header.logo-image a {
display: block;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.0;

}

.site-logo-image.header-site-logo-image {
display: block;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
}


/************************************
** ヘッダーレイアウト ヘッダー固定時崩れ防止
************************************/
.header-container-in.hlt-top-menu {
  display: block;
  margin: 0 auto;
  width: 100%;
}







ul.header_bt { 
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: flex-end;
margin: 0;
padding: 0;
}
ul.header_bt li {
list-style: none;
display: inline-block;
margin: 0;
padding: 0;
margin-left: 16px;
line-height: 100%;
white-space: nowrap;
}

ul.header_bt li .imagecenter00 {
max-height: 1.15em;
width: auto;
}
ul.header_bt li a {
  padding: 0 0;
  padding-left: 0.2em;
  display: block;
}
ul.header_bt li a:hover { 
color: #479557;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

ul.header_bt li a:hover { 
color: #479557;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.header_tel {
position: relative;
display: flex;
align-items: center;
text-align: left;
padding-left: 1.15em;
line-height: 0.95;
letter-spacing: 0.05em;
margin-bottom: 0 !important;
}
.header_tel:before {
position: absolute;
margin-left: -1.15em;
margin-top: 0em;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2024/02/icon_tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.95em;
    height: 0.95em;
}

/*
ul.header_bt { 
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
ul.header_bt li {
list-style: none;
display: inline-block;
margin: 0;
padding: 0;
margin-left: 8px;
line-height: 100%;
white-space: nowrap;
}
ul.header_bt li a {
  padding: 0.7em 0;
  padding-left: 0.2em;
  display: block;
}
ul.header_bt li a:hover { 
color: #479557;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

ul.header_bt li a:hover { 
background-color: #F5F5F5;
color: #479557;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.header_tel {
position: relative;
display: flex;
align-items: center;
text-align: left;
line-height: 150%;
padding-left: 1.15em;
margin-bottom: 0 !important;
letter-spacing: 0.1em;
}
.header_tel:before {
position: absolute;
margin-left: -1.15em;
margin-top: 0em;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2024/02/icon_tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.95em;
    height: 0.95em;
}
*/

ul.header_bt li i {
  font-weight: 900;
  margin-right: 0.2em;
  color: #F9B54F;
}
ul.header_bt li i.fa-envelope {
  font-weight: 400;
margin-top: -0.1em;
font-size: 105%;
}
ul.header_bt li i.fa-mobile-alt {
margin-top: -0.05em;
}


@media screen and (max-width: 1023px) {
.mobile-header-menu-buttons.mobile-menu-buttons {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: flex-end;
padding: 0 16px;
}


.logo-menu-button.menu-button {
display: inline-block;
max-height: 80px !important;
margin: 0;
padding: 0;
}
.logo-menu-button.menu-button .site-logo-image {
width: auto;
height: auto !important;
max-height: 80px !important;
min-height: inherit;
display: block;
margin: 0 0;
padding: 8px 0;
}
.navi-menu-icon.menu-icon {
font-size: 150%;
color: #479557;
}

.mobile_head_right {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: center;
padding: 8px 0;
}
.mobile_head_right_icon {
display: block;
width: 56px;
max-width: 56px;
padding: 0;
}
.mobile_head_right_icon img {
position: relative;
z-index: 2;
display: block;
margin: 0;
max-width: 100%;
}
.mobile_head_right_menu {
display: block;
margin-left: 16px;
padding: 0;
}



}
/*モバイルボタンメニューを右から開く*/
.navi-menu-content {
  right: 0;
  left: unset;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
}
/*モバイルボタンメニュー閉じるボタンを右側に*/
.menu-close-button {
  text-align: right;
  padding-right: 10px;
}


.navi {
display: block;
padding: 0;
margin: 0 auto;
border-top: 1px solid #8ac596;
border-bottom: 1px solid #8ac596;
}
.navi .item-label,
.navi .item-description {
  overflow: inherit;
  text-overflow: inherit;
  white-space: normal;
}


.navi-in {
  max-width: 1000px;
  margin: 0 auto;
padding: 0;
}

.navi-in > ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin: 0;
padding: 0;
line-height: 150%;
}
.navi-in > ul li {
display: inline-block;
height: auto;
line-height: inherit;
  width: auto;
margin: 0;
padding: 0;
}
.navi-in > ul li a {
display: block;
padding: 0.65em 1.76em;
line-height: 150%;
  border-bottom: solid 4px #8ac596;
}


.navi-in a:hover{
color: #479557;
background-color: #F5F5F5;
  border-bottom: solid 4px #f9b54f;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.navi-in > ul li ul {
display: block;
background: rgba(255,255,255,0.7) !important;
margin: 0 !important;
margin-bottom: 0 !important;
padding: 0 !important
}
.navi-in > ul li ul li {
position: relative;
display: block;
}
.navi-in > ul li ul li a {
background: #FFF !important;
}
.navi-in > ul li ul li ul {
position: absolute !important;
top: 0.02em !important;
}
.navi-in > ul li:nth-child(n+5) ul li ul {
left: -100% !important;
}
.navi-in > ul li ul li ul li {
height: auto !important;
}

.navi-in > ul li.current-menu-item a {
  border-bottom: solid 4px #f9b54f;
}

.navi .item-label, .navi .item-description{
  flex-wrap: nowrap;
}

.top-has-sub.has-sub.has-icon,
.sub-has-sub.has-sub.has-icon {
display: none;
top:50%;
transform: translateY(-50%);
}


/********* フッター *************************************************/

/************************
/ ページトップボタン
/************************/
#go-to-top {bottom: 68px;}

.footerMenu_aki {
display: none;
}

#footerMenu {
	display: none;
}

@media screen and (max-width: 834px) {
.footerMenu_aki {
display: block;
padding-top: 60px;
}

#footerMenu {
	display: block;
	text-align: center;
	background-color: #F5F5F5;
	width: 100%;
	height: 0px;
	position: fixed;
	z-index: 10000;
	bottom: 0;
	overflow: none;
	left: 0;
	transition: all 0.4s ease-in-out;
	box-shadow:         0px -4px 38px rgba(50, 50, 50, 0.50);
}
#footerMenu.show {
	height: 80px;
	padding: 0 0;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.footerMenu {
position: relative;
	display: block;
margin: 0 auto;
color: #FFF;
}
}




ul.footerMenulist {
    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;
margin: 0;
padding: 0;
	height: 80px;
justify-content: space-between;
align-items: center;
}
ul.footerMenulist li {
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
	display: block;
	line-height: 150%;

width: calc(100% / 3 );
/*
width: calc(100% / 1 );
*/
	vertical-align: middle;
	text-align: center;
	background-color: #FFF;
	box-sizing:border-box;
	border-right: 1px solid #999;
	font-size: 80%;
}
ul.footerMenulist li:first-child {
	border-left: 1px solid #999;
}


ul.footerMenulist li i {
  font-weight: 900;
  display: block;
  color: #F9B54F;
  font-size: 160%;
  margin-bottom: 2px;
}


.foot_popup_tel {
position: relative;
display: flex;
align-items: center;
line-height: 150%;
padding-top: 1.8em;
margin-bottom: 0 !important;
letter-spacing: 0.1em;
}

.foot_popup_tel:before {
position: absolute;
  transform: translateX(-50%);
left: 50%;
top: 2px;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2024/02/icon_tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.6em;
    height: 1.6em;
}
/*
.foot_popup_tel:before {
position: absolute;
margin-left: -1.15em;
margin-top: -0.10em;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2024/02/icon_tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.95em;
    height: 0.95em;
}
*/

ul.footerMenulist li a {
	display:flex;
justify-content:center;
align-items:center;
	height: 100%;
	min-height: 100%;
	padding: 0.5em 0;
	text-align: center;
	color: #000;
	text-decoration: none;
	background-color: #FFF;
}

ul.footerMenulist li a:hover {
	background-color: #EEE;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}




.copyright {
display: block;
border-top: 10px solid #479557;
background-color: #F5F5F5;
color: #555;
font-size: 12px;
text-align: center;
padding: 16px 0;
margin-top: 0;
}

/*フッターモバイルポップアップ*/
.mobile-footer-menu-buttons .menu-button .fas {
  color: #f9b54f;
}

.footer {
background-image: url(../../uploads/2023/12/footer_back.jpg);
background-size: cover;
display: block;
padding: 4em 0;
margin: 0 auto;
}
@media screen and (max-width: 834px) {
.footer {
padding-top: 0;
padding-bottom: 16px;
}
}
.footer-in {
display: block;
  max-width: 1000px;
}
@media screen and (max-width: 1000px) {
.footer-in {
padding: 0 16px;
  max-width: 968px;
}
}
@media screen and (max-width: 834px) {
.footer-in {
padding: 0 0;
}
}

.footer-bottom {
display: block;
  margin: 0;
  padding: 0;
}
.foot_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.foot_flex_left {
order: 1;
display: block;
max-width: 320px;
width: 32%;
}
.foot_flex_right {
order: 2;
display: block;
  width: calc(68% - 24px);
  max-width: 600px;
}


@media screen and (max-width: 834px) {
.foot_flex {
  display: block;
}
.foot_flex_left {
max-width: inherit;
padding: 0 2em;
width: auto;
margin: 0 auto;
margin-top: 16px;
text-align: center;
}
.foot_flex_right {
width: auto;
max-width: inherit;
  margin-left: auto;

}
}
.logo.logo-footer.logo-image {
max-width: 320px;
margin-bottom: 8px;
}
.logo.logo-footer.logo-image,
.logo.logo-footer.logo-image a {
display: block;
width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
text-align: left;

}
.logo.logo-footer.logo-image a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}
.site-logo-image.footer-site-logo-image {
display: block;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
}
@media screen and (max-width: 834px) {
.logo.logo-footer.logo-image,
.logo.logo-footer.logo-image a {
  margin: 0 auto!important;
text-align: center;
}
.site-logo-image.footer-site-logo-image {
  margin: 0 auto!important;
}
}

p.foot_company {
letter-spacing: 0.05em;
line-height: 150%;
margin-bottom: 0 !important;
}
p.foot_tel {
font-weight: 500;
line-height: 150%;
margin-bottom: 0 !important;
letter-spacing: 0.1em;
}

.foot_tel_icon {
position: relative;
display: flex;
align-items: center;
font-weight: 500;
line-height: 150%;
padding-left: 1.15em;
margin-bottom: 0 !important;
letter-spacing: 0.1em;
}
.foot_tel_icon:before {
position: absolute;
margin-left: -1.15em;
margin-top: -0.04em;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2024/02/icon_tel.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.95em;
    height: 0.95em;
}


p.foot_tel i {
margin-top: -0.05em;
margin-right: 3px;
}
p.foot_tel a {
text-decoration: none;
color: #000;
}

.flex_footer_schedule {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

@media screen and (max-width: 834px) {
.flex_footer_schedule {
display: block;
margin: 0 auto;
margin-top: -0.05em;
text-align: center;
}
p.foot_tel i {
margin-top: -0.1em;
margin-right: 3px;
}
p.foot_tel {
display: inline-block;
text-align: center;
margin-bottom: 0 !important;
}
}

dl.footer_schedule{
  display: flex;
  clear: both;
  margin: 0 0;
  margin-right: 16px;
  padding: 0;
letter-spacing: 0.02em;
  line-height: 150%;
}

dl.footer_schedule dt {
display: inline-block;
  margin: 0;
  margin-right: 4px;
  padding: 0;
}

@media screen and (max-width: 834px) {
dl.footer_schedule{
justify-content: center;
  margin: 0 auto;
  margin-right: auto;
  white-space: nowrap;
}
}


.footer_menu_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 834px) {
.footer_menu_box {
  display: block;
}
}

ul.foot_sns {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0;
margin-top: 8px;
padding: 0;
}
ul.foot_sns li {
display: inline-block;
margin: 0 4px;
padding: 0;
}
ul.foot_sns li i {
color: #479557;
font-weight: 900;
font-size: 250%;
}
ul.foot_sns li i.color_line {
color: #479557;
}

ul.foot_sns li i.color_insta {
color: #479557;
}



ul.foot_menu {
margin: 0;
padding: 0;
}
ul.foot_menu li {
position: relative;
list-style: none;
line-height: 150%;
font-weight: 500;
margin: 0;
padding: 0;
}
ul.foot_menu li a {
position: relative;
display: block;
padding-left: 1.2em;
}
ul.foot_menu li a:hover {
text-decoration: underline;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
ul.foot_menu li ul {
  margin-left: 1em;
}

ul.foot_menu li ul li a {
padding-left: 1.2em;
}
ul.foot_menu li a:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #479557;
  font-weight: 900;
}


ul.foot_menu li ul li a:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #479557;
  font-weight: 900;
}

ul.foot_menu li:nth-child(n+2) {
margin-top: 0;
}
ul.foot_menu li ul li:first-child {
margin-top: 0;
}
ul.foot_menu li ul li:nth-child(n+2) {
margin-top: 0;
}

@media screen and (max-width: 834px) {
ul.foot_menu li a {
padding: 12px 8px;
background-color: #F5F5F5;
border-top:  1px dotted #CCC;
padding-left: 1.8em;
}
ul.foot_menu li a:before {
  margin-left: -1.2em;
}
ul.foot_menu li a:hover {
text-decoration: underline;
}
ul.foot_menu li ul {
margin: 0;
padding: 0.5em 8px;
background-color: #FFF;
}

ul.foot_menu li ul li {
display: inline-block;
background: none;
padding: 0.2em 0;
margin-right: 0.5em;
min-width: 8em;
}
ul.foot_menu li ul li a {
display: inline-block;
padding: 0.25em 16px;
background: none;
border-top:  none;
}

@media screen and (max-width: 640px) {
ul.foot_menu li ul li {
margin-right: 0;
min-width:7em;
}
ul.foot_menu li ul li a {
padding-right: 0;
margin-right: 0;
}
}

ul.foot_menu li ul li a:before {
  margin-left: -1em;
}
ul.foot_menu li:nth-child(n+2) {
margin-top: 0;
}
ul.foot_menu li ul li:first-child {
margin-top: 0;
}
ul.foot_menu li a:hover {
text-decoration: none;
background-color: #F9F9F9;
color: #479557 !important;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
}


/********* メイン*************************************************/
.top_main {
display: block;
margin: 0 auto;
margin-bottom: 32px;
}
/*
.n2-ss-slide-backgrounds {
  max-height: 70vh;
}

*/
@media only screen and (max-width: 1280px) {
.top_main {
display: block;
margin: 0 auto;
margin-bottom: 24px;
}
}
@media only screen and (max-width: 1023px) {
.top_main {
margin-top: 80px;
margin-bottom: 24px;
}
.n2-ss-slide-backgrounds {
}
}

@media only screen and (max-width: 640px) {
.top_main {
margin-top: 80px;
margin-bottom: 16px;
}
}


/********* タイトル *************************************************/


#title {
  position: relative;
  background: #ccc;
  background-image: url(../../uploads/2024/01/title.jpg);
  background-size: cover;
  background-position: center right;
  clear: both;
  display: block;
  margin: 0 auto;
  margin-bottom: 16px;
  min-height: 380px;
  height: 25vh;
}
.title {
  position: relative;
  display: block;
  max-width: 1000px;
  height: 100%;
  margin: 0 auto;
  color: #FFF;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5), 0 0 5px rgba(0, 0, 0, 0.5);
}

.title_txt {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0;
}
.title_txt h2 {
  font-weight: 400;
  margin-bottom: 0;
}
@media screen and (max-width: 1280px) {
#title {
  min-height: 240px;
}
.title_txt {
    margin-left: 16px;
}
}

@media screen and (max-width: 1023px) {
#title {
margin-top: 80px;
margin-bottom: 24px;
min-height: inherit;
height: 180px;
}
.title {
padding: 16px 16px;
}
}
@media screen and (max-width: 640px) {
#title {
margin-top: 80px;
height: 130px;
}
}


/********* お知らせ*************************************************/

.flex_news {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 24px;
}
.flex_news_box {
display: flex;
justify-content: space-between;
flex-flow: column;
width: calc(100% / 2 - 16px);
}
.flex_news_box .bt_news {
margin-top: auto;
}
.flex_news_box:nth-child(n+3) {
margin-top: 24px;
}
@media screen and (max-width: 640px) {
.flex_news {
display: block;
margin-bottom: 16px;
}
.flex_news_box {
width: auto;
}
.flex_news_box:nth-child(n+2) {
margin-top: 16px;
}
}
.title_entry {
display: block;
line-height: 150%;
margin-bottom: 16px;
}
.entry_title h3,
.entry_title h4,
.entry_title p {
margin-bottom: 0 !important;
}
p.daytime {
margin-bottom: 0;
}

.shousai_ryaku {
padding-bottom: 3px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 任意の行数を指定 */
}

.shousai_ryaku_waku {
position: relative;
display: block;
font-weight: 500;
  border-bottom: solid 3px #ccc;
}
.shousai_ryaku_waku::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #79d0a5;
  bottom: -3px;
  width: 20%;
}
.shousai_ryaku h4 {
font-weight: 500;
line-height: 150%;
margin-bottom: 0;
}
.shousai_ryaku {
padding-bottom: 3px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 任意の行数を指定 */
}

.list_pic {
position: relative;
display: block;
height: 0;
padding-bottom: 120%;
background: #F5F5F5;
overflow: hidden;
}
.list_pic img {
  position: absolute;
  object-fit: contain;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.flex_newslist {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_newslist_pic {
order: 2;
display: block;
flex-flow: column;
width: calc(30% - 4px);
}
.flex_newslist_txt {
order: 1;
display: flex;
flex-flow: column;
width: calc(70% - 4px);
}

/********* ページ *************************************************/

.content_section1em {
display: block;
margin-bottom: 1em;
}
.content_section {
display: block;
margin-bottom: 24px;
}
.content_section40 {
display: block;
margin-bottom: 40px;
}
.content_section32 {
display: block;
margin-bottom: 32px;
}
.content_section40map {
display: block;
margin-bottom: 40px;
}

@media only screen and (max-width: 1280px) {
.content_section {
margin-bottom: 24px;
}
.content_section40 {
margin-bottom: 32px;
}
.content_section32 {
margin-bottom: 24px;
}
.content_section40map {
margin-bottom: 32px;
}
}
@media only screen and (max-width: 834px) {
.content_section {
margin-bottom: 16px;
}
.content_section40 {
margin-bottom: 24px;
}
.content_section32 {
margin-bottom: 24px;
}
.content_section40map {
margin-bottom: 24px;
}
}
@media only screen and (max-width: 640px) {
.content_section {
margin-bottom: 16px;
}
.content_section40 {
margin-bottom: 16px;
}
.content_section32 {
margin-bottom: 16px;
}
.content_section40map {
display: block;
margin-bottom: 0;
}
}



/********* トップページ *************************************************/

.box_top_under {
display: block;
padding: 16px;
border: 1px solid #CCC;
}

@media only screen and (max-width: 834px) {
.box_top_under {
padding: 16px 0;
border: none;
border-top: 1px solid #CCC;
border-bottom: 1px solid #CCC;
}
}

.flex_top_content {
display: flex;
justify-content: space-between;
/*
justify-content: center;
*/
flex-wrap: wrap;
}
.flex_top_content_box {
display: block;
width: calc(100% / 3 - 24px);
text-align: center;
/*
margin: 0 16px;
*/
}

.flex_top_content_box:nth-child(n+4) {
margin-top: 16px;
}
@media only screen and (max-width: 834px) {
.flex_top_content_box {
width: calc(100% / 3 - 12px);
/*
margin: 0 8px;
*/
}
}
@media only screen and (max-width: 640px) {
.flex_top_content {
display: block;
}
.flex_top_content_box {
width: auto;
margin: 0 32px;
}
.flex_top_content_box:nth-child(n+2) {
margin-top: 4px;
}
}

.flex_top_content_box h4 {
font-weight: 400;
margin-bottom: 0;
color: #000;
/*color: #479557;*/
text-align: center;
}
.flex_top_content_box_pic {
display: block;
position: relative;
height: 0;
padding-bottom: 82%;
overflow: hidden;
background: #CCC;
border: 2px solid #479557;
margin-bottom: 8px;
}
.flex_top_content_box_pic.webyoyaku {
border: 2px solid #eb556e;
}

.flex_top_content_box_pic img {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.flex_top_content_box_pic a {
display: block;
}
.flex_top_content_box_pic a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

@media only screen and (max-width: 834px) {
.flex_top_content_box_pic {
margin-bottom: 4px;
}
}
@media only screen and (max-width: 640px) {

.flex_top_content_box_pic {
padding-bottom: 25%;
margin-bottom: 4px;
}
/*
.flex_top_content_box_pic {
padding-bottom: 38%;
margin-bottom: 4px;
}
*/
}


.flex_top_content_annai {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_top_content_annai_pic,
.flex_top_content_annai_txt {
display: block;
width: 50%;
}
.flex_top_content_annai_pic {
position: relative;
display: block;
overflow: hidden;
}
.flex_top_content_annai_pic img {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  top: 0%;
  left: 50%;
  transform: translateY(0%) translateX(-50%);
}

.flex_top_content_annai_txt {
display: flex;
flex-flow: column;
justify-content: center;
border: 1px solid #479557;
}
.flex_top_content_annai_txt .inner {
padding: 16px;
padding-right: 8px;
}
@media only screen and (max-width: 834px) {
.flex_top_content_annai_txt .inner {
padding: 16px;
}
}

@media only screen and (max-width: 640px) {
.flex_top_content_annai {
flex-flow: column;
flex-wrap: wrap;
margin: 0 -8px;
}
.flex_top_content_annai_pic,
.flex_top_content_annai_txt {
width: auto;
min-height: 24em;
}
.flex_top_content_annai_pic {
padding: 0 7px;
min-height: 24em;
}
.flex_top_content_annai_pic img {
  top: 0%;
  left: 50%;
  transform: translateY(-0%) translateX(-50%);
}
.flex_top_content_annai_txt .inner {
padding: 8px 7px;
padding-right: 7px;
}
}



.flex_top_content_annai_icon {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.flex_top_content_annai_icon_box {
display: inline-block;
margin: 0 32px;
line-height: 150%;
text-align: center;
}
.flex_top_content_annai_icon_box .imagecenter00 {
max-width: 80px;
margin-bottom: 8px;
}
@media only screen and (max-width: 1366px) {
.flex_top_content_annai_icon_box {
margin: 0 24px;
}
}
@media only screen and (max-width: 980px) {
.flex_top_content_annai_icon_box {
margin: 0 16px;
}
}
@media only screen and (max-width: 834px) {
.flex_top_content_annai_icon_box .imagecenter00 {
max-width: 60px;
}
}

@media only screen and (max-width: 834px) {
.flex_top_content_annai_icon_box {
margin: 0 8px;
line-height: 120%;
text-align: center;
}
.flex_top_content_annai_icon_box .imagecenter00 {
max-width: 48px;
}
}

.bt_left_arrow {
  display: inline-block;
  position: relative;
  margin-left: 1.2em;
  line-height: 130%;
}

.bt_left_arrow a::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin: 0;
  padding: 0;
  left: -1.2em;
  color: #287928;
  font-weight: 900;
}
.bt_top_shinryou {
  display: inline-block;
  position: relative;
  line-height: 130%;
}

.bt_top_shinryou a {
  display: block;
}
.bt_top_shinryou a:hover {
text-decoration: underline;
}

.bt_left_arrow a {
  display: block;
}
.bt_left_arrow a:hover {
text-decoration: underline;
}
.bt_left_arrow a:hover::before  {
  color: #CCC;
}
.bt_right_arrow {
  display: inline-block;
  position: relative;
  line-height: 130%;
}
.bt_right_arrow a::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin: 0;
  padding: 0;
  right: -1.2em;
  color: #287928;
  font-weight: 900;
}

.bt_right_arrow a {
  display: block;
  padding-right: 0;
}
.bt_right_arrow a:hover {
text-decoration: underline;
  padding-right: -1.2em;
}
.bt_right_arrow a:hover::after  {
  right: -1.5em;
  color: #F9B54F;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}






.bg_gray {
display: block;
background: #F5F5F5;
padding: 40px 0;
padding-top: 32px;
margin-bottom: 40px;
}
@media only screen and (max-width: 1280px) {
.bg_gray {
padding: 32px 0;
padding-top: 24px;
margin-bottom: 32px;
}
.bg_gray h4 {
margin-left: 8px;
}
}

@media only screen and (max-width: 834px) {
.bg_gray {
padding: 24px 0;
padding-top: 16px;
margin-bottom: 24px;
}
.bg_gray h4 {
margin-left: 8px;
}
}
@media only screen and (max-width: 640px) {
.bg_gray {
padding: 16px 0;
padding-top: 12px;
margin-bottom: 16px;
}
}



.flex_double_top_info {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_double_top_info_box {
display: block;
width: calc(100% / 2 - 20px);
}
.flex_double_top_info_box_in {
display: block;
background-color: #FFF;
height: calc(100% - 48px);
}
.flex_double_top_info_box .inner {
padding: 24px;
}
@media only screen and (max-width: 1280px) {
.flex_double_top_info_box {
width: calc(100% / 2 - 16px);
}
.flex_double_top_info_box .inner {
padding: 16px;
}
}

@media only screen and (max-width: 834px) {
.flex_double_top_info {
margin: 0 -8px;
}
.flex_double_top_info_box {
width: calc(100% / 2 - 12px);
}
.flex_double_top_info_box_in {
height: calc(100% - 36px);
}
.flex_double_top_info_box .inner {
padding: 16px 8px;
}
}

@media only screen and (max-width: 640px) {
.flex_double_top_info {
display: block;
margin: 0 -8px;
}
.flex_double_top_info_box {
width: auto;
}
.flex_double_top_info_box:nth-child(n+2) {
margin-top: 16px;
}
.flex_double_top_info_box_in {
margin: 0;
height: calc(100% - 36px);
}
.flex_double_top_info_box .inner {
padding: 16px 8px;
}
}


.flex_double_top_news {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_double_top_news_box {
display: block;
width: calc(100% / 2 - 20px);
}
.flex_double_top_news_box .inner {
padding: 24px;
}
.top_accessbox_in {
padding: 0 24px;
}

@media only screen and (max-width: 834px) {
.flex_double_top_news_box {
width: calc(100% / 2 - 20px);
}
.flex_double_top_news_box .inner {
padding: 16px;
}
.top_accessbox_in {
padding: 0 0;
}
}
@media only screen and (max-width: 640px) {
.flex_double_top_news {
display: block;
}
.flex_double_top_news_box {
width: auto;
}
.flex_double_top_news_box:nth-child(n+2) {
margin-top: 16px;
}
.flex_double_top_news_box .inner {
padding: 16px 8px;
}
}

.img_df {
display: block;
margin: 0 auto;
max-width: 520px;
margin-bottom: 40px;
}
@media only screen and (max-width: 1080px) {
.img_df {
max-width: 60%;
}
}
@media only screen and (max-width: 834px) {
.img_df {
max-width: 75%;
margin-bottom: 0px;
}
}

h4.top_news_title {
display: flex;
justify-content: flex-start;
align-items: center;
color: #000;
/*color: #287928;*/
margin-bottom: 8px;
font-weight: 400;
line-height: 150%;
}
.top_news_title i {
font-weight: 900;
margin-right: 0.2em;
  color: #F9B54F;
}

.flex_news_title {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: flex-start;
}
.flex_news_title_left,
.flex_news_title_right {
display: inline-block;
}

@media only screen and (max-width: 640px) {
.flex_news_title_right {
margin-right: 8px;
}
}

.bt_news {
display: inline-block;
line-height: 150%;
padding: 0;
margin: 0;
}
.bt_news a {
position: relative;
display: block;
padding-left: 1.2em;
line-height: 150%;
color: #555;
text-decoration: none;
}
.bt_news a:hover {
color: #287928;
text-decoration: underline;
}

.bt_news a:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #F9B54F;
  font-weight: 900;
  }

dl.top_news {
margin: 0;
padding: 0;
}
dl.top_news dt {
margin: 0;
padding: 0;
font-weight: 500;
}
dl.top_news dd {
margin: 0;
padding: 0;
padding-bottom: 8px;
margin-bottom: 8px;
border-bottom: 1px dotted #CCC;
}
dl.top_news dd:last-child {
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
}

table.table_timetable {
table-layout: fixed;
width: 100%;
margin: 0;
padding: 0;
border-collapse: collapse;
background: none;
border: none;
margin-bottom: 8px;
}
table.table_timetable tr {
margin: 0;
padding: 0;
background: none;
border: none;
}
table.table_timetable th,
table.table_timetable td {
margin: 0;
padding: 0.2em;
border: 1px solid #999;
text-align: center;
font-weight: 500;
white-space: nowrap;
}
table.table_timetable th {
background-color: #C4F1E1;
}
table.table_timetable th:first-child {
width: 8em;
}
table.table_timetable td {
font-weight: 500;
}
table.table_timetable td.green i.fa-circle {
font-weight: 400;
}
@media only screen and (max-width: 640px) {
table.table_timetable th,
table.table_timetable td {
padding: 0.1em;
}
table.table_timetable th:first-child {
width: 7.2em;
}
}

dl.top_shinryou {
display: flex;
justify-content: flex-start;
margin: 0;
padding: 0;
line-height: 150%;
}
dl.top_shinryou dt {
margin: 0;
margin-right: 4px;
padding: 0.25em 0;
background-color: #FFF;
color: #C00;
}
dl.top_shinryou dd {
background-color: #FFF;
margin: 0;
padding: 0.25em 0;
}

.googlemap {
display: block;
position: relative;
height: 0;
padding-bottom: 52%;
overflow: hidden;
margin: 0 0;
}
.googlemap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media only screen and (max-width: 834px) {
.googlemap {
padding-bottom: 56%;
}
}
@media only screen and (max-width: 640px) {
.googlemap {
margin: 0 -24px;
padding-bottom: 64%;
}
}




.flex_double {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_double_box {
display: block;
width: calc(100% / 2 - 20px);
}
.flex_double_box_in {
display: block;
background-color: #FFF;
height: calc(100% - 48px);
}
.flex_double_box .inner {
padding: 24px;
}

@media only screen and (max-width: 834px) {
.flex_double {
display: block;
}
.flex_double_box {
width: auto;
}
.flex_double_box:nth-child(n+2) {
margin-top: 16px;
}
.flex_double_box_in {
margin: 0;
height: calc(100% - 28px);
}
.flex_double_box .inner {
padding: 16px;
}
}

/********* 医師紹介 *************************************************/

.flex_greeting_info {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_greeting_info_pic {
order: 2;
display: block;
width: calc(50% - 16px);
}
.flex_greeting_info_txt {
order: 1;
display: block;
width: calc(50% - 16px);
}
@media only screen and (max-width: 1280px) {
.flex_greeting_info_pic {
width: calc(50% - 12px);
}
.flex_greeting_info_txt {
width: calc(50% - 12px);
}
}
@media only screen and (max-width: 834px) {
.flex_greeting_info_pic {
width: calc(50% - 8px);
}
.flex_greeting_info_txt {
width: calc(50% - 8px);
}
}

@media only screen and (max-width: 640px) {
.flex_greeting_info {
display: block;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 8px;
}
.flex_greeting_info_pic {
width: auto;
}
.flex_greeting_info_txt {
width: auto;
margin-bottom: 8px;
}
}

.flex_doctor_info {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_doctor_info_pic {
order: 2;
display: block;
width: calc(50% - 16px);
}
.flex_doctor_info_zu {
order: 1;
display: block;
width: calc(50% - 16px);
}
@media only screen and (max-width: 1280px) {
.flex_doctor_info_pic {
width: calc(50% - 12px);
}
.flex_doctor_info_zu {
width: calc(50% - 12px);
}
}
@media only screen and (max-width: 834px) {
.flex_doctor_info_pic {
width: calc(50% - 8px);
}
.flex_doctor_info_zu {
width: calc(50% - 8px);
}
}
@media only screen and (max-width: 640px) {
.flex_doctor_info {
display: block;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_doctor_info_pic {
width: auto;
margin-bottom: 16px;
}
.flex_doctor_info_zu {
width: auto;
}
}
.flex_doctor_info_pic_flex {
display: flex;
justify-content: space-between;
flex-flow: column;
}
.flex_doctor_info_pic_flex_pic {
display: block;
margin-bottom: 8px;
}
.flex_doctor_info_pic_flex_midashi {
display: block;
}
@media only screen and (max-width: 640px) {
.flex_doctor_info_pic_flex {
flex-flow: row;
align-items: center;
}
.flex_doctor_info_pic_flex_pic {
width: 55%;
margin-bottom: 0;
}
.flex_doctor_info_pic_flex_midashi {
width: 45%;
}
}


.title_doctor {
text-align: center;
font-weight: 500;
line-height: 150%;
}
table.table_keiryaku {
table-layout: fixed;
width: 100%;
border: none;
background: none;
border-collapse: collapse;
line-height: 150%;
/*height: 90%;*/
}

table.table_keiryaku tr {
border: none;
background: none;
}

table.table_keiryaku th,
table.table_keiryaku td {
border: solid 1px #CCC;
border-left: none;
border-right: none;
padding: 0.5em 0;
background: none;
font-weight: 400;
text-align: left;
}
table.table_keiryaku th {
border-color: #F9B54F;
border-width: 2px;
width: 6em;
padding: 0.5em 0;
font-weight: 400;
}
table.table_keiryaku td {
padding: 0.5em 1em;
border-right: none;
background: none;
font-weight: 400;
}

@media only screen and (max-width: 640px) {
table.table_keiryaku {
height: inherit;
}

table.table_keiryaku th,
table.table_keiryaku td {
padding: 0.5em 0;
min-height: 4em;
height: 4em;
vertical-align: middle;
}
table.table_keiryaku th {
width: 3.8em;
}
table.table_keiryaku td {
padding: 0.5em 0.5em;
padding-right: 0;
}
}


/********* アクセス *************************************************/

.flex_access {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_access_txt {
order: 1;
display: block;
width: calc(50% - 16px);
}
.flex_access_map {
order: 2;
display: block;
width: calc(50% - 16px);
}
@media only screen and (max-width: 834px) {
.flex_access_txt {
width: calc(50% - 8px);
}
.flex_access_map {
width: calc(50% - 8px);
}
}
@media only screen and (max-width: 640px) {
.flex_access {
display: block;
}
.flex_access_txt {
width: auto;
margin-bottom: 8px;
}
.flex_access_map {
width: auto;
}
}

.flex_access_txt_in {
display: flex;
height: 100%;
flex-flow: column;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
}
.flex_access_txt_in_content {
display: block;
}

@media only screen and (max-width: 640px) {
.flex_access_txt_in {
display: block;
height: auto;
}
.flex_access_txt_in_content {
display: block;
margin-bottom: 16px;
}
.flex_access_txt_in_content:last-child {
margin-bottom: 0;
}
}


.access_map {
position: relative;
display: block;
height: 0;
padding-bottom: 44%;
border: 2.5px solid #79d0a5;
overflow: hidden;
border-radius: 16px;
}
.access_map_pic {
position: relative;
display: block;
height: 0;
padding-bottom: 58.5%;
border: 2.5px solid #79d0a5;
overflow: hidden;
border-radius: 16px;
margin-bottom: 16px;
background-color: #F5F5F5;
}
.img_accessmap {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

@media only screen and (max-width: 640px) {
.access_map {
border: 1.5px solid #79d0a5;
border-radius: 8px;
}
.access_map_pic {
border-radius: 8px;
border: 1.5px solid #79d0a5;
margin-bottom: 8px;
}
}


@media only screen and (max-width: 640px) {
.access_map {
padding-bottom: 64%;
}
}

.access_map iframe {
	position: absolute;
border-radius: 16px;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

h5.page_title_icon {
position: relative;
display: flex;
justify-content: flex-start;
  color: #479557;
  font-weight: 500;
  line-height: 150%;
  margin-bottom: 4px;
}
h4.page_title_icon i,
h5.page_title_icon i {
  color: #F9B54F;
  font-weight: 900;
  margin-top: 0.2em;
  margin-right: 0.25em;
}

h4.page_title_icon i.fa-notes-medical,
h5.page_title_icon i.fa-notes-medical {
  margin-top: 0.18em;
}
@media only screen and (max-width: 1280px) {
h4.page_title_icon i.fa-notes-medical,
h5.page_title_icon i.fa-notes-medical {
  margin-top: 0.16em;
}
}
@media only screen and (max-width: 834px) {
h4.page_title_icon i.fa-notes-medical,
h5.page_title_icon i.fa-notes-medical {
  margin-top: 0.26em;
}
}

.box_590 {
display: block;
margin: 0 auto;
max-width: 590px;
}

.img590 {
display: block;
margin: 0 auto;
max-width: 100%;
margin-bottom: 16px;
}
@media only screen and (max-width: 834px) {
.img590 {
max-width: 80%;
margin-bottom: 8px;
}
}


/********* クリニック紹介 *************************************************/
.flex_clinic_info {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_clinic_info_half {
display: block;
width: calc(50% - 16px);
}
.flex_clinic_info_txt {
order: 2;
display: block;
width: calc(50% - 16px);
}
.flex_clinic_info_pic {
order: 1;
display: block;
width: calc(50% - 16px);
}
@media only screen and (max-width: 1280px) {
.flex_clinic_info_half {
width: calc(50% - 12px);
}
.flex_clinic_info_txt {
width: calc(50% - 12px);
}
.flex_clinic_info_pic {
width: calc(50% - 12px);
}
}
@media only screen and (max-width: 834px) {
.flex_clinic_info_half {
width: calc(50% - 8px);
}
.flex_clinic_info_txt {
width: calc(50% - 8px);
}
.flex_clinic_info_pic {
width: calc(50% - 8px);
}
}
@media only screen and (max-width: 640px) {
.flex_clinic_info {
display: block;
}
.flex_clinic_info_half {
width: auto;
}
.flex_clinic_info_half:nth-child(n+2) {
margin-top: 16px;
}
.flex_clinic_info_txt {
width: auto;
}
.flex_clinic_info_pic {
width: auto;
margin: 0 auto;
margin-bottom: 8px;
}
}

.float_clnic_pic {
float: right;
display: block;
width: calc(50% - 16px);
margin-left: 32px;
margin-bottom: 8px;
}
@media only screen and (max-width: 834px) {
.float_clnic_pic {
width: calc(50% - 8px);
margin-left: 8px;
margin-bottom: 4px;
}
}
@media only screen and (max-width: 640px) {
.float_clnic_pic {
float: none;
width: auto;
margin: 0 auto;
margin-bottom: 8px;
}
}

.clinic_info_timetable {
display: block;
max-width: 640px;
margin: 0 auto;
}

@media only screen and (max-width: 834px) {
.clinic_info_timetable {
max-width: inherit;
}
}
table.table_gaiyou {
table-layout: fixed;
width: 100%;
border: none;
background: none;
border-collapse: collapse;
line-height: 150%;
height: 90%;
}

table.table_gaiyou tr {
border: none;
background: none;
}

table.table_gaiyou th,
table.table_gaiyou td {
border: solid 1px #CCC;
border-left: none;
border-right: none;
padding: 0.5em 0;
background: none;
font-weight: 400;
text-align: left;
}
table.table_gaiyou th {
border-color: #F9B54F;
border-width: 2px;
width: 6em;
padding: 0.5em 0;
font-weight: 400;
}
table.table_gaiyou td {
padding: 0.5em 1em;
border-right: none;
background: none;
font-weight: 400;
}

@media only screen and (max-width: 640px) {
table.table_gaiyou {
height: inherit;
}

table.table_gaiyou th,
table.table_gaiyou td {
padding: 0.5em 0;
min-height: 4em;
height: 4em;
vertical-align: middle;
}
table.table_gaiyou th {
width: 4.5em;
}
table.table_gaiyou td {
padding: 0.5em 0.5em;
}
}

/********* 内科 *************************************************/

.flex_naika_serv {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_naika_serv_box {
display: block;
width: calc(50% - 16px);
}
.flex_naika_serv_box:nth-child(n+3) {
margin-top: 16px;
}
.flex_naika_serv_box p {
margin-bottom: 0;
}
@media screen and (max-width: 1280px) {
.flex_naika_serv_box {
width: calc(50% - 8px);
}
}
@media screen and (max-width: 834px) {
.flex_naika_serv_box {
width: calc(50% - 8px);
}
}


@media screen and (max-width: 640px) {
.flex_naika_serv {
display: block;
}
.flex_naika_serv_box {
width: auto;
}
.flex_naika_serv_box:nth-child(n+2) {
margin-top: 8px;
}
}



/********* 泌尿器科 *************************************************/
.flex_hinyoukika {
display: flex;
justify-content: space-between;
flex-flow: column;
flex-wrap: wrap;
}
.flex_hinyoukika_box {
display: block;
}
.midashi_hinyoukika {
display: block;
padding: 8px 16px;
background-color: #f2f9f7;
border-radius: 16px;
margin-bottom: 8px;
}
.midashi_hinyoukika_link {
display: block;
padding: 0 16px;
padding-bottom: 4px;
margin-bottom: 8px;
color: #333;
border-bottom: 1px dotted #CCC;
}
.midashi_hinyoukika_link h5 {
font-weight: 500;
}
.midashi_hinyoukika_link i {
color: #79d0a5;
margin-right: 0.25em;
}
.box_hinyoukika {
display: block;
padding: 0 16px;
padding-right: 8px;
}
@media only screen and (max-width: 1280px) {
.midashi_hinyoukika {
padding: 8px 8px;
border-radius: 12px;
margin-bottom: 8px;
}
.midashi_hinyoukika_link {
padding: 0 8px;
padding-bottom: 4px;
margin-bottom: 8px;
}
.box_hinyoukika {
padding: 0 8px;
padding-right: 0;
}
}
@media only screen and (max-width: 834px) {
.midashi_hinyoukika {
padding: 4px 4px;
border-radius: 8px;
margin-bottom: 8px;
}
.midashi_hinyoukika_link {
padding: 0 4px;
padding-bottom: 4px;
margin-bottom: 8px;
}
.box_hinyoukika {
padding: 0 4px;
padding-right: 8px;
}
}


.midashi_hinyoukika h4,
.midashi_hinyoukika h5,
.midashi_hinyoukika_link h5 {
margin-bottom: 0 !important;
}

.flex_hinyoukika_box:nth-child(n+2) {
margin-top: 24px;
}
@media only screen and (max-width: 640px) {
.flex_hinyoukika_box:nth-child(n+2) {
margin-top: 16px;
}
.midashi_hinyoukika {
padding: 4px 8px;
margin: 0 -8px;
margin-bottom: 4px;
}
.midashi_hinyoukika_link {
padding: 4px 8px;
margin: 0 -8px;
margin-bottom: 4px;
}
.box_hinyoukika {
padding: 0 0;
}
}
@media only screen and (max-width: 640px) {
.flex_hinyoukika_box {
width: auto;
}
.flex_hinyoukika_box:nth-child(n+3) {
margin-top: 16px;
}
}

/********* 自費診療 *************************************************/

.flex_list_selfpay {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_list_selfpay::after {
display: block;
content:"";
width: calc(100% / 3 - 16px);
}
.flex_list_selfpay_box {
display: block;
text-align: center;
width: calc(100% / 3 - 16px);
}
.flex_list_selfpay_box:nth-child(n+4) {
margin-top: 16px;
}
@media only screen and (max-width: 1280px) {
.flex_list_selfpay_box {
width: calc(100% / 3 - 12px);
}
.flex_list_selfpay::after {
width: calc(100% / 3 - 12px);
}
}

@media only screen and (max-width: 834px) {
.flex_list_selfpay_box {
width: calc(100% / 3 - 8px);
}
.flex_list_selfpay::after {
width: calc(100% / 3 - 8px);
}
}
@media only screen and (max-width: 640px) {
.flex_list_selfpay {
display: block;
}
.flex_list_selfpay_box {
width: auto;
margin: 0 auto;
}
.flex_list_selfpay_box:nth-child(n+2) {
margin-top: 8px;
}
}

.flex_list_selfpay_box_pic {
position: relative;
display: block;
background: #F5F5F5;
height: 0;
padding-bottom: 53.6%;
overflow: hidden;
margin-bottom: 8px;
}
.flex_list_selfpay_box_pic img {
  position: absolute;
  object-fit: contain;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
h5.flex_list_selfpay_box_title,
p.flex_list_selfpay_box_title {
margin-bottom: 0;
line-height: 150%;
font-weight: 500;
}
h5.flex_list_selfpay_box_title a,
p.flex_list_selfpay_box_title a {
color: #090;
}
h5.flex_list_selfpay_box_title a:hover
p.flex_list_selfpay_box_title a:hover {
text-decoration: underline;
}

table.table_selfpay {
table-layout: fixed;
width: 100%;
border: none;
background: none;
border-collapse: collapse;
line-height: 150%;
/*height: 90%;*/
}
table.table_selfpay.autosize {
width: auto;
}


table.table_selfpay tr {
border: none;
background: none;
}

table.table_selfpay th,
table.table_selfpay td {
border: solid 1px #CCC;
border-left: none;
border-right: none;
border-top: none;
padding: 0.5em 0;
background: none;
font-weight: 400;
text-align: left;
}
table.table_selfpay th {
border-color: #F9B54F;
border-width: 2px;
padding: 0.5em 0;
font-weight: 400;
}
table.table_selfpay td {
padding: 0.5em 1.5em;
width: 11.5em;
text-align: right;
border-right: none;
background: none;
font-weight: 400;
}

table.table_selfpay.autosize td {
white-space: nowrap;
}

@media only screen and (max-width: 640px) {
table.table_selfpay {
height: inherit;
}

table.table_selfpay th,
table.table_selfpay td {
padding: 0.5em 0;
}
table.table_selfpay th {
}
table.table_selfpay td {
padding: 0.5em 1em;
width: 8.2em;
}
}

table.table_selfpay_bk {
table-layout: fixed;
width: 100%;
border: none;
background: none;
border-collapse: collapse;
line-height: 150%;
/*height: 90%;*/
}
table.table_selfpay_bk.autosize {
width: auto;
}


table.table_selfpay_bk tr {
border: none;
background: none;
}

table.table_selfpay_bk th,
table.table_selfpay_bk td {
border: solid 1px #CCC;
padding: 0.5em 0;
background: none;
font-weight: 400;
text-align: left;
}
table.table_selfpay_bk th {
padding: 0.5em 1em;
font-weight: 400;
}
table.table_selfpay_bk td {
padding: 0.5em 1.5em;
width: 11.5em;
text-align: right;
background: none;
font-weight: 400;
}

table.table_selfpay_bk.autosize td {
white-space: nowrap;
}

@media only screen and (max-width: 640px) {
table.table_selfpay_bk {
height: inherit;
}

table.table_selfpay_bk th,
table.table_selfpay_bk td {
padding: 0.5em 0;
}
table.table_selfpay_bk th {
}
table.table_selfpay_bk td {
padding: 0.5em 1em;
width: 8.2em;
}
}



.sp_scroll,
.sp_scroll640 {
  margin-bottom: 0!important;

}
@media screen and (max-width: 834px) {
  .sp_scroll {
    overflow-x: scroll;
  }
  }
  
.sp_scrollimg {
display: block;
	max-width: 100%;
	margin: 0;
  }
@media screen and (max-width: 834px) {
.sp_scroll .sp_scrollimg {
    width: 100%;
	font-size: 100%;
	margin: 0;
}
}
@media screen and (max-width: 640px) {
  .sp_scroll640 {
    overflow-x: scroll;
  }
.sp_scroll .sp_scrollimg {
    width: 100%;
	min-width: 720px;
	margin: 0;
  }
.sp_scroll .sp_scrollimg.img640 {
    width: 100%;
	min-width: 640px;
	margin: 0;
  }
}

p.sp_scrolltxt,
p.sp_scrolltxt640 {
display: none;
}
.yazirusi {
display: none;
}
@media only screen and (max-width: 833px) {
p.sp_scrolltxt {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
  color: #F9B54F;
}
@media only screen and (max-width: 639px) {
p.sp_scrolltxt640 {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
  color: #F9B54F;
}
}

.yazirusi {
display: inline-block;
        margin-left: 4px;
        width: calc(100% - 5em);
        height: 6px;
        border-bottom: 1px solid #479557;
        border-right: 1px solid #479557;
        transform: skew(45deg);
}
}


table.ed_table {
margin: 0;
padding: 0;
background: none;
border: none;
	font-size: 100%;
  margin-bottom: .5em;
}
table.ed_table tr{
margin: 0;
padding: 0;
background: none;
border: none;
  margin-bottom: .5em;
}
@media screen and (max-width: 834px) {
  table.ed_table{
    /* width: 1000px; */
    width: 100%;
    white-space: nowrap;
	font-size: 100%;
  }
}
@media screen and (max-width: 640px) {
  table.ed_table {
    width: 100%;
	min-width: 834px;
    white-space: nowrap;
  }
}

table.ed_table tr:nth-of-type(2n+1) {
  background-color: #fff;
}
table.ed_table th,
table.ed_table td {
border: solid 1px #CCC;
border-top: none;
padding: 0.5em 0.5em;
background: none;
font-weight: 400;
text-align: center;
line-height: 150%;
  width: calc(100% / 9);
}
  table.ed_table th {
  border: none;
  
  background-color: #C4F1E1;
  
  font-weight: 500;
}
table.ed_table th:first-child,
table.ed_table td:first-child {
  /*
  border-color: #F9B54F;

  border-left-color: #CCC;
  border-right-color: #CCC;
*/
  width: calc(100% / 6);
}
table.ed_table th:last-child,
table.ed_table td:last-child {
  width: calc(100% / 5);
}
table.ed_table td {
  width: auto;
}
table.ed_table td:first-of-type{
  font-weight: 500;
}

table.ed_table td:nth-of-type(3){
  text-align: right;
}
table.ed_table td:last-of-type{
  text-align: left;
}




table.table_aga {
table-layout: fixed;
width: 100%;
margin: 0;
padding: 0;
background: none;
border: none;
font-size: 100%;
margin-bottom: .5em;
}
table.table_aga tr {
margin: 0;
padding: 0;
background: none;
border: none;
  margin-bottom: .5em;
}

@media screen and (max-width: 640px) {
  table.table_aga {
    width: 100%;
	min-width: 834px;
  }
}

table.table_aga tr:nth-of-type(2n+1) {
  background-color: #fff;
}
table.table_aga th,
table.table_aga td {
border: solid 1px #CCC;
border-top: none;
padding: 0.5em 1em;
background: none;
font-weight: 400;
  text-align: center;
line-height: 150%;
}
  table.table_aga th {
  border: none;
  text-align: center;
  background-color: #C4F1E1;
  font-weight: 500;
}
table.table_aga th:first-child,
table.table_aga td:first-child {
  width: 10em;
  text-align: center;
}

dl.aga_price {
display: inline-block;
margin: 0;
margin-bottom: 0.5em;
padding: 0;
}
dl.aga_price dt {
clear: both;
float: left;
width: 13em;
  font-weight: 500;
margin: 0;
padding: 0;
}
dl.aga_price dd {
margin: 0;
margin-left: 13em;
padding: 0;
text-align: right;
}



table.table_vitamin {
table-layout: fixed;
width: 100%;
margin: 0;
padding: 0;
background: none;
border: none;
font-size: 100%;
margin-bottom: .5em;
}
table.table_vitamin tr {
margin: 0;
padding: 0;
background: none;
border: none;
  margin-bottom: .5em;
}

@media screen and (max-width: 640px) {
  table.table_vitamin {
    width: 100%;
	min-width: 834px;
  }
}

table.table_vitamin tr:nth-of-type(2n+1) {
  background-color: #fff;
}
table.table_vitamin th,
table.table_vitamin td {
border: solid 1px #CCC;
border-top: none;
padding: 0.5em 1em;
background: none;
font-weight: 400;
  text-align: center;
line-height: 150%;
}
  table.table_vitamin th {
  border: none;
  text-align: center;
  background-color: #C4F1E1;
}
table.table_vitamin th:first-child,
table.table_vitamin td:first-child {
  font-weight: 500;
  text-align: center;
}
table.table_vitamin td:last-child {
  text-align: right;
}
dl.placenta_price {
display: inline-block;
margin: 0;
margin-bottom: 0.5em;
padding: 0;
}
dl.placenta_price dt {
clear: both;
float: left;
width: 3em;
  font-weight: 500;
margin: 0;
padding: 0;
}
dl.placenta_price dd {
margin: 0;
margin-left: 3em;
padding: 0;
text-align: right;
}




table.table_nosmoking {
table-layout: fixed;
width: 100%;
margin: 0;
padding: 0;
background: none;
border: none;
font-size: 100%;
margin-bottom: .5em;
}
table.table_nosmoking tr {
margin: 0;
padding: 0;
background: none;
border: none;
}
/*
@media screen and (max-width: 640px) {
  table.table_nosmoking {
	min-width: 834px;
}
}
*/
table.table_nosmoking th,
table.table_nosmoking td {
border: solid 1px #CCC;
border-top: none;
padding: 0.5em 1em;
background: none;
font-weight: 400;
line-height: 150%;
}
  table.table_nosmoking th {
  border: none;
  text-align: center;
  background-color: #C4F1E1;
}
table.table_nosmoking td {
  text-align: right;
}
table.table_nosmoking th:first-child,
table.table_nosmoking td:first-child {
  font-weight: 500;
  text-align: center;
}


/********* 初診の方へ *************************************************/
.flex_shoshin {
display: flex;
justify-content: space-between;
flex-flow: column;
flex-wrap: wrap;
}
.flex_shoshin_content {
display: block;
}
.flex_shoshin_content:nth-child(n+2) {
margin-top: 24px;
}
@media only screen and (max-width: 640px) {
.flex_shoshin_content:nth-child(n+2) {
margin-top: 16px;
}
}
.flex_shoshin_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_shoshin_box_pic {
display: block;
width: calc(35% - 16px);
}
.flex_shoshin_box_txt {
display: block;
width: calc(65% - 16px);
}
@media only screen and (max-width: 1280px) {
.flex_shoshin_box_pic {
width: calc(30% - 12px);
}
.flex_shoshin_box_txt {
width: calc(70% - 12px);
}
}
@media only screen and (max-width: 834px) {
.flex_shoshin_box_pic {
width: calc(33% - 8px);
}
.flex_shoshin_box_txt {
width: calc(67% - 8px);
}
}
@media only screen and (max-width: 640px) {
.flex_shoshin_box {
display: block;
}
.flex_shoshin_box_pic {
width: auto;
margin-bottom: 8px;
}

.flex_shoshin_box_txt {
width: auto;
}
}


.flex_shoshin_box_txt h5 {
display: flex;
align-items: center;
width: 100%;
font-weight: 500;
padding-bottom: 0.2em;
border-bottom: 1px solid #CCC;
margin-bottom: 8px !important;
}
.number_maru {
display: flex;
justify-content: center;
width: 1em;
font-size: 70%;
border-radius: 50%;
border: 1px solid #479557;
color: #479557;
padding: 0.3em 0.83em;
padding-top: 0.4em;
line-height: 100%;
margin-right: 0.4em;
text-align: center;
}


/********* 個人情報保護方針 *************************************************/


dl.list_sick,
dl.list_sick_txt06,
dl.list_sick_txt10 {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
line-height: 150%;
margin: 0;
padding: 0;
}
dl.list_sick dt,
dl.list_sick_txt06 dt,
dl.list_sick_txt10 dt {
position: relative;
  color: #479557;
margin: 0;
margin-bottom: 8px;
padding: 0;
padding-left: 1em;
font-weight: 600;
width: 6em;
}
dl.list_sick_txt06 dt {
width: 8em;
}
dl.list_sick_txt10 dt {
width: 10em;
}
dl.list_sick dt:before,
dl.list_sick_txt06 dt:before,
dl.list_sick_txt10 dt:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f481";
  margin: 0;
  margin-left: -1em;
  margin-top: -0.1em;
  padding: 0;
  color: #F9B54F;
  font-weight: 900;
}

@media only screen and (max-width: 1280px) {
dl.list_sick dt:before,
dl.list_sick_txt06 dt:before,
dl.list_sick_txt10 dt:before {
  margin-top: -0.07em;
}
}

dl.list_sick dd,
dl.list_sick_txt06 dd,
dl.list_sick_txt10 dd {
width: calc(100% - 6em);
margin: 0;
padding: 0;
}
dl.list_sick_txt06 dd {
width: calc(100% - 8em);
}
dl.list_sick_txt10 dd {
width: calc(100% - 10em);
}

dl.list_sick dd:last-child,
dl.list_sick_txt06 dd:last-child,
dl.list_sick_txt10 dd:last-child {
margin: 0;
margin-bottom: 0;
padding: 0;
}
@media only screen and (max-width: 640px) {
dl.list_sick,
dl.list_sick_txt06,
dl.list_sick_txt10 {
display: block;
margin: 0;
padding: 0;
}
dl.list_sick dt,
dl.list_sick_txt06 dt,
dl.list_sick_txt10 dt {
width: auto;
margin-bottom: 0;
}
dl.list_sick dd,
dl.list_sick_txt06 dd,
dl.list_sick_txt10 dd {
width: auto;
margin-bottom: 8px;
padding: 0;
padding-left: 1em;
}
dl.list_sick dd:last-child,
dl.list_sick_txt06 dd:last-child,
dl.list_sick_txt10 dd:last-child {
padding-left: 1em;
}
}

dl.list_sick_kai {
line-height: 150%;
margin: 0;
padding: 0;
}
dl.list_sick_kai dt {
position: relative;
  color: #479557;
margin: 0;
padding: 0;
padding-left: 1em;
font-weight: 600;
}
dl.list_sick_kai dt:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f481";
  margin: 0;
  margin-left: -1em;
  margin-top: -0.1em;
  padding: 0;
  color: #F9B54F;
  font-weight: 900;
}

dl.list_sick_kai dd {
margin: 0;
margin-bottom: 8px;
padding: 0;
padding-left: 1em;
}

dl.list_sick_kai dd:last-child {
margin-bottom: 0;
}



/********* 院内機器一覧 *************************************************/

.flex_kiki {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_kiki_list {
display: block;
width: calc(100% / 3 - 16px);
}
.flex_kiki_list:nth-child(n+4) {
margin-top: 16px;
}
@media only screen and (max-width: 834px) {
.flex_kiki_list {
width: calc(100% / 2 - 12px);
}
.flex_kiki_list:nth-child(n+3) {
margin-top: 16px;
}
}

@media only screen and (max-width: 640px) {
.flex_kiki_list {
width: calc(100% / 2 - 4px);
}
}

.kiki_list_title {
font-weight: 600;
text-align: center;
color: #393;
line-height: 150%;
}
.kiki_list_title a {
display: block;
color: #090;
text-decoration: underline;
}

.flex_kiki_list_img {
display: block;
position: relative;
height: 0;
padding-bottom: 59.99%;
background-color: #F5F5F5;
overflow: hidden;
margin-bottom: 8px;
}
.flex_kiki_list_img img {
  position: absolute;
  object-fit: contain;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}


.flex_kiki_list p {
margin-bottom: 0;
margin-top: 1px;
}


.flex_kiki_shousai {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_kiki_shousai_pic {
display: block;
width: 33%;
}
.flex_kiki_shousai_txt {
display: block;
width: calc(67% - 24px);
}
h5.flex_kiki_shousai_title {
font-weight: 600;
color: #090;
line-height: 150%;
margin-bottom: 4px;
}

.flex_kiki_shousai_box {
display: block;
padding-bottom: 16px;
border-bottom: 1px dotted #CCC;
margin-bottom: 16px;
}

.flex_kiki_shousai_pic img {
display: block;
max-width: 100%;
margin: 0 auto;
margin-bottom: 8px;
}

@media only screen and (max-width: 640px) {
.flex_kiki_shousai {
display: block;
}
.flex_kiki_shousai_pic {
float: right;
width: calc(40% - 8px);
margin-bottom: 8px;
margin-left: 8px;
}
.flex_kiki_shousai_txt {
width: auto;
}
}

ul.list_bt_kiki {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
margin: 0;
padding: 0;
margin-bottom: 16px;
}

ul.list_bt_kiki li {
display: inline-block;
list-style: none;
margin: 0;
margin-bottom: 8px;
line-height: 150%;
border-radius: 4px;
min-width: calc(100% / 5 - 8px);
}
ul.list_bt_kiki li a {
position: relative;
display: block;
color: #090;
font-weight: 600;
}
ul.list_bt_kiki li a:hover {
text-decoration: underline;
}
ul.list_bt_kiki li a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin: 0;
  margin-left: 2px;
  padding: 0;
  color: #F90;
  font-weight: 900;
}
@media only screen and (max-width: 834px) {
ul.list_bt_kiki {
justify-content: space-between;
}
ul.list_bt_kiki li {
display: block;
min-width: inherit;
width: calc(100% / 2 - 4px);
}
}

@media only screen and (max-width: 640px) {
ul.list_bt_kiki {
display: block;
}
ul.list_bt_kiki li {
display: inline-block;
width: auto;
margin-right: 8px;
}
ul.list_bt_kiki li:last-child {
margin-right: 0;
}
}



/********* 個人情報保護方針 *************************************************/

dl.privacy {
margin: 0;
padding: 0;
}
dl.privacy dt {
  color: #479557;
margin: 0;
margin-bottom: 4px;
padding: 0;
font-size: 110%;
font-weight: 600;
border-bottom: 1px solid #EEE;
}
dl.privacy dd {
margin: 0;
margin-bottom: 16px;
padding: 0;
}

dl.privacy dd:last-child {
margin: 0;
margin-bottom: 0;
padding: 0;
}




.part {
  width: calc(100% / 3);  /* コンテンツ幅の1/3 */
  box-sizing: border-box; /* paddingやborder込みで計算 */
  padding: 10px;
  margin: 0 auto;         /* 中央寄せ */
  text-align: left;
  /* border: 1px solid #ccc; ← 削除 */
}

@media (max-width: 768px) {
  .part {
    width: 100%; /* 全幅に */
  }
}
