@charset "utf-8";
/*
Theme Name: 門松歯科医院
*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
line-height:1.5;
font-family: "Zen Maru Gothic",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
color:#333;
-webkit-text-size-adjust: none;
letter-spacing: 1px;
}

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

.pc{display:block;}
.sp{display:none;}

@media only screen and (max-width:1024px){
body {font-size: 90%;}
.pc{display:none;}
.sp{display:block;}
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}


/* リンク設定
------------------------------------------------------------*/
a{
  margin:0;
  padding:0;
  text-decoration:none;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  font-size:100%;
  color:#000;
}

a:hover, a:active{
  -webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
  outline: none;
  text-decoration:underline;
}


/**** Clearfix ****/
.nav .panel:before,nav .panel:after, nav#mainNav:before,nav#mainNav:after, .newsTitle:before,.newsTitle:after{content: ""; display: table;}
nav .panel:after,nav#mainNav:after,.newsTitle:after{clear: both;}
nav .panel,nav#mainNav,.newsTitle{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,select,input[type="email"],input[type="tel"]{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #5a0000;
  background: -moz-linear-gradient(top, #781f12 0%, #5a0000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#781f12), color-stop(100%,#5a0000));
  background: -webkit-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -o-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -ms-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: linear-gradient(to bottom, #781f12 0%,#5a0000 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#781f12', endColorstr='#5a0000',GradientType=0 );
  border:0;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:100%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
  background: #5a0000;
  background: -moz-linear-gradient(top, #5a0000 0%, #781f12 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5a0000), color-stop(100%,#781f12));
  background: -webkit-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -o-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -ms-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: linear-gradient(to bottom, #5a0000 0%,#781f12 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5a0000', endColorstr='#781f12',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}




/* レイアウト
------------------------------------------------------------*/
#wrapper{}

.inner{
  margin:0 auto;
  width:1100px;
}

.inner:after{content: "";clear: both;display: block;}

#header{overflow:hidden;}

#top-content{}

#content-sub{
  float:right;
  width:800px;
  padding:30px 0;
}

#sidebar{
  float:left;
  width:265px;
  padding:30px 0;
}

#footer {
  clear: both;
  padding-top: 50px;
  font-size: 90%;
}


@media only screen and (max-width:1100px){
  .inner{
    width:auto;
    padding:0 20px;
  }
  #content-sub {
    width: 68%;
  }
  #sidebar{
    width:28%;
  }
}

@media only screen and (max-width:813px){
  #content-sub, #sidebar {
    float: none;
    width: auto;
    padding: 0 20px 30px;
  }
}


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

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h1{
  padding:10px 0 0 3px;
  color: #781f12;
  font-size:90%;
  font-weight:normal;
}


/*パンくず*/
.crumbs {
  font-size: 95%;
  margin-top: 10px;
  margin-bottom:50px;
}

.crumbs ul{width:1100px;margin:0 auto;}

.crumbs li{
  display: inline-block;
}
.crumbs li::after{
  content:'›';
  padding:0 7px;
  color: #666;
}
.crumbs li:last-child::after{display: none;}
@media only screen and (max-width: 1100px){
  .crumbs ul{width: auto;}
}



/* トップページ　メイン画像
----------------------------------*/
#mainImg{
  line-height:0;
  text-align:center;
  z-index:0;
  width: 92%;
  margin: 90px auto 0;
}

#mainImg .slick-dots{
	bottom:10px;
}
#mainImg .slick-dotted.slick-slider{
	margin-bottom:0;
}
.single-item .slick-dots li button:before{
	font-size:16px;
	color:#C7BB95;
	opacity:1;
}
.single-item .slick-dots li.slick-active button:before{
	color:#AD9356;
}

#mainImg .card{text-align:center;}
#mainImg .card img{margin:0 auto;}

#mainImg .slick-slide img {
  border-radius: 30px;
}


/* タイポグラフィ
*****************************************************/


img.aligncenter {
  display: block;
  margin:5px auto;
}

img.alignright, img.alignleft{
  padding:4px;
  margin:0 0 2px 7px;
  display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}
