@charset "UTF-8";
/*===========================================================================
↓共通=======================================================================
===========================================================================*/
html {
	font-size: 62.5%;
      line-height: 1em;
	height: 100%;
      width: 100%;
}
body {
      /*background: #FFF url(../img/footer_bg.png) fixed repeat-x left bottom;*/
	color: #666252;
	font-family: "Noto Sans Japanese",sans-serif;
	font-size: 1.1em;
	font-weight: 200;
	-webkit-text-size-adjust: 100%;
	height: 100%;
	width: 100%;
}
@media screen and (max-width: 480px) {
	body {
		font-size: 1em;
	}
}
/*===========================================================================
↓clearfix===================================================================
===========================================================================*/
#header::after, #container::after, #contents::after, .clearfix::after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    line-height: 0;
    visibility: hidden;
}
#header, #container, #contents, .clearfix {
    display: inline-block;
    min-height: 1%;
}
* html #header, * html #container, * html #contents, * html .clearfix {
    height: 1%;
}
#header, #container, #contents, .clearfix {
    display: block;
    position: relative;
}
/*=======================================================================
↓余白・フロート=========================================================
=======================================================================*/
.clear{clear:both;}
.left{ float:left;  }
.right{ float:right; }
.align-c{ text-align:center; }
.align-r{ text-align:right; }
.align-l{ text-align:left; }
.pdg_t { padding-top: 5em;}
/*=======================================================================
↓display================================================================
=======================================================================*/
.sp, .tab { display: none;}
.pc { display: block;}
@media screen and (max-width: 1024px) {
.sp, .tab { display: none;}
.pc { display: block;}
}
@media screen and (max-width: 768px) {
.sp, .tab { display: none;}
.pc { display: block;}
}
@media screen and (max-width: 480px) {
.pc, .tab { display: none;}
.sp { display: block;}
}
/*=======================================================================
↓画像===================================================================
=======================================================================*/
img.width-max {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 1080px;
    width: 100%;
}
/*=======================================================================
↓フォント===============================================================
=======================================================================*/
.bold { font-weight: 500;}
.red { color:#ff3333;}
/*=======================================================================
↓リンク指定=============================================================
======================================================================*/
a:link, a:visited {
    color: #666252;
    text-decoration: none;
}
a:hover { 
    color: #666252;
    text-decoration: underline;
}
.hover a:hover {
    filter: alpha(opacity=70);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=70)";  /* ie 8 */
    -moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.7;              /* Safari 1.x */
    opacity:0.7;
}
.tel-link { 
    color: #666252;
    text-decoration: none;
}
/*=======================================================================
↓改行===================================================================
======================================================================*/
.br-pc  { display: block;}
.br-pc-s  { display: block;}
.br-tb  { display: none;}
.br-sp  { display: none;}
@media screen and (max-width: 1024px) {
.br-pc-s  { display: none;}
}
@media screen and (max-width: 768px) {
.br-pc  { display: none;}
.br-tb  { display: block;}
}
@media screen and (max-width: 640px) {
.br-sp  { display: block;}
}
/*=======================================================================
↓背景===================================================================
======================================================================*/
.bg { background: url(../img/bg_green.jpg) repeat;}
/*======================================================================
↓＜レイアウト＞全体====================================================
======================================================================*/
#wrapper {
	position: relative;
	width: 100%;
}
#container {
	position: relative;
	width: 100%;
}
.main_contents { 
      position: relative;
	height: 100%;
	width: 100%;
}
.contents_inner {
	margin: 0 auto;
	padding: 3em 0;
	width: 1080px;
}
.inner_box {
	margin: 0 auto;
	padding: 2em 0;
	width: 1080px;
}
@media screen and (max-width: 1230px) {
.contents_inner { width: 90%;}
.inner_box { width: 90%;}

}
@media screen and (max-width: 768px) {
.contents_inner { padding: 2em 0;}
}
@media screen and (max-width: 480px) {
.contents_inner { padding: 1.5em 0;}
.inner_box { padding: 1.5em 0;}
}
/*=======================================================================
↓見出し=================================================================
======================================================================*/
.contents_tit { 
      padding: 40px 0 30px 0;
	text-align: center;
}
.contents_tit_pdgt { 
      padding: 10px 0 30px 0;
	text-align: center;
} 
.contents_tit img,
.contents_tit_pdgt img {
      height: 105px;
	width: auto;	
}
@media screen and (max-width: 1024px) {
.contents_tit { padding: 40px 0 30px 0;}
}
@media screen and (max-width: 768px) {
.contents_tit { padding: 20px 0 30px 0;}
}
@media screen and (max-width: 640px) {
.contents_tit { padding: 10px 0 30px 0;}
}
@media screen and (max-width: 480px) {
.contents_tit { padding: 10px 0 20px 0;}
.contents_tit_pdgt { padding: 10px 0 20px 0;}
.contents_tit img,
.contents_tit_pdgt img {
      height: 90px;
	width: auto;	
}
}

