@charset "utf-8";
/*
Theme Name: town-of-clinic-theme3
Author: cosmos-factory
Version: 3.3.3
*/





/* ------------------- 基本構造 ------------------- */

/* 
* {
  outline: 1px solid red !important;
}

*/



html, body {
  margin: 0;
  padding: 0;
 
  height: auto !important; 
	max-height: none !important;
	overflow-x: hidden !important;
}

html {
  overflow-y: scroll !important; 
  overflow-x: hidden !important;
  scroll-snap-type: y proximity !important; 
}

body {
  background-color: #fd8;
  font-family: 'mplus-1c-light', sans-serif !important; 
  overflow: visible !important; 
  
  scrollbar-gutter: stable !important;
}

body > *:not(#wpadminbar) {
	max-width: 100vw;
	overflow-x: hidden;
}

#page, #content, .site, .site-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: auto !important;
  overflow: visible !important;
}

/* フェードインアニメーション */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}


.pagebox {
  min-height: 100vh !important;
  height: auto !important; 
  box-sizing: border-box !important; 
  
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; 
  position: relative !important;
  
 
  scroll-snap-align: none !important; 
  scroll-snap-stop: unset !important;
  
  padding-top: 0 !important; 
}


@media (min-width: 1025px) {
  .pagebox.has-fixed-menu {
    padding-top: 60px !important; 
  }
}


.pagebox .scroll-gap {
  display: none !important; 
}


.pagebox .top-outer {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-top: 8vh !important;
  padding-bottom: 8vh !important; 
  

  margin: auto 0 !important; 
  
  scroll-snap-align: none !important; 
  scroll-snap-stop: unset !important;
}

.top-inner {

  width: 100% !important;
  max-width: 1025px !important;
  box-sizing: border-box !important;
  display: flex !important;
	flex-direction: column !important;
	padding: 0 20px;
}


.snap-marker-top {
  display: block !important;
  height: 1px !important;
  margin-top: -1px !important;
  width: 100% !important;
  visibility: hidden !important;
  
 
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}


.snap-marker-bottom {
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  visibility: hidden !important;
  

  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  

  scroll-snap-align: end !important;
  scroll-snap-stop: always !important;
}


@media (max-width: 1024px) {
  header, .site-header {
    position: relative !important;
    z-index: 10 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }
}


header, 
.site-header {
  position: relative !important;
  width: 100% !important;
  z-index: 100 !important; 
  scroll-snap-align: start !important; 
  scroll-snap-stop: always !important;
}


footer, 
.site-footer {
  scroll-snap-align: start !important; 
  scroll-snap-stop: always !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative;
  z-index: 1 !important; 
  display: flex !important;
  flex-direction: column !important;
}

@media (min-width: 1025px) {
  footer, .site-footer {
    min-height: auto !important; 
    margin-top: 2vh !important; 
    justify-content: flex-start !important; 
  }
}
@media (max-width: 1024px) {
  footer, .site-footer {
    min-height: 100vh !important; 
    justify-content: flex-end !important; 
  }
}

#footerouter {
  width: 100% !important;
  box-sizing: border-box !important;
  padding-bottom: 8vh !important; 
}

footer .scroll-gap {
  display: block !important;
  height: 5vh !important; 
  scroll-snap-align: none !important; 
}

.hamburger, .drawer, #nav-toggle, .menu-trigger {
  position: fixed !important;
  z-index: 1000 !important; 
  pointer-events: auto !important; 
  transform: translate3d(0, 0, 10px) !important; 
}

#gotop {
  position: fixed !important;
  right: 20px !important;
  z-index: 500 !important;
}

.inview_re.fadeIn {
  opacity: 0 !important;
  transform: translateY(30px) !important;
  transition: opacity 1.5s cubic-bezier(0.25, 1, 0.5, 1), transform 1.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
  will-change: opacity, transform;
}
.inview_re.fadeIn.is-show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}



	
.outer{
width:100%;
max-width:1100px;
min-height: 80vh;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
padding:0px 20px 20px;
box-sizing: border-box;
}

.inner{
display: block;
  width: 100%;

							}
#midashi{
	box-sizing: border-box;
	width: 100%;
	   max-width:1280px;
	overflow: hidden;
	margin:0 auto;
   padding:0;
}

#midashi img {

  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;


}



h1 {
font-size: 25px;
	text-decoration: none;	
padding: 5px;
margin: 0;
display: inline-block;
line-height: 1.3;
vertical-align: middle;
font-family: 'mplus-1c-bold';
}


