@charset "utf-8";
body {
  background: #fff;
  color: #666;
  font-size: 15px;
  font-family:'Arial','Helvetica',"ヒラギノ角ゴ1",'メイリオ','Meiryo','Osaka',Verdana,'ＭＳ Ｐゴシック','MS P Gothic',sans-serif;
  line-height: 1.8;
}
img {
  max-width: 100%;
  height: auto;
}
#contents {
  width: 100%;
  min-width: 1000px;
  overflow: hidden;
}
section {
  overflow: hidden;
  margin: 0;
}
.inner {
  width: 100%;
  /*min-width: 1000px;*/
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
}
/*下層ページ*/
.main{
  float: left;
  font-size:16px;
  width: 720px;
}
.main .inner {
  min-width: 100%;
}
.main section {
  margin: 0 auto 80px auto;
}
.side{
  float: right;
  width: 240px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
body {
  font-size: 14px;
}
#contents {
  min-width: 100%;
}
section {
  margin: 0;
}
.inner {
  width: 95%;
  min-width: 95%;
}
.wrap {
  margin-top: 60px;
}
.main{
  float: none;
  width: 100%;
}
.main section {
  margin: 0 auto 40px auto;
}
.side{
  display: none;
}
}


/*==========================================
 ページ内リンク位置調整
===========================================*/
.a_area section {
  margin-top:-140px;
  padding-top:140px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.a_area section{
  margin-top:-70px;
  padding-top:70px;
}
}


/*==========================================
 ヘッダー
===========================================*/
/*
 ヘッダー（large）
-----------------------------------------*/
header {
  width: 100%;
  min-width: 1000px;
  background-color: #2D2110;
  /*overflow: hidden;*/
}


#home header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
	background-color: #11111185;
    padding: 6px 0;
}

header .inner {
  position: relative;
}
.header_txt {
  position: absolute;
  top:0;
  right: 0;
  font-size:8px;
}

/*===header Left===*/
.header_logo{
  float: left;
  width: 250px;
  position: relative;
  z-index: 1;
}
.header_logo img{
  width: 100%;
  height: 50px;
}

@media screen and (min-width: 0px) and (max-width:1280px) {
.header_logo{
  width: 250px;
}
}


@media screen and (min-width: 0px) and (max-width:768px) {
.header_logo{
  width: 250px;
}
}

/*===header Right===*/
.header_right {
  position:relative;
  /*float: right;*/
  width: 100%;
  height: 80px;
  margin-top: 5px;
  color: #fff;
  padding-top: 10px;
}

.header_right a{
  color: #fff;
  font-size: 13px;
  /*text-shadow: 1px 1px 0 #8e8e8e, -1px 1px 0 #8e8e8e, 1px -1px 0 #8e8e8e, -1px -1px 0 #8e8e8e;*/
}
/*.header_right li{
  display: inline;
  border-bottom: solid 1px #e4d4b8;
}
.header_right li:hover{
  border-bottom: 1px dotted #ccc;
}*/
/*icon*/
.header_right_icon {
  position:absolute;
  left:0;
  top:0;
}

/*line*/
.header_right_line{ 
  position:absolute;
  right:95px;
  top:0;
  line-height: 1.3;
}
.header_right_line a {
  display: block;
  width: 90px;
  height: 70px;
  color:#fff;
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  background: #00B900;
}
.header_right_line i {
  display: block;
  font-size: 24px;
  padding: 5px 0 3px;
  margin-right: 5px;
}
.header_right_line i img {
height: 24px;
}

/*tel*/
.header_right_tel{ 
  position:absolute;
  right:0px;
  top:0;
  line-height: 1.3;
}
.header_right_tel a {
  display: block;
  width: 90px;
  height: 70px;
  color:#666;
  font-size: 13px;
  text-align: center;
  line-height: 1.2;
  background: #fff;
}
.header_right_tel a:hover {
  color:#fff;
  background: #997a45;
}
.header_right_tel i {
  display: block;
  font-size: 24px;
  padding: 5px 0 3px;
  margin-right: 5px;
}
/*mail*/
.header_right_mail {
  position:absolute;
  right:190px;
  top:0;
}
.header_right_mail a {
  display: block;
  width: 90px;
  height: 70px;
  color:#fff;
  font-size: 11px;
  text-align: center;
  line-height: 1.3;
  background: #997a45;
}
.header_right_mail a:hover {
  color:#997a45;
  background: #fff;
}
.header_right_mail i{
  display: block;
  font-size: 24px;
  padding: 5px 0 3px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
header,#stickyheader,#change {
  display: none !important;
}
}

@media screen and (min-width: 769px) and (max-width:1280px) {
header {
min-width: 768px;
position: absolute;
}
	
.header_right {
  position:relative;
  float: right;
  width: 100%;
  height: 50px;
  margin-top: 0px;
  color: #fff;
  padding-top: 0px;
}
/*header :not(#home){overflow: hidden;}*/
#contents{position: relative;/*top: 150px;*/}
.main,.side{position: relative;top: 120px;}

}

/*
 ヘッダー（min）
-----------------------------------------*/
#change {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  /*height: 120px;*/
  /*background: #fff;*/
  /*box-shadow:0 0 2px #666;*/
  padding-top:0;
  z-index: 9999;
  background-color: #11111185;
}
#change .inner {
  position: relative;
  margin-bottom: 0;
}

/*===header Left===*/
#change .header_logo{
  width: 200px;
}
#change .header_logo img {
  width: 200px;
  height: 60px;
}

/*===header Right===*/
#change .header_right {
  /*width: 700px;*/
  height: 50px;
  margin-top: 10px;
  padding-top: 5px;
}
#change .header_right_line{ 
  right:154px;
}
#change .header_right_line a {
  width: 150px;
  height: 40px;
}
#change .header_right_line i {
display: inline-block;
padding: 5px 3px 3px 0;
}

