@charset "UTF-8";
@import url(//use.fontawesome.com/releases/v5.9.0/css/all.css);

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::-moz-selection {
  background: #d4dcd6;
}

::selection {
  background: #d4dcd6;
}

img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

body, html {
  width: 100%;
  height: 100%;
}

body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium","游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
  font-size: 15px;
  color: #333;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}


/* header */
.header {
  background: rgba(255, 255, 255, .8);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, .3);
  height: 90px;
  padding-top: 4px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
}
.header.u-header{
	padding-top: 0;
	display: flex;
	align-items: center;
}

.anchor{
  padding-top: 90px;
  margin-top: -90px;
}

.h-text {
  margin: auto;
  color: #807c70;
  font-weight: 300;
  font-size: 12px;
}
.h-logo .pre-site-name {
  display: block;
  font-size: 20px;
  line-height: 0;
  padding-top: 10px;
}
.f-logo .pre-site-name {
  display: block;
  font-size: 20px;
}

.h-logo {
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .05em;
}

.h-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* g-nav */
.sp-navi{
  display: none;
}

.g-navi .menu{
  margin: auto;
  display: flex;
  justify-content: flex-end;
}

.g-navi .menu li {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: .05em;
  color: #333;
}
.g-navi .menu li + li{
  margin-left: 20px;
}
.g-navi .menu li a {
  transition: .2s;
}
.g-navi .menu li a:hover{
  color: #157c76;
}

/* ドロップダウンメニュー */
.g-navi .dropdown {
  position: relative;
}
.g-navi .dropdown .child{
  display: none;
  padding: 20px 0 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 230px;
  z-index: 50;
}
.g-navi .dropdown ul {
  background: rgba(255,255,255,0.7);
  padding: 15px 20px;
}
.g-navi .dropdown ul li:last-child {
  margin: 0;
}
.g-navi .dropdown ul li a {
  padding: 10px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .05em;
  display: block;
  line-height: 1.5;
  transition: .2s;
}

/*サイド追従*/
.slidenav{
  position: fixed;
  right: 0;
  top: 200px;
  z-index: 100;
  transform: translateX(198px);
}

.slidenav li{
 position: relative;
  transition: .5s;
}
.slidenav li:hover{
  transform: translateX(-198px);
}
.slidenav li + li {
  margin-top: 15px;
}


.slidenav li a{
  background: #e9c128;
  box-shadow: 0 2px 3px rgba(0,0,0,.3);
  color: #fff;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  letter-spacing:.05em;
  font-weight: 500;
  padding-left: 62px;
  text-shadow: 1px 1px 2px rgba(89,89,89,0.4);
  height: 65px;
  line-height: 65px;
  width: 260px;
}
.slidenav li i{
  font-size: 25px;
  margin-right: 20px;
  position: absolute;
  left: 20px;
  top: 20px;
}

.slidenav li.nav01 a{
  background: #ff604a;
  font-size: 27px;
}

.slidenav li.nav01 i{
  vertical-align:1px;
}

.slidenav li.nav03 a{
  background: #157c76;
  font-size: 18px;
}

/*フッター追従(タブレット用)追従が電話番号のみの場合は削除。*/
.bottom-nav{
  position: fixed;
  left: 0;
  bottom: 0;
  display: none;
  height: 65px;
  width: 100%;
  z-index: 150;
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  overflow:hidden
}
.bottom-nav li{
  flex: 1;}
.bottom-nav li a{
  position: relative;
  background: #ff604a;
  color: #fff;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  letter-spacing:.05em;
  font-weight: 500;
  padding-left: 62px;
  text-shadow: 1px 1px 2px rgba(89,89,89,0.4);
  height: 65px;
  line-height: 65px;
  width: 100%;
}
.bottom-nav li i{
  font-size: 25px;
  margin-right: 20px;
  position: absolute;
  left: 20px;
  top: 20px;
}