h2 {
font-size: 20px;
	text-decoration: none;
	color: #f60;
	font-family: 'mplus-1c-regular';
padding: 3px;
margin: 0;
display: inline-block;
line-height: 1.3;
vertical-align: middle;

}

h2 a{
	text-decoration: none;
	color: #f90;

}

h2 a:hover{
	color: #fc0;
	transition-property: all;
	transition: 0.3s linear;
}



h3 {
font-size: 15px;
padding: 3px;
margin: 0;
	text-decoration: none;
	color: #f60;
	font-family: 'mplus-1c-regular';
line-height: 1.5;
}

h3 a{
	color: #f60;
	text-decoration: none;
}

h3 a:hover{
	color: #fc0;
	transition-property: all;
	transition: 0.3s linear;
}



h4 {
font-size: 11px;
margin: 0;
	text-decoration: none;
	color: #f90;
	font-family: 'mplus-1c-regular';

}


h4 a{
	color: #f90;
	text-decoration: none;
}

h4 a:hover{
	color: #f90;
	transition-property: all;
	transition: 0.3s linear;
}



h5 {
font-family: 'mplus-1c-regular';
text-decoration: none;
margin: 0;
	color: #f90;
}


h6 {
font-family: 'mplus-1c-regular';
text-decoration: none;
margin: 0;
	color: #f90;
}


/* 記事内の画像 */
.aligncenter	{display: block;
	margin-left: auto;
	margin-right: auto}

.alignleft	{float: left;
	margin-right: 10px;
	margin-bottom: 10px}

.alignright	{float: right;
	margin-left: 10px;
	margin-bottom: 10px}

.wp-caption	{border: solid 1px #aaaaaa;
	text-align: center;
	padding-top: 5px}

/* 画像のキャプション */
.wp-caption-text	{margin: 0;
	color: #666666;
	font-size: 10px;
	text-align: center}

.wp-caption-text a	{color: #666666}

/* 大きい画像用の設定 */
.post img, .wp-caption	{max-width: 100%;
	height: auto}
							
/* -------------------フォント ------------------- */

@font-face {
  font-family: 'mplus-1c-light';
  src: url('font/mplus-1c-light.ttf') format('truetype');
}

@font-face {
  font-family: 'mplus-1c-regular';
  src: url('font/mplus-1c-regular.ttf') format('truetype');
}


@font-face {
  font-family: 'mplus-1c-bold';
  src: url('font/mplus-1c-bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Futura-Light';
  src: url('font/Futura-Light.otf');
}

@font-face {
  font-family: 'Futura';
  src: url('font/Futura.otf');
}
							
/* ------------------- ヘッダー ------------------- */
							
header,
.pc-menu,
.main-menu,
.gnav-wrapper {
  overflow: visible !important;
}
							
							
header {
    background-color: #f93 !important; 
    width: 100% !important;
								display: block !important;

}


header .head-outer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
}


header .head-outer a {
    display: block !important;
    width: 100% !important;
    max-width: 250px !important; 
    flex-shrink: 0 !important;  
    height: auto !important;
}


.headlogo,
.headtel,
header .head-outer img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}


@media screen and (max-width: 655px) {
    header .head-outer {
        flex-direction: column !important; 
    }
    header .head-outer a {
        margin: 8px auto !important; 
    }
}
@media screen and (max-height: 520px) {

  header .head-outer {
    padding: 5px 10px !important; 
  }
  
  header .head-outer a {
    max-width: 160px !important; 
  }


  #top {
    height: auto !important;     
    min-height: 140vh !important; 
    padding-top: 80px !important; 
  }


  .top-outer {
    height: auto !important;
    padding: 20px 0 !important;
  }
  

}
							
/* -----------------トップページ ----------------- */
#top
{
  width: 100%;


  background-image: 
    url("images/cloud1.png"), 
    url("images/back2.png"), 
    url("images/cloud2.png");

 background-repeat: repeat-x, repeat-x, repeat-x;

  background-size: auto, auto, auto;

  background-position: 
    left 0px top 300px,
    center bottom 0, 
    left 0px top 150px;

   animation: scroll-clouds 40s linear infinite;
							}
						
@keyframes scroll-clouds {
  0% {
    
    background-position: 
      left 0px top 0px,  
      center bottom 0,  
      left 0px top 0px; 
  }
  100% {
   
    background-position: 
      left -1000px top 200px, 
      center bottom 0, 
      left -500px  top 100px;
  }
}
							