#change .header_right_tel{ 
  right:0;
}
#change .header_right_tel a {
  width: 150px;
  height: 40px;
  font-size: 14px;
}
#change .header_right_tel i {
display: inline-block;
padding: 5px 3px 3px 0;
}

#change .header_right_mail {
right: 308px;
}
#change .header_right_mail a {
  width: 150px;
  height: 40px;
}
#change .header_right_mail i {
display: inline-block;
padding: 5px 3px 3px 0;
}
@media screen and (min-width: 1280px) and (max-width:768px) {
#change .header_right_line {
  right:300px;
}
#change .header_right_line a {
  width: 145px;
  height: auto;
  padding: 10px 0;
}
#change .header_right_line i {
  display: inline;
  font-size: 18px;
  padding: 0 5px 0 0;
}

/*tel*/
#change .header_right_tel {
  right:150px;
}
#change .header_right_tel a {
  width: 145px;
  height: auto;
  padding: 10px 0;
}
#change .header_right_tel i {
  display: inline;
  font-size: 18px;
  padding: 0 5px 0 0;
}
/*mail*/
#change .header_right_mail a {
  width: 145px;
  height: auto;
  padding: 10px 0;
}
#change .header_right_mail i {
  display: inline;
  font-size: 18px;
  padding: 0 5px 0 0;
}
}

/*==========================================
 グローバルナビ
===========================================*/
/*グローバルナビ(large)
-----------------------------------------*/
.g_nav {
  width: 100%;
  min-width: 1000px;
  max-width: 1000px;
  background: #fff;
  margin: 15px auto;
}
.g_nav a {
  display: block;
  text-decoration: none;
  padding: 5px 0;
}
.g_nav li {
  position: relative;
  float: left;
  font-size: 14px;
  text-align: center;
}

/*===第1階層===*/
/*サイズ個別指定
.g_nav li.gnav01 {width: 150px;}.g_nav li.gnav02 {width: 200px;}
*/
.g_nav li.first {
  width: 16.5%;/*サイズ均等指定*/
}
/*サブタイトル*/
.g_nav li.first > a span{
  display: block;
  color: #333;
  font-size: 9px;
  background: transparent !important;
  -webkit-transition: all .4s;
  transition: all .4s;
}
@media all and (-ms-high-contrast:none) {
.g_nav li.first > a span{
  -webkit-transition: all 0s;
  transition: all 0s;
}
}
/*リンク設定*/
.g_nav li a {
  color: #000;
}
.g_nav li a:hover {
  color: #fff !important;
  background: #666;
}
.g_nav li a:hover span {
  color: #fff !important;
  background: transparent !important;
}


/*===第2階層===*/
.g_nav li ul {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.g_nav li ul li {
  width: 100% !important;
}
/*リンク設定*/
.g_nav li ul li a {
  color: #333;
  background: rgba(255,255,255,1);
  border-bottom:1px solid rgba(0,0,0,.2);
  padding: 12px 2px;
}
.g_nav li ul li a:hover {
  color: #fff !important;
  background: #666;
}
.g_nav li ul {
  visibility: hidden;
  perspective: 500px;
}
.g_nav li:hover ul {
  visibility: visible;
}


/* グローバルナビ（min）
-----------------------------------------*/
#min_gnav {
  margin: 0 auto;
}
#min_gnav li.first {
  border: none;
}
#min_gnav li.first a {
  font-size: 13px;
  padding: 4px 0;
}
#min_gnav li a span {
  display: none;
}


/*グローバルナビ下層リンク展開動作
-----------------------------------------*/
/*===フェードイン===*/
.open_fade li ul {
  opacity: 0;
  visibility: hidden;
  transition: .5s;
}
.open_fade li:hover ul{
  opacity: 1;
  visibility: visible;
}

/*===回転===*/
.open_rotation ul li {
  transform: rotateY(90deg);
  transform-origin: 50% 0;
  transition: .3s;
}
.open_rotation li:hover ul li {
  transform: rotateY(0);
}
.open_rotation li:hover ul li:nth-child(1) {
  transition-delay: 0s;
}
.open_rotation li:hover ul li:nth-child(2) {
  transition-delay: .1s;
}
.open_rotation li:hover ul li:nth-child(3) {
  transition-delay: .2s;
}
/*close*/
.open_rotation li ul li:nth-last-of-type(1) {
  transition-delay: 0s;
}
.open_rotation li ul li:nth-last-of-type(2) {
  transition-delay: .1s;
}
.open_rotation li ul li:nth-last-of-type(3) {
  transition-delay: .15s;
}


/*==========================================
 ページ下部お問い合わせ
===========================================*/
.footer_contact .inner{
  background: url(../img/common/contact_bg.jpg) no-repeat right 48px;
  margin: 50px auto;
}
.footer_contact_ttl{
  font-size: 24px;
  padding: 20px 0 0;
  margin-bottom: 20px;
  text-align: left;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.footer_contact{
  width: 100%;
  padding: 10px 0;
  margin: 40px auto 0;
}
.footer_contact .inner{
  background: none;
}
.footer_contact_ttl{
  color: #666;
  font-size: 18px;
  line-height: 1.4;
  padding:10px 0;
}
}

/*上段（テキスト・画像）
------------------------------------------------*/
.footer_contact_top{
  width: 100%;
  margin-bottom: 20px;
}
.footer_contact_top img{
  display: block;
  margin-bottom: 10px;
}
/*text*/
.footet_contact_txt01{
  color: #666;
  font-size: 20px;
  margin-bottom:16px;
  line-height: 1.5;
}
.footer_contact_txt02{
  margin-bottom:37px;
}
/*tel*/
.footer_contact_tel a {
  display: block;
  width: 360px;
  color:#666;
  text-align: center;
  background: #e4d4b8;
  padding: 11px 0;
  margin-bottom: 10px;
}
.footer_contact_tel a:hover {
  color:#fff;
  background: #997a45;
}
.footer_contact_tel i{
  font-size: 18px;
  margin-right: 5px;
}
/*mail*/
.footer_contact_mail a {
  display: block;
  width: 360px;
  color:#666;
  text-align: center;
  background: #e4d4b8;
  padding: 11px 0;
}
.footer_contact_mail a:hover {
  color:#fff;
  background: #997a45;
}
.footer_contact_mail i{
  font-size: 18px;
  margin-right: 5px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.footer_contact_top{
  background: none;
  text-align: center;
}
.footet_contact_txt01 {
  font-size: 16px;
}
/*tel*/
.footer_contact_tel a {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
}
/*mail*/
.footer_contact_mail a {
  width: 100%;
  margin: 0 auto;
}
}


