/*base + index css*/
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.9375rem;
  color: #444;
}
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.bold {
  font-weight: bold;
}
.brown {
  color: #554034 !important;
}
p .bold {
  font-weight: medium;
  color: #32b16a;
}
.blue {
  color: #61443f;
}
.green {
  color: #3db475;
}
.orange {
  color: #ff8e4d;
}
.red {
  color: #E60012 !important;
}
.text-medium {
  font-size: 125% !important;
}
.text-large {
  font-size: 150% !important;
}
.text-xlarge {
  font-size: 200% !important;
}
.text-mincho {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
.bline {
  background: linear-gradient(transparent 70%, #fafc73 0%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fafc73));
}
.blinedbox {
  border: 1px solid #99e5f0;
  padding: 1.75rem 2.25rem 1.25rem;
  background-color: #fff;
}
.uline {
  text-decoration: underline;
}
.noline {
  text-decoration: none;
}
.noline a {
  text-decoration: none;
}
.clear {
  clear: both;
}
.radius {
  border-radius: 0.75rem;
}
no-padding {
  padding: 0 !important;
}
.max-width {
  max-width: 100%;
}
.mb00 {
  margin-bottom: 0;
}
.mb01 {
  margin-bottom: 1rem !important;
}
.mb02 {
  margin-bottom: 2rem !important;
}
.mb03 {
  margin-bottom: 3rem !important;
}
.right.img, .left.img {
  width: 35%;
}
.right.text, .left.text {
  width: 62%;
}
.marker {
  background: linear-gradient(transparent 60%, #ffff66 60%);
  font-weight: 600;
}
.img_2col {
  clear: both;
  overflow: hidden;
}
.img_2col img {
  width: 48%;
}
br.space {
  display: block !important;
  margin-bottom: 1.5rem !important;
}
.table, .timetable {
  border-collapse: collapse;
}
.table th, .table td {
  border: solid 1px #f6e4c9;
}
.table th {
  background: #fffff9;
}
.timetable th {
  background: #fbf7f1;
}
/*header
---------------------------------------------------------*/
.row {
  max-width: 70rem;
  width: 100%;
}
#site-header .logo {
  margin-right: auto;
}
#site-header .logo h1 {
  font-size: 14px;
}
#site-header .site-header--inner {
  max-width: 90rem;
  width: 100%;
  display: flex;
  margin: 0 auto;
  padding: 0.65rem 1rem;
  align-items: center;
}
#site-header .logo img {
  display: block;
  margin-top: 8px;
}
#site-header .contact_area ul {
  margin: 0;
  display: flex;
  gap: 1rem;
  align-items: center;
}
.site-header--inner .contact_area .info__time {
  display: flex;
  justify-content: center;
  padding: .6rem 1.6rem;
  border: 2px solid rgb(244, 222, 190);
  border-radius: 9999px;
  font-weight: 600;
  letter-spacing: .03em;
  background: #fff;
  line-height: 1;
  margin-bottom: 0.5rem;
  font-size: 0.9375rem;
}
/* 下段：バッジ横並び */
.site-header--inner .contact_area .info__badges {
  display: flex;
  gap: 4%;
  justify-content: center;
  flex-wrap: wrap;
}
.site-header--inner .contact_area .badge {
  display: block;
  padding: .35rem 0.5rem;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  width: 48%;
}
.site-header--inner .contact_area .badge--green {
  background: #4CC164;
}
.site-header--inner .contact_area .badge--blue {
  background: #4C78D6;
}
/* base */
.site-header--inner .contact_area ul li a.button {
  display: inline-block;
  background-color: #EC7C9B;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 0.8rem 2rem 0.8rem 3rem;
  margin: 0;
  border-radius: 2rem;
  transition: background-color 0.3s ease, transform 0.2s ease;
  text-align: center;
  position: relative;
}
.site-header--inner .contact_area ul li a.button:hover {
  background-color: #d96b89;
  transform: translateY(-2px);
}
/* icon base */
.site-header--inner .contact_area ul li a.button::before {
  content: "";
  position: absolute;
  left: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: no-repeat center / contain;
  filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(2%) hue-rotate(340deg) brightness(101%) contrast(102%);
}
/* mail */
.site-header--inner .contact_area ul li.mail a.button {
  background-color: #6AB8E3;
}
.site-header--inner .contact_area ul li.mail a.button:hover {
  background-color: #68a7d8;
}
.site-header--inner .contact_area ul li.mail a.button::before {
  background-image: url("../img/icon_mail.png");
}
/* reserve */
.site-header--inner .contact_area ul li.reserve a.button {
  background: #ff8a47;
}
.site-header--inner .contact_area ul li.reserve a.button:hover {
  background-color: #e67935;
}
.site-header--inner .contact_area ul li.reserve a.button::before {
  background-image: url("../img/icon_calendar.png");
}
@media screen and (max-width: 1025px) {
  .site-header--inner .contact_area .info {
    display: none;
  }
}
#site-header .bg {
  max-width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 680px;
}
#site-header .page {
  border-bottom: 1px #f4debe solid;
  padding-bottom: 0rem;
}
#site-navi {
  width: 100%;
  padding: 0;
  margin: 0;
  border-bottom: 1px #f4debe solid;
}
#site-navi .dropmenu {
  *zoom: 1;
  width: 100%;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
}
#site-navi .dropmenu:before, .dropmenu:after {
  content: "";
  display: table;
}
#site-navi .dropmenu:after {
  clear: both;
}
#site-navi .dropmenu > li {
  position: relative;
  float: left;
  margin: 0;
  width: 16.6%;
  padding: 0;
  text-align: center;
}
#site-navi .dropmenu li a {
  display: block;
  margin: 0;
  padding: 1.5rem 1rem;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #61443f;
  border-right: solid 1px #f4debe;
}
#site-navi .dropmenu > li:first-child a {
  border-left: solid 1px #f4debe;
}
#site-navi .dropmenu li ul {
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
#site-navi .dropmenu li ul li {
  width: 250%;
}
#site-navi .dropmenu li ul li a {
  padding: 13px 15px;
  border-top: 1px solid #f5e4ca;
  background: #fff;
  color: #333;
  text-align: left;
  font-size: 12px;
  font-weight: normal;
  border-right: none;
}
#site-navi .dropmenu li li a:hover {
  background: #fbf6e0;
}
#site-navi .dropmenu li ul li {
  overflow: hidden;
  height: 0;
  transition: .2s;
}
#site-navi .dropmenu li:hover ul li {
  overflow: visible;
  height: 38px;
}
.nav_sp ul {
  display: block;
  margin: 0 -0.65rem;
  padding: 0;
}
.nav_sp ul li {
  display: block;
  float: left;
  height: auto;
  padding: 0 0.25rem 0.65rem;
}
/*sticky_header*/
#sticky_header {
  background: #fff;
  height: 70px;
  display: none;
  left: 0;
  padding: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
  border-bottom: solid 1px #f4debe;
}
#sticky_header .left {
  width: 60%;
}
#sticky_header .right {
  width: 40%;
}
#sticky_header .dropmenu {
  *zoom: 1;
  width: 100%;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
}
#sticky_header .dropmenu:before, .dropmenu:after {
  content: "";
  display: table;
}
#sticky_header .dropmenu:after {
  clear: both;
}
#sticky_header .dropmenu > li {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  height: 70px;
  text-align: center;
}
#sticky_header .dropmenu > li a {
  display: block;
  font-size: 15px;
  line-height: 70px;
  margin: 0;
  padding: 0 25px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.35s;
}
#sticky_header .dropmenu li a .hide-for-medium-down {
  display: inline !important;
}
#sticky_header .dropmenu li:last-child a {
  border-right: none;
}
#sticky_header .dropmenu li ul {
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
#sticky_header .dropmenu li ul li {
  width: 250%;
}
#sticky_header .dropmenu li ul li a {
  font-size: 13px;
  line-height: 38px;
  text-align: left;
  border-top: 1px solid #f5f5f5;
  background: #fff;
  color: #333;
  font-weight: normal;
  border-right: none;
}
#sticky_header .dropmenu li:hover > a {
  background: #fff;
  color: #3a1906;
}
#sticky_header .dropmenu li li a:hover {
  background: #fbf6e0;
}
#sticky_header .dropmenu li ul li {
  overflow: hidden;
  height: 0;
  transition: .2s;
}
#sticky_header .dropmenu li:hover ul li {
  overflow: visible;
  height: 38px;
}
#sticky_header .contactbtn {
  margin: 0.5rem 1rem 0.5rem 0;
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  align-items: center;
}
#sticky_header .contactbtn img {
  max-height: 50px;
}
#sticky_header .contactbtn li a.button {
  display: inline-block;
  background-color: #EC7C9B;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 0.8rem 2rem 0.8rem 3rem;
  margin: 0;
  border-radius: 2rem;
  transition: background-color 0.3s ease, transform 0.2s ease;
  text-align: center;
  position: relative;
}
#sticky_header .contactbtn li a.button:hover {
  background-color: #d96b89;
  transform: translateY(-2px);
}
#sticky_header .contactbtn li a.button::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: no-repeat center / contain;
  filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(2%) hue-rotate(340deg) brightness(101%) contrast(102%);
}
#sticky_header .contactbtn li.mail a.button {
  background-color: #6AB8E3;
}
#sticky_header .contactbtn li.mail a.button:hover {
  background-color: #68a7d8;
}
#sticky_header .contactbtn li.mail a.button::before {
  background-image: url("../img/icon_mail.png");
}
#sticky_header .contactbtn li.reserve a.button {
  background-color: #ff8a47;
}
#sticky_header .contactbtn li.reserve a.button:hover {
  background-color: #e67935;
}
#sticky_header .contactbtn li.reserve a.button::before {
  background-image: url("../img/icon_calendar.png");
}
@media (max-width: 1025px) {
  #sticky_header .contactbtn {
    flex-wrap: wrap;
    justify-content: center;
  }
  #sticky_header .contactbtn li a.button {
    font-size: 0.9rem;
    padding: 0.7rem 1.6rem 0.7rem 2.6rem;
  }
}
@media print, screen and (max-width: 1380px) {
  #sticky_header .contactbtn li:first-child {
    display: none;
  }
}
@media print, screen and (max-width: 1280px) {
  #sticky_header .contactbtn li {
    padding: 10px;
    width: 100%;
  }
  #sticky_header .contactbtn li:last-child {
    display: none !important;
  }
  #sticky_header .left {
    width: 75%;
  }
  #sticky_header .right {
    width: 25%;
  }
}
@media print, screen and (max-width: 1200px) {
  #sticky_header .dropmenu li a {
    font-size: 14px;
    padding: 0 1rem;
  }
  #sticky_header .contactbtn .button {
    font-size: 1rem;
    padding: 0 1rem;
  }
}
#site-sidebar ul li {
  margin-bottom: 1rem;
}
#site-sidebar .info dl {
  background: #fff;
  border: solid 1px #f5e4ca;
  padding: 1rem;
}
#site-sidebar .info table th, #site-sidebar .info table td {
  padding: 3px 0;
  font-size: 11px;
  text-align: center;
}
#site-sidebar .info table {
  margin-bottom: 0.65rem;
}
#site-sidebar .info .hours {
  font-size: 0.8125rem;
}
#site-sidebar .info .close {
  background: #6cc523;
  color: #fff;
  border-radius: 15px;
  margin: 0.4rem 0.65rem;
  text-align: center;
}
#site-sidebar .info .button {
  min-width: 100%;
  background: #ef7945;
}
#site-sidebar .info .button, #site-sidebar .info dl, #site-sidebar .info dd.mb00 {
  margin-bottom: 0 !important;
}
#site-sidebar li.menu {
  border: solid 1px #f5e4ca;
  margin-bottom: 1rem;
  background: #fff;
}
#site-sidebar li.menu.last {
  margin-bottom: 1rem;
}
#site-sidebar li.menu .ttl, #site-sidebar .info .ttl {
  background: #39230d;
  padding: 8px 0;
  font-size: 16px;
  margin-bottom: 0.65rem;
}
#site-sidebar .info .ttl {
  margin-bottom: 0;
}
#site-sidebar .info .button {
  font-size: 12px;
  width: 100%;
  padding: 0.5rem;
  margin: 0 auto;
}
#site-sidebar li.menu .ttl span, #site-sidebar .info .ttl span {
  border-left: solid 6px #ef7945;
  color: #fff;
  padding-left: 10px;
  font-weight: bold;
}
#site-sidebar li.menu ul {
  margin: 0;
  padding: 0 0.85rem 0.5rem;
}
#site-sidebar li.menu li, #site-sidebar li.box li {
  margin-bottom: 5px;
  font-size: 0.8125rem;
}
#site-sidebar li.menu li.small {
  font-size: 0.75rem;
}
#site-sidebar li.menu li .fa {
  color: #f79431;
}
#site-sidebar li a:hover {
  color: #ef7945;
  text-decoration: underline;
}
#site-sidebar .info a:hover {
  color: #fff;
  text-decoration: underline;
}
#site-sidebar li.box {
  border: solid 1px #f5e4ca;
  border-top: none;
  margin-bottom: 1rem;
  background: #fff;
}
#site-sidebar li.box ul {
  margin: 0;
  padding: 1rem 1rem;
}
#site-sidebar li.box .fa {
  color: #f5e4ca;
}
#site-sidebar li.box li {
  margin-bottom: 0.25rem;
}
#site-sidebar li.box li a span {
  background: #fbf6e0;
  border-radius: 4px;
}
#site-sidebar li.side_scared .title {
  background: #ff8d4b;
  text-align: center;
  padding: 0.45rem;
  color: #fff;
  font-size: 1rem;
}
#site-sidebar .blog_sidebar {
  border: 1px solid #e4d9c7;
  float: none;
  margin-bottom: 30px;
  padding: 1rem 1rem 10px;
}
#site-sidebar .blog_sidebar dt {
  margin-bottom: 15px;
  background: #f5f5f5;
  padding: 5px;
}
#site-sidebar .blog_sidebar li:last-child a {
  border-bottom: medium none;
}
#site-sidebar .blog_sidebar dd {
  border: medium none;
  padding: 0;
}
#site-sidebar .blog_sidebar dd li a {
  border-bottom: 1px dotted #aaa;
  color: #444;
  display: block;
  font-size: 13px;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