@media screen and (max-width: 655px) {
#top
{

  background-position: 
    left 0px top 0px,
    center bottom 0, 
    left 0px top 0px;


							}
							}
.top-outer
{
width:100%;
position: relative;
max-width:1279px;
height: 100%;
margin:0 auto;
display: flex;
justify-content: center;
align-items: center;

}
							


.top-copy1{
width:100%;
max-width:500px;
margin:0 auto;
display:flex;
align-items: center;
justify-content: center;
								z-index: 2;
position: relative;
}
.top-copyL img{
								width:200px;
}

.top-copyL{
padding:10px;
width:30%;
	}
.top-copyR{
width:70％;
							}
.copyR1{
								font-size: 35px;
opacity: 0;
  animation: fadeIntop 1s forwards;
  animation-delay: 1s; 
	}
@keyframes fadeIntop {
  from { opacity: 0; }
  to { opacity: 1; }
}
						
		.copyR2{
								font-size: 30px;
								opacity: 0;
  animation: fadeIn 1s forwards;
  animation-delay: 2s; 
	}
							
.top-copy2{
font-size: 20px;
opacity: 0;
animation: fadeIn 3s forwards;
								animation-delay: 3s; 
								z-index: 2;
							}
@media (max-width: 500px) {
.copyR1{
font-size: 23px;
	}
						
.copyR2{
font-size: 20px;
	}
}


							
/* 更新情報 */

#whatsnew{
position: relative;
 margin:100px auto;
width: 80%;
max-width: 500px;
border-radius: 10px; 
padding:10px;
display: flex;
  align-items: center;
background-color: #fff;
}


.info-t{
	position: absolute;
	width: 80px;
	top: -43px;
	left: 20;
	   }
.info-t img{
	width: 100%;
	   }
.info_thum{
float: left;
	   width: 100px;

	   }
.info_thum img{
width: 100%;

	   }

.datetime{
position: absolute;
right: 10px;
top: -30px;
background-color: #fb0;
padding:5px 10px;
							}
							
							
.youbi{
display: inline-flex;
  justify-content: center;
align-items: center;
vertical-align:2px;
width: 15px;           
height: 15px;
font-size: 10px;
line-height: 5px;
  border-radius: 50%;  
color: #fff;
background-color: #555;
							}

							

.pickuptitle{
float: left;
 padding-left:10px;
	}
	
.pickuptitle a{
	font-size: 20px;
	text-decoration: none;
	color: #f60;
font-family: 'mplus-1c-bold';
	}

							
/* ---初診・再診・診療科目 -- */
							
/* 初診・再診 */

.mark{ 
margin:0;
 padding:0;
  width: 100%;
  
 }
 .consultation{ 
width:100%;
border-collapse: collapse;

 }
 .consultation thead tr th{ 
   border-radius: 10px;
 }				
 .consultation thead tr{ 
 box-sizing: border-box;
   margin:10px auto;
   padding:5px;
   text-align: center;
   font-size: 20px;
   color: #fff;
   background-color: #f93;
}
.consultation tbody tr{ 
 display: table-row;
}
.consultation tbody tr td{ 
 padding:10px;
							}			
							
.consultation tbody tr .column-1{ 
width: 30px;
min-width: 40px;
max-width: 40px; 
vertical-align: middle; 
box-sizing: border-box;
 }		
							
.consultation tbody tr .column-2 {
width: calc(100% - 40px);
vertical-align: middle;
box-sizing: border-box; 
							}			
.medicopy{
	font-size: 16px;
	}

.medicopy2{ 
 box-sizing: border-box;
   margin:10px auto;
   padding:5px;
   text-align: center;
   font-size: 20px;
   font-family: 'mplus-1c-bold';
   color: #fff;
   background-color: #f93;
   border-radius: 10px;
width:100%;
 }

						


#medicalmenu{ 
display: flex;
gap: 10px;

 }
 
.md1{ 
width: calc((100% - 20px) / 3); 
  box-sizing: border-box; 
  text-align: left;
 }


.md1 img{ 
   width: 100%;
}
							
							
#sickness{ 
  display: flex;
  flex-wrap: wrap; 
  gap: 10px;
							}
.sick{ 
width: calc((100% - 10px) / 2); 
  box-sizing: border-box; 
  padding: 10px;
  text-align: center;
							}
							
.sick img{ 
								width: 100%; 
								max-width: 350px; 

							}
							
.sick2{ 
padding: 10px;
text-align: center;
background-color: #fff;
margin-bottom:20px;
							}