/*下段（診療時間・アクセス）
------------------------------------------------*/
.footer_contact_bottom{
    width: 100%;
    overflow: hidden;
    border: 1px solid #efe2d0;
    padding: 30px 30px 10px 30px;
}

/*===診療時間===*/
.footer_contact_hours{
  width: 50%;
  float: right;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.footer_contact_bottom{
  padding: 0px 10px 10px 10px;
}
.footer_contact_hours{
  width: 100%;
  float: none;
}
}
/*診療時間用テーブル*/
.footer_contact_hours table {
  width: 100%;
  font-size: 15px;
  border: 1px solid #e4d4b8;
}
.footer_contact_hours table thead th {/*曜日*/
  color: #fff;
  letter-spacing: 3px;
  text-align: center;
  background: #e4d4b8;
  border-bottom: none;
  padding: 10px 0;
}
.footer_contact_hours table thead th:first-child {
  width: 30%;
}
.footer_contact_hours table th {/*時間*/
  vertical-align: middle;
  border-bottom: 1px solid #e4d4b8;
  background: #fff;
  padding: 14px 0;
}
.footer_contact_hours table td {
  color: #666;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #e4d4b8;
  background: #fff;
}
.closed{/*休診日*/
  color: #df0101;
  font-size: 14px;
  text-align: right;
  padding-top: 10px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.footer_contact_hours table thead th ,
.footer_contact_hours table tbody th ,
.footer_contact_hours table td {
  padding: 1em 0;
  font-size: 13px;
}
}


/*===アクセス===*/
.footer_contact_access{
  width: 50%;
  float: left;
}
.footer_contact_access--train{
  line-height: 30px;
  padding: 10px 0 10px 50px;
  background: url(../img/common/footer_contact_train.png) no-repeat left center;
}
.footer_contact_access--train span{
  color: #5ec8df;
  font-size: 34px;
  vertical-align: baseline;
  padding: 0 3px;
}
.footer_contact_access--parking{
  padding: 10px 0 10px 50px;
  background: url(../img/common/footer_contact_parking.png) no-repeat left center;
}

@media screen and (min-width: 0px) and (max-width:768px) {
.footer_contact_access{
  width: 100%;
  float: none;
  margin-top: 20px;
}
.footer_contact_access--train {
  line-height: 1.4;
}
.footer_contact_access--train span{
  font-size: 18px;
  font-weight: bold;
}
}


/*==========================================
 footer
===========================================*/
footer {
  width: 100%;
  /*min-width: 1000px;*/
  background: #fff;
}
.footer_box {
  /*float: left;*/
  /*width: 33%;*/
  color: #999;
  font-size: 14px;
  /*padding: 0 20px;*/
  margin: 40px 0;
}
.footer_copy {/*コピーライト*/
  color: #999;
  font-size: 11px;
  text-align: center;
  background: #f6f4f0;
  padding: 12px 0;
}
@media screen and (min-width: 0px) and (max-width:768px) {
footer {
  min-width: 100%;
  padding-bottom: 70px;
}
.footer_box {
  display: none;
}
}

/*フッターメニュー
-------------------------------------------*/
/*===第1階層===*/
.footer_nav li{
  font-size: 16px;
  /*font-weight: bold;*/
  color: #997a45;
}
.footer_nav li a{
  font-size: 16px;
  /*font-weight: bold;*/
  color: #997a45;
}

/*===第2階層===*/
.footer_nav li ul {
  padding-bottom: 1em;
}
.footer_nav li ul li {
  padding-left: 0;
}
.footer_nav li ul li::before {
  color:#999;
  margin-right:0;
  font-weight: normal;
}
.footer_nav li ul li a {
  color: #999;
  font-size: 14px;
  font-weight: normal;
  border-bottom: 1px solid rgba(255,255,255,0);
  padding: 0 0 1px 0;
}
.footer_nav li a:hover {
  border-bottom: 1px solid #997a45;
}


/*==========================================
ページトップへ戻るボタン
===========================================*/
#btn_pagetop {
  position: fixed;
  bottom: 25px;
  right: 20px;
}
#btn_pagetop a {
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  color: #fff;
  font-size: 30px;
  text-align: center;
  line-height: 1.3;
  text-decoration: none;
  background: #638a47;
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)";
  transition: all .4s;
}
#btn_pagetop a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
#btn_pagetop a i{
  margin-right: 0;
}
@media screen and (min-width: 0px) and (max-width:768px) {
#btn_pagetop {
  display: none;
}
}



/*==========================================
 スマホヘッダー
===========================================*/
.sp-header{
  display:none;
  position: fixed;
  top: 0;
  width:100%;
  height: 60px;
  box-shadow: 0 1px 1px #ddd;
  background:rgba(45,33,16,1);
  padding:12px 0;
  z-index: 99;
}
.sp_header_logo img{
width: 140px;
padding-left: 5px;
padding-top: 5px;
/* display: block; */
margin: 0 auto;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.sp-header{
  display: block;
}
}


