@charset "UTF-8";
/*---------------------*/
/*	リセット　reset
/*---------------------*/
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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	border: 0;
	vertical-align: bottom;
}
a {
	outline: none;
	transition-duration: .3s;
}
a:hover {
	opacity: .8;
}
hover {
	transition-duration: .3s;
	opacity: .8;
}
/*---------------------*/
/*	基本設定　basic
/*---------------------*/
html {
	font-size: 62.5%;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	line-height: 150%;
	letter-spacing: 0;
	box-sizing: border-box;
}
body {
/*書体*/
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
transform: rotate(.03deg);
/**/
line-height: 1.4;
font-size: 15px;
-moz-font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
}
p {
	font-size: 16px;
  line-height: 1.8;
}
a {
	text-decoration: none;
}
a:link, a:visited {
	color: inherit;
}
footer img {
	max-width: 100%;
}
footer .clinic {
  background-image: url(../img/htbg3.jpg);padding:80px 16px;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  margin:auto;
}
footer .u-line { border-bottom:#8A8047 dotted 1px;padding-bottom:80px;}
.footer-tel {
    width: 100%;
    max-width: 334px;
}
footer .left415 p {
    line-height: 1.3;
}
.max857 {max-width:857px;margin:auto;}
.2cbox {display:table;}
.left415 {width:418px;}
.right415 {width:415px;padding-left:27px;}
.left415,.right415,.left550,.right550 { display:table-cell; vertical-align:top;}
.photo {
    width: 100%;
}
.color1 {color:#8a8047;}
.f-btn {color:#004386; border:1px solid #004386;text-align:center;padding:8px 8px;display:block;}
.t-banner{text-align:center;}
.t-banner li img {width:auto;}
ul.fixbox {display: inline-flex;text-align:center;align-items: center;width: 100%;}
.fixbox li {  -ms-flex-pack: distribute;margin:16px auto;justify-content: space-around;}
.fixbox li:first-child {margin-left: 0;}
.fixbox li:nth-child(3) {margin-right: 0;}
.map {width:100%;height:auto;max-height:100%;}
.copyright { background-color:#898989;padding:8px 0;margin-top:0px;color:#fff;}
.headerbox {
    max-width:1000px;
    width:calc(100% - 32px);
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin:16px auto 4px;
    box-sizing: border-box;
}
.headerbox .header-info {
    text-align: right;
    max-width: 62%

}
.headerbox h1 {
    max-width: 40%;
}
.headerbox-item {
    flex: 0 1 auto;
}
.headerbox-item img {
    max-width: 100%;
}
.header-info-c {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: center;
    margin-left: 24px;
}
.headerbox .tel-i {
    max-width: 50%;
    width: auto;
}
.headerbox .header-time {
    font-size: 12px;
    text-align: right;
    line-height: 1.2;
    margin-top: 4px;
}
.headerbox .header-reservation-button {
    max-width: 39%;
    width: 225px;
    color: #004386;
    font-size: 16px;
    text-align: center;
    border: 1px solid #004386;
    border-radius: 8px;
    margin-left: 16px;
}
.headerbox .header-time br {
    display: none;
}
/*gナビ*/
.topnavi {
position: relative;
z-index:1;text-align:center;
max-width: 1000px;
margin: auto;
}
.topnavi li {display: inline-block;width:16%;
text-align:center;padding:8px 0 16px;margin:0px auto; text-shadow: 2px 2px 4px #fff;
-webkit-transform: skewX(150deg);
-moz-transform: skewX(150deg);
transform: skewX(150deg);
border-right: 1px solid #4e7085;
}
.topnavi li:first-of-type {
    -webkit-transform: skewX(150deg);
    -moz-transform: skewX(150deg);
    transform: skewX(150deg);
    border-left: 1px solid #4e7085;
}
.topnavi li a,
.accord span {
  display: block;
  color: #151e49;
  transform: skewX(-150deg);
  padding: 0 10px;
  text-decoration: none;
  font-weight:bold;
  transition-duration: unset;
}
.topmenu li ul {
    list-style: none;
    position: absolute;
    top: 100%;
    left: 0;
	height:0;
    padding: 0;
    z-index: 200;
	transform: skewX(30deg);
}
.topmenu .disappear{
	display: none;
}
.topmenu .accord ul li {
    transform: skewX(0deg);
    margin: 0;
    padding: 0;
}
.topmenu li ul li {
    width: 100%;
    overflow: hidden;
    height: 0;
    color: #555;
    background: #FFF;
		    -moz-transition: .3s;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -ms-transition: .3s;
    transition: .3s;
    -webkit-box-shadow: 1px #CCC;
    -moz-box-shadow: 1px #CCC;
    box-shadow: 1px #CCC;
    background: #fff;
	text-shadow: unset;
}
.topmenu li:hover ul {
    margin: 0;
	top: 100%;
}
.topmenu li:hover ul li {
	overflow: visible;
	width: 180px;
	height:40px;
	border: 1px solid #CCC;
	border-bottom:none;
}
.topmenu li:hover ul li:last-child {
	height:41px;
    border-bottom: 1px solid #ccc;
}
.topmenu li ul li a  {
	text-align: center;
	font-size: .9em;
	line-height:39px;
	font-weight: normal;
	transform: skewX(0deg);
	color:#222;
}
.topmenu li ul li a:hover{
	color:#222;
	background: #eee;
}
.topmenu li ul li a{display: none;}
.topmenu li:hover ul li a{display: block;}
#topnavibox.fix-navi{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 8px;
    z-index: 199;
    background: rgba(255,255,255,.5);
}
.fix-navi > .topnavi ul {
    margin-bottom: 8px;
}
.fix-navi > .topnavi li {
	width: 13%;
}
.fix-navi > .topnavi li ul {
    width: 0;
}
/*フッターテーブル*/
.table-week{
width:100%;	
}
.table-week #subject-title{
width:34%;	
}
.table-week thead{
/*background:#a1cbed;*/
background: #b39643;
}
.table-week td{
/*color:#65aadd;	
border:1px solid #8cb7e1;*/
color: #9a7b3d;
border: 1px solid #9a7b3d;
}
.table-week th{
/*border:1px solid #8cb7e1;*/
border: 1px solid #9a7b3d;
	color:#fff;
}
.table-week td,.table-week th{
text-align:center;
vertical-align:middle;	
font-size:13px;
padding:3px;
box-sizing:border-box;
}
.table-week .time{
color:#666;	
letter-spacing: 0.2em;
font-size:12px;
}
.table-week .thead th{
font-size:12px;	

}
/* anker */
.ptop { background-color:#e6e6e6; opacity:0.8;color:#fff;width:70px;height:70px;text-align:center;
position: fixed;bottom:30px;right:150px;display:table;}
.ptop a {
	display: table-cell;
	vertical-align: middle;
	color: #fff;
	text-decoration: none;font-size:16px;
}
/*動画再生*/
#movie_toparea02 {
  display: none;
  position: fixed;
  width:100%;
  height:100vh;
  top: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, .7);
}
#movie_toparea02 .movie_subbox{
    position: relative;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: 1001;
	width: 760px;
}
#movie_toparea02 video{
	width: 760px;
    margin: auto;
}
.close_movie img{
    position: absolute;
	top: -28px;
    right: 0;
    z-index: 1025;
	width:20px;
	height:20px;
	cursor:pointer;
}
/*アンカーリンクのずれ対策
#efforts2{
  margin-top:-70px;
  padding-top:70px;
}
@-moz-document url-prefix() {
    #efforts2{
    margin-top:70px;
    padding-top:-70px;
    }
}
@supports (-ms-ime-align: auto) {
    #efforts2{
  margin-top:-70px;
  padding-top:70px;
    }
}
@media all and (-ms-high-contrast:none) {  
    *::-ms-backdrop, #efforts2 {
  margin-top:-470px;
  padding-top:470px;
    }
}
*/