.sick3{ 
width: fit-content;
display: inline-block;
text-align: left;
							}
							
.md2{ 
width: 100%; 
box-sizing: border-box; 
font-size: 18px;
  padding: 5px;
text-align: center;
background-color: #fb0;
color: #000;
							}	
.md3{ 
font-size: 16px;
								padding: 5px;
								 margin-top:10px;
color: #f00;
							}
							
.md4{ 
								font-size: 18px;
								text-align: center;
padding: 5px;
margin-top:10px;
color: #f00;
 }	
.pleasenote{ 
position: relative;
width: 100%;
background-color: #fff;
padding:20px 40px 20px 20px;
margin-bottom:40px;
border-radius: 20px;
box-sizing: border-box;
animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { 
    transform: translateY(0);
  }
  40% { 
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
							}
							
.kumafaice{ 
position: absolute; 
right: 0; 
width: 80px;
							}
							
.bounce-img {
  animation: bounce 2s ease-in-out infinite;
}

/* 院内案内 */
.swiper-thumb {
margin-top: 0px;

text-align: center;

}

.swiper-thumb .swiper-slide {
padding:10px 0;
    opacity: .5;
    transition: opacity .5s ease;
cursor: pointer;
background-color: #f93;
color: #F00;
}

.swiper-thumb .swiper-slide.swiper-slide-thumb-active {
opacity: 1;
color: #fff;
background-color: #F60;
}
						
	
							
/* 症状 */												
#con{ 
text-align: center;
font-size: 0;
}

#con div{ 
width:33.3333%;
display: inline-block;

}
#con div img{ 
width:100%;
}

.con02	{ 
width:100%;
text-align: center;
font-size: 20px;
}					
							
.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
								transition: 1.5s ease-in-out;
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
							}
							
							
							
/* 天気とメンタル */
							
@keyframes horizontal {
    0% { transform:translateX( -3px); }
  100% { transform:translateX(  0px); }
}


#tenki-M2 img{ 
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
 animation: horizontal 1s ease-in-out infinite alternate;
}

#tenki-M img { 
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}

.tenkikuma{ 
width:100%;
								text-align: center;
								position: relative;
}	
							
.syoujyou01{ 
width:100%;
padding-top:80px;
text-align: center;
}			
.syoujyou01 img{ 
width:300px;
}						
							
.tenki2{ 
margin:5px 0;
padding:5px 10px;
background-color: #F60;
color: #fff;
display: inline-block;
width:auto;
border-radius: 10px;
							}
							
#custom-weather-widget {
  background: #f7f9fa;
  border: 1px solid #e1e8ed;
  border-radius: 8px;
  padding: 15px;
  max-width: 360px; 
  width: 100%;
  font-family: sans-serif;
  color: #333;
box-sizing: border-box;
 margin:0 auto;
}
#custom-weather-widget h3 {
  margin: 0 0 10px 0;
  font-size: 16px;
  text-align: center;
}
.weather-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px; 
  margin-bottom: 15px;
}
.weather-main img {
  width: 80px; 
  height: 80px;
}
.weather-temp-baro {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}
#current-temp {
  display: inline-block;
  margin-right: 2px;
}
#current-pressure {
  display: block;
  font-size: 18px;
  color: #666;
  font-weight: normal;
  margin-top: 4px;
  white-space: nowrap;
  width: max-content; 
}
.forecast-container {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e1e8ed;
  padding-top: 12px;
}
.forecast-day {
  text-align: center;
  flex: 1;
}
.fc-date {
  font-size: 11px;
  color: #666;
}
.fc-icon {
  width: 35px;
  height: 35px;
  margin: 3px auto;
}
.fc-temp {
  font-size: 12px;
  font-weight: bold;
}
							
.kisyoucyou {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e1e8ed;
								padding-top: 10px;
								font-size: 12px;
}
							

#docbear { 
  position: relative;
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  z-index: 10;
}
 
#docbear img { 
  width: 100%;
  height: auto;
}

#docbear1 { 
  position: absolute;   
  top: 0;  
  left: 0;
  width: 100%;
  opacity: 0; 
}	
							
#docbear2 { 
  position: absolute;   
  top: 0;  
  left: 0;
  width: 100%;
  opacity: 0; 
}


#conditions.pagebox #docbear1 {
  animation: slideFromLeft 4s cubic-bezier(0.25, 1, 0.5, 1) 1s forwards;
}

#conditions.pagebox #docbear2 {
  animation: slideFromRight 4s cubic-bezier(0.25, 1, 0.5, 1) 1s forwards;
}