/*======================================================================
↓＜ヘッダー＞PC========================================================
======================================================================*/
#header {
    line-height: 1em;
    /*padding: 20px 0;*/
    position: relative;
    height: auto;
    width: 100%;
    z-index: 9999;
}
#header .inner { padding: 20px 15px;}
#header h1 {
    float: left;
    height: 45px;
    padding-top: 10px;
    width: auto;
}
#header h1 img {
    height: 45px;
    width: auto;
}
#header .btn_area { float: right;}
#header .btn_nav {
    /*display: table;*/
    float: left;
    overflow: hidden;
}
#header .btn_nav li {
    background: url(../img/btn_bg_off.png) left no-repeat;
    background-size: 62px 62px;
    float: left;
    margin-left: 1em;
    width: 62px;
}
#header .btn_nav li a { 
    display: block;
}
#header .btn_nav li:hover { 
    background: url(../img/btn_bg_on.png) left no-repeat;
    background-size: 62px 62px;
}
#header .btn_nav li img {
    height: auto;
    width: 62px;
}

/*======================================================================
↓＜ヘッダー＞TB・SP====================================================
======================================================================*/
@media screen and (max-width: 1024px) {
#header { 
    background-color: #fff;
    /*padding: 10px 0;*/ 
    height: auto; 
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#header .inner { padding: 10px 0 10px 15px;}
#header .btn_area { margin-right: 84px;}

}
@media screen and (max-width: 640px) {
#header h1 {
    height: 36px;
    padding-top: 8px;
    width: auto;
}
#header h1 img {
    height: 36px;
    width: auto;
}
#header .btn_area { margin-right: 70px;}
#header .btn_nav li {
    background: url(../img/btn_bg_off.png) left no-repeat;
    background-size: 50px 50px;
    margin-left: 1em;
    width: 50px;
}
#header .btn_nav li:hover { 
    background: url(../img/btn_bg_on.png) left no-repeat;
    background-size: 50px 50px;
}
#header .btn_nav li img {
    height: auto;
    width: 50px;
}
}
@media screen and (max-width: 480px) {
#header .inner { padding: 10px 0 10px 10px;}
#header h1 {
    padding-top: 10px;
    height: 20px;
    width: auto;
}
#header h1 img {
    height: 20px;
    width: auto;
    position: absolute;
    left: 10px;
}
#header .btn_area { margin-right: 54px;}
#header .btn_nav li {
    background: url(../img/btn_bg_off.png) left no-repeat;
    background-size: 40px 40px;
    margin-left: 0.4em;
    width: 40px;
}
#header .btn_nav li:first-child {
    margin-left: 0;
}
#header .btn_nav li:hover { 
    background: url(../img/btn_bg_on.png) left no-repeat;
    background-size: 40px 40px;
}
#header .btn_nav li img {
    height: auto;
    width: 40px;
}
}
/*======================================================================
↓＜ナビ＞PC============================================================
======================================================================*/
#global_nav { width: 100%;}
#change {
   background: #FFF;
   position: fixed;
   top: 0;
   display: none;
   z-index: 9999;
   width: 100%;
}
.gnav_pc {
    margin: 0 auto;
    padding: 20px 0;
    position: relative;
    width: 1240px;
}
.gnav_pc li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid #4aac4d;
    float: left;
    text-align: center;
    width: 12.5%;
}
.gnav_pc li:first-child { border-left: 1px solid #4aac4d;}
.gnav_pc li img {
    height: 55px;
    width: auto;
}
.gnav_pc li a { display: block;}
.gnav_pc li.gnav_over a:hover {
	background: url(../img/gnv_on.png) center no-repeat;
	background-size: 72px 62px;
	display: block;
}

/* Toggle Button */
#nav_toggle {
    background: url(../img/btn_hamberger.png) left top no-repeat;
    background-size: 62px 62px;
    display: none;
    padding-top: 10px;
    position: absolute;
    right: 10px;
    width: 62px;
    height: 62px;
    cursor: pointer;
    z-index: 101;
}
#nav_toggle div { position: relative;}
#nav_toggle div img {
    height: 62px;
    width: 62px;
}
#nav_toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 50%;
    background: #fff45c;
    left: 0;
    right: 0;
    margin: 0 auto;
    -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: 10px;}
