@charset "utf-8";
/* =======================================================================

   ●
   
======================================================================= */

/* -----------------------------------------------------------
　●
----------------------------------------------------------- */

/* :::::::::: ● :::::::::: */


/* =======================================================================

   基本
   
======================================================================= */

/* -----------------------------------------------------------
　イメージカラー
----------------------------------------------------------- */
/*
メインカラー:#00000
サブカラー:#00000
アクセントカラー:#00000
アクセントカラー:#00000
*/


/* -----------------------------------------------------------
　画像サイズ
----------------------------------------------------------- */
img.fluid-image{
 max-width: 100%;
}
/* -----------------------------------------------------------
　構造
----------------------------------------------------------- */

header{
}
main{
}
footer{
}
section{
 margin:0 auto 20px auto;
 width:95%;
}
article{
}
aside{
}
header:after, nav:after, main:after, footer:after, section:after, article:after, article:after{
 content: "";
 display: block;
 clear: both;
}
.box{
 margin-bottom:30px;
}
/* -----------------------------------------------------------
　段落
----------------------------------------------------------- */

p:after{
 content: "";
 display:block;
 clear:both;
}
/* -----------------------------------------------------------
　見出し
----------------------------------------------------------- */

h1{
}
h2{
}
h3{
}
h4{
}
h5{
}
h6{
}
h1:after, h2:after, h3:after, h4:after, h5:after, h6:after{
 content: "";
 display:block;
 clear:both;
}
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
ul.career li{
 margin-bottom:5px;
}

/* =======================================================================

   全体
   
======================================================================= */

body{
 font-family:Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing: grayscale;
 width: 100%;
 margin-right: auto;
 margin-left: auto;
 text-align: center;
}
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */

header{
 text-align:center;
}
header h1{
 margin: 0px;
 padding: 3px 1px 3px 1px;
 background:#EF7A00;
 color: #FFF;
 text-align: center;
 font-weight: normal;
 font-size: 10px;
}
header p{
 margin:2% 0 2% 2%;
 width:80%;
 text-align: left;
}
/* :::::::::: ナビ :::::::::: */

nav{
 width:100%;
 margin-bottom:20px;
 text-align:center;
}
nav ul#main_nav{
}
nav ul#main_nav li{
 width:95%;
 height:40px;
 margin:0 auto 3px auto;
 background:#F6801D;
 border-radius: 3px 3px 3px 3px;
 -webkit-border-radius: 3px 3px 3px 3px;
 -moz-border-radius: 3px 3px 3px 3px;
}
nav ul#main_nav li a{
 display:block;
 width:95%;
 padding:2px 0 0 0;
 font-size:14px;
 font-weight:bold;
 line-height:40px;
 text-align:center;
 text-decoration:none;
}
nav ul#main_nav li a:link, nav ul#main_nav li a:visited, nav ul#main_nav li a:hover, nav ul#main_nav li a:active{
 color:#FFF;
}
/* :::::::::: キービジュアル :::::::::: */

#key_visual{
 margin:0 auto 20px auto;
 width:95%;
 text-align:center;
}

#category {
 margin:0 auto 20px auto;
 padding:12px 0 10px 0;
 width:95%;
 background:#FFF9DB;
 border:1px solid #FCD9BD;
 border-radius: 3px 3px 3px 3px;
 -webkit-border-radius: 3px 3px 3px 3px;
 -moz-border-radius: 3px 3px 3px 3px;
 font-size:20px;
 font-weight:bold;
 letter-spacing:2px;
 text-align:center;
 color:#E95405;
}

/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */

#main_contents{
 text-align:left;
}
/* :::::::::: 段落 :::::::::: */
section p{
 margin-bottom:15px;
}
section p:last-child{
 margin-bottom:0px;
}
section p.guide{
 margin-bottom:3px;
 text-align:center;
}
section p#sign span{
 font-weight:bold;
}
section p.sub{
 margin-bottom:5px;
 padding-bottom:3px;
 border-bottom:1px dotted #CCC;
 font-size:14px;
 font-weight:bold;
 color:#004F23;
 letter-spacing:1px;
 line-height:1;
}
section p.sub span{
 color:#C7AA94;
}
section p span.attn{
 color:#C30;
}

section p.title {
 margin-left:-10px;
 margin-bottom:0;
 font-size:16px;
 font-weight:bold;
}
section p span.mark{
 font-size:16px;
 color:#E95405;
}
section p span.light{
 font-weight:bold;
}
section p span.light2{
 font-weight:bold;
 text-decoration:underline;
}