@keyframes slideFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-200px); 
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideFromRight {
  0% {
    opacity: 0;
    transform: translateX(200px); 
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}							
 /* 医師紹介 */
  .doc-int{ 
float: right;
 }
   #doc-O{ 
width:100%; 
max-width:800px; 
margin:0 auto;
padding-bottom:150px;
 }
 
#doc-L{ 
box-sizing: border-box;
width:30%; 
margin:0;
padding:0;
float: left;
 text-align: right;
 }
 

#doc-R{ 
box-sizing: border-box;
width:70%; 
margin:0;
padding:20px;
float: left;
 }							
							
							
/* 診療科目 */
.kamokuillust	{ 
display: block;
width:90%; 
max-width:200px; 
margin: 0 auto;
 }										
							

							
/* 漢方 */
							
#kanpoubear { 
  width: 100%;
  max-width: 300px; 
  margin: 0 auto;
  z-index: 10;
}
							

.kanpou-lead {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 767px) {
  .kanpou-lead {
    flex-direction: column;
    align-items: center; 
  }
}


								
							
 /*display: flex;
  flex-wrap: wrap; 
  gap: 10px;	*/		
						
/* 親を左右中央に配置 */
.kannpou-kuma { 
display: flex;
justify-content: center; 
gap: 12px; 
flex-wrap: wrap; 
align-items: center; }

/* 各アイテムの振る舞い */
.kannpou3 { flex: 0 0 auto; }
.kannpou3 img { display: block; max-width: 100%; height: auto; }


 /* 漢方薬と西洋薬 */
.tablepress-id-11 {
    width: 100% !important;
    border-collapse: collapse;
    table-layout: fixed; 
}

.tablepress-id-11 th, .tablepress-id-11 td {
    padding: 8px 4px;
    word-break: break-all; 
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #f93;
}

/* ヘッダーの背景色 */
.tablepress-id-11 thead th {
    background-color: #f93;
    color: #fff;
}

/* --- スマホ用（画面幅 767px以下） --- */
@media screen and (max-width: 767px) {
   
    .tablepress-id-11 .column-2 {
        width: 1.2em !important;
        min-width: 1.2em !important;
        word-break: break-all;
        white-space: normal !important;
        text-align: center;
        line-height: 1.2;
    }

    .tablepress-id-11 .column-2 .rotated-bo {
        display: inline-block; 
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg); /* Safari用 */
        margin: 2px 0; 
    }
}
						
 /* 漢方が向く人 向かない人*/						
.mukumukanai{
  
							}
							
.kanpouMK{
   
							}							
/* --- PC・スマホ共通 --- */
.kanpou-muku-mukanai-mukanai {
    width: 100% !important;
    border-collapse: collapse;
    margin: 1em 0;
}

/* 空の行を非表示にする（row-7, row-12以降など） */
.kanpou-muku-mukanai tr:has(td:empty) {
    display: none;
}

.kanpou-muku-mukanai td {
    padding: 12px;
    　
    line-height: 1.6;
}

/* 左側の結合セル（項目名）の装飾 */
.kanpou-muku-mukanai .column-1 {
    background-color: #fb0;
    font-weight: bold;
    color: #333;
    width: 30%; /* PCでの幅 */
}

/* --- スマホ用（画面幅 767px以下） --- */
@media screen and (max-width: 767px) {

    .kanpou-muku-mukanai, 
    .kanpou-muku-mukanai tbody, 
    .kanpou-muku-mukanai tr, 
    .kanpou-muku-mukanai td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    .kanpou-muku-mukanai tr {
        border: none;
    }

    .kanpou-muku-mukanai td.column-1 {
        background-color: #f93 !important; /* 目立つ色に変更 */
        color: #fff;
        padding: 10px 15px;
        margin-top: 20px; /* 項目ごとの余白 */
        border-radius: 5px 5px 0 0;
        text-align: center;
    }


    .kanpou-muku-mukanai td.column-2 {
        background-color: #fff;
        border: 1px solid #f93;
        border-top: none;
        padding: 15px;
        margin-bottom: -1px; 
    }


    .kanpou-muku-mukanai td.column-2:not(:last-child) {
        border-bottom: 1px dashed #ccc;
    }
}
							
							
						
/* 診療時間 */
							

.meditime {
  overflow: hidden;
  transform: scale(0.8);
  transition: transform 3000ms cubic-bezier(0.2, 0.9, 0.3, 1) , opacity 3000ms ease-out;
  opacity: 0.92;
  will-change: transform, opacity;
  transform-origin: center center;
}
.meditime.is-visible {
  transform: scale(1);
  opacity: 1;
}