#nav_toggle span:nth-child(3) { top: 21px;}
#global_nav_sp { display: none;}
@media screen and (max-width: 1240px) {
.gnav_pc { width: 100%;}
}
@media screen and (max-width: 1024px) {
#change, #change .gnav_pc,
#global_nav { display: none;}
#global_nav_sp { 
    display: block;
    position: absolute;
    top: -550px;
    height: auto;
    width: 100%;
    -webkit-transition: .4s ease-in-out;
    -moz-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    z-index: 99999;
}
#global_nav_sp .fa { 
    color: #57b25a;
    margin-right: 1.2em;
}
#global_nav_sp ul {
    border-top: 1px solid #4aac4d;
    position: absolute;
    right: 0;
    top: 77px;
    width: 100%;
    z-index: 99999;
}
#global_nav_sp ul li {
    background: #FFF;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #4aac4d;
    font-size: 120%;
    font-weight: 300;
    width: 100%;
}
#global_nav_sp ul li a { 
    display: block;
    padding: 1.5em 0 1.5em 2em;
}
#global_nav_sp ul li a:link,
#global_nav_sp ul li a:visited { color: #57b25a;}
#global_nav_sp ul li a:hover {
    background: #fff45c;
    text-decoration: none;
}
#nav_toggle { display: block;}
/* Fixed */
#header.fixed {
    top: 0;
    position: fixed;
    background: #fff;
}