.center{text-align:center;}


/* サイドバー　ウィジェット
*****************************************************/

#searchform input[type="text"]{
  line-height:1.7;
  height:24px;
  width:130px;
  vertical-align:bottom;
}

#sidebar .newsTitle h3 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 1px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  margin-top: 7px;
}

.side_news_box {
  border-bottom: 1px dashed #000;
  padding: 10px 0;
}

#sidebar time {
  display: block;
}

#sidebar .btn-black {
  text-align: center;
  margin: 30px 0;
}





/* フッター
*****************************************************/
.f-resarvation {
  padding: 70px 0;
}

.f-container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.f-address {
  width: 30%;
}

.f-menu {
  width: 50%;
  display: flex;
  justify-content: space-around;
}

@media only screen and (max-width:1000px){
  .f-menu{width:auto;}
}
@media only screen and (max-width:600px){
  .f-container{display:block;}
  .f-address{width:auto;margin-bottom:20px;}
}
@media only screen and (max-width:500px){
  .f-menu{display:block;}
  .f-menu .menu-box{margin-bottom:20px;}
}

.menu-box h3 {
  color: #E28C26;
  font-weight: 500;
  font-size: 120%;
}

.menu-box ul li {
  margin: 10px 0;
  background: url(images/list-arrow.svg) no-repeat left center;
  padding-left: 15px;
  margin-left: 5px;
}

.menu-box ul li a {
  color: #000;
}

#copyright{
  clear:both;
  padding:5px;
  text-align:center;
  font-style:normal;
  font-size:90%;
  zoom:1;
  background: linear-gradient(90deg, rgba(240, 164, 74, 1) 0%, rgba(221, 120, 0, 1) 100%);
    color: #fff;
}


/*上に戻る*/
.page_top {
	position:fixed;
	bottom:10px;
	right:10px;
	padding:10px 20px;
	color:#fff;
	font-size:20px;
	text-decoration:none;

}
.page_top:hover {

	opacity:0.5;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
  clear:both;
  width: 100%;
  height: 30px;
  margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
  clear:both;
  color:#5a0000;
  text-align:center;
}


/* トップページ
------------------------------------------------------------*/
/* 共通 */
.half-container {
  display: flex;
  justify-content: space-between;
}

.half-box {
  width: 48%;
}
@media only screen and (max-width:900px){
  .half-container{display:block;}
  .half-box{width:auto;margin-bottom:20px;}
}

#top-content h2 {
  font-size: 180%;
  font-weight: 600;
  letter-spacing: 3px;
}

#top-content h2 span {
  display: block;
  font-family: 'Lato';
  color: #DD7800;
  font-size: 45%;
  font-weight: 400;
  margin: 10px 0 30px;
}

.btn-orange a {
  background: #F0A44A;
  background: linear-gradient(90deg, rgba(240, 164, 74, 1) 0%, rgba(221, 120, 0, 1) 100%);
  color: #fff;
  padding: 6px 40px;
  font-size: 90%;
  letter-spacing: 2px;
  border-radius: 30px;
  transition:0.3s;
}

.btn-orange a:hover{
  background: linear-gradient(90deg, rgba(221, 120, 0, 1) 0%, rgba(240, 164, 74, 1) 100%);
}
.btn-orange2 a {
  background: #F0A44A;
  background: linear-gradient(90deg, rgba(240, 164, 74, 1) 0%, rgba(221, 120, 0, 1) 100%);
  color: #fff;
  padding: 6px 20px;
  letter-spacing: 0.1em;
  border-radius: 30px;
  transition:0.3s;
  margin-bottom:20px;
  font-weight:500;
  font-size:120%;
  min-width:130px;
  text-align:center;
}

.btn-orange2 a:hover{
  background: linear-gradient(90deg, rgba(221, 120, 0, 1) 0%, rgba(240, 164, 74, 1) 100%);
}