@media screen and (max-width: 1040px) {
.headerbox .header-time br {
    display: block;
}
}

@media screen and (max-width: 900px) {
.fix-navi > .topnavi li {
       font-size: 13px;
}
}

@media screen and (max-width: 767px) {
.headerbox {max-width:100%;width:100%;margin:auto;padding: 8px;}
.logo {width: calc(100% - 56px);}
footer .clinic {
  height: 100%;
  padding: 16px 0;
  background-color: #ddd;
}
.spmlr {
    margin: 16px 16px 24px;
}
footer .u-line {
    padding-bottom: 20px;
    margin-bottom: 0px;
}
.inboxb0 {
    padding: 40px 0px 0px;
}
.cbox {display: inherit;}
.left415, .right415 {
    width: 100%;
    display: block;
    padding: 0px;
    margin: 0px;
}
.t-banner .fixbox {
    display: block;
}
.fixbox li {
    display: block;
}
.t-banner li {
    text-align: center;
    margin: 0 auto 8px;
}
.headerbox h1 {
    max-width: 100%;
}
/*動画再生*/
#movie_toparea,#movie_toparea02,#movie_toparea03 {
  display: none;
  position: fixed;
  height:100vh;
  top: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, .7);
}
.movie_subbox{
    position: relative;
    top: 50%;
    left: 50%;	
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: 1001;
	width: 92%;
}
#movie_toparea video,#movie_toparea02 video,#movie_toparea03 video {
    width: 100%;
	margin: 0;
}
/* アンカー */
.ptop {right:10px;bottom:10px;}


