@charset "utf-8";

html {
  scroll-behavior: smooth;
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
  color:#3f3f3f;
  background-color: #FDFBFB;
  letter-spacing: 1px;
  margin: 0;
}

span.anchor{
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

header {
  position: fixed;
  background-color: #499e6b;
  width: 100%;
  color: #FDFBFB;
  z-index: 1;
}


.header-wrapper {
  display: flex;
  margin: 0 auto;
  height: 80px;
  align-items: center;
  width: 90%;
}

.header-title {
  display: flex;
  margin: 0;
  padding: auto 0;
  align-items: center;
}


.logo {
  width: 50px;
  padding: 0;
  margin: 0;
}

.clinic-name {
  font-size: 35px;
  margin-left:30px;
}

.nav {
  margin: 0 0 0 auto;
  width: 50%;
}

.nav-menu {
  display: flex;
  gap: 5%;
  font-size: 22px;
  font-weight: 500;
  align-items: center;
  padding: 0;
}

.nav-menu a {
  width: 15%;
  position: relative;
  text-decoration: none;
  color: #FDFBFB;
  text-align: center;
  margin: 0 20px;
}

.nav-menu a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  align-items: center;
  height: 2px;
  background: #FDFBFB;
  bottom: -8px; /*アンダーラインが現れ始める位置（aタグの下辺からの高さ）*/
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  }
  
.nav-menu a:hover::after {
  visibility: visible;
  bottom: -4px;
  opacity: 1;
  }


.image {
  position: relative;
  text-align: center;
  padding-top: 80px;
  z-index: -1;
}



/* カルーセルの外枠 */
.carousel {
  width: 1300px;
  height: 600px;
  display: flex;    /* 子要素を横に並べる */
  overflow: hidden; /* はみ出た部分は表示しない */
  margin: 0 auto;   /* 水平方向中央寄せ */
}
/* カルーセル内の画像 */
.carousel img {
  margin: 0;
  padding: 0;
  display: block; /* imgタグの改行のすき間を消すため */
}
/* スクロールアニメーションのキーフレーム */
@keyframes scroll {
  /* 1枚目停止時間*/
  0% { margin-left: 0; }      
  /* 2枚目へ*/
  25% { margin-left: -100%; }
  /* 2枚目停止時間*/  
  35% { margin-left: -100%; }
  /* 3枚目へ*/
  55% { margin-left: -200%; }
  /* 3枚目停止時間*/  
  65% { margin-left: -200%; }
  /* 4枚目へ*/
  85% { margin-left: -300%; }
  100% { margin-left: -300%; }
}

.carousel > :first-child {
  animation-name: scroll;
  animation-duration: 20s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
}


.image p {
  position: absolute;
  top:50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  transform: translate(-50%,-50%);/*センター寄せの修正*/
  color: #FDFBFB;
  font-size: 1.8rem;
  text-shadow: 3px 3px 3px #797979;
}

.logo2 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
}


.logo2 img {
  width: 25%;
  padding: 0;
  margin: 0;
  filter: drop-shadow(3px 3px 3px #797979);
}

.text1 {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: bold;
}

.text1-1 {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: bold;
  vertical-align: top;
}

.text2 {
  font-size: 35px;
  font-weight: bold;
  letter-spacing: 5px;
}

.text3 {
  font-size: 20px;
  letter-spacing: 2px;
}


.menu-table {
  margin: -40px auto 50px;
}

.menu-icon {
  padding: 0 10px;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  transition: 0.3s;
}

.menu-icon:hover {
  transform: translateY(-7px);
  cursor: pointer;
}


.menu-icon img {
  width: 80%;
}

.text-midori {
  color: #499E6B;
  font-size: 15px;
  font-weight: bold;
}


h2 {
  position: relative;
  padding: 1em 1em 0 1em ;
  text-align: center;
  color:#499E6B;
  letter-spacing: 5px;
}

h2:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 4px;
  content: '';
  border-radius: 3px;
  background: #499E6B;
}