.btn-blue a {
  background: #F0A44A;
  background: linear-gradient(90deg, #90D0E0 0%, #50BBD6 100%);
  color: #fff;
  padding: 6px 20px;
  letter-spacing: 0.1em;
  border-radius: 30px;
  transition:0.3s;
  margin-bottom:20px;
  font-weight:500;
  font-size:120%;
  min-width:130px;
  text-align:center;
}

.btn-blue a:hover{
  background: linear-gradient(90deg, #50BBD6 0%, #90D0E0 100%);
}

.btn-gray {
  margin-top: 10px;
}

.btn-gray a {
  background: #EDEDED;
  border: 1px solid #000;
  padding: 2px 80px;
  border-radius: 30px;
  color:#000;
}

.bg-blue {
  background: #E8FCFF;
}

/* 予約・診療案内 */
#top-reservation {
  background: #FCF3E8;
  margin-top: -260px;
  padding: 330px 0 70px;
  box-shadow: 0px 2px 5px rgb(0 0 0 / 30%);
}

.subpage .reservation-container p {
  margin-bottom: 0;
}

.reservation-box {
  background: #fff;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0px 2px 5px rgb(0 0 0 / 30%);
  padding: 25px;
  min-height: 220px;
}

.reservation-box .title {
  text-align: center;
  background: linear-gradient(90deg, rgba(144, 208, 224, 1) 0%, rgba(80, 187, 214, 1) 100%);
  color: #fff;
  font-weight: 500;
  letter-spacing: 3px;
  font-size: 125%;
  border-radius: 30px;
  margin-bottom: 5px;
}

.tel-num,
.subpage p.tel-num {
  font-family: 'helvetica';
  font-size: 250%;
  font-weight: bold;
  line-height: 1.5em;
}

.guide-tbl {
  width: 90%;
  margin: 10px auto;
  font-size:95%;
}

.guide-tbl th, td {
  text-align: center;
  padding: 5px;
}

.guide-tbl th strong {
  background: #EDEDED;
  padding: 2px 7px 5px;
  border-radius: 20px;
  font-weight: 500;
}

.guide-tbl th strong.bg-w-blue {
    background: #CEF2FF;
}

.guide-tbl th strong.bg-w-red {
    background: #FFD0D0;
}

.sub-shinryoguide-container{
  position:relative;
  margin-bottom:30px;
  padding-bottom:50px;
}
.sub-shinryoguide-container::after{
  content:'';
  display:block;
  width:100%;
  height:50%;
  background:#FCF3E8;
  position:absolute;
  bottom:0;
  z-index:-999;
  box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
}

.subpage .guide-tbl th{
  background:none;
  font-size:inherit;
  padding: 5px;
  border-bottom:none;
  text-align:center;
  font-weight:normal;
}
.subpage .guide-tbl td{
  background:none;
  font-size:inherit;
  padding: 5px;
  border-bottom:none;
  text-align:center;
}

.reservation-box .caution{
  font-size:90%;
}

@media only screen and (max-width:450px){
  .reservation-box {padding: 20px 10px;min-height: auto;}
  .guide-tbl{width:auto;}
  .guide-tbl th, .guide-tbl td,
  .subpage .guide-tbl th, 
  .subpage .guide-tbl td{padding:2px;}
  .guide-tbl th strong{padding:5px;}
  
}

/* トップお知らせ */
#top-news {
  margin: 70px 0;
}

.news-container {
  display: flex;
  justify-content: space-between;
}

.news-cap {width: 20%;}
.news-list {
  width: 78%;
  border-top: 1px dotted;
}

.news-list li {
  border-bottom: 1px dotted;
  padding: 15px 0;
  font-weight: 500;
  letter-spacing: 1px;
}

.news-date {margin-right: 40px;}
.news-title a {color: #000;}

@media only screen and (max-width:700px){
  .news-container{display:block;}
  .news-cap,.news-list{width:auto;margin-bottom:20px;}
  .news-cap{text-align:center;}
}

/* 当院について */
#top-about .bg-blue {
  padding: 70px 0;
  background: #E8FCFF url(images/bg-teeth.svg) no-repeat 97% 70%;
}