/*---------------------*/
/*     SP hamburger
/*---------------------*/
#toppage header{
    padding-bottom: 0;
    padding-left: 0;
    position: unset;
}
.sub header{
  padding-bottom: 16px;
    position: unset;
}
#mv > nav {
    display: none;
}
#hd-left {
    float:none;
}
.ns_ovf {
    position: relative;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
}
.none {
    display: none;
}


#spgnav-wrap {
    text-align: center;
}
/*   hamburger button
------------------------*/
#ham-menu {
    background: rgba(255, 255, 255, .3);
    border-radius: 50%;
    height: 32px;
    width: 32px;
    position: fixed;
    cursor: pointer;
    z-index: 999999;
    top: 4px;
    right: 0;
    padding: 12px 14px 16px 14px;
}
#ham-menu p {
    color: rgba(102, 102, 102, 1);
    font-size: 11px;
}
.ham-bar1, .ham-bar2, .ham-bar3 {
    background: rgba(102, 102, 102, 1);
    display: block;
    height: 2px;
    width: 100%;
    max-width: ;
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
}
.ham-bar1, .ham-bar2 {
    margin-bottom: 8px;
    margin-top: 0px;
}
.ham-bar3 {
    margin-bottom: 2px;
}
.menuclick1 {
    top: 12px;
    -o-transform: rotate(405deg);
    -moz-transform: rotate(405deg);
    -webkit-transform: rotate(405deg);
    -ms-transform: rotate(405deg);
    transform: rotate(405deg);
    margin-top: 8px;
    margin-bottom: 8px;
}
.menuclick2 {
    background-color: rgba(255,255,255,0);
    margin-bottom: 0;
}
.menuclick3 {
    top: 12px;
    -o-transform: rotate(-405deg);
    -moz-transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg);
  -ms-transform: rotate(-405deg);
  transform: rotate(-405deg);
    margin-top: -12px;
    margin-bottom: 12px;
}



/*       パネル
------------------------*/
#spgnav-panel #spgnav-inner {
    height: auto;
    transition: all 1s ease;
    text-aling: center;
}
#spgnav-panel {
    overflow: scroll;
    position: fixed;
    right: 0;
    top: 0px;
    z-index: 101;
    height: auto;
    max-height: 624px;
    width: 50%;
}
/*     js draewr用     */
#spgnav-panel {
    display: none;
}
/*    Menu全体リスト
------------------------*/
#spgnav-panel ul, 
#spgnav-inner ul {
    margin: 0;
}
#spgnav-panel ul, 
#spgnav-panel li {
    padding: 0;
}
#spgnav-inner li:nth-child(n+3) {
    line-height: 3.2em;
}
#spgnav-inner > li:nth-child(n+3),
#spgnav-inner > li > ul li {
    line-height: 3.2em;
}
/*   Menu上段電話番号
------------------------*/
.spgnav-logo {
    display: block;
    margin: 8px auto 0;
    max-width: 64%;
}
#tels {
    line-height: 1em;
    margin-top: 2px;
    padding-bottom: 14px;
    padding-top: 8px;
}
#tels a span{
    display: block;
    font-size: 22px;
    letter-spacing: 0.05em;
    position: relative;
}
#tels span::before {
    content: url(../img/denn.svg);
    margin-right: 8px;
    position: relative;
    top: 3px;
}
/*   Menu中段テーブル
------------------------*/
#spgnav-inner table {
    margin: 0 auto;
    table-layout: fixed;
    width: 100%;
}
#spgnav-inner table td {
    padding: 16px 0 24px;
    position: relative;
    width: 33.33333%;
}
.td1::before,
.td2::before,
.td3::before,
.td4::before,
.td5::before,
.td6::before {
    display: block;
    font-family: FontAwesome;
    font-size: 1.8em;
	margin:30px;
}
.td1::before {
    content: "\f015";
}
.td2::before {
    content: /*"\f073"*/"\f0f8";
}
.td3::before {
    content: /*"\f073"*/"\f044";
}
.td4::before {
    content: "\f024";
}
.td5::before {
    content: /*"\f0e0"*/"\f15c";
}
.td6::before {
    content: "\f0f1";
}
/*    Menu下段リスト
-------------------------*/
#spgnav-inner > li > span {
    display: block;
    font-size: 115%;
    font-weight: bold;
    letter-spacing: 0.1em;
}
#spgnav-panel #spgnav-inner > li:nth-child(7) a,
#spgnav-panel #spgnav-inner > li:nth-child(8) a {
    display: block;
}
/*   Menu下段リスト +-
-------------------------*/
#spgnav-inner > li > span {
    position: relative;
}
.minus {
    width: 16px;
    height: 4px;
    display: block;
    background: #fff;/*#138c92;*/
    border-radius: 2px;
    position: absolute;
    top: 47%;
    right: 16px;
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
}
.plus {
    width: 16px;
    height: 4px;
    display: block;
    background: #fff;/*#138c92;*/
    border-radius: 2px;
    position: absolute;
    top: 47%;
    right: 16px;
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    transform: rotate(450deg);
}
.none {
    display: none;
}
#menu1,
#menu2,
#menu3,
#menu4 {
    display: none;
}
/*   テキスト・背景色
------------------------*/
#spgnav-wrap {
    text-align: center;
}
#spgnav-panel a {
/*    color: rgba(36, 72, 127, 1);*/
/*    color: rgba(102, 102, 102, 1);*/
    text-decoration: none;
}
#spgnav-panel #tels a {
    color: rgba(31, 44, 92, 1) !important;
}
/*#spgnav-panel #spgnav-inner > li:nth-child(4) a,
#spgnav-panel #spgnav-inner > li:nth-child(5) a {
    color: #fff;
}*/
#spgnav-panel {
    background: #fff;
}
#spgnav-inner table tr:nth-child(1) td:nth-child(2n+1),
#spgnav-inner table tr:nth-child(2) td:nth-child(2n) {
    background: rgba(102, 102, 102, 0.05);
}
#spgnav-inner > li > span {
    background: rgba(102, 102, 102, .9);
    color: #fff;
}