#site-sidebar .blog_sidebar dd li .date {
  display: block;
  font-size: 10px;
}
#site-sidebar .blog_sidebar dd .button {
  font-size: 13px;
  margin: 0;
}
#site-sidebar .nigate .ttl, #site-sidebar .blog-side .ttl {
  background: #ef7945;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  padding: 0.35rem;
}
#site-sidebar .blog-side .ttl {
  background: #74d85d;
}
#site-sidebar .blog-side {
  border: solid 1px #f4debe;
  padding: 0.65rem 0.65rem 0;
  margin-bottom: 1rem;
}
#site-sidebar .blog-side li {
  padding: 0.25rem 0rem;
  font-size: 0.75rem;
  border-bottom: dotted 1px #f4debe;
}
#site-sidebar .blog-side li:last-child {
  border-bottom: none;
}
/*footer
---------------------------------------------------------*/
#site-footer {
  background: #39230d;
  width: 100%;
  color: #fff;
}
#site-footer .contact_wrap {
  background: #ff8d4b;
  width: 100%;
  padding: 4rem 0;
}
#site-footer .contact_wrap li {
  width: 50%;
  float: left;
}
#site-footer .footer_info {
  padding: 3rem 0 2rem;
}
#site-footer .footer_info .clinic {
  font-size: 1rem;
}
#site-footer .footer_info .clinic span {
  font-size: 3rem;
  display: block;
  margin: 1.35rem 0;
}
#site-footer .sitemap dt {
  font-size: 18px;
  padding-bottom: 6px;
  border-bottom: dotted 1px #f0ede5;
}
#site-footer .sitemap ul {
  overflow: hidden;
}
#site-footer .sitemap li {
  margin-top: 6px;
  font-size: 12px;
}
#site-footer .two-row li {
  float: left;
  width: 100%;
}
#site-footer .sitemap dd a {
  color: #fff;
}
#site-footer .sitemap dd li .fa {
  color: #ff8d4b;
  padding-right: 5px;
}
#page-top {
  bottom: 10px;
  position: fixed;
  right: 10px;
  width: 40px;
}
.copyright {
  color: #fff;
  text-align: center;
  width: 100%;
  padding: 1rem;
  font-size: 10px;
  margin-top: 0;
}
#sp_contact {
  background: #fff none repeat scroll 0 0;
  bottom: 0;
  clear: both;
  overflow: hidden;
  position: fixed;
  width: 100%;
  padding: 0.5rem 0.25rem;
  margin: 0;
}
@media print, screen and (max-height: 400px) {
  #sp_contact {
    display: none !important;
  }
}
#sp_contact li {
  float: left;
  text-align: center;
  width: 50%;
  padding: 0 0.25rem;
  margin: 0;
}
.ly_fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  z-index: 9999;
}
.ly_fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  z-index: 9999;
}
.ly_fixed-bottom__btn {
  flex: 1;
  position: relative;
  text-align: center;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 1.25rem 0 1.25rem 1rem;
  font-size: 0.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}