.container {
  margin-bottom: 80px;
}

.osirase_table {
  margin: 50px auto 30px;
  width: 550px;
}

.osirase_table th {
  padding: 10px 0;
  font-size: 14px;
  width: 20%;
}


.osirase_table_new {
  padding: 10px 0;
  text-align: center;
  color:#CD2323;
  width: 10%;
}

.osirase_table_new span {
  font-size: 10px;
  padding-left: 2px;
  vertical-align: middle;
}


.osirase_table_naiyo {
  padding: 10px 0;
  font-size: 14px;
  width: 50%;
}


.osirase_table_naiyo a {
text-decoration: none;
color:#3f3f3f;
}

.kasen {
  border-bottom:dotted;
  border-color:#3F3F3F;
  border-width:1.5px;
}

.osirase-archive {
  width: 100px;
  height: 30px;
  line-height: 30px;
  border-radius: 5px;
  margin: 0 auto 50px;
  border: 1px solid #6e6e6e;
  text-align: center;
  font-size: 14px;
}

.osirase-archive a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color:#3f3f3f;
}


.chiryonaiyo_table {
  margin: 50px auto ;
  width: 1000px;
}

.chiryonaiyo_img {
  border-radius: 10px;
  height: 200px;
  overflow: hidden;
  cursor: pointer;
  z-index: -1;
}


.chiryonaiyo_img img{
  width: 100%;
  height: 100%;
  transition-duration: 0.3s;
}

.chiryonaiyo_table img:hover {
  transform: scale(1.1, 1.1);
  transition-duration: 0.3s;
}


.chiryonaiyo_table th {
  margin-top: 30px ;
  text-align: center ;
  font-size: 18px;
  letter-spacing: 3px;
  padding:10px 40px 0;
  width: 30%;
}

.chiryonaiyo_table td {
  padding: 10px 20px ;
  vertical-align: top;
  width: 30%;
}


.shinryojikan_1 {
  margin: 50px auto 0;
  text-align: center ;
  font-size: 20px;
}

.shinryojikan_1 td {
  text-align: left;
  padding-bottom: 10px;
  font-weight: 500;
}


.shinryojikan_1 th {
  padding-right: 50px;
  letter-spacing: 3px;
  vertical-align: top;
}

.marker {
  background: linear-gradient(transparent 60%, #9cdab5 60%);
  padding-bottom: 0.1em;
}


.shinryojikan_table {
  margin: 30px auto ;
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
  background-color: #FDFBFB;
  border: 3px solid #499E6B;
}

.shinryojikan_table th, .shinryojikan_table td {
  border-radius: 20px;
  padding: 1em;
  text-align: center;
  border: 1px solid #499E6B;
}

.youbi {
  color:#499E6B;
}

.shinryojikan_table th {
  color:#499E6B;
  letter-spacing: 3px;
}

.yoyaku-button {
  margin: 30px auto 0;
  width: 300px;
  height: 50px;
  background-color: #499E6B;
  color:#FDFBFB;
  border-radius: 10px;
  letter-spacing: 3px;
  text-align: center;
  line-height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .0.5s;
  transition: all 0.3s;
}

.yoyaku-button:hover {
  background-color: #FDFBFB;
  color: #499E6B;
  border: 1px solid #499E6B;
  cursor: pointer;
}


.yoyaku-kome {
  display: block;
  margin: 30px auto 0;
  text-align: center;
}

.text-aka {
  color:#CD2323;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.access_table {
  margin: 50px auto ;
  width: 1000px;
}

.access_table td {
  width: 450px;
}

.address {
  padding-left: 100px;
  width: 40%;
}

.map {
  padding-right: 100px;
}

.map iframe {
  width: 100%;
  height: 300px;
  position: relative;
  z-index: -1;
}


footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #499e6b;
  width: 100%;
  height: 150px;
  color: #FDFBFB;
}

.copyright {
  text-align: center;
  font-size: 13px;
}