section p.time1{
 margin-bottom:10px;
 font-size:14px;
 line-height:1.2;
}
section p.time1 span{
 font-weight:bold;
 color:#E95405;
}
section p.time2{
 margin-bottom:5px;
 border-bottom:1px dotted #CCC;
 font-size:14px;
 font-weight:bold;
 color:#004F23;
}
/* :::::::::: 見出し :::::::::: */

section h2{
 margin:0 0 15px 0;
 padding:8px 0 8px 5px;
 background:#FFF;
 border:1px solid #FCD9BC;
 border-bottom:2px solid #F6801D;
 border-radius: 3px 3px 3px 3px;
 -webkit-border-radius: 3px 3px 3px 3px;
 -moz-border-radius: 3px 3px 3px 3px;
 font-size:14px;
 font-weight:bold;
 color:#930;
 line-height:1.4;
}
section h3{
 margin-bottom:10px;
 padding:5px 1px 5px 10px;
 background:#F18D00;
  border-radius: 5px 5px 5px 5px;
 -webkit-border-radius: 5px 5px 5px 5px;
 -moz-border-radius: 5px 5px 5px 5px;
 font-size:14px;
 font-weight:bold;
 color:#FFF;
 line-height:1.4;
}
section h4{
 margin-bottom:5px;
 padding-bottom:3px;
 border-bottom:1px dotted #CCC;
 font-size:14px;
 font-weight:bold;
 color:#004F23;
}
/* :::::::::: 非序列リスト :::::::::: */

section ul li{
 list-style-type: none;
}
section ul.banner li{
 margin-bottom:5px;
 list-style-type: none;
}

ul#about {
 padding-bottom:20px;
}
ul#about li {
 margin-bottom:5px;
}
ul#about li.parking {
 margin-top: 7px;
 margin-bottom:5px;
}
section ul#about li span {
 color:#006C33;
}
section dl#access dt {
 margin-bottom:5px;
 padding:3px 0 3px 8px;
 background:#6EB92B;
 color:#FFF;
}
section dl#access dd {
 margin-bottom:15px;
 line-height:1.6;
}
/* ::::::::::  :::::::::: */

section figure{
 margin-bottom:20px;
 text-align:center;
}
section figure img{
 margin-bottom:10px;
}
section figure figcaption{
 font-size:14px;
}
section figure figcaption span{
 font-weight:bold;
}
/* 場面写真：右*/ 
section p img.img_right{
 float:right;
 width:35%;
 margin:0 0 5px 5px;
 border-radius:5px;
}
/* 場面写真：左*/
section p img.img_left{
 float:left;
 width:35%;
 margin:0 5px 5px 0;
 border-radius:5px;
}
/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */

footer{
 margin:0 auto;
 padding:20px 0;
 clear:both;
 background-color: #F18D00;
}
footer .copyright{
 font-size:10px;
 color:#fff;
}
/* =======================================================================

   個別
   
======================================================================= */

/* :::::::::: お知らせ欄 :::::::::: */

#infomation{
 width: 95%;
}
#infomation dt{
 font-weight:bold;
 color:#F18C00;
}
#infomation dd{
 margin-bottom:15px;
}
#infomation dd span{
 font-weight:bold;
}
/* :::::::::: 診療時間表 :::::::::: */

section .timeschedule{
 width:100%;
 margin-bottom:15px;
}
section table.timeschedule tr th, section table.timeschedule tr td{
 border:1px solid #E6E6E6;
 padding:5px 0 5px 0;
 font-weight:normal;
 font-size:12px;
}
section table.timeschedule tr.date th{
 background-color:#F18D00;
 text-align:center;
 color:#FFFFFF;
}
section table.timeschedule tr.date td{
 background-color:#F18D00;
 text-align:center;
 color:#FFFFFF;
}
section table.timeschedule tr th{
 width:22%;
 color:#333;
 text-align:center;
}
section table.timeschedule tr td{
 text-align:center;
 color:#F29739;
 line-height:1.2;
}

/* :::::::::: GoogleMap :::::::::: */

#map_canvas{
 margin:0 auto;
 width:100%;
 border:1px solid #CCCCCC;
 text-align:center;
}

#map_canvas img{
	width: 100%;
}