/*==========================================
 スマホメニュー
===========================================*/
/*ボタン
-------------------------------------------*/
#spmenu{
  display: none;
}
#sp-navi {
  position: fixed;
  z-index: 100;
  top: 5px;
  right: 5px;
  background-color:transparent;
  font-size: 14px;
  width: calc(100% - 10px);
}
.sp-btn a:hover{
  cursor: pointer;
}

@media screen and (min-width: 0px) and (max-width:768px) {
#spmenu{
  display: block;
}
}

/*===ハンバーガーメニューボタン===*/
.sp-btn {
float: right;
text-align: center;
line-height: 1;
}
.sp-btn a {
color: #fff;
font-size:10px;
text-align: center;
text-decoration: none;
display: block;
padding: 5px 7px;
border-radius:4px;
background: #e4d4b8;
}
.sp-btn i {
color: #fff;
font-size:26px;
}

/*===アクセスボタン===*/
.sp-btn02 {
float: right;
text-align: center;
line-height: 1;
}
.sp-btn02 a {
color: #666;
font-size:10px;
text-align: center;
text-decoration: none;
display: block;
border:1px solid #e4d4b8 !important;
border-radius:4px;
background: #fff;
padding: 5px 3px;
margin-right: 5px;
}
.sp-btn02 i {
color: #666;
font-size:24px;
}


/*メニュー一覧
-------------------------------------------*/
.menu-toggle {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  z-index: 999;
  -webkit-overflow-scrolling: touch;
}
.sp-menu {
  width: 100%;
  opacity: 0;
  overflow-y: auto;
  z-index: 9999;
  position: relative;
  height: 100%;
  box-sizing: border-box;
  display: block;
  overflow: auto;
  background: rgba(255,255,255,1);
  -webkit-overflow-scrolling: touch;
}

/*===メニュー内ヘッダー===*/
.sp_menu_header {
  width:90%;
  margin:0 auto;
  overflow:hidden;
}
/*ロゴ*/
.sp_navlogo {
  float:left;
  margin-top:5%;
  text-align: center;
}
.sp_navlogo img {
  max-width: 180px;
  width: 100%;
}
/*閉じるボタン*/
.sp-close {
  float:right;
  color: #fff;
  font-size:20px;
  width: 44px;
  height:44px;
  line-height:44px;
  text-align: center;
  border:none !important;
  border-radius:4px;
  background: #e4d4b8;
  margin: 15px auto 0 auto;
}

/*===第1階層===*/
.sp-menu ul {
  display: block;
  width: 90%;
  height: 100%;
  vertical-align: middle;
  margin: 5% auto 0 auto;
}
.sp-menu li {
  color: #666;
  font-weight: bold;
  text-indent: 5px;
  border: 1px solid #ccc;
  margin-bottom: 5px;
}
.sp-menu li:nth-child(even) {
    background: #f6f4f0;
}
.sp-menu li i{
  font-size: 15px;
  margin-right: 5px;
  color:#e4d4b8;
}
.sp-menu li a,
.sp-menu li .cat {
  display: block;
	color: #666;
  padding: 12px 0;
}
.sp-menu li .cat {
font-weight:bold;	
}

/*下層リンク開閉ボタン*/
.sp-menu li .sp-sub-btn {
  position: relative;
  display: block;
  float: right;
  width: 40px;
  height: 35px;
  text-align: center;
  padding: 0 0 0 5px;
  margin: -37px 8px 0 12px;
  z-index: 100;
}
.sp-menu li .sp-sub-btn i {
  display: table-cell;
  width: 40px;
  height: 30px;
  color: #e4d4b8;
  font-size: 18px;
  vertical-align: middle;
  border-left: 1px solid #e4d4b8;
  padding: 0;
}

/*===第2階層===*/
.sp-menu li ul.sp-menu-sub {
  display: none;
  width: 100%;
  margin: 0;
}
.sp-menu li ul.sp-menu-sub li {
  width: 100%;
  text-indent: 20px;
  font-weight: normal;
  border-bottom: none;
  border-left: none;
  border-right: none;
  margin: 0 auto;
}
.sp-menu li ul.sp-menu-sub li:nth-child(odd) {
  background: #fff;
}


/*メニュー開閉アニメーション
-------------------------------------------*/
.show {
  -webkit-animation: navi-show 0.4s ease both;
  -moz-animation: navi-show 0.4s ease both;
  animation: navi-show 0.4s ease both;
}
@-webkit-keyframes navi-show {
 from {
 -webkit-transform: scale(1.1, 1.1);
 -webkit-opacity: 0;
}
 to {
 -webkit-transform: scale(1, 1);
 -webkit-opacity: 1;
}
}
@-moz-keyframes navi-show {
 from {
 -moz-transform: scale(1.1, 1.1);
 -moz-opacity: 0;
}
to {
 -moz-transform: scale(1, 1);
 -moz-opacity: 1;
}
}
 @keyframes navi-show {
 from {
 transform: scale(1.1, 1.1);
 opacity: 0;
}
 to {
 transform: scale(1, 1);
 opacity: 1;
}
}


/*==========================================
スマホ用フッター固定ボタン
===========================================*/
.sp-bottom-menu {
  display: none;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.sp-bottom-menu {
display: block;
position: fixed;
/*top: 80px;*/
left: 0px;
width: 210px;
height: 75px;
background: #e4d4b8;
z-index: 999;
padding: 5px;
}
.sp-bottom-menu li {
  float: left;
  width: 50%;
  text-align: center;
}
.sp-bottom-menu li i {
  color: #000;
}
.sp-bottom-menu li a {
  display: block;
  color: #000;
  font-size: 12px;
  text-decoration: none;
}
.sp-bottom-menu li span {
  display: block;
  line-height:1.4;
}

/*電話*/
.sp-bottom-menu li:nth-child(1) {
  height: 40px;
  margin: 8px 0 0 0;
}
.sp-bottom-menu li:nth-child(1) i {
  font-size: 20px;
}
.sp-bottom-menu li:nth-child(1) span {
  margin: 8px 0 0 0;
}
/*メール*/
.sp-bottom-menu li:nth-child(2) {
  height: 40px;
  margin: 5px 0 0 0;
}
.sp-bottom-menu li:nth-child(2) i {
  font-size: 20px;
}
.sp-bottom-menu li:nth-child(2) span {
  margin: 2px 0 0 0;
}
/*ページトップ*/
.sp-bottom-menu li:nth-child(3) {
  height: 40px;
  margin: 8px 0 0 0;
}
.sp-bottom-menu li:nth-child(3) i {
  font-size: 20px;
}
.sp-bottom-menu li:nth-child(3) span {
  margin: 8px 0 0 0;
}
}