.bottom-nav li.nav02 a{
  background: #e9c128;
  font-size: 27px;
  letter-spacing: 0;
}
.bottom-nav li.nav02 .sub{
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
}
.bottom-nav li.nav02 .sp-tel{
  display: none;
}
.bottom-nav li.nav02 i{
  vertical-align:1px;
}
.bottom-nav li.nav03 a{
  background: #157c76;
  font-size: 18px;
}
/*------------
ipad フッター追従
--------------*/
/*追従が電話番号のみの場合は削除。
sp.css内.copyrightのpaddingの項目も削除すること。
behavior.js内のpagetopについても修正お願いします。*/

.ipad .slidenav{
  display: none;
}
.ipad .bottom-nav{
  display: flex;
}
.ipad .copyright{
  padding: 20px 0 85px;
}

.ipad .pagetop {
  margin-bottom:70px;
}
/*
上記を削除する場合コメントアウトを外す
.ipad .slidenav li:hover{
transform: translateX(198px);
}
*/

/*メインビジュアル*/
#hero {
  position:fixed;
  left: 0;
  top: 0;
  z-index: -1;
  background: #fff url(../images/heroimg.jpg) 50% 50% no-repeat;
  background-size: cover;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  text-align: center;
  width: 100%;
  padding-top: 133px;
}

.main-ttl{
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 44px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: .2em;
  margin-bottom: 40px;
  text-shadow: rgba(255,255,255,.5) 2px 2px 15px, rgba(255,255,255,.5) -2px 2px 15px,
    rgba(255,255,255,.5) 2px -2px 15px, rgba(255,255,255,.5) -2px -2px 15px;
}
.sub-ttl{
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 29px;
  font-weight: bold;
  letter-spacing: .08em;
  text-shadow: rgba(255,255,255,.5) 2px 2px 15px, rgba(255,255,255,.5) -2px 2px 15px,
    rgba(255,255,255,.5) 2px -2px 15px, rgba(255,255,255,.5) -2px -2px 15px;
}

/*パンくずリスト*/
.breadcrumb {
  padding: 20px 0 35px;
  width: 100%;
}
.breadcrumb ul {
  margin: 0 auto;
  width: 1024px;
}
.breadcrumb ul li {
  color: #888;
  display: inline;
  font-size: 14px;
}
.breadcrumb ul li a{
  text-decoration: underline;
}
.breadcrumb ul li a:hover{
  text-decoration:none;
}
.breadcrumb ul li + li:before {
  content: "> ";
  padding: 0 5px;
  color: #ccc;
}

/*大枠*/
#middle {
  position: relative;
  z-index: 5;
  background: #fff;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, .3);
  margin-top: 100vh;
}
#under-middle,#post-middle  {
  position: relative;
  z-index: 5;
  background: #fff;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, .3);
  margin-top: 400px;
  padding:  0 0 80px;
  min-height: calc(100vh - 333px);
}
#under-middle p + p{
  margin-top: 15px;
}

.container{
  margin: 0 auto;
  width: 1024px;
}

/*------------
TOPパーツ
--------------*/
.top-sec{
  padding: 80px 0;
}
.top-sec:nth-of-type(even){
  background: #f5f5f5;
}
.top-ttl{
  color: #157c76;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: .05em;
  margin-bottom: 30px;
  padding-bottom: 20px;
  position: relative;
}
.top-ttl:before{
  background: #9fc2c0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
}
.top-ttl.tac:before{
  left: calc(50% - 20px);
}


.top-btn{
  background: #157c76;
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  color: #fff;
  font-size: 24px;
  line-height: 42px;
  display: inline-block;
  height: 40px;
  text-align: center;
  transition: .5s;
  transform: translateZ(0);
  width: 40px;

}
.top-btn:hover{
  transform:translateY(-8px);
  transition-duration: .3s;
  animation-name:hvr-bob;
  animation-duration:1.5s;
  animation-delay:.3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}