.about-ttl {
  color: #0B8AAA;
  font-size: 175%;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 2.2em;
  margin-bottom: 30px;
}

.about-ttl span {
  background: rgba(255 255 255 / 80%);
  padding: 5px;
}

/* 診療内容・科目 */
#top-service {
  padding: 100px 0;
}

.service-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap:10px;
  justify-content: space-between;
}

.service-box {
  text-align: center;
  background: #F0A44A;
  background: linear-gradient(135deg, rgba(240, 164, 74, 1) 0%, rgba(221, 120, 0, 1) 100%);
  color: #fff;
  padding: 30px 20px;
  border-radius: 20px;
}

.service-box .title {
  margin-bottom: 10px;
  font-size: 140%;
  letter-spacing: 3px;
  border-bottom: 1px solid;
  padding-bottom: 10px;
}

.service-box ul li {
  font-size: 85%;
  text-align: left;
  list-style: disc;
  margin-left: 20px;
}

@media only screen and (max-width:1100px){
  .service-container{padding:0 20px;}
}
@media only screen and (max-width:900px){
  .service-container{grid-template-columns: 1fr 1fr;}
}
@media only screen and (max-width:550px){
  .service-container{display:block;}
  .service-box{margin-bottom:20px;padding: 30px 30px;}
}

/* 当院の特徴 */
#top-feature {
  margin-bottom: 70px;
}

.feature-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:40px 50px;
  justify-content: space-between;
}

.feature-box img {
  border-radius: 30px;
  box-shadow: 2px 2px 5px #ccc;
  margin-bottom: 10px;
}

.feature-box h3 {
  font-size: 140%;
  font-weight: 500;
  margin-bottom: 10px;
}

.feature-box h3 strong {
  background: linear-gradient(transparent 50%, #FFDBB1 50%);
}

@media only screen and (max-width:800px){
  .feature-container{grid-template-columns: 1fr 1fr;}
}
@media only screen and (max-width:550px){
  .feature-container{display:block;}
  .feature-box{margin-bottom: 20px;}
}

/* アクセス */
#top-access {
  background: #FBF3E8;
  padding: 70px 0;
}


/* メインメニュー
------------------------------------------------------------*/
.header-inner{}

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  line-height: 1;
  z-index: 999;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#top-head a,
#top-head {
  color: #000;
  text-decoration: none;
}
#top-head .inner {
  position: relative;
}
#top-head .logo {
  float: left;
  font-size: 36px;
}
#global-nav ul {
  list-style: none;
  position: absolute;
  right: 0;
  top: 0px;
  font-size: 16px;
  margin: 0;
  background: #fff;
  padding: 30px 20px;
  border-radius: 0 0 0 20px;
}
#global-nav ul li {
  float: left;
  margin: 0 10px;
}
#global-nav ul li a {
  padding: 12px 15px;
}

#global-nav ul li a:hover {
  color: #fff;
  background: linear-gradient(90deg, rgba(240, 164, 74, 1) 0%, rgba(221, 120, 0, 1) 100%);
  border-radius: 5px;
}

/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
}
#top-head.fixed .logo {
  font-size: 24px;
  color: #333;
}

#top-head.fixed #global-nav ul {
  box-shadow: 1px 2px 3px rgb(0 0 0 / 30%);
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 1024px) {
.header-inner{padding:0;}

#top-head {
  top: 0;
  position: fixed;
  margin-top: 0;
}
/* Fixed reset */
#top-head.fixed {
  padding-top: 0;
  /*background: transparent;*/
}
#mobile-head {
  width: 100%;
  height: 56px;
  z-index: 999;
  position: relative;
}
#top-head.fixed .logo,
#top-head .logo {
  position: absolute;
  color: #333;
  font-size: 26px;
  width:230px;
}
#global-nav {
  position: absolute;
  /* 開いてないときは画面外に配置 */
  top: -500px;
  background: #fff;
  width: 100%;
  text-align: center;
  padding: 10px 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#global-nav ul {
  list-style: none;
  position: static;
  right: 0;
  bottom: 0;
}
#global-nav ul li {
  float: none;
  position: static;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
  width: 100%;
  display: block;
  color: #000;
  padding: 18px 0;
}
#nav-toggle {
  display: block;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(556px);
  -webkit-transform: translateY(556px);
  transform: translateY(556px);
}
}
/*メニューここまで*/
@media screen and (min-width: 901px) {
.sp-none{display:none;}
}



