@charset "UTF-8";

html { font-size: 62.5%; }  /* font-size 1em = 10px */
body { font-size: 16px; font-size: 1.6rem; } /* =16px */

body {
	font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color: #736357;
	line-height: 1.8;
}
body { -webkit-text-size-adjust: 100%; } /*iPhoneの文字サイズ自動調節機能を無効にする*/
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-size: 1.6rem; font-weight: normal; }
p, ul, ol, dl, dt, dd, address { margin: 0; padding: 0; font-size: 1.6rem; }
li { list-style: none; }
form, input, select, option, textarea, table { margin:0; padding:0; font-size: 1.6rem; }
table, th, td { margin:0; padding:0; font-size: 1.6rem; }

a img { border: none 0; }
a { text-decoration:none; color: #06c; }
a:hover{ text-decoration: underline; }
a:visited { color: #06c; }

/* ------------ layout ------------ */
body  { margin: 0; padding: 0; text-align: center; }
#page { width: 1000px; margin: 0 auto; text-align: left; }
#content { clear:both; overflow: hidden; }
#schedule { float: left; width: 280px; }
#main { float: right; width: 700px; }

#header { background: url(../images/header_bg2.jpg) 0 1900px; }
#header #header-wrapper { width: 1000px; height: 200px; margin: 0 auto; padding: 5rem 0 0 0; overflow: hidden; }
#header #k-chiryoin { float:left; width: 350px; }
#header #k-chiryoin li a { color: #fff; text-decoration: none; }
#header #k-chiryoin #logo { float: left; }
#header #k-chiryoin h1 { font-size: 4.7rem; line-height: 1.2; text-shadow: 2px 4px 3px rgba(0,0,0,0.3); }
#header #k-chiryoin h1 span { display: block; font-size: 35%; line-height: 1.3; }
#header #contact { color: #fff; margin-left: 370px; padding: 1.6rem; border: 1px solid #fff; height: 12rem; border-radius: 5px; }
#header #contact li { text-align: left; margin-left: 80px; text-shadow: 2px 2px 2px rgba(0,0,0,0.3); }
#header #contact li#tel { font-size: 4rem; line-height: 1; text-shadow: 2px 4px 3px rgba(0,0,0,0.3); }
#header #contact li#manners { color: #c7b299; }
#header #contact li#reservation_priority { margin-left:0; width: 60px; height: 60px; position: relative; bottom: 100px; color: #fff; background: #998675; border: 5px solid #c7b299;
border-radius: 35px;
box-shadow:	2px 4px 3px rgba(0,0,0,0.3);
}/* ご予約優先マーク */
#header ul li#reservation_priority span { display: block; width: 5rem; text-align: center; margin: 1.2rem auto 0; line-height: 1.3; }

#navi { height:50px; margin-bottom: 3rem; border-bottom: 5px solid #ddd;
background: linear-gradient(top center, #176514 0%, #009137 100%);/* common */
background: -webkit-gradient(linear, center top, center bottom, from(#176514), to(#009137));/* Chrom, Safari */
background: linear-gradient(to bottom, #176514, #009137);/* ie10 */
}
#navi ul { width: 1000px; margin: 0 auto; }
#navi li { float:left; width:14rem; border-right: 1px solid #009137; }
#navi li#last { border-right:0; } 
#navi li a { display:block; width:14rem; height:50px; line-height: 50px; color:#fff; text-align:center; text-decoration:none; letter-spacing: 1px;
background: linear-gradient(top center, #176514 0%, #009137 100%);/* common */
background: -webkit-gradient(linear, center top, center bottom, from(#176514), to(#009137));/* Chrom, Safari */
background: linear-gradient(to bottom, #176514, #009137);/* ie10 */
}
#navi li a:hover { background: #009137; }

/* ニュースが更新された時 */
.update { position: relative; height: 0; bottom: 92px; color: #f66; transform: rotate(15deg); text-shadow: 1px 1px 2px #444; right: -100px; }
/* width:1000pxのdiv全体を傾けると画面横幅が狭く左右に余白がない時に右だけに余白が入ってしまうので調整 */
@media (max-width: 1000px) { .update { width: 65px; left: 570px; right: 0; } }
.update:before { content: '\\ '; }
.update:after { content: ' /'; }

/* present place */
#home #header #navi a.home, #consultation #header #navi a.consultation, #time #header #navi a.time, #profile #header #navi a.profile, #clinic #header #navi a.clinic, #news #header #navi a.news, #inquiry #header #navi a.inquiry { color: #176514;
background: linear-gradient(top center, #87C796 0%, #c3e3ca 100%);/* common */
background: -webkit-gradient(linear, center top, center bottom, from(#87C796), to(#c3e3ca));/* Chrom, Safari */
background: linear-gradient(to bottom, #87C796, #c3e3ca);/* ie10 */
 }

/* お知らせ */
dl#info { background: #c3e3ca; color: #009137; margin-bottom: 1.5rem; padding: 1rem 1.5rem; border: 5px solid #7fbf9c;
border-radius: 5px;
-webkit-border-radius: 5px;/* Chrom, Safari */
}
dl#info dt { display: block; text-align: center; border-bottom: 1px dotted #176514; padding-bottom: 0.3rem; margin-bottom: 0.3rem; }

#schedule table { border-collapse: collapse; width:280px; text-align:center; margin-bottom: 1.5rem; }

table.calendar th { border: solid 1px #998675; color: #736357; background-color: #ebe4db; }
table.calendar td { border: solid 1px #998675; color: #736357; background-color: #fff; }
table.calendar th.month { background-color: #998675; color:#fff; width: auto; }
table.calendar th.sunday { } /* 日曜日 */
table.calendar th.monday { } /* 月曜日 */
table.calendar th.tuesday { } /* 火曜日 */
table.calendar th.wednesday { } /* 水曜日 */
table.calendar th.thursday { } /* 木曜日 */
table.calendar th.friday { } /* 金曜日 */
table.calendar th.saturday { } /* 土曜日 */
table.calendar td.holiday { background-color: #c7b299; } /* 祝日 */
table.calendar td.closed_day { background-color: #c7b299; } /* 休診日 */
table.calendar td.morning_day { background-color: #d3edf9; } /* 午前のみ診療 */
table.calendar td.afternoon_day { background-color: #FFFAC4; } /* 午後のみ診療 */
table.calendar td.notice { text-align:left; padding:0.5em 1em; }
table.calendar td.special_day { background-color: #c3e3ca; } /* 特殊な日。上と重なった場合はこちらが優先。 */

.sample { margin-bottom: 1.5rem; }
.sample li { overflow: hidden; margin-bottom: 1rem; }
.square { width: 40px; height: 30px; border: 1px solid #998675; float: left; margin-right: 1.6rem; }
.closed { background: #c7b299; }
.am-day { background: #d3edf9; }
.pm-day { background: #FFFAC4; }

ul.time { display: table; width: 100%; }
ul.time li { display: table-cell; }

table.sample { margin-bottom:3em; }
table.sample th { font-weight: normal; border: solid 1px #998675; background-color: #c7b299; width: 14.29%; }
table.sample td { text-align:left; text-indent:0.3rem; }
table.sample .sample2 th { background-color: #c3e3ca; }
table.sample .sample3 th { background-color: #FFFAC4; }
table.sample .sample4 th { background-color: #d3edf9; }

table.lineonly { border-collapse: collapse; margin-bottom: 2rem;}
table.lineonly th { width: 10rem; border-bottom: 1px solid #999;}
table.lineonly td { padding: 1rem 0; border-bottom: 1px solid #999;}

.blog { list-style: none; }
.blog li { margin-bottom: 0.5rem; }
.blog li img { width: 280px; }

/* main */
#mainimage { margin-bottom: 2rem; }
#campaign { margin-bottom: 2rem; }

#access { margin-bottom: 1.5rem; padding: 2rem; border: 5px solid #7fbf9c; border-radius: 10px; -webkit-border-radius: 10px; background: #c3e3ca; }
#map { background: url(../images/map.png) no-repeat; width:640px; height: 550px; margin: auto; }
#access dl { padding-top: 3rem; padding-left: 2rem; }
#access dt {}
#access dd { line-height: 1.5; }

#footer { height: 90px; background: #009137; }
#footer address { width:1000px; margin:0 auto; padding-top:1rem; color:#fff; text-align:right; }

.need { color: #cb329a; }
.pass { margin-bottom: 1em; }
.overflow { overflow: hidden; }
.photo { float: left; }
.photo img { width: 140px; height: 180px; padding: 5px; border: 1px solid #ccc; }
.comment { margin-left: 190px; }

.pagetop { width: 50px; height: 50px; border: 1px solid; border-radius: 25px; -webkit-border-radius: 25px; margin: 2em 0 2em auto; }
.pagetop a { display: block; width: 50px; height: 50px; padding-top: 3px; text-align: center; font-size: 0.8em; line-height: 1em; text-decoration: none; }
.pagetop a:before {
    content:"";
    display:block;
    width:10px;
    height:10px;
    border-left: #666 3px solid;
    border-top: #666 3px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
		position: relative;
		margin: 0 auto;
		top: 5px;
}


/* ------------ each page ------------ */
h2 { font-size: 2rem; color: #fff; padding: 0.5rem 0 0.5rem 2rem; margin-bottom: 1rem;
border-radius: 5px;
-webkit-border-radius: 5px;/* Chrom, Safari */
background: linear-gradient(to right, #998675, #c7b299);/* ie10 */
background: linear-gradient(top center, #998675 0%, #c7b299 100%);
background: -webkit-gradient(linear, left top, right bottom, from(#998675), to(#c7b299));/* Chrom, Safari */
box-shadow: 0px 1px 5px #aaa;
-webkit-box-shadow: 0px 1px 5px #aaa; /* Chrome, Safari */
}
.column { padding: 2rem 2rem 1rem; margin-bottom: 2rem; border: 1px solid #c7b299; border-radius:5px; -webkit-border-radius:5px; overflow: hidden; }
.column h3 { text-shadow: 2px 2px 0 #ebe4db; color: #998675; font-size: 2rem; font-weight: bold; padding-bottom: 0.2rem; margin-bottom: 1em; border-bottom: 1px solid #998675; }
.column p, .column ul, .column dl { margin-bottom: 1rem; }

#consultation .column h3 { margin-bottom: 1rem; }
#consultation .column ul { padding: 1rem; margin: 0 auto 1rem auto; text-align: center; background: #ebe4db; }
#consultation .column ul.program { margin: 1rem auto; text-align: center; border: 1px solid #998675; padding: 1em; list-style: none; }
table.fee { border-collapse: collapse; width: 100%; text-align: center; margin-bottom: 2rem; background: #ebe4db; border: solid 1px #998675; }
table.fee th { border-bottom: solid 2px #998675; }
table.fee td { border-bottom: solid 1px #998675; }
/** #consultation .column table.fee { border-collapse: collapse; width: 100%; text-align: center; margin-bottom: 2rem; background: #ebe4db; border: solid 1px #998675; }
#consultation .column table.fee th { border-bottom: solid 2px #998675; }
#consultation .column table.fee td { border-bottom: solid 1px #998675; }**/


#time .column dl { border: 1px solid #998675; padding: 1rem; width: 70%; margin: 1rem auto; }
#time .column dt { float: left; }
#time .column dt:after { content:"："}
#time .column dd { margin-left: 5rem; }

table.timetable { border-collapse: collapse; width: 100%; text-align: center; margin-bottom: 2rem; }
table.timetable tr { border-bottom: solid 1px #998675; }
table.timetable th { font-weight: normal; padding-bottom: 0.5rem; }
table.timetable th.dayofweek { text-align: center; }
table.timetable td { width: 5.2rem; color: #7fbf9c; padding: 0.3rem 0; font-size: 2rem; }
i { color: #7fbf9c; }

/* table td.closed { background-color: #c7b299; } 休診 */
/* table td.am_day { background-color: #d3edf9; } 午前のみ診療 */
/* table td.pm_day { background-color: #fffac4; } 午後のみ診療 */

#profile .column h3 span { margin-left: 1rem; }
#profile .column h3 span:before { content:"- " }
#profile .column h3 span:after { content:" -" }

#clinic .column div { overflow: hidden; margin-bottom: 1rem; }
#clinic .column .leftharf { float: left; width: 49%; }
#clinic .column .rightharf { float: right; width: 49%; }
#clinic .column dt { color: #998675; font-style:italic; }
#clinic .column dd img { padding: 0.4rem; border: 1px solid #998675; }

#news #headline dt { margin-bottom:0.5rem; border-bottom: 1px solid #998675; color: #998675; }
#news #headline dt span { margin-left: 1rem; font-style: italic; color:#c00; padding: 0 0.4rem; background:#fcc; font-size: 90%;
border: 1px solid #c00;
-webkit-border-top-left-radius: 8px;
-khtml-border-radius-topleft: 8px;
border-top-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-khtml-border-radius-bottomright: 8px; 
border-bottom-right-radius: 8px;
		}/* new! */
#news .column #headline dd { margin-bottom: 2rem; }
#news .column #headline dd img { width:100px; }
#news .column h4 { color: #998675; }
#news .column h4:before { content:"★ "; }
#news .detail { border: 1px solid #998675; padding: 0.5rem 1rem; width: 80%; margin:0 auto 1rem; }
#news .detail dt { float: left; font-weight: bold; }
#news .detail dd { margin-left: 8rem; }
#news .guide { overflow: hidden; padding: 1rem; margin-bottom: 1em; background: #ebe4db; padding: 1.5rem 1.5rem 1rem; border-radius: 5px; -webkit-border-radius: 5px; }
#news .guide dl { padding-bottom: 0.3em; border-bottom: 1px dotted #998675; }
#news .guide dt { float: left; width: 4rem; color: #998675; }
#news .guide dd { margin-left: 5rem; }
#news .photo img { width: 70%; height: 70%; }
#news .comment { margin-left: 120px; }
#news .comment dt { margin-bottom: 0.5rem; }


#news .news-wrap { display: block; margin-bottom: 1rem; padding: 1rem 1.5rem; overflow: hidden; border: 1px solid #c7b299; border-radius:5px; text-decoration: none; color: #736357; }
#news a.news-wrap:hover { background-color: #ebe4db; }
#news .news-date { font-size: small; }
#news .news-date span { color: #f66; margin-left: 1rem; }
#news .news-title {  }
#news .news-photo { float: right; margin-left: 1rem; }
#news .news-photo img { width: 150px; }

/* ------------ for ie6 ------------ */
#main { _margin-right:0; }
#access { _height:260px; }

/*clearfix*/
.clearfix:after{
	visibility:hidden;
	height:0;
	display: block;
	font-size: 0;  
	content: " ";
	clear: both;
	}  
* html .clearfix             { zoom: 1; } 
*:first-child+html .clearfix { zoom: 1; } 

#nav { height:50px; margin-bottom: 3rem; border-bottom: 5px solid #ddd;
background: linear-gradient(top center, #176514 0%, #009137 100%);/* common */
background: -webkit-gradient(linear, center top, center bottom, from(#176514), to(#009137));/* Chrom, Safari */
background: linear-gradient(to bottom, #176514, #009137);/* ie10 */
}
#nav li { float:left; width:123px; border-right: 1px solid #009137; }
#nav li a { display:block; width:123px; height:50px; line-height: 50px; color:#fff; text-align:center; text-decoration:none;
background: linear-gradient(top center, #176514 0%, #009137 100%);/* common */
background: -webkit-gradient(linear, center top, center bottom, from(#176514), to(#009137));/* Chrom, Safari */
background: linear-gradient(to bottom, #176514, #009137);/* ie10 */
}
#nav li a:hover { background: #009137; }
#nav li#recruit { border-right: none; }

.centered {
	position: relative;
	overflow: hidden;
	}
.centered ul {
	position: relative;
	left: 50%;
	float: left;
	}
.centered ul li {
	position: relative;
	left: -50%;
	float: left;
	}

/*新しいフォーム関連*/
form {
    margin: 1rem auto;
    width: 90%;
    padding: 1em;
	background: #ebe4db;
    border-radius: 1rem;
}
form div {
    margin-bottom: 1rem;
}
label {
    /* すべてのラベルを同じサイズにして、きちんと揃える */
    display: inline-block;
    width: 20rem;
    text-align: right;
	margin-right: 1rem;
}
input, textarea {
    /* すべてのテキストフィールドのフォント設定を一致させる
       デフォルトで、textarea は等幅フォントが設定されている */
    font: 1.6rem sans-serif;

    /* すべてのテキストフィールドを同じサイズにする */
    width: 350px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    /* テキストフィールドのボーダーの外見を同一にする */
    border: 1px solid #999;
	margin-right: 1rem;
}
input:focus, textarea:focus {
    /* アクティブな要素を少し強調する */
    border-color: #000;
}
textarea {
    vertical-align: top;
    height: 15em;
    resize: vertical;
}
button { font: 1em sans-serif; padding: 1rem; width: 20rem; margin-left: 215px; }

form .need { background: #f66; color: #fff; font-size: 1.2rem; padding: 0.1rem 1rem; margin-left: 1rem; border-radius: 0.5rem; display: inline-block; }

#lecture .column li { list-style-type: disc; margin-left: 2rem; }
#thx #page { min-height: 500px; }
#thx p { text-align: center; margin: 3rem auto; }

#home2 #news a:after { content:"new!"}

/* コロナ対策向けオーバーレイのスタイル */
.overlay{
  display:none;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.6);
  position:fixed;
  z-index:1;
}
.btn_area{
  width:900px;
  height:500px;
  position:absolute;
  top:50%;
  left:50%;
  margin-top:-200px;
  margin-left:-450px;
  border-radius: 10px;
  background-color:#fff;
  overflow-y: scroll;
  z-index:2;
}
.btn_area p{
  text-align:left;
  padding-left:1em;
  line-height:2;
  white-space:pre-wrap;
}
.btn_area button{
  background-color: transparent;
  border: none;
  display:block;
  margin:10px 10px 0 auto;
  width:32px;
  padding:0;
  cursor:pointer;
  user-select:none;
}
  .overlay .innerText {
    margin: 0 1em;
}