.meditime .week {
  position: relative;
  white-space: nowrap;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 10px;
  font-size: 18px;
  text-align: center;
  border-collapse: collapse; 
  z-index: 0;
}

.meditime .week .week1,
.meditime .week .week2 {
  padding: 15px 15px;
  border-radius: 100px;
  background-color: #fb0;
}

.meditime .week thead tr {
  height: 80px;
}

.meditime .week tbody tr td {
  padding: 5px;
  font-family: 'mplus-1c-bold';
}

.meditime .week tfoot tr th {
  padding-top: 20px;
}


.meditime .week thead tr th:nth-child(1),
.meditime .week thead tr .column-1,
.meditime .week thead tr th:nth-child(1) .week1,
.meditime .week thead tr th:nth-child(1) .week2,
.meditime .week thead tr .column-1 .week1,
.meditime .week thead tr .column-1 .week2 {
  background: none !important;
  background-color: transparent !important;
}

@media screen and (max-width: 767px) {
																
  .meditime .week {
    display: flex !important;
    flex-wrap: wrap;
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto;
    padding: 0;
    font-size: 15px;
  }
  .meditime .week caption {
    width: 10px;
    flex-shrink: 0;
  }

  .meditime .week thead {
    display: flex;
    flex-direction: column;
    width: 80px; 
    flex-shrink: 0;
    padding-right: 10px; 
  }

  .meditime .week thead tr {
    display: flex;
    flex-direction: column;
    height: auto; 
    width: 100% !important; 
    flex-grow: 0; 
  }

  .meditime .week thead th {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important; 
    flex-grow: 0;   
    flex-shrink: 0; 
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: break-all;
    padding: 3px 5px;
  }

  .meditime .week tbody {
    display: flex;
    flex-direction: row; 
    flex-grow: 1;
    overflow-x: auto; 
  }


  .meditime .week tbody tr {
    display: flex;
    flex-direction: column; 
    flex: 1;                
    width: 75px;            
    min-width: 75px;        
  }

  .meditime .week tbody td {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;     
    width: 100%;
    flex-grow: 0;   
    flex-shrink: 0; 
    box-sizing: border-box !important;
    padding: 3px 5px;
    
    white-space: normal !important;
    word-break: break-all !important;  
    overflow-wrap: anywhere !important; 
  }


  .meditime .week thead tr th:nth-child(1),
  .meditime .week thead tr .column-1 {
    font-weight: bold;
    height: 75px !important; 
    box-sizing: border-box !important;
    padding: 3px 18px !important; 
    background: none !important;             
    background-color: transparent !important; 
  }

  .meditime .week thead tr th:nth-child(1).week1,
  .meditime .week thead tr th:nth-child(1).week2,
  .meditime .week thead tr .column-1.week1,
  .meditime .week thead tr .column-1.week2,
  .meditime .week thead tr th:nth-child(1) .week1,
  .meditime .week thead tr th:nth-child(1) .week2,
  .meditime .week thead tr .column-1 .week1,
  .meditime .week thead tr .column-1 .week2 {
    background: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important; 
    width: auto !important;
    height: auto !important;
    display: inline !important; 
  }


  .meditime .week tbody tr td:nth-child(1) {
    height: 75px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(2),
  .meditime .week tbody tr td:nth-child(2) {
    height: 48px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(3),
  .meditime .week tbody tr td:nth-child(3) {
    height: 48px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(4),
  .meditime .week tbody tr td:nth-child(4) {
    height: 48px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(5),
  .meditime .week tbody tr td:nth-child(5) {
    height: 48px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(6),
  .meditime .week tbody tr td:nth-child(6) {
    height: 48px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(7),
  .meditime .week tbody tr td:nth-child(7) {
    height: 68px !important; 
    box-sizing: border-box !important;
  }


  .meditime .week thead tr th:nth-child(8),
  .meditime .week tbody tr td:nth-child(8) {
    height: 48px !important; 
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;   
    justify-content: center !important; 
  }



  .meditime .week .week1,
  .meditime .week .week2 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 8px 4px; 
    border-radius: 100px;
    background-color: #fb0;
    box-sizing: border-box !important; 
  }


  .meditime .week tfoot {
    display: block;
    width: 100% !important;
    flex-basis: 100%;
    box-sizing: border-box;
  }

  .meditime .week tfoot tr {
    display: block;
    width: 100% !important;
  }

  .meditime .week tfoot th,
  .meditime .week tfoot td {
    display: block;
    width: 100% !important;
    padding: 10px;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: break-all;
    text-align: left;
  }
}
							
				
							
/* アクセス */
#ac-outer{ 
text-align: center;
width:100%; 
							}


							
#ac01{ 
display:flex;
background-color: #555;
width:100%; 

 }
#ac01 img{ 
max-width: 100%;
							}
							
/* スライドmap */
.swiper-map {
  overflow: hidden !important;
  position: relative;
}


.swiper-map .custom-btn-prev,
.swiper-map .custom-btn-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10 !important;
  width: 100px;  
  height: 100px;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
							}
							
@media (max-width: 767px) {
.swiper-map .custom-btn-prev,
.swiper-map .custom-btn-next {
  width: 50px;  
  height: 50px; 
							}
}


.swiper-map .custom-btn-prev {
  left: 10px; /* 左端からの余白 */
  background-image: url('images/btn-prev.png'); 
}

/* 右（Next）ボタンの位置とオリジナル画像設定 */
.swiper-map .custom-btn-next {
  right: 10px; /* 右端からの余白 */
  background-image: url('images/btn-next.png'); 
}


.swiper-map .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  transition: transform 600ms ease !important;
  transform: rotateZ(0deg);
}