/* サブページ
------------------------------------------------------------*/
.subpage{
  padding-bottom:30px;
}

.subpage p{
  margin-bottom:20px;
  line-height:1.7;
}
.text-middle{
  font-size:130%;
  font-weight:500;
  letter-spacing:0.1em;
}

.subpage .bold{
  font-weight:bold;
}

/*見出し*/
.subpage h3{
  font-weight:bold;
  font-size:200%;
  padding-bottom:30px;
  letter-spacing:0.1em;
}
.subpage .midashi-bg{
  display:flex;
  font-weight:bold;
  font-size:200%;
  padding-bottom:30px;
  letter-spacing:0.1em;
}
.subpage .midashi-bg strong{
  display:inline-block;
  position:relative;
}
.subpage .midashi-bg strong::after{
  content:'';
  display:block;
  position:absolute;
  bottom:-10px;
  left:10px;
  z-index:-999;
  width:100%;
  height:1em;
  background:linear-gradient(to left,#FFD3A0,#FFA236);
  border-radius:10px;
}
.subpage .midashi-bg::after{
  content:'';
  display:block;
  border-bottom:1px solid #000;
  flex-grow: 1;
}
@media only screen and (max-width:850px){
  .subpage .midashi-bg::after{display:none;}
}
.subpage h4{
  font-size:180%;
  font-weight:bold;
  letter-spacing:0.1em;
  margin-bottom:20px;
}
.subpage h5{
  font-size:150%;
  font-weight:bold;
  letter-spacing:0.1em;
  margin-bottom:20px;
  margin-left:30px;
  position:relative;
}
.subpage h5::before{
  content:'';
  display:block;
  position:absolute;
  top:8px;
  left:-30px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#EB8308;
}

.subpage .midashi-line{
  display: flex;
  align-items: center;
  gap:10px;
}
.subpage .midashi-line::after{
  content: '';
  display: block;
  border-bottom: 1px solid #000;
  flex-grow: 1;
}

@media screen and (max-width: 800px){
  .subpage .midashi-bg{font-size: 160%;}
  .subpage h4{font-size: 150%;}
  .subpage h5{font-size: 130%;}
}

/*リスト*/

.subpage ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.subpage ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #FFD3A0;
  border-radius: 150%;
}

.subpage ul li ul{
  border:none;
  padding:0;
}

.subpage ul li ul li{
  margin-top:5px;
  padding-bottom:0px;
}

.subpage ul{
  margin-bottom:20px;
  margin-left:0px;
  padding:0;
  border-radius:10px;
}

.subpage ol{
padding:0;
margin:0 0 20px 0;
list-style:none;
counter-reset:circle-number;/* 任意の名前*/
}
.subpage  ol li{
  line-height: 2;
  margin-bottom: 0.4em;
  margin-left:2.3em;
}
.subpage ol li:before {
counter-increment: circle-number; /* 任意の名前を付ける（もちろん英語で） */
content: counter(circle-number); /* 名前を付けたカウンターをcontentで発動！ */
background:#eeeeee;
border-radius: 50%;
width: 2em;
height: 2em;
text-align: center;
display: inline-block;
margin-right: .3em;
margin-left:-2.3em;
}

/*テーブル*/

.subpage table{
  margin-bottom:15px;
  border-collapse:collapse;
  border:none;
}
.subpage table thead{border:none;}
.subpage table th,.subpage .left-color td:first-child{
  background:#eee;
  color:#000;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:center;
  border-bottom:1px solid #d9d9d9;
  border-collapse:collapse;
  font-size:120%;
  border-top: none;
  border-left: none;
  border-right: none;
}
.subpage table td{
  padding:10px;
  vertical-align:top;
  border-bottom:1px solid #d9d9d9;
  border-collapse:collapse;
  border-top: none;
  border-left: none;
  border-right: none;
  text-align:left;
}
.subpage .left-bold td:first-child{
  font-weight:bold;
  font-size:120%;
}