.ly_fixed-bottom__btn::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: no-repeat center / contain;
  filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(2%) hue-rotate(340deg) brightness(101%) contrast(102%);
}
/* 電話（#4bda64） */
.ly_fixed-bottom__btn.tel {
  background-color: #4bda64;
}
.ly_fixed-bottom__btn.tel:hover {
  background-color: #3fc457;
}
.ly_fixed-bottom__btn.tel::before {
  background-image: url("../img/icon_tel.png");
}
/* WEB予約（PCと同じ #ff8a47） */
.ly_fixed-bottom__btn.reserve {
  background-color: #ff8a47;
}
.ly_fixed-bottom__btn.reserve:hover {
  background-color: #e67935;
}
.ly_fixed-bottom__btn.reserve::before {
  background-image: url("../img/icon_calendar.png");
}
/* メール相談（PCと同じ #6AB8E3） */
.ly_fixed-bottom__btn.mail {
  background-color: #6AB8E3;
}
.ly_fixed-bottom__btn.mail:hover {
  background-color: #68a7d8;
}
.ly_fixed-bottom__btn.mail::before {
  background-image: url("../img/icon_mail.png");
}
@media (max-width: 768px) {
  .ly_fixed-bottom {
    display: flex;
  }
  body {
    padding-bottom: 60px;
  }
}
/*section
---------------------------------------------------------*/
.section {
  margin-bottom: 4rem;
  clear: both;
  overflow: hidden;
}
/*.section.lined {
	border-left:solid 1px #f9eedd;
	padding-left:3rem;
	margin-bottom:4rem;
	overflow:hidden;
}*/ .section.lined {
  border: solid 1px #f9eedd;
  padding: 3rem;
  margin-bottom: 2.5rem;
  overflow: hidden;
  background: url("../img/bg_section.png") 0 0 no-repeat transparent;
  background-size: 10px;
}
.section section {
  margin-bottom: 2rem;
  clear: both;
  overflow: hidden;
}
.section > p:last-child {
  margin-bottom: 0;
}
.sec_ttl {
  color: #674d3f;
  font-size: 2rem;
  margin-bottom: 20px;
  font-weight: 500;
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
/*.sec_ttl01 {
	font-size: 1.5rem;
	margin-bottom: 20px;
	color: #674d3f;
	padding: 0.5rem 0;
	clear: both;
	font-weight: 600;
	font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border-bottom: solid 3px #ff8d4b;
}*/
.sec_ttl01 {
  font-size: 1.4rem;
  margin-bottom: 20px;
  padding: 0 0 0.5rem;
  clear: both;
  color: #554034;
  font-weight: 600;
  font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border-bottom: solid 1px #f3e5d0;
}
.sec_ttl02 {
  padding: 0.75rem 1rem;
  color: #674d3f;
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 20px;
  border-radius: 4px;
  clear: both;
  background: #f7f3ee;
}
.sec_ttl03 {
  color: #674d3f;
  font-weight: 600;
  font-size: 1.125rem;
  padding: 0.65rem 0;
  margin-bottom: 1.25rem;
  border-bottom: 3px solid #f8f7e0;
  clear: both;
}
.sec_ttl04 {
  color: #674d3f;
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
  clear: both;
}
.sec_ttl .en {
  color: #e9d2b6;
  display: block;
  font-size: 50%;
  font-family: Arial, Helvetica, sans-serif;
}
.lead {
  font-size: 1.35rem;
  color: #4b4443;
  line-height: 1.5em;
}
.section a {
  text-decoration: underline;
}
.section a:hover, .section a.button {
  text-decoration: none;
}
.page_lead {
  font-size: 1.65rem;
  color: #421d0b;
  line-height: 1.45em;
  font-weight: 500;
  position: relative;
}
.page_lead_after {
  font-size: 1.35rem;
  color: #e95b1d;
  line-height: 1.5em;
  font-weight: 500;
}
/*page_ttl+pakuzu
---------------------------------------------------------*/
.page_ttl {
  padding: 4rem 1rem 3.5rem;
  background-image: url(../img/bg_pagettl.jpg);
  background-size: cover;
  background-position: center center;
}
.page_ttl h1 {
  font-size: 2.25rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  text-shadow: 1px 1px 8px #fff, 1px 1px 8px #fff;
}
.breadwrap {
  padding: 1rem 1rem 2rem;
}
.breadcrumbs {
  display: block;
  list-style: none;
  margin: 0 auto 1rem;
  overflow: hidden;
}
.footer-bnrs-l li {
  padding-bottom: 1.25rem;
}
.footer-bnrs-r li a {
  margin-bottom: 2rem;
  display: block;
}
@media print, screen and (max-width: 64.0625em) {
  #site-header .contact_area {
    margin-top: 0.5rem;
  }
  #site-header {
    margin-bottom: 0.65rem;
  }
  #site-header .bg {
    height: 480px;
  }
  #site-header .logo h1 {
    font-size: 10px;
  }
  #site-navi .dropmenu > li {
    width: 33.3%;
    padding: 0;
    text-align: center;
  }
  #site-navi .dropmenu li a {
    padding: 1.125rem 1rem;
    font-size: 14px;
    border-bottom: solid 1px #f4debe;
  }
  #site-navi .dropmenu li:nth-child(4) a {
    border-left: solid 1px #f4debe;
  }
  #site-navi .columns {
    padding: 0;
    margin-top: -0.65rem;
  }
  #site-navi .dropmenu li ul {
    display: none !important;
  }
  /*sticky_header*/
  #sticky_header {
    display: none !important;
  }
  /*footer
---------------------------------------------------------*/
  #site-footer .contact_wrap {
    background: #ff8d4b;
    width: 100%;
    padding: 1.5rem 0;
  }
  #site-footer .contact_wrap li {
    width: 50%;
    float: left;
  }
  #site-footer .footer_info {
    padding: 3rem 0 2rem;
  }
  #site-footer .footer_info .clinic {
    font-size: 1rem;
  }
  #site-footer .footer_info .clinic span {
    font-size: 3rem;
    display: block;
    margin: 1.35rem 0;
  }
  #site-footer .sitemap dt {
    font-size: 18px;
    padding-bottom: 6px;
    border-bottom: dotted 1px #f0ede5;
  }
  #site-footer .sitemap ul {
    overflow: hidden;
  }
  #site-footer .sitemap li {
    margin-top: 6px;
    font-size: 12px;
  }
  #site-footer .two-row li {
    float: left;
    width: 50%;
  }
  #site-footer .sitemap dd a {
    color: #fff;
  }
  #site-footer .sitemap dd li .fa {
    color: #ff8d4b;
    padding-right: 5px;
  }
  #page-top {
    bottom: 10px;
    position: fixed;
    right: 10px;
    width: 40px;
  }
  /*section
---------------------------------------------------------*/
  .section {
    margin-bottom: 1.5rem;
  }
  .section.lined {
    padding-left: 2rem;
    margin-bottom: 3rem;
  }
  .section section {
    margin-bottom: 2rem;
    clear: both;
    overflow: hidden;
  }
  .sec_ttl {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  .sec_ttl01 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
  }
  .sec_ttl02 {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 1rem;
  }
  .sec_ttl03 {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  .sec_ttl04 {
    font-size: 0.93755rem;
    margin-bottom: 1rem;
    clear: both;
  }
  .lead {
    font-size: 1rem;
  }
  .footer-bnrs-l li, .footer-bnrs-r li {
    padding: 0.5rem 0.5rem 0.25rem;
  }
  .footer-bnrs-l ul, .footer-bnrs-r ul {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}
@media print, screen and (max-width: 46.250em) {
  .section p br {
    display: none;
  }
  .section p br.space {
    display: block;
  }
  br.space::after {
    content: "";
    margin-bottom: 1rem;
    display: block;
    height: 1rem;
  }
  #site-header > section {
    padding-top: 5px;
  }
  #site-header .contact_area.sp {
    max-width: 100%;
    margin-top: 5px;
  }
  #site-header .contact_area.sp ul {
    margin: 0 -0.5rem;
  }
  #site-header .contact_area.sp li {
    margin: 0;
    float: left;
  }
  #site-header .contact_area.sp .logo {
    width: 50%;
  }
  #site-header .contact_area.sp .tel {
    width: 36%;
    margin: 0 2%;
  }
  #site-header .contact_area.sp .mail {
    width: 10%;
  }
  #site-header .bg {
    margin-bottom: 0.65rem;
  }
  #site-navi-sp ul {
    display: table;
    width: 100%;
    background: #fff;
    margin-top: -1rem;
    margin-bottom: 0;
  }
  #site-navi-sp ul li {
    display: table-cell;
    width: 20%;
    text-align: center;
    border: solid 1px #f6e4c9;
    white-space: nowrap;
  }
  #site-navi-sp ul li a {
    padding: 1rem 0;
    width: 100%;
    height: 100%;
    display: block;
  }
  #site-navi-sp ul li img {
    height: 40px;
  }
  #site-navi-sp ul li .text {
    display: block;
    font-size: 12px;
    margin-top: 0.25rem;
  }
  #site-navi-sp2 ul li {
    float: left;
    width: 20%;
    padding: 0.25rem;
  }
  #site-navi-sp2 ul {
    padding: 0 0.25rem;
    overflow: hidden;
    background: #fff;
    margin: -0.25rem 0 0.65rem;
  }
}
@media print, screen and (max-width: 40.0625em) {
  .right.img, .left.img {
    width: 100%;
    float: none;
  }
  .right.text, .left.text {
    width: 100%;
    float: none;
  }
  /*.section.lined {
	padding:0.75rem;
	margin-bottom:2rem;
	
}*/
  .section.lined {
    padding: 1rem 0;
    margin-bottom: 1rem;
    border-bottom: none;
    border-left: none;
    border-right: none;
    background: none;
    border-width: 2px;
  }
  .section section {
    margin-bottom: 1rem;
  }
  .sec_ttl {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .sec_ttl01 {
    font-size: 1.125rem;
    padding: 0.5rem 0;
  }
  .sec_ttl02 {
    font-size: 1rem;
  }
  .sec_ttl03 {
    font-size: 0.9375rem;
  }
  .sec_ttl04 {
    font-size: 0.875rem;
  }
  .lead {
    font-size: 0.875rem;
  }
  .page_lead {
    font-size: 1.35rem;
    line-height: 1.35em;
  }
  .page_lead_after {
    font-size: 1.125rem;
  }
  .page_lead br, .page_lead_after br {
    display: none;
  }
  /*page_ttl+pakuzu
---------------------------------------------------------*/
  .page_ttl {
    padding: 0.75rem 0.5rem 0.35rem;
    background: none;
    background-color: #f7ece2;
  }
  .page_ttl h1 {
    font-size: 1.65rem;
    font-weight: 600;
  }
  [class*="block-grid-"] > li {
    padding: 0 1rem 1.5rem;
  }
  #site-header .bg {
    height: 300px;
  }
  #site-header .page {
    border-bottom: none;
  }
  #site-navi .dropmenu > li {
    width: 50%;
  }
  #site-navi .dropmenu > li > a {
    margin: 5px 2.5px 0;
    background: #ff8d4b;
    border-radius: 4px;
    color: #fff;
  }
  #site-navi .dropmenu li a, #site-navi .dropmenu li:nth-child(5) a {
    padding: 1rem 0;
    font-size: 12px;
  }
  #site-navi-sp ul li img {
    height: 35px;
  }
  #site-navi-sp ul li .text {
    font-size: 10px;
  }
  #site-navi-sp ul li a {
    padding: 0.5rem 0;
  }
  #site-navi .dropmenu li:nth-child(4) a {
    border-left: none;
  }
  #site-footer .contact_wrap li {
    width: 100%;
    float: none;
  }
  #site-footer .contact_wrap li:first-child {
    margin-bottom: 1rem;
  }
  #site-footer .footer_info {
    padding: 1rem 0 3rem;
  }
  #site-footer .footer_info .clinic {
    font-size: 0.875rem;
  }
  #site-footer .footer_info .clinic span {
    font-size: 1.5rem;
    display: block;
    margin: 0.5rem 0;
  }
  .footer-bnrs-l li, .footer-bnrs-r li {
    padding: 0.5rem 0.5rem 0.5rem;
  }
  .footer-bnrs-l ul, .footer-bnrs-r ul {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .footer-bnrs-r li:nth-child(2) a {
    margin-bottom: 1rem;
  }
  .timetable th, .timetable td {
    padding: 0.25rem;
    font-size: 0.8125rem;
  }
  .table th, .table td {
    font-size: 0.8125rem;
    padding: 0.65rem;
  }
  .table td input, .table td textarea {
    margin: 0;
  }
  .table.break tr th, .table.break tr td {
    display: block;
    width: 100%;
  }
  .table.break .table th, .table.break .table td {
    display: table-cell;
    width: auto;
    font-size: 0.8rem;
    padding: 0.25rem;
  }
}
@media print, screen and (max-width: 30.000em) {
  #site-header .contact_area.sp .logo {
    width: 40%;
  }
  #site-header .contact_area.sp .tel {
    width: 44%;
    margin: 0 2%;
  }
  #site-header .contact_area.sp .mail {
    width: 12%;
  }
  #site-navi-sp ul li img {
    height: 25px;
  }
  #site-navi-sp ul li .text {
    font-size: 9px;
  }
  #site-navi-sp ul li a {
    padding: 0.35rem 0;
  }
}
/* 予約パネル全体 */
.ly_reserve-panel {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
/* 表示状態 */
.ly_reserve-panel.active {
  display: flex;
}
/* パネル本体 */
.ly_reserve-panel__box {
  background: #fff;
  border-radius: 1rem;
  padding: 2rem 2.5rem;
  max-width: 580px;
  width: 90%;
  text-align: center;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.3);
  position: relative;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 閉じるボタン */
.ly_reserve-panel__close {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 2rem;
  color: #aaa;
  cursor: pointer;
  line-height: 1;
  transition: color 0.3s;
}
.ly_reserve-panel__close:hover {
  color: #333;
}
/* 各テキスト */
.ly_reserve-panel__title {
  font-weight: 700;
  margin-bottom: 0.65rem;
  font-size: 1.4rem;
  color: #554034;
}
.ly_reserve-panel__text {
  margin-top: 1rem;
  color: #333;color: #554034;
  font-size: 0.95rem;
}.ly_reserve-panel__text .bold{
 color: #554034;
	text-decoration:underline;
}
.ly_reserve-panel__note {
  margin-top: 1rem;
  line-height: 1.6;
  text-align: left;
}
/* ボタン */
.ly_reserve-panel__btn {
  display: inline-block;
  background: #ff8a47;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 0.8rem 2rem;
  border-radius: 2rem;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.ly_reserve-panel__btn:hover {
  background-color: #e67935;
  transform: translateY(-2px);
}
@media screen and (max-width: 768px) {
  .ly_reserve-panel__box {
    padding: 1.4rem 1.2rem;
    max-width: 90%;
    border-radius: 0.8rem;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.25);
  }
  .ly_reserve-panel__close {
    top: 8px;
    right: 10px;
    font-size: 1.6rem;
  }
  .ly_reserve-panel__title {
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
  }
  .ly_reserve-panel__text {
    font-size: 0.9rem;
    margin-top: 0.8rem;
    line-height: 1.6;
	
  }.ly_reserve-panel__text br{
    display:none;
  }
  .ly_reserve-panel__note {
    font-size: 0.85rem;
    margin-top: 0.8rem;
    line-height: 1.6;
  }
  .ly_reserve-panel__btn {
    padding: 0.6rem 1.4rem;
    font-size: 0.9rem;
    border-radius: 1.5rem;
  }
}
.grecaptcha-badge {
    transform: translateY(-60px) !important;
  }