/*       ボーダー
------------------------*/
#spgnav-panel {
    border: solid 2px rgba(102, 102, 102, .9);
}
#spgnav-inner > li:nth-child(1),
#spgnav-inner > li:nth-child(7) {
    border-bottom: solid 1px rgba(102, 102, 102, 1);
}
#spgnav-inner > li > ul > li {
    border-bottom: dotted 1px rgba(102, 102, 102, .5);
}
#spgnav-inner > li > ul > li:first-child {
} 
#spgnav-inner > li > ul > li:last-child {
    border-bottom: none;
}
#spgnav-inner table td {
    border: 1px solid rgba(102, 102, 102, .9);
    border-top: none;
    border-left: none;
}
#spgnav-inner table td:nth-child(3n) {
    border-right: none;
}
#spgnav-inner > li > span {
    border-bottom: solid 1px rgba(255,255,255,0.6);
}
#spgnav-inner > li:last-child > span {
    border-bottom: none;
}
/*  押したとき色変えたい
--------------------------*/
.telpush,
#spgnav-inner #tels.telpush {
    background: rgba(246, 229, 229, .5)/*rgba(224, 235, 243, 1)*/; 
}
#tels.telpush a span{
}
#spgnav-panel > div > ul > li > ul {
    margin: 0;
}
#spgnav-inner table td a,
#spgnav-inner > li > ul > li a {
    display: block;
}
#spgnav-inner a,
#spgnav-inner a:hover {
    text-decoration: none !important;
}
.hover {
    background: rgba(246, 229, 229, .5);
    color: rgba(102, 102, 102, .8);
}
#spgnav-inner table td.hover {
    background: rgba(102, 102, 102, .7);
}
#spgnav-inner table td.hover a {
    color: rgba( 255, 255, 255, 1);
}
#spgnav-inner table tr:nth-child(1) td:nth-child(2n+1).hover,
#spgnav-inner table tr:nth-child(2) td:nth-child(2n).hover {
    background:　rgba(102, 102, 102, .7) !important;
    color: rgba( 255, 255, 255, 1) !important;
}
#spgnav-panel #spgnav-inner > li:nth-child(4) span.hover2,
#spgnav-panel #spgnav-inner > li:nth-child(5) span.hover2 {
    background:  rgba(102, 102, 102, .7);
}
#spgnav-panel #spgnav-inner > li:nth-child(4) span.hover2 a,
#spgnav-panel #spgnav-inner > li:nth-child(5) span.hover2 a {
    color: rgba(102, 102, 102, 1) !important;
}
#spgnav-inner table tr:nth-child(1) td:nth-child(2n+1).hover,
#spgnav-inner table tr:nth-child(2) td:nth-child(2n).hover {
    background:  rgba(102, 102, 102, .7);
}
#spgnav-panel {
    max-height: 560px;
    width: 90%;
}

}