/*TOP 診療科目*/
.list-services{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -1%;
}

.list-services > li {
  margin: 0 1% 15px;
  width: 23%;
}

.list-services .list-img{
  margin:0 auto 30px;
  position: relative;
  height: 170px;
  width: 225px;
}
.list-services .list-img img{
  position: relative;
  z-index: 5;
  width: 225px;
  height: 170px;
  object-fit: cover;
}
.list-services .list-img:after{
  background: #d4ddd7;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 5px;
  bottom: -5px;
  width: 100%;
  z-index: 1;
}
.list-services .top-btn{
  position: absolute;
  right: -15px;
  bottom: -15px;
  z-index: 10;
}

/*TOP アクセス*/
.top-sec.map-sec{
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  padding: 0;
}
.map-sec .l-map,
.map-sec .l-desc{
  width: 50%;
}
.map-sec .l-map{
  line-height: 0;
}
.map-sec .l-map iframe{
  width: 100%;
  height: 630px;
}
.map-sec .l-inner{
  margin:0 24px 0 auto;
  width: 500px;
}

/*TOP 投稿*/
.top-list-post{
  border-top: dotted 1px #ddd;
}
.top-list-post li{
  border-bottom: dotted 1px #ddd;
  padding: 15px 20px;
}

.top-list-post li:before {
  margin-right: 1em;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #157c76;
}

.top-list-post li a{
  text-decoration: underline;
}

.top-list-post li a:hover{
  text-decoration: none;
}
.top-list-post li time {
  font-size: 13px;
  color: #878787;
}

.top-list-post li time:before {
  margin-left: 1em;
  margin-right: .5em;
  content: "-";
}

.more-btn{
  background: #157c76;
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  line-height: 32px;
  display: inline-block;
  height: 32px;
  text-align: center;
  transition: .5s;
  transform: translateZ(0);
  width: 70px;

}
.more-btn i{
  font-size: 12px;
  margin-right: 8px;
}

.more-btn:hover{
  transform:translateY(-8px);
  transition-duration: .3s;
  animation-name:hvr-bob;
  animation-duration:1.5s;
  animation-delay:.3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}
/*------------
下層パーツ
--------------*/
/*見出し*/
.u-h2 {
  background: #fff url(../images/heroimg.jpg) 50% 100% no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 400px;
  position:fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}

.u-h2 span {
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: .2em;
  margin-top:116px;
  text-shadow: rgba(255,255,255,.5) 2px 2px 15px, rgba(255,255,255,.5) -2px 2px 15px,
    rgba(255,255,255,.5) 2px -2px 15px, rgba(255,255,255,.5) -2px -2px 15px;
}
.u-h3{
  color: #157c76;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: .05em;
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}
.u-h3:before{
  background: #9fc2c0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
}
.u-h3.tac:before{
  left: calc(50% - 20px);
}


.u-h4,.postdata h4 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: .05em;
  padding-bottom: .2em;
  font-size: 18px;
  color: #157c76;
  border-bottom: solid 2px #157c76;
  margin-bottom: 20px;
}

.u-h5,.postdata h5{
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: .05em;
  font-size: 16px;
  padding: 0 0 0 20px;
  margin: 0 0 15px;
  position: relative;
}

.u-h5:before,.postdata h5:before {
  content: "";
  background: #157c76;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 10px;
  left: 0;
}

/*Box*/
.tall{
  margin-bottom: 80px;
}
.short{
  margin-bottom: 60px;
}

/*layout*/
.l-imgR, .l-imgL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.l-imgR .l-img, .l-imgL .l-img {
  margin: 0 24px 0 0;
  width: 500px;
}
.l-imgR .l-img.small, .l-imgL .l-img.small {
  margin: 0 24px 0 0;
  width:40%;
}