/*タイトル背景*/
.subpage-title-bg{
  margin-top:80px;
  background:url(images/sub-bg-default3.png);
  background-size:cover;
  color:#fff;
}
.subpage-title{
  font-size:230%;
  text-align:center;
  padding:70px 10px;
  font-weight:500;
}
@media only screen and (max-width:1024px){
  .subpage-title-bg{margin-top:55px;}
}

/*ページタイトル*/
.post-title{
  font-size:200%;
  font-weight:500;
  text-align:center;
}

/*タイムスタンプ*/
.dateLabel{
  text-align:center;
  margin-bottom:30px;
}

/*ページ送り*/

.tablenav {
	color: #424242;
	margin: 1em auto;
	line-height:2em;
	text-align:center;
}

a.page-numbers, .tablenav .current {
	color: #424242;
	padding: 2px 7px;
	border:solid 1px #ccc;
	text-decoration:none;
	font-size:110%;
	background:#fff;
}

a.page-numbers:hover {
	color:white;
	background: #E27A00;
}

.tablenav .current {
	color: white;
	background: #E27A00;
	border-color: #E27A00;
	font-weight:bold;
}

.tablenav .next, .tablenav .prev {
	border:0 none;
	background:transparent;
	text-decoration:underline;
	font-size:90%;
	font-weight:bold;
}

/*アーカイブ*/
.archive-box{
  border:1px solid #ccc;
  background:#fff;
  padding:15px;
  margin-bottom:10px;
  border-radius:10px;
}
.archive-box:after {content: "";clear: both;display: block;}
.archive-img{
  width:30%;
  float:right;
}
.archive-excerpt{
  width:65%;
  float:left;
}

.archive-excerpt .btn-more{
  margin-top:20px;
  text-align:right;
}
.btn-more a{
  background:#eee;
  border-radius:10px;
  padding:5px 10px;
  display:inline-block;
}

#onecolumn .archive-link {
  background: linear-gradient(to left,#FFB053,#E27A00);
  font-weight: 500;
  letter-spacing: 2px;
  padding: 5px 10px;
  font-size: 138.5%;
  border: none;
  border-radius: 5px;
  margin-bottom:10px;
}

.archive-link a{
  text-decoration:underline;
  color:#fff;
}

.archive-link a:hover{
  text-decoration:none;
}

@media only screen and (max-width:600px){
  .archive-img,.archive-excerpt{float:none;width:auto;}
}

/*見出し*/


/*メールフォーム*/
.mw_wp_form em {
  display: inline-block;
  background: #cd4d4d;
  border-radius: 5px;
  padding: 0 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: normal;
  font-size: 90%;
}

.tel_num {
  font-size: 200%;
  font-weight: bold;
}

/*サイトマップ*/
.sitemap-list li{
  margin-top:10px;
  background:url(images/sitemap-list-arrow.png) no-repeat 0 8px;
  padding-left:20px;
  font-size:120%;
  border-bottom:1px dotted #ccc;
  padding-bottom:10px;
}
.sitemap-list li ul li{
  margin-top:5px;
  padding-bottom:5px;
  padding-left:15px;
  background:url(images/sitemap-list-child-arrow.png) no-repeat 0 8px;
  font-size:90%;
  border-bottom:none;
}
.sitemap-list li ul li ul li{
  border-bottom:none;
  background:url(images/sitemap-list-grandchild-arrow.png) no-repeat 0 8px;
}


/*404ページ*/
.notFound {
  text-align: center;
  font-weight: bold;
  font-size: 500%;
  color: #e28c26;
}

/*エフェクト inview*/
.fadeIn_left {
 opacity: 0;
 transform: translate(-50%, 0);
 transition: 1s;
}
.fadeIn_left.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