/*==========================================
 side
===========================================*/
.side .bnr_list li{
  margin-bottom:20px;
}
.side_nav{
  margin: 0 0 20px;
  padding: 5px;
}
.side_nav li a{
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  background:#997a45;
  padding: 10px 0px 10px 8px;
}

/*第2階層*/
.side_nav li ul li a {
    display: block;
  color: #000;
  font-size: 13px;
  font-weight: normal;
  border-bottom:1px solid #666;
  background: none;
  padding: 1rem .75rem 1rem 1.25rem;
  letter-spacing: -.05rem;
}
.side_nav li ul li a:hover{
  background:#f7f5f0;
}

/*==========================================
 追加
===========================================*/
.flbox{
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content:space-around;
margin:10px 0;
}

.fl50{
width:48%;
margin:0 1%;
}

.fl50{
width:48%;
margin:0 1%;
padding:10px 0;
}

.mrLR-1p{margin:0 1%;}

@media screen and (min-width: 0px) and (max-width:768px) {
.flbox{
flex-direction: column;
margin:15px 0;
}
.fl50{
width:98%;
margin:0 1%;
}

li.fl50{
width:98%;
margin:0 1%;
padding:10px 0;
}
}


/*==========================================
 NEWメニュー
===========================================*/
.bg{background-color: #11111185;}
ol, ul {
	list-style: none;
}

a {
  text-decoration: none;
}


/*MENU*/
.head_nav{position: absolute;
    width: 100%;}
.menuList {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: flex;
    justify-content: center;
}

.menuList > li {
	float: left;
	height: 30px;
  line-height:30px;
  margin:0 .5rem 0 .25rem;
  padding:.25rem 0;
}

.menuList > li a {
	display: block;
	color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding:.25rem;
}

.single-bottom{
  font-size:10px;
}

.menuList > li a:hover {
	color: #fff;
  background:#000;
}

.menuList__none, .init-bottom{font-size: 14px;}

.init-bottom a{
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.init-bottom a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

.init-bottom a:hover:after {
  transform: scale(1, 1);
}

.menuList__none:hover,
.menuList__multi:hover,
.menuList__mega:hover,
.menuList__single:hover {
  -webkit-transition: .2s ease;
  transition: .2s ease;
}

.menuList__second-level li {
  border-top: 1px solid #111;
}

.menuList__third-level li {
  border-top: 1px solid #111;
}

.menuList__second-level li a:hover {
  background: #111;
}

.menuList__third-level li a:hover {
  background: #2a1f1f;
}

.menuList__fourth-level li a:hover {
  background: #1d0f0f;
}

.menuList__none:after, .menuList__mega:after, .List__mega:after {
  content: '/';
  display: inline-block;
  margin: 0 0 0 .5rem;
  font-size:10px;
  color:#fff;
}

.menuList__mega:last-child::after {
content: none;
}

.menuList:before,
.menuList:after {
  content: "";
  display: table;
}

.menuList:after {
  clear: both;
	
}

.menuList {
  *zoom: 1;
}

/*single menu*/
.menuList > .menuList__single {
  position: relative;
}

.menuList__single .menuList__second-level {
  position: absolute;
  top: 20px;
  width: 100%;
  background:rgba(0,0,0,0.7);
  -webkit-transition: .2s ease;
  transition: .2s ease;
  visibility: hidden;
  opacity: 0;
}

.menuList__single:hover > .menuList__second-level {
  top: 20px;
  visibility: visible;
  opacity: 1;
}

/**
 * mega menu
 */
.menuList__mega .menuList__second-level {
  position: absolute;
  top: 30px;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 20px 1%;
  background:rgba(0,0,0,0.9);
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

.menuList__mega:hover .menuList__second-level {
  top: 40px;
  visibility: visible;
  opacity: 1;
}

.menuList__mega .menuList__second-level > li {
  float: left;
  width: 32%;
  border: none;
}

.menuList__mega .menuList__second-level > li:nth-child(3n+2) {
  margin: 0 1%;
}

.menuList__mega .menuList__second-level > li a {
  float: left;
  width: 90%;
  border: none;
  line-height: 40px;
  padding:.5rem .25rem .5rem 1rem;
  background:#997a45;
  margin-bottom:.5rem;
  font-size: .9rem;
}

.menuList__mega .menuList__second-level > li a:hover {
  background:#e4d4b8;
  margin-bottom:.5rem;
  color:#333;
  text-decoration: none;
}

.menuList__mega .menuList__second-level > li a:after {
  font-family: "FontAwesome";
  content: "\f105"; /* 空の要素作成 */
  padding-right:.5rem;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -20px;
}


@media screen and (min-width: 769px) and (max-width:1200px) {
.header_right a{font-size: 14px;}
.menuList__none:after, .menuList__mega:after {
  margin: 0 0 0 .25rem;
  font-size:14px;
  color:#fff;
}
.menuList__mega .menuList__second-level > li a{
    line-height: 30px;
    font-size: .75rem;
}
}


.att5 {
	padding:10px 15px;
	display:block;
	border: 1px solid #efefef;
	box-shadow: 1px 1px 0 #fff inset;
	margin-top: 6px;
}

.att5, .linkArea{background: #efefef;}

.att6 {
	background: #F7F5F0;
	padding:10px 15px;
	display:block;
	border: 1px solid #F7F5F0;
	/*box-shadow: 1px 1px 0 #E4D4B8 inset;*/
	margin-top: 6px;
}


.list-arrow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}
.list-arrow li {
  text-indent: -1em;
  padding-left: 1em;
  padding: 0px 0px 0px 1em !important;
}
.list-arrow li:before {
  font-family: "FontAwesome";
  content: "\f138"; /* 空の要素作成 */
  display: inline-block; /* インラインブロックにする */
  border-radius: 50%; /* 要素を丸くする */
  position: relative;
  top: -1px;
  margin-right: 5px;
  padding-left: 1rem;
}
.list-arrow li a:hover{color:#997a45;}
.linkBox{margin-top:20px !important;}
.linkArea{padding:5px !important;}

.link-arrow:before {
  font-family: "FontAwesome";
  content: "\f138"; /* 空の要素作成 */
  display: inline-block; /* インラインブロックにする */
  border-radius: 50%; /* 要素を丸くする */
  position: relative;
  top: -1px;
  margin-right: 5px;
}


.title_h3{display: inline-block;}

.linkWindow li:after{
  font-family: "FontAwesome";
  content: "\f2d2"; /* 空の要素作成 */
  display: inline-block; /* インラインブロックにする */
  border-radius: 50%; /* 要素を丸くする */
  position: relative;
  top: -1px;
  padding-left: 1.25rem;
}


/* 症例集 */
.caseStudy dl{
	width: 100%;
    line-height: 1.5;
    overflow: hidden;
    }
.caseStudy dt {
      float: left;
      width: 120px;
      padding: 5px 0px 3px 0px;
      color:#2D2110;
      font-weight:bold;
      border-top: 1px dotted #997a45;
    }
.caseStudy dd {
      margin-left: 120px;
      padding: 5px 0px 3px 0px;
      border-top: 1px dotted #997a45;
    }

.caseStudy dt:first-child{border-top:none;}
.caseStudy dt:first-child + dd {border-top:none;}

.caseArea{
display: -webkit-flex;
   display: flex;
-webkit-flex-wrap: nowrap;
   flex-wrap: nowrap;
align-content:center;
}

.caseBox{width:50%; padding:0 10px;}
.caseArea1culum{width:400px; margin:0 auto;}
.caseArea, .caseArea1culum, .caseStep, .caseStep2{padding:30px 0;}

.caseStep, .caseStep2{
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
align-content:center;
justify-content: center;
}

.caseStep img{width:200px;}
.caseStep2{width: 550px;margin: 0 auto;}
.caseStep2 img{max-width:200px;}


.caseStepBox{position: relative;width:33%; margin:0 auto; text-align: center;}
.caseStepBox2culum{position: relative;width:49%; margin:0 auto; text-align: center;}
.caseStepBox:after, .caseStepBox2culum:after {
position: absolute;
   font-family: "FontAwesome";
  content: "\f101"; /* 空の要素作成 */
  margin-left:1rem;
  color:#997a45;
  top: 40%;
  font-size:20px;
}

.caseStepBox2culum:after {margin-left:2rem;}

.caseStepBox:last-child::after {content: none;}
.caseStepBox2culum:last-child::after {content: none;}

.caseArrow{display: inline-block;}

@media screen and (min-width: 0px) and (max-width:768px) {
.caseArea{
-webkit-flex-wrap: wrap;
   flex-wrap: wrap;
}
.caseArea1culum, .caseBox{width:100%;}
.caseArea, .caseArea1culum, .caseBox, .caseStep, .caseStep2{padding:10px 0;}
.caseStudy dt{width: 100%; border-bottom:solid 1px; padding: 8px 0px 3px 0px; border-top:none;}
.caseStudy dd {margin-left: 0px; line-height: 1.8; border-top:none;}

.caseStepBox, .caseStepBox2culum, .caseStep2{width:100%;}
.caseArrow{display:block;}
.caseArrow img{width: 100% !important;}

.caseStepBox:after, .caseStepBox2culum:after {
position: relative;
   font-family: "FontAwesome";
  content: "\f103"; /* 空の要素作成 */
  margin-top:1rem;
  color:#997a45;
  font-size:30px;
  /* left:45%;*/
}
.caseStepBox2culum:after {left:0%; right:0%; margin: auto;}
.caseStep2 img, .caseStep img{max-width:100%;}
}

.pore{position: relative;}
.Flex2Clm{display:flex; flex-wrap: nowrap;}
.Flex2Clm p{width:50%;}


/*ステップフローのCSS*/
ul.stepflow {
	border: none;
	margin: 1em 0.5em;
	padding: 0;
	list-style: none;
}
ul.stepflow > li:before, ol.stepflow > li:before {
	background-color:#cccccc!important;
}
.stepflow li {
    position: relative;
    padding: 0 0 1.5em 1.8em;
}
.stepflow>li:before {
	content: "";
	width: 2px;
	background: #cccccc;
	display: block;
	position: absolute;
	top: 28px;
	bottom: 0;
	left: 5px;
}
.stepflow-white {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #FCC63D;
}
.stepflow-black {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #FCC63D;
	background-color: #fff;
}
.stepflow_label {
	color: #cccccc;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .1rem;
}
.stepflow_title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 5px;
	color:#997a45;
}
.stepflow_content {
	padding: 0 0 1.5em;
	border-bottom: dashed 1px #cccccc;
}
/*ステップフローのCSSここまで*/

/*画像右レイアウト30%*/
.img_right20p{padding: 20px 0; overflow:hidden;}
.img_right20p img, img_right20p .img_box{display:block; float:right; width:30%;}
.img_right20p .txt_box{float:left; width:68%; line-height: 1.8;}
@media screen and (min-width: 0px) and (max-width:768px) {
.img_right20p img, img_right20p .img_box{float:none; width:100%; margin-bottom: 20px;}
.img_right20p .txt_box{float:none; width:100%; padding-bottom: 20px;}
}


.merit {
	background:rgba(252,237,240,0.8);
	padding:10px 15px;
	display:block;
	border: 1px solid #F7D0D9;
	box-shadow: 1px 1px 0 #fff inset;
	margin-top: 6px;
}
.merit p{color:#EA7FA0;}

.demerit {
	background:rgba(220,243,247,0.8);
	padding:10px 15px;
	display:block;
	border: 1px solid #BADDE2;
	box-shadow: 1px 1px 0 #fff inset;
	margin-top: 6px;
}
.demerit p{color:#51A5BC;}

/*クレド*/
#credoArea {
    position: relative;
    width:90%;
    border:2px solid rgba(153,122,69,1);
    outline: 1px solid rgba(153,122,69,0.7);; /* 線幅、線のスタイル、カラー */
outline-offset: -5px; /* 対象の要素からの距離、マイナス(内側)にも対応 */
padding:1%;
  text-align:center;
  background:rgba(247,245,240,1);
  margin:0 auto;
  font-family: 'Kosugi Maru', sans-serif;
  font-size:14px;
  color:#2D2110;
  letter-spacing: 1px;
}  

.credoh3{
  font-size:18px;
  margin: 30px 0;
  font-weight:600;
}

.CredoTtle{
  background:rgba(117,159,80,0.2);
  padding:.75rem 0;
  font-family: 'Noto Serif JP', serif;
  line-height:2;
  font-weight:600;
  color:#638a47;
  font-size:16px;
}

.credoRibbon {
  width: 100px;
  height: 100px;
  overflow: hidden;
  position: absolute;
}
.credoRibbon::before,
.credoRibbon::after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  border: 5px solid #9F7A46;
}
.credoRibbon span {
  position: absolute;
  display: block;
  width: 160px;
  padding: 5px 0;
  background: linear-gradient(to top right, #E5BD54, #BF9224);
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
  color: #fff;
  font: 700 18px/1 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
  text-transform: uppercase;
  text-align: center;
}

/* top left*/
.ribbon-top-left {
  top: -10px;
  left: -10px;
}
.ribbon-top-left::before,
.ribbon-top-left::after {
  border-top-color: transparent;
  border-left-color: transparent;
}
.ribbon-top-left::before {
  top: 0;
  right: 0;
}
.ribbon-top-left::after {
  bottom: 0;
  left: 0;
}
.ribbon-top-left span {
  right: -28px;
  top: 20px;
  transform: rotate(-45deg);
}

/* top right*/
.ribbon-top-right {
  top: -10px;
  right: -10px;
}
.ribbon-top-right::before,
.ribbon-top-right::after {
  border-top-color: transparent;
  border-right-color: transparent;
}
.ribbon-top-right::before {
  top: 0;
  left: 0;
}
.ribbon-top-right::after {
  bottom: 0;
  right: 0;
}
.ribbon-top-right span {
  left: -25px;
  top: 30px;
  transform: rotate(45deg);
}

/* bottom left*/
.ribbon-bottom-left {
  bottom: -10px;
  left: -10px;
}
.ribbon-bottom-left::before,
.ribbon-bottom-left::after {
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.ribbon-bottom-left::before {
  bottom: 0;
  right: 0;
}
.ribbon-bottom-left::after {
  top: 0;
  left: 0;
}
.ribbon-bottom-left span {
  right: -25px;
  bottom: 30px;
  transform: rotate(225deg);
}

/* bottom right*/
.ribbon-bottom-right {
  bottom: -10px;
  right: -10px;
}
.ribbon-bottom-right::before,
.ribbon-bottom-right::after {
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.ribbon-bottom-right::before {
  bottom: 0;
  left: 0;
}
.ribbon-bottom-right::after {
  top: 0;
  right: 0;
}
.ribbon-bottom-right span {
  left: -28px;
  bottom: 20px;
  transform: rotate(-225deg);
}

.fuki-g {
position: relative;
background-color: #d8e5c8;
padding: 10px;
color: #333;
}

.fuki-g::before {
content: "";
position: absolute;
border: 12px solid transparent;
border-top: 12px solid #d8e5c8;
top: 100%;
left: 5%;
}

.fuki-g p {
margin: 0;
padding: 0;
}

.flebox{
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row;
flex-direction: row;
justify-content:space-between;
}
.w50R{width:50%;}
.pad-R{padding-right:20px;}

.flePct300{width:300px;}
.fleText400{width:400px;}

.flePct300 {order: 2; }
.fleText400 {order: 1; }

@media screen and (min-width: 0px) and (max-width:768px) {
#credoArea {
    width:97%;
    font-size: 12px;
    color:#2D2110;
    letter-spacing: 1px;
}  

.credoh3{
  font-size:16px;
  margin: 20px 0;
  font-weight:600;
}

.CredoTtle{
  padding:.75rem 0;
  font-family: 'Noto Serif JP', serif;
  line-height:2;
  font-weight:600;
  color:#638a47;
  font-size: 14px;
}
.credoRibbon {
    width: 75px;
    height: 75px;
}
.flebox{
-webkit-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: wrap;
   flex-wrap: wrap;
}
.w50R{width:100%;}
.pad-R{padding-right:0px;}

.flePct300, .fleText400{width:100%;}
.flePct300 {order: 1; }
.fleText400 {order: 2; }
}


.sideBnrArea{
width:100%;
margin:0;
}

.online-bnrArea {
 width: 58px; /*画像の全体幅*/
 position: fixed;
 top: 200px;
 right: -20px; /*マウスを乗せた時に出てくる幅*/
 display: inline-block;
 transition: all .2s ease;
 z-index: 9999;
}
.online-bnrArea:hover{
 right: 0;
}


#prevention-SPT::before {
   content: "";
    display: block;
    height: 100px;/* ヘッダの高さ */
    margin-top: -100px;/* ヘッダの高さ */
    vertical-align: top;
   }

.news_list a{text-decoration: underline;}

/* 211020追加 */
ol.num{
counter-reset: list;
list-style-type: none;
/* font: 14px/1.6 'arial narrow', sans-serif; */
padding: 0 1.5em;
}
ol.num li {
position: relative;
padding: 7px 5px 7px 40px;
margin: 7px 0 10px;
/* font-weight: bold; */
font-size: 14px;
border-bottom: dashed 1px #2D2110;
color: #000;
}
ol.num li:before {
counter-increment: list;
content: counter(list);
position: absolute;
left: 0px;
width: 25px;
height: 25px;
line-height: 25px;
text-align: center;
color: #fff;
background: #997a45;
border-radius: 50%;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-o-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

ul.link-list {}
ul.link-list li {
box-sizing: border-box;
width: 50%;
float: left;
padding: 5px;
}
ul.link-list li a {
display: block;
text-align: center;
background: #997a45;
font-weight: bold;
color: #fff;
line-height: 1;
padding: 15px 10px;
}
@media screen and (max-width:680px) {
ul.link-list li {
width: 100%;
float: none;
}
}

/* 230421追加 */
.case-img {margin-top: 30px;}
.case-img::after {
content: "";
display: block;
clear: both;
}
.case-img ul {}
.case-img ul li {
width: 50%;
box-sizing: border-box;
padding: 5px;
float: left;
}
.case-img ul li img {width: 100%;}

/* 230502追加 */
.clearfix::after {
display: block;
clear: both;
content: "";
}

.apli-box {
background: #f7f5f0;
padding: 20px;
border-radius: 15px;
}
ul.apli-list {
margin: 15px 0;
}
ul.apli-list::after {
display: block;
clear: both;
content: "";
}
ul.apli-list li {
width: 33.3333333333333%;
float: left;
padding: 10px;
text-align: center;
}
ul.apli-list li p {
line-height: 1.3;
margin-bottom: 10px;
font-size: 1.3em;
font-weight: bold;
color: #997a45;
}
ul.apli-dl {margin-top: 15px}
ul.apli-dl::after {
display: block;
clear: both;
content: "";
}
ul.apli-dl li {
width: calc(50% - 20px);
float: left;
text-align: center;
background: #fff;
padding: 10px;
border-radius: 10px;
margin: 10px;
}
ul.apli-dl li p {
font-weight: bold;
font-size: 1.3em;
color: #997a45;
}
@media screen and (max-width:680px) {
ul.apli-list li {
width: 50%;
float: left;
padding: 5px;
}
ul.apli-list li p {
font-size: 1.2em;
}
}

/** チェックOFFなら非表示 */
.message{ 
display: none;
}
/** チェックONなら表示 */
input:checked ~ .message{
display: block;
}

/** チェックボックス横にラベル表示 */
.yoyaku-check [type="checkbox"].toggle{
position: relative;
width: 20px;
height: 20px;
margin-right: 10px;
margin-bottom: 7px;
}
.yoyaku-check label {
font-size: 1.3em;
}

/* 230512追加 */
.sp-btn02 a.line {
color: #fff;
background: #00B900;
border: 1px solid #00B900 !important;
}
.sp-btn02 a.yoyaku {
color: #fff;
background: #997a45;
}
.sp-btn02 a.yoyaku i {
color: #fff;
}


/*.header_sns_fb , .header_sns_insta , .header_sns_yt {
width: 50px;
height: 50px;
position: absolute;
margin: auto;
top: 80px;
}
.header_sns_fb img , .header_sns_insta img , .header_sns_yt img {}
.header_sns_fb {right: 0;}
.header_sns_insta {right: 55px;}
.header_sns_yt {right: 110px;}

#change .header_sns_fb , #change .header_sns_insta , #change .header_sns_yt {
top: 60px;
}*/


/* 230517追加 */
img.pc-img , img.sp-img {margin-bottom: 20px;}
img.pc-img {width: 100%;}
img.sp-img {width: 100%; display: none;}
@media screen and (min-width: 0px) and (max-width:768px) {
img.pc-img {display: none;}
img.sp-img {display: inline;}
}

/* 230526追加 */
.icon_q {
position: relative;
padding-left: 1.5em;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #997a45;
color: #997a45;
font-weight: bold;
}
.icon_q::before {
position: absolute;
content: 'Q.';
color: #997a45;
font-weight: bold;
margin: auto;
left: 0;
top: 0;
}

.icon_a {
position: relative;
padding-left: 1.5em;
}
.icon_a::before {
position: absolute;
content: 'A.';
color: #9f1a1a;
font-weight: bold;
margin: auto;
left: 0;
top: 0;
}

/* 230721追加 */
.hikaku-area {}
.hikaku-area .hikaku-inner {
width: 50%;
float: left;
box-sizing: border-box;
padding: 5px;
}
.hikaku-area .hikaku-inner .hikaku-box {
padding: 15px;
border-radius: 10px;
}
.hikaku-area .hikaku-inner:last-child .hikaku-box {
background: #fff9ec;
border: 1px solid #ffde97;
}
.hikaku-area .hikaku-inner:first-child .hikaku-box {
background: #f0f8ff;
border: 1px solid #bce0ff;
}
dl.base-dl {
display: flex;
flex-wrap: wrap;
}
dl.base-dl dt {
width: 30%;
}
dl.base-dl dd {
width: 70%;
}

@media screen and (max-width:768px) {
.hikaku-area .hikaku-inner {
width: 100%;
float: none;
}
dl.base-dl dt {
width: 20%;
}
dl.base-dl dd {
width: 80%;
}
}

/* 240416追加 */
ul.img-list-3 {margin: 30px 0;}
ul.img-list-3 li {
width: 50%;
float: left;
padding: 5px;
}
@media screen and (max-width:768px) {
ul.img-list-3 li {width: 100%;}
}