.l-imgR .l-desc, .l-imgL .l-desc {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.l-imgR {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.l-imgR .l-img, .l-imgR .l-img.small {
  margin: 0 0 0 24px;
}

/*column*/
.col-ttl{
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 18px;
  color: #157c76;
}
.col2, .col2-col2,
.col3, .col3-col2,
.col4, .col4-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.col2, .col2-col2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.col2 > li, .col2-col2 > li {
  width: 48%;
}

.col3, .col3-col2 {
  margin-right:-1%;
  margin-left:-1%;
}

.col3 > li, .col3-col2 > li {
  margin-right:1%;
  margin-left:1%;
  width: 31.3333333%;
}

.col4, .col4-col2 {
  margin-right:-1%;
  margin-left:-1%;
}

.col4 > li, .col4-col2 > li {
  margin-right:1%;
  margin-left:1%;
  width: 23%;
}

.l-contact-tel02 .l-ttl {
  font-weight: bold;
  text-align: center;
  margin: 0 0 15px;
}

.l-contact-tel02 .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f2f2f2;
  padding: 50px;
  position: relative;
  margin: 0 auto;
  width: 70%;
}

.l-contact-tel02 .wrapper::before {
  content: "";
  background: #d0d0d0;
  width: 1px;
  height: calc(100% - 80px);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.l-contact-tel02 .left-side {
  text-align: center;
  width: 50%;
}

.l-contact-tel02 .right-side {
  padding: 0 0 0 50px;
  width: 50%;
}

.l-contact-tel02 .l-tel {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 25px;
  letter-spacing: .15em;
}

.l-contact-tel02 .l-tel i {
  font-size: 18px;
  margin: 0 15px 0 0;
  vertical-align: 2px;
}

.l-contact-tel02 .l-txt {
  font-family: 'Noto Sans JP', sans-serif;
}

/*table*/
.table-style01 {
  border-collapse: collapse;
  width: 100%;
}

.table-style01 th {
  border: solid 1px #ccc;
  padding: 15px;
  background: #ddd;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  vertical-align: middle;
  text-align: center;
}

.table-style01 td {
  border: solid 1px #ccc;
  padding: 15px;
  background: #fff;
  vertical-align: middle;
}
/*list*/

.list-disc li {
  position: relative;
  padding: 0 0 0 15px;
}

.list-disc li + li {
  margin-top: 3px;
}

.list-disc li:before {
  background: #157c76;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
}

.list-num {
  counter-reset: number;
}

.list-num li {
  padding: 0 0 0 30px;
  position: relative;
}

.list-num li + li {
  margin-top: 3px;
}

.list-num li:before {
  background: #157c76;
  border-radius: 15px;
  color: #fff;
  counter-increment: number;
  content: counter(number);
  font-size: 10px;
  position: absolute;
  top: 3px;
  left: 0;
  line-height: 20px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  width: 20px;
  height: 20px;
}

.list-check li {
  position: relative;
  padding: 0 0 0 25px;
}

.list-check li + li {
  margin-top: 3px;
}

.list-check li:before {
  content: "";
  background: url(../images/share/ico_check.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 5px;
  width: 18px;
  height: 18px;
}

.list-check-square li {
  position: relative;
  padding: 0 0 0 30px;
}

.list-check-square li + li {
  margin-top: 3px;
}

.list-check-square li:before {
  content: "";
  background: url(../images/share/ico_check-square.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 5px;
  width: 18px;
  height: 18px;
}

/*定義リスト　矢印*/
.dl-arrow dt:not(:first-child) {
  margin-top: 1em;
}

.dl-arrow dt:before {
  margin-right: .3em;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #157c76;
}

.dl-arrow dd {
  padding-left: 1em;
}
/*定義リスト　年表*/
.dl-profile{
  overflow: hidden;
}
.dl-profile dt{
  float: left;
  padding: 5px 0;
  width: 110px;
}
.dl-profile dd{
  border-bottom: 1px dotted #aaa;
  padding: 5px 0 5px 110px;
}

/*------------
個人情報保護方針
--------------*/
.dl-privacy dt {
  border-bottom: 1px solid #000;
  font-size: 18px;
  padding: 0 0 5px;
  margin: 0 0 15px;
}

.dl-privacy dd + dt {
  margin-top: 30px;
}

.box-privacy {
  background: #FAFAFA;
  padding: 30px 50px;
}

.list-privacy li {
  position: relative;
  padding: 0 0 0 15px;
}

.list-privacy li + li {
  margin-top: 3px;
}

.list-privacy li:before {
  background: #333;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
}

.btn-privacy {
  display: inline-block;
  border: 1px solid #000;
  text-align: center;
  padding: 5px;
  margin: 5px 0 0;
  max-width: 290px;
  width: 100%;
  transition: .5s;
}

.btn-privacy:hover {
  background: #000;
  color: #fff;
}

/*------------
投稿アーカイブ
--------------*/
.list-post li {
  overflow: hidden;
}

.list-post li + li {
  margin-top: 50px;
}

.list-post .list-ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 23px;
  letter-spacing: 0.15em;
  margin-bottom: 15px;
  -webkit-transition: .2s;
  transition: .2s;
}

.list-post .list-ttl:hover {
  color: #157c76;
}

.list-post .list-img {
  float: left;
  margin: 0 25px 0 0;
  width: 300px;
}

.list-post .list-text {
  margin-bottom: 5px;
}

.list-post .list-data {
  margin-bottom: 5px;
}

.list-post .list-data time {
  line-height: 1;
  color: #807c70;
  font-size: 14px;
  margin: 0 10px 0 0;
}

.list-post .list-data .category {
  background: #157c76;
  border-radius: 2px;
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: #fff;
  line-height: 1;
  padding: 4px 10px 6px 13px;
  margin: 0 10px 0 0;
  text-align: center;
  vertical-align: 1px;
}

.list-post .list-btn {
  color: #157c76;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.15em;
  text-decoration: underline;
  -webkit-transition: .2s;
  transition: .2s;
}
.list-post .list-btn:before{
  content: "> ";
}
.list-post .list-btn:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*------------
投稿パーツ
--------------*/
/*カテゴリープルダウン*/

.select-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  width: 70%;
}

.select-box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  border-top: 8px solid #545252;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.select-box select {
  -webkit-appearance: none;
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  border-radius: 5px;
  background: #eff2f5;
  font-size: 16px;
  vertical-align: middle;
  height: 50px;
  padding: 5px 15px;
  border: none;
  color: #828c9a;
  width: 100%;
}

.select-box select::-ms-expand {
  display: none;
}

/*ページャー*/
.post-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 50px 0 0;
}