.swiper-map .swiper-slide.is-rotating-next img {
  transform: rotateZ(90deg) !important;
}

.swiper-map .swiper-slide.is-rotating-prev img {
  transform: rotateZ(-90deg) !important;
}
							
						
/* ------------------- お知らせ shinngle ------------------- */
							#shingle-back{
								height:100%;
background-image: url("images/shingleback.png");
background-repeat:  no-repeat;
								background-position: bottom; 
								background-size:contain; 
				}				

							
							
							
.shingle-inner{
display: block;
								width: 80%;
								margin:0 auto;
				}				
								
#title-out .datetime,							
.post .datetime{
position:static;							
right: auto;
								left: 0;
								top: 0px;

							}
/* ------------------- お知らせ ------------------- */
.post{ 
position: relative;
box-sizing: border-box;
width:100%; 
display: block;
background-color: #fff;
border-radius: 20px;
padding:20px;
margin-bottom:40px;
}

/* 記事の日付表示 */
.title-date {
position:relative;
	text-align:center;
	width:60px;
	height:50px;
	padding:5px 0;
	background-color:#093;
	color:#FFF;
	display: inline-block;
}
.title-date-year {
	display:block;
	height10px;
	font-size:10px;
	line-height:12px;
	overflow:hidden;
}

.title-date-day {
	display:block;
	height:25px;
	font-size:25px;
	line-height:27px;
	overflow:hidden;
}
.title-date-month {
	display:block;
	height:16px;
	overflow:hidden;
	font-size:10px;
	line-height:12px;
}

  /* 記事のカテゴリー表示 */

.postcat {
	text-align: right;
	margin: 0}

.postcat a	{
	text-decoration: none;
	font-size: 12px;
	background-color: #9c3;
	border-radius: 5px;
	border:0; 
	color: #fff;
	padding: 2px 6px}



.more a {
	color: #888;
	text-decoration: none;
}



/* サムネイル画像 */
.post p.thumb	{float: left;
	margin: 0 10px 10px 0}

.post p.thumb img	{
	width: 100px;}
 

  
  /* ページネーション */

.pagenation{
font-size: 15px;
width: 100%;
overflow: hidden
display:block;}

p.pagenation	a{
	color: #555;
	text-decoration: none;
}

.oldpage	{float: left}

.newpage	{float: right}



.post-meta .category{display:none;}

#list{
  width:100%;
}

/* 過去のお知らせ*/
#oldcontents{
	 text-align: center;
}
 
/* ------------------- フッター ------------------- */
												

												
footer {
    margin: 0;
    padding: 10px;
    width: 100%;
    background-color: #f90;

}

#footerouter {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; 
    box-sizing: border-box;
}

.ftl {
    box-sizing: border-box;
    padding: 5px 20px 10px 10px; 
    font-size: 14px;
    line-height: 1.3;
    color: #fff;
    width: 50%; 
}

.ftl p {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    margin: 0; 
}

.footlogo { width: 250px; max-width: 100%; height: auto; }
.foottel { width: 250px; max-width: 100%; height: auto; }
.footkuma { height: 40px; width: auto; }

.ftr {
    width: 50%; 
    box-sizing: border-box;
    padding: 5px 10px;
}