/* #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_sp {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
}
}
@media screen and (max-width: 640px) {
#nav_toggle {
    background: url(../img/btn_hamberger.png) left top no-repeat;
    background-size: 50px 50px;
    position: absolute;
    right: 10px;
    width: 50px;
    height: 50px;
}
#global_nav_sp ul {
    position: absolute;
    right: 0;
    top: 65px;
}
#nav_toggle span {
    height: 3px;
    width: 50%;
}
#nav_toggle span:nth-child(1) { top: 0;}
#nav_toggle span:nth-child(2) { top: 7px;}
#nav_toggle span:nth-child(3) { top: 14px;}
}
@media screen and (max-width: 480px) {
#nav_toggle {
    background: url(../img/btn_hamberger.png) left top no-repeat;
    background-size: 40px 40px;
    position: absolute;
    right: 10px;
    width: 40px;
    height: 40px;
}
#nav_toggle span {
    height: 2px;
    width: 50%;
}
#nav_toggle span:nth-child(1) { top: 0;}
#nav_toggle span:nth-child(2) { top: 5px;}
#nav_toggle span:nth-child(3) { top: 10px;}
#global_nav_sp ul {
    position: absolute;
    right: 0;
    top: 55px;
}
#global_nav_sp ul li a { 
    display: block;
    padding: 1em 0 1em 1.5em;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav_toggle span:nth-child(1) { top: 5px;}
.open #nav_toggle span:nth-child(3) { top: 5px;}
}
/*=====================================================================
↓＜フッター＞=========================================================
=====================================================================*/
/* 共通*/
#footer {
    height: 100%;
    width: 100%;
}
#footer_bg {
    background: url(../img/footer_bg.png) no-repeat bottom left;
    background-size: 100% auto;
    /*padding-top: 19.32%;*/
    padding-top: 7%;
    height: 100%;
    width: 100%;
}
#footer .inner {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 1.5em 0 1.5em;
    display: table;
    width: 100%;
}
.footer_list {
    color: #FFF;
    font-weight: 400;
    line-height: 2em;
}
.footer_list a:link,
.footer_list a:visited { color: #FFF;}

/* （店舗情報）*/
.footer_info { 
      display: table-cell;
      padding-bottom: 20px;
	text-align: center;
      vertical-align: bottom;
	width: 20%;
}
.footer_info .footer_logo_pc img {
	height: 100px;
	width: auto;
}
.footer_info .footer_logo_sp { display: none;}
.footer_info .ss_font { font-size: 130%;}
.footer_info .access_in { font-size: 150%;}
.footer_info .tel{ 
     font-size: 200%;
     letter-spacing: 0.1em; 
}

/* （メニュー）*/
.footer_menu { 
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
      display: table-cell;
      padding-bottom: 40px;
      padding-left: 40px;
      vertical-align: bottom;
      width: 20%;
}
.footer_menu_list { 
      display: table-cell;
      vertical-align: top;
      width: 50%;
}
.footer_menu_list li a {
    background: url("../img/arrow.png") left center no-repeat ;
    background-size: 5px 8px;   
    display: block;
    font-size: 110%;
    padding: 0.2em 0 0.2em 0.8em;
    width: 100%;
}
/* （診療時間）*/
.footer_timetb {
	padding-bottom: 30px;
    /*background: url("../img/f_timetb_bg.png") center bottom no-repeat ;
    display: table-cell;
    vertical-align: bottom;
    width: 40%;*/
}

.footer_timetb .profile_tb {
    background: #FFF;
    border-right: 1px solid #57b25a;
    border-top: 1px solid #57b25a;
    color: #57b25a;
    line-height: 1em;
    width: 100%;
}
.footer_timetb .profile_tb th {
    background-color: #e9f5e9;
    border-bottom: 1px solid #57b25a;
    border-left: 1px solid #57b25a;
    font-size: 110%;
    font-weight: 300;
    padding: 8px 0;
    text-align: center;
    width: 22%;
}
.footer_timetb .profile_tb th.th_week { width: 11%;}
.footer_timetb .profile_tb td {
    border-bottom: 1px solid #57b25a;
    border-left: 1px solid #57b25a;
    font-size: 90%;
    padding: 5px 0;
    text-align: center;
    vertical-align: middle;
}
.footer_timetb .profile_tb td img {
      height: 26px;
	width: auto;
}
.footer_timetb .profile_tb td.td_time {
    font-size: 100%;
    font-weight: 300;
    line-height: 1.2em;
}
.footer_timetb .profile_tb td.td_holiday { font-size: 130%;}
.footer_timetb .profile_tb td .p_time { font-size: 80%;}
@media screen and (max-width: 1220px) {
#footer_bg {
    background: url(../img/footer_bg.png) no-repeat bottom center;
    background-size: auto 280px;
    padding-top: 3em;
}
/* （店舗情報）*/
.footer_info { 
      padding-right: 10px;
	width: 20%;
}
.footer_info .footer_logo_pc img {
	height: 80px;
	width: auto;
}
/* （メニュー）*/
.footer_menu { 
      padding-left: 10px;
      width: 19%;
}
/* （診療時間）*/
/*.footer_timetb { width: 38%;}*/

}
@media screen and (max-width: 1024px) {
/* 共通*/
#footer { padding-top: 4em;}
#footer_bg {
    background: url(../img/footer_bg.png) no-repeat bottom left;
    background-size: auto 550px;
    padding-top: 3em;
}
#footer .inner {
    display: block;
    padding: 0;
    position: relative;
    margin: 0 auto;
    width: 90%;
}
/* （店舗情報）*/
.footer_info { 
      display: block;
      padding-bottom: 20px;
	text-align: left;
	width: 100%;
}
.footer_info .footer_logo_pc { 
      display: inline-block;
      vertical-align: top;
}
.footer_info .footer_logo_pc img {
	height: 80px;
	width: auto;
}
.footer_info .footer_address {
	display: inline-block;
	margin-left: 2em;
}