.post-number a {
  background: #eff2f5;
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.15em;
  padding: 0 6px 0 10px;
  margin: 0 5px 10px;
  line-height: 40px;
  text-align: center;
  min-width: 40px;
  text-decoration: none;
  -webkit-transition: .5s;
  transition: .5s;
}

.post-number a:hover {
  background: #157c76;
  color: #fff;
  transform:translateY(-8px);
  transition-duration: .3s;
  animation-name:hvr-bob;
  animation-duration:1.5s;
  animation-delay:.3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}
.post-number .current {
  background: #157c76;
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  color: #fff;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.15em;
  padding: 0 6px 0 10px;
  margin: 0 5px 10px;
  line-height: 40px;
  text-align: center;
  min-width: 40px;
}

.post-ttl {
  color: #157c76;
  display: block;
  font-size: 26px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: .05em;
  margin-bottom: 15px;
}

.post-data {
  margin-bottom: 40px;
}

.post-data time {
  line-height: 1;
  color: #807c70;
  font-size: 14px;
  margin: 0 10px 0 0;
}

.post-data .category {
  background: #157c76;
  border-radius: 2px;
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: #fff;
  line-height: 1;
  padding: 4px 10px 6px 13px;
  margin: 0 10px 0 0;
  text-align: center;
  vertical-align: 1px;
}