@media screen and (max-width: 1280px) {
    #footerouter {
        flex-direction: column-reverse; 
    }

    .ftl, .ftr {
        width: 100%;
        padding: 10px;
        text-align: center; 
    }
}
												
														
/* フッター、診療時間 */

.footmeditime .week{ 
 white-space:nowrap; 
													width:100%;
													max-width:500px;
margin:20px auto;
font-size: 12px;
text-align: center;
border-spacing: 0;
border: none;
color: #111;
						}
						


												
.footmeditime .week .week1,							
.footmeditime .week .week2{ 

padding:5px 15px;
border-radius : 100px;
background-color: #fb0;
}	
						
						
.footmeditime .week tbody tr td{ 

padding:10px;

							
 }
						
.footmeditime .week tbody .column-1{ 

												}
												

@media screen and (max-width: 640px) {
.footmeditime .week { 
  width: 100%;
  max-width: 500px;
  margin: 20px auto;
  font-size: 11px;
  text-align: center;
  border-spacing: 0;
  border: none;
  box-sizing: border-box; 
  table-layout: fixed; 
}


.footmeditime .week th.column-1,
.footmeditime .week td.column-1 {
  width: 20%; 
}


.footmeditime .week th.column-7,
.footmeditime .week td.column-7 {
  width: 16%; 
}


.footmeditime .week th.column-2, .footmeditime .week td.column-2,
.footmeditime .week th.column-3, .footmeditime .week td.column-3,
.footmeditime .week th.column-4, .footmeditime .week td.column-4,
.footmeditime .week th.column-5, .footmeditime .week td.column-5,
.footmeditime .week th.column-6, .footmeditime .week td.column-6,
.footmeditime .week th.column-8, .footmeditime .week td.column-8 {
  width: 10.66%; 
}

.footmeditime .week .week1,							
.footmeditime .week .week2 { 
  padding: 5px 2px;
  border-radius: 100px;
  background-color: #fb0;
  display: inline-block; 
  box-sizing: border-box;
  width: 100%; 
}	
						
.footmeditime .week tbody tr td { 
  padding: 8px 1px; 
  text-align: center; 
  vertical-align: middle; 
}


.footmeditime .week td.column-7 {
  line-height: 1.3; 
  font-size: 10px; 
}

.footmeditime .week tfoot .column-1 {
  text-align: left;
  padding: 15px 5px 0 5px;
  font-size: 11px;
  line-height: 1.5;
}
}												

										
#gotop {
  position: fixed !important;
  right: 20px !important;
  text-align: right;
   z-index: 90 !important; 
}

#gotop img {
  width: 50%;
  height: auto;
}


.clear { clear:both; }  
.clear hr { display:none; }  
					


/* scrollify.js*/



.page_wrap{
  position: fixed;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.page_wrap li{
  margin-bottom: 20px;
												}
											

.page_wrap a{
  border: 1px solid #000;
  border-radius: 50%;
  display: block;
  width: 10px;
  height: 10px;
}
.page_wrap a.active{
  background: #000;
}



.clear hr { 
    display: none !important; 
}
													

@media screen and (max-width: 640px) {
  
  
  .head-outer {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .headlogo, .headtel {
    width: 100% !important;
    max-width: 280px !important; 
    margin: 5px auto !important;
  }

  
  .footmeditime .week { 
    white-space: normal !important; 
  }

  .footlogo, .foottel {
    width: 100% !important;
    max-width: 250px !important;
    margin: 0 auto !important;
  }


													}
												

@-moz-document url-prefix() {
    
    
    #wpadminbar,
    #wpadminbar * {
        transform: none !important; 
        text-rendering: auto !important;
        -moz-osx-font-smoothing: unset !important; 
        letter-spacing: normal !important;
    }

  
    .hamburger,
    .js-hamburger,
    #gotop {
        transform: none !important; 
        will-change: auto !important; 
    }
												}
												
													
												
	/*														
#top{
  background-color: #999;
													}
													
#conditions{
  background-color: #fcc;
													}
													
#guide{
  background-color: #777;
													}
													
#kanpou{
  background-color: #666;
													}
													
#time{
  background-color: #555;
													}
													
#guide2{
  background-color: #eee;
													}
#guide3{
  background-color: #333;
													}
#guide4{
  background-color: #f05;
													}											
#access{
  background-color: #fcc;
												}	
												
.top-inner		{
  background-color: #ff0;
												}											
.top-outer{
  background-color: #df8;
												}											
												
												
												
									*/