/* :::::::::: カレンダー :::::::::: */
#calendar {
 width:100%;
}
#calendar table {
 float:left;
 width:48%;
 margin-left:5px;
 margin-bottom:5px;
 border-collapse:collapse;
}
#calendar table th, #calendar table td {
 padding:6px 0 6px 0;
 border:1px solid #009843;
 font-size:12px;
 color:#333;
 vertical-align:middle;
 word-break:break-all;
 text-align:center;
}
#calendar table thead th {
 background:#009843;
 font-weight:normal;
 color:#FFF;
}
#calendar table tbody td.case1 {
 background-color:#FCC;
}
#calendar table tbody td.case2 {
 background-color:#6C9;
}
#calendar ul {
 width:710px;
 margin:0 auto;
 clear:both;
}
#calendar ul li {
 padding-left:5px;
 line-height:1.4;
}
#calendar ul li.item1 {
 border-left:20px solid #FCC;
}
#calendar ul li.item2 {
 border-left:20px solid #6C9;
}
#calendar ul li.item3 {
 border-left:20px solid #66C;
}

/* :::::::::: ギャラリー :::::::::: */

.viewport{
 width:290px;
 overflow:hidden;
 margin:0 auto;
}
.flipsnap{
 width:2900px;
}
.item{
 float:left;
 width:290px;
 cursor:pointer;
}
.item p{
 padding:3px 0 8px 0;
 font-weight:bold;
 text-align:center;
}
p.comment{
 text-align:center;
}

/* :::::::::: TO PAGE TOP :::::::::: */

.smoothScrolls{
 margin:20px 0;
}
.smoothScrolls p{
 text-align:center;
 font-size:14px;
 font-weight:bold;
}
#home_menu {
 clear:both;
 width:100%;
 margin:0 auto 3% auto;
overflow: hidden}
#home_menu ul li {
 float:left;
 width: 33.3%;
 margin-bottom: 3%;
}
#home_menu ul li img{
 width: 100%;
}


.parking {
	background: #004F23;
    color: #FFF;
	font-weight: bold;
	display: inline-block;
	padding: 8px 16px;
	border-radius: 5px;
}
.parking.about {
	margin: -10px 0 30px;
}

.parking_detail {
	border: 1px solid #F6801D;
	border-radius: 5px;
	padding: 8px;
	margin: 10px 0 0 0;
}
.parking_detail li {
	font-size: 12px;
}
.parking_detail li:not(:first-child) {
	padding: 5px 0 0 0;
}

p.lead {
 font-size:18px;
 font-weight:bold;
 color:#E95405;
 letter-spacing:2px;
	margin-bottom: 0!important;
}

p.wrap{
	background-color: antiquewhite;
	padding: 20px;
	text-align: center;
	border-radius: 15px;
}

/*アコーディオン開閉式*/
.ac_box dt{
	padding-left: 1.5rem!important;
	position: relative;
	cursor: pointer;
}

.ac_box dt::before{
	content:"▲";
	position: absolute;
	top:3px;
	left: .5rem;
	color: #fff3b8;
}

.ac_box dt.active::before{
	content:"▼";
}

/* ハンバーガーアイコンの基本スタイル */
/* ハンバーガーボタンのデザイン */
.drawer__button {
  position: fixed;
  top: 2rem;
  right: .5rem;
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
  background-color: #fff;
  border-radius: 5px;
  border:2px solid #EF7A00;
	color: #EF7A00;
}
/* ハンバーガーボタン内の線 */
.drawer__button > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2px;
  background-color: #EF7A00;
  transform: translateX(-50%);
}
.drawer__button > span:first-child {
  transform: translate(-50%, calc(-50% - 0.5rem));
  transition: transform 0.3s ease;
}
.drawer__button > span:nth-child(2) {
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
  transform: translate(-50%, calc(-50% + 0.5rem));
  transition: transform 0.3s ease;
}
/* 展開時のデザイン */
.drawer__button.active > span:first-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__button.active > span:nth-child(2) {
  opacity: 0;
}
.drawer__button.active > span:last-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
/* メニューのデザイン */
.drawer__nav {
  position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.drawer__nav.active {
  opacity: 1;
  visibility: visible;
}
.drawer__nav__inner {
  position: relative;
  width: 80%;
  height: 100%;
  background-color: #EF7A00;
  padding: 4rem 1.5rem 1rem;
  margin: 0 0 0 auto;
  overflow: scroll;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.drawer__nav.active .drawer__nav__inner {
  transform: translateX(0);
}
.drawer__nav__menu {
  list-style: none;
  padding-left: 0;
}
.drawer__nav__link {
  display: block;
  color: #fff!important;
  text-decoration: none;
  padding: 1rem 1rem;
  border-bottom: solid 1px #fff;
  text-decoration: none!important;
	font-size: 16px;
}

/* ハンバーガーメニュー展開時、背景を固定 */
body.active {
  height: 100%;
  overflow: hidden;
}