/* post */

.postdata {
  overflow: hidden;
}

.postdata p,
.postdata ul,
.postdata ol,
.postdata table,
.postdata dl,
.postdata dl dt {
  margin-top: 1em;
}

.postdata p, .postdata ul, .postdata ol {
  margin-bottom: 15px;
}

.postdata a {
  text-decoration: underline;
  color: #157c76;
}

.postdata a:hover {
  text-decoration: none;
}

.postdata strong {
  font-weight: bold;
}

.postdata em {
  font-style: italic;
}

.postdata ul li {
  list-style: inside disc;
}

.postdata ol li {
  list-style: inside decimal;
}

/* お問い合わせ　電話番号*/
.phone_btn {
  padding: .5em 1em;
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  background: #157c76;
  color: #fff;
  font-size: 26px;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, .3) !important;
}
.phone_btn:hover{
  transform:translateY(-8px);
  transition-duration: .3s;
  animation-name:hvr-bob;
  animation-duration:1.5s;
  animation-delay:.3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}
.phone_btn:before {
  margin-right: .5em;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
}

/* アクセスページ */
.access-map iframe{
  width: 100%;
  height: 350px;
}

/* contact form */
.contact-form table {
  border-collapse: collapse;
  margin: 0 0 50px;
  width: 100%;
}
.contact-form table tr {
  border-bottom: 1px dashed #CCC;
}
.contact-form table th {
  padding: 20px 40px 20px 0;
  vertical-align: middle;
  text-align: left;
}
.contact-form table td {
  padding: 20px 0;
}
.contact-form .hissu {
  background: #E57373;
  border-radius: 2px;
  display: inline-block;
  color: #fff;
  font-size: 12px;
  text-align: center;
  padding: 2px 8px;
  float: right;
}
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form select, .contact-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #f1f1f1;
  border: none;
  border-radius: 2px;
  font-size: 16px;
  padding: 15px;
  width: 100%;
}
.contact-form select::-ms-expand {
  display: none;
}
.contact-form input[type="radio"], .contact-form input[type="checkbox"] {
  vertical-align: 0;
  margin: 0 10px 0 0;
}
.contact-form .select-wrap {
  position: relative;
}
.contact-form .select-wrap::after {
  content: "";
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: #333 transparent transparent transparent;
  pointer-events: none;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
}
.contact-form .mwform-radio-field, .contact-form .mwform-checkbox-field {
  display: inline-block;
  margin-right: 10px;
}
.contact-form .mwform-tel-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-form .mwform-zip-field input[type="text"] {
  width: 15%;
  min-width: 80px;
  margin: 0 10px;
}
.contact-form .mwform-tel-field input[type="text"] {
  width: 29%;
}
.contact-form .mwform-tel-field input[type="text"]:nth-of-type(1) {
  margin-right: 10px;
}
.contact-form .mwform-tel-field input[type="text"]:nth-of-type(2) {
  margin: 0 10px;
}
.contact-form .mwform-tel-field input[type="text"]:nth-of-type(3) {
  margin-left: 10px;
}
.contact-form textarea {
  height: 200px;
}
.contact-form input[type="text"]:focus, .contact-form input[type="email"]:focus, .contact-form input[type="tel"]:focus, .contact-form textarea:focus, .contact-form select:focus {
  outline: 1px solid #419caf;
}
.contact-form .submit-btn {
  display: flex;
  justify-content: center;
}
.contact-form .submit-btn [type="submit"] {
  -webkit-appearance: none;
  outline: none;
  border-radius: 0;
  background: #e9c128;
  border: 1px solid #e9c128;
  color: #fff;
  cursor: pointer;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  padding: 22px 40px;
  letter-spacing: 3px;
  transition: .3s;
  width: 250px;
}
.contact-form .submit-btn [type="submit"]:hover {
  opacity: .7;
}
.contact-form .submit-btn [type="submit"].back-btn {
  background: #999;
  border: none;
  margin-right: 50px;
}