.fadeIn_right {
 opacity: 0;
 transform: translate(50%, 0);
 transition: 1s;
}
.fadeIn_right.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

.fadeIn_up {
 opacity: 0;
 transform: translate(0, 20%);
 transition: 1s;
}
.fadeIn_up.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

@media only screen and (max-width:500px){
  .fadeIn_left,.fadeIn_right{
    opacity: 1;
    transform: translate(0,0);
    transition: 0;
  }
}

/* 当院について */
.about-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before{
  backdrop-filter: none;
}
.about-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    font-size: 100%;
}


/*診療科目*/
.sinryokamoku .wp-block-column{
  background:#FBF3E8;
  border-radius:20px;
  padding-top:20px;
  margin-bottom:20px;
}
.sinryokamoku .wp-block-column .wp-block-image{
  margin-bottom:10px;
}
.sinryokamoku .wp-block-column strong{
  font-weight:500;
  letter-spacing:0.1em;
  font-size:120%;
}

/*メールフォーム*/
.mailform-box{
  max-width:600px;
  margin:0 auto 30px auto;
}
.mailform-box h4{
  font-size:130%;
  margin-top:20px;
}
.mailform-box p{margin-bottom:20px;}
.mailform-box input,textarea{width:90%;}
.mailform-box input[type="checkbox"]{width: auto;}
.mailform-box table{width:100%;border:1px solid #ccc;}
.subpage .mailform-box th,.subpage .mailform-box td{vertical-align: middle;}
.mailform-box em{
  display:inline-block;
  background:#cc0000;
  color:#fff;
  padding:3px 10px;
  margin-left:10px;
  border-radius:5px;
  font-size:80%;
}
.subpage .mailform-box .wpcf7-list-item{display:block;}

.subpage .mailform-box .wpcf7-submit{
  font-size:150%;
  width:inherit;
  background: linear-gradient(90deg, #90D0E0 0%, #50BBD6 100%);
  color: #fff;
  padding: 6px 20px;
  letter-spacing: 0.1em;
  border-radius: 30px;
  transition: 0.3s;
  margin-bottom: 20px;
  font-weight: 500;
  min-width: 130px;
  text-align: center;
}

@media only screen and (max-width:500px){
  .mailform-box th,.mailform-box td{display:block;width:auto;}
  .mailform-box span.wpcf7-spinner {display: block;}
}

/*サイトマップ*/
.sitemap-list{margin-bottom:30px;}
.sitemap-list li{
	margin-top:10px;
	background:url(images/sitemap-list-arrow.png) no-repeat 0 7px;
	padding-left:20px;
	font-size:120%;
	border-bottom:1px dotted #ccc;
	padding-bottom:10px;
}
.sitemap-list li ul li{
	margin-top:5px;
	padding-bottom:5px;
	padding-left:15px;
	background:url(images/sitemap-list-child-arrow.png) no-repeat 0 7px;
	font-size:90%;
	border-bottom:none;
}
.sitemap-list li ul li ul li{
	border-bottom:none;
	background:url(images/sitemap-list-grandchild-arrow.png) no-repeat 0 3px;
}

/*アコーディオン*/
.subpage .wp-block-accordion{
  max-width:800px;
  margin:0 auto 20px auto;
}
.subpage .wp-block-accordion-item{
  border:1px solid #ccc;
  border-radius:10px;
  padding:10px 20px;
  margin-bottom:10px;
}
.subpage .wp-block-accordion-item h3{
  font-size:110%;
  padding-bottom:0;
}

/*流れ*/
.flow-box{
  border-radius:20px;
  padding:20px;
  border:2px solid #FFD29D;
  position:relative;
  margin-bottom:40px;
}
.flow-box::after{
  content:'';
  width:80px;
  height:40px;
  background:url(images/arrow-flow.svg) no-repeat center top;
  background-size:100% 100%;
  display: block;
  position:absolute;
  left:20px;
  bottom:-40px;
}
.flow-box-end{
  border-radius:20px;
  padding:20px;
  border:2px solid #FFD29D;
  margin-bottom:30px;
}