/* （メニュー）*/
.footer_menu { 
      display: inline-block;
      padding-bottom: 30px;
	padding-left: 0;
      vertical-align: bottom;
      width: 30%;
}
.footer_menu_list { 
      display: table-cell;
      width: 50%;
}
/* （診療時間）*/
.footer_timetb { 
      background: none;
      display: inline-block;
      padding-bottom: 30px;
      width: 68%;
}
.footer_list .profile_tb td img {
      height: 16px;
	width: auto;
}
}

@media screen and (max-width: 768px) {
/* 共通*/
#footer { padding-top: 3em;}
#footer_bg {
    background: url(../img/footer_bg.png) no-repeat bottom left;
    background-size: auto 500px;
    padding-top: 1em;
    margin-top: 0;
}
/* （メニュー）*/
.footer_menu { 
      display: block;
      padding-bottom: 20px;
      width: 100%;
}
.footer_menu_list { 
      display: block;
	line-height: 1.2em;
      width: 100%;
}
.footer_menu_list li {
	float: left;
	margin-right: 1.5em;
}
/* （診療時間）*/
.footer_timetb { 
    display: inline-block;
    width: 100%;
}
}
@media screen and (max-width: 640px) {
/* 共通*/
.footer-area { margin: 0 auto 30px auto;}
/* （店舗情報）*/
.footer_info .footer_logo_pc { display: none;}
.footer_info .footer_logo_sp { 
      display: block;
	margin-bottom: 0.5em;
}
.footer_info .footer_logo_sp img {
	height: 40px;
	width: auto;
}
.footer_info .footer_address {
	display: block;
	margin-left: 0;
}
.footer_info .ss_font { font-size: 120%;}
.footer_info .access_in { font-size: 130%;}
.footer_info .tel{ font-size: 160%;}
}
@media screen and (max-width: 480px) {
/* （店舗情報）*/
.footer_info .footer_logo_sp img {
	height: 30px;
	width: auto;
}
.footer_info .ss_font { font-size: 110%;}
.footer_info .access_in { font-size: 120%;}
.footer_info .tel{ font-size: 150%;}

/* （メニュー）*/
.footer_menu { display: none;}

/* （診療時間）*/
.footer_timetb { display: none;}
}
/*=====================================================================
↓＜ページトップ＞PC===================================================
=====================================================================*/
#pagetop_pc { 
    display: table-cell;
    height: 150px;
    vertical-align: bottom;
    width: 10%;
}
#pagetop_off,
#pagetop_on {
	position: absolute;
	bottom: 50px;
	right: 0;
}
#pagetop_on {opacity: 0;}
#pagetop_pc img {
	height: 150px;
	width: auto;
}
#pagetop_sp { display: none;}
@media screen and (max-width: 1220px) {
#pagetop_pc { 	width: 12%;}
#pagetop_pc img {
	height: 130px;
	width: auto;
}
}
@media screen and (max-width: 1024px) {
#pagetop_pc { 
    display: block;
    height: auto;
    width: 100%;
}
#pagetop_off,
#pagetop_on {
	position: absolute;
	top: -25px;
	right: 0;
}
#pagetop_pc img {
	height: 110px;
	width: auto;
}
}
@media screen and (max-width: 768px) {
#pagetop_pc { 
    display: block;
    height: auto;
    width: 100%;
}
#pagetop_off,
#pagetop_on {
	position: absolute;
	top: 10px;
	right: 0;
}
}
@media screen and (max-width: 640px) {
#pagetop_off,
#pagetop_on {
	position: absolute;
	top: -5px;
	right: 0;
}
}
@media screen and (max-width: 480px) {
#pagetop_pc, 
#pagetop_off, #pagetop_on { display: none;}
#pagetop_sp { 
    display: block;
    height: auto;
    width: 100%;
}
#pagetop_sp_on {
	position: absolute;
	top: -5px;
	right: 0;
}
#pagetop_sp img {
	height: 74px;
	width: auto;
}
}
/*=====================================================================
↓for Print============================================================
=====================================================================*/
@media print {
body { width: 1040px;}
#side { display: none;}
#all { padding-left: 0;}
#dl-areapc { display: none;}
}