.mw_wp_form_confirm .select-wrap::after {
  display: none;
}


/* pagetop */
.pagetop {
  position: absolute;
  bottom: 0;
  right: 80px;
  margin-bottom: 20px;
  z-index: 5;
}
.pagetop a{
  background: #157c76;
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  border-radius: 50%;
  color: #fff;
  display: block;
  font-size: 24px;
  line-height: 60px;
  height: 60px;
  text-align: center;
  width: 60px;
}


/* footer */
.footer {
  width: 100%;
  background: #157c76;
  position: relative;
}

.f-inner{
  display: flex;
  justify-content: space-between;
  padding: 55px calc(50% - 512px) 40px;
}
.f-inner .l-left{
  flex: 1;
}
.f-inner .l-right{
  color: #fff;
  margin-left:32px;
  width: 529px;
}
.f-logo{
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: .05em;
  margin-bottom: 10px;
  line-height: 1.3;
}

.f-address{
  color: #fff;
  font-size: 14px;
  margin-bottom: 20px;
}
.f-address .link{
  color: #fff;
}
.f-navi .menu {
  text-align: center;
}

.f-navi .menu li {
  margin: 0 20px;
  display: inline-block;
  color: #fff;
  transition: .2s;
}
.f-navi .menu li:hover{
  opacity: 0.7;
}
.f-navi .menu li:before {
  margin-right: 10px;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
}

.timetable {
  border-collapse: collapse;
  color: #605e5f;
  width: 100%;
}

.timetable th {
  border: solid 1px #d6d6d6;
  padding: .5em;
  background: #f6f6f6;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 13px;
  vertical-align: middle;
  text-align: center;
}
.timetable th.left-th{
  background: #fff;
  font-size: 17px;
  letter-spacing: .05em;
}
.timetable td {
  border: solid 1px #d6d6d6;
  color: #817D71;
  font-size: 17px;
  padding: .5em;
  background: #fff;
  vertical-align: middle;	text-align: center;
  line-height: 1;
}
.timetable.under th,.timetable.under th.left-th{
  padding: .5em;
  font-size: 12px;
}
.timetable.under td,
.timetable.under .bar{
  font-size: 14px;
}
.timetable.under .tri{
  font-size: 15px;
}
.timetable .bar{
  color: #BCB9B3;
  font-size: 18px;
}
.timetable .tri{
  color: #BCB9B3;
  font-size: 22px;
}

.f-navi_social li {
  margin-right: 10px;
  display: inline-block;
  width: 20px;
  height: 20px;
}

.copyright {
  padding: 15px calc(50% - 512px);
  text-align: right;
  color: #fff;
  font-size: 13px;
}


/*------------
common
--------------*/
.fixed:after {
  clear: both;
  content: "";
  display: block;
}

.pos-ab {
  position: absolute !important;
}

.pos-rel {
  position: relative !important;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

.fade {
  -webkit-transition: .2s;
  transition: .2s;
}

.fade:hover {
  opacity: .5;
}

.bold, strong {
  font-weight: bold;
}

.red {
  color: #F44336;
}

.link{
  color: #157c76;
  text-decoration: underline;
}
.link:hover{
  text-decoration: none;
}
.bg-gray{
  background: #f5f5f5;
}

.notice {
  font-size: 13px;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb30-15 {
  margin-bottom: 30px !important;
}

.mb50-30 {
  margin-bottom: 50px !important;
}

.mb80-40 {
  margin-bottom: 80px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.tal {
  text-align: left !important;
}

.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

/*animation*/
@keyframes hvr-bob{
  0%{transform:translateY(-8px);}
  50%{transform:translateY(-4px);}
  100%{transform:translateY(-8px);}
}
