@charset "UTF-8";
/**************************************************************
色変更箇所

メインカラー：004875
サブカラー：00a5e5

**************************************************************/
body {
  padding: 0;
  margin: 0;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

body {
  background: url("../images/common/body_bg.jpg") top center repeat-y;
}

#wrapper {
  width: 100%;
  max-width: 100%;
}

#container {
  position: relative;
  width: 100%;
  margin: 0;
}

#to_top {
  display: none;
}

header h1 {
  font-size: 11px !important;
  font-weight: normal;
  color: #666;
  text-align: right;
}

/* 20241001 add */
.color-filter {
  filter: var(--color-image-filter);
}

/* ------------------------------------------------------------------------------
	菴咏區
------------------------------------------------------------------------------- */
.mb5 {
  margin-bottom: 5px;
}

.mb10,
.mb20 {
  margin-bottom: 10px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb50 {
  margin-bottom: 50px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt50 {
  margin-top: 50px;
}

.mr5 {
  margin-right: 5px;
}

.mr6 {
  margin-right: 6px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr480 {
  margin-right: 480px;
}

.ml5 {
  margin-left: 5px;
}

.ml10 {
  margin-left: 10px;
}

.ml20 {
  margin-left: 20px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml335 {
  margin-left: 335px;
}

.ml480 {
  margin-left: 480px;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.alignright {
  display: block;
  text-align: right;
}

.small {
  font-size: 0.8em;
}

.maru10 {
  border-radius: 10px;
}

/* ------------------------------------------------------------------------------
	COMMON
------------------------------------------------------------------------------- */
a:link, a:visited {
  color: var(--color-primary);
}
a:hover {
  color: #f60;
  text-decoration: underline;
}
a:active {
  color: #c00;
}
a:hover img {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

/* Minimum width of 769 pixels.
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  #header {
    width: 100%;
    margin: 0;
  }
  .fl {
    float: left;
  }
  .fr {
    float: right;
  }
  .mob {
    display: none !important;
  }
  #wrapper_bg {
    width: 1024px;
    margin: 0 auto;
    background: url("../images/common/navi_bg.png") top left repeat-y;
  }
  .header_logo {
    width: 100%;
    height: 274px;
  }
  .header_logo a {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0px;
  }
  .header_logo img {
    max-width: 100%;
  }
  #container {
    display: inline-table;
    width: 1024px;
    margin: 0 auto;
  }
  #container::after {
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    content: "";
  }
  /* Hides from IE-mac \ */
  * html #container {
    height: 1%;
  }
  #container {
    display: block;
  }
  .content {
    width: 1024px;
    padding: 20px;
    margin: 0 auto;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    width: 1024px;
    margin: 0 auto;
  }
  .header_cont {
    float: right;
    width: 750px;
  }
  h1#logo {
    display: block;
    width: 274px;
  }
  #header #header_contact {
    box-sizing: border-box;
    width: 750px;
    height: 83px;
    padding-top: 12px;
    overflow: hidden;
    text-align: right;
		position: relative;
  }
	#header #header_contact img.insta{
    position: absolute;
		top: 0;
		left: 60px;
		width: 155px;
		height: auto;
  }
  #facility #header #header_contact,
  #clinic #header #header_contact,
  #access #header #header_contact {
    height: 94px;
  }
  #header #header_contact .add {
    float: right;
    padding-top: 0;
    line-height: 1.3;
    text-align: right;
  }
  #header #header_contact .tel_text a {
    float: right;
    width: 230px;
    font-size: 30px;
    color: var(--color-primary);
    text-align: right;
    text-decoration: none;
  }
  #slider_box {
    width: 750px;
    height: 470px;
    margin-bottom: 0 !important;
    overflow: hidden;
    text-align: center;
  }
  #slider_box img {
    width: 100%;
  }
  #clinic #page_title {
    width: 750px;
    height: 180px;
    background: #fff url("../images/page_title_bg01.png") top left no-repeat;
  }
  #facility #page_title {
    width: 750px;
    height: 180px;
    background: #fff url("../images/page_title_bg02.png") top left no-repeat;
  }
  #access #page_title {
    width: 750px;
    height: 180px;
    background: #fff url("../images/page_title_bg03.png") top left no-repeat;
  }
  #order #page_title {
    width: 750px;
    height: 180px;
    background: #fff url("../images/page_title_bg04.png") top left no-repeat;
  }
  #blog #page_title {
    width: 750px;
    height: 180px;
    background: #fff url("../images/page_title_bg05.png") top left no-repeat;
  }
  #page_title h2 {
    padding-top: 80px;
    padding-left: 30px;
    margin-top: -20px !important;
    font-size: 45px;
    font-weight: normal;
    line-height: 120%;
    color: var(--color-primary);
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff;
  }
  #page_title h2 span {
    display: block;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.75;
    color: var(--color-second);
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .navi_area {
    position: relative;
    z-index: 1000;
    float: left;
    width: 274px;
    margin: 0 auto;
  }
  .gnavi_bg {
    width: 274px;
    overflow: hidden;
    background: url("../images/common/navi_bg.png") top left repeat;
  }
  ul#gnavi {
    position: absolute;
    top: 273px;
    left: 0;
    box-sizing: border-box;
    width: 274px;
    text-align: center;
  }
  ul#gnavi li a {
    box-sizing: border-box;
    display: block;
    width: 274px;
    height: 72px;
    padding-top: 14px;
    text-align: center;
    text-decoration: none;
    background: url("../images/common/border.png") top left no-repeat;
  }
  ul#gnavi li span.eng {
    font-size: 10px;
  }
  ul#gnavi li a span.txt {
    display: inline-block;
    width: 55%;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    color: #eee;
    text-align: justify;
    text-align-last: justify;
  }
  ul#gnavi li a span.eng {
    display: block;
    width: 85%;
    padding-top: 2px;
    margin: 0 auto;
    font-size: 10px;
    color: #eee;
    letter-spacing: 0.5em;
    border-top: 1px #777 solid;
  }
  ul#gnavi li a:hover {
    opacity: 0.8;
    transition: 0.2s;
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: right;
    width: 750px;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #home #sidebar {
    margin-top: 0;
  }
  #sidebar {
    float: left;
    width: 274px;
    padding-bottom: 30px;
    margin-top: 285px;
    overflow: hidden;
    background: url("../images/common/navi_bg.png") top left repeat;

	padding-top:150px;
  }
  #sidebar section {
    width: 274px;
    overflow: hidden;
    background: url("../images/common/border.png") top left no-repeat;
  }
  #sidebar h3 {
    padding: 5px 0;
    margin: 20px 15px 10px;
    clear: both;
    font-size: 15px;
    font-weight: normal;
    color: #fff;
    border-bottom: solid 1px #666;
  }
  #sidebar h3#top {
    margin: 20px 15px 10px;
  }
  #sidebar h3 span {
    color: var(--color-second);
  }
  .timet h4 {
    margin-top: 12px;
    font-size: 14px;
    font-weight: normal;
    color: #fff;
  }
  .timet h4 span {
    color: var(--color-second);
  }
  #sidebar p {
    padding: 0 15px 10px;
    margin: 0;
    color: #fff;
  }
  #sidebar ul {
    margin: 0 15px;
    color: #fff;
  }
  #sidebar ul li {
    display: inline-block;
    width: 43%;
  }
  #sidebar ul li.wide {
    width: 90%;
  }
  #sidebar ul li.shisetsu {
    width: 100%;
  }
  #sidebar ul li span {
    color: var(--color-second);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  #sidebar .link a {
    color: #fff;
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: var(--color-tablebg01);
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: var(--color-tablebg02);
  }
  .timet table tr.pm {
    background-color: var(--color-tablebg03);
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: right;
    width: 274px;
    margin-top: 30px;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer .content {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    color: #fff;
  }
  .footer_right {
    float: right;
    width: 750px;
  }
  .link_border {
    width: 690px;
    padding-top: 10px;
    margin: 30px auto 0;
    border-top: dotted 1px #4b4b4b;
  }
  ul.footer_nav {
    margin: 0 auto;
    text-align: center;
  }
  ul.footer_nav li {
    display: inline-block;
    padding: 0 10px;
    line-height: 100%;
    text-align: center;
    border-left: solid 1px #4b4b4b;
  }
  ul.footer_nav li:first-child {
    border-left: none;
  }
  ul.footer_nav li a:link, ul.footer_nav li a:visited {
    line-height: 1;
    text-decoration: none;
  }
  ul.footer_nav li a:hover, ul.footer_nav li a:active {
    color: #ccc;
  }
  div.copyright {
    float: left;
    width: 274px;
    padding: 20px 0;
    background: url("../images/common/border.png") top left no-repeat;
  }
  div.copyright p {
    padding-bottom: 30px;
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
  }
}
.sp2 {
  display: none;
}

/* Minimum width of 768 pixels.
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .sp_fix {
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    height: 65px;
    background-color: #fff;
    box-shadow: 0 0 4px 0 #666;
  }
  .sp2 {
    display: block !important;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  .fl,
  .fr {
    float: none;
  }
  .sp {
    display: none;
  }
  #container {
    width: 100%;
  }
  .content {
    width: 90%;
    margin: 5%;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    width: 100%;
    padding-top: 0;
    margin: 0 auto;
    text-align: center;
    background: url("../images/common/sp/navi_bg.png") top left repeat;
  }
  .header_logo {
    width: 100%;
    min-height: 140px;
    background-color: #fff;
  }
  .header_logo a {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
  }
  .header_logo img {
    max-width: 100%;
  }
  #logo_mob {
    display: block;
    width: calc(100% - 160px);
    min-height: 60px;
    padding-bottom: 3px;
    margin-left: 5px;
    text-align: left;
  }
  #logo_mob a {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
  }
  #logo_mob img {
    max-width: 100%;
    max-height: 100px;
  }
  #header #header_contact {
    width: 100%;
    padding: 3% 0%;
    text-align: center;
  }
  #header #header_contact p {
    padding-top: 10px;
    font-size: 12px;
  }
  #slider_box {
    float: none;
    width: 100%;
    height: auto;
    margin: -10px auto 5px !important;
    text-align: center;
  }
  #slider_box li {
    line-height: 0.6;
  }
  #clinic #page_title {
    width: 100%;
    height: 100px;
    background: #fff url("../images/page_title_bg01.png") top left no-repeat;
    background-size: 130% auto;
  }
  #facility #page_title {
    width: 100%;
    height: 100px;
    background: #fff url("../images/page_title_bg02.png") top left no-repeat;
    background-size: 130% auto;
  }
  #access #page_title {
    width: 100%;
    height: 100px;
    background: #fff url("../images/page_title_bg03.png") top left no-repeat;
    background-size: 130% auto;
  }
  #order #page_title {
    width: 100%;
    height: 100px;
    background: #fff url("../images/page_title_bg04.png") top left no-repeat;
    background-size: 130% auto;
  }
  #blog #page_title {
    width: 100%;
    height: 100px;
    background: #fff url("../images/page_title_bg05.png") top left no-repeat;
    background-size: 130% auto;
  }
  #page_title {
    margin-top: -10px !important;
  }
  #page_title h2 {
    padding-top: 20px;
    padding-left: 20px;
    font-size: 30px;
    font-weight: normal;
    line-height: 120%;
    color: var(--color-primary);
    text-align: left;
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff;
  }
  #page_title h2 span {
    display: block;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.75;
    color: var(--color-second);
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .navi_area {
    float: none;
    width: 100%;
    margin: 0 auto 10px;
  }
  ul#gnavi {
    padding: 0;
    text-align: left;
  }
  ul#gnavi li {
    display: block;
    border-bottom: solid 1px #fff;
  }
  ul#gnavi li a {
    display: block;
  }
  ul#gnavi li span {
    padding-left: 15px;
    font-size: 10px;
  }
  ul#gnavi li a:link, ul#gnavi li a:visited {
    font-size: 18px;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    text-indent: 10px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f58c9b+0,fabec8+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-second) 100%);
  }
  ul#gnavi li a:hover, ul#gnavi li a:active {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f58c9b+0,fabec8+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 100%);
  }
  #home ul#gnavi li.menu01 a,
  #access ul#gnavi li.menu05 a,
  #clinic ul#gnavi li.menu02 a,
  #order ul#gnavi li.menu04 a,
  #blog ul#gnavi li.menu06 a,
  #facility ul#gnavi li.menu03 a {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f58c9b+0,fabec8+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 100%);
  }
  ul.accordion p span {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-second);
    border-radius: 5px;
    /* CSS3 */
    /* Safari,Google Chrome */
    /* Firefox */
  }
  span.mob_tel {
    position: absolute;
    top: 10px;
    right: 63px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-second);
    border-radius: 5px;
    /* CSS3 */
    /* Safari,Google Chrome */
    /* Firefox */
  }
  ul.accordion a,
  ul.accordion span.mob {
    display: block;
  }
  ul.accordion ul {
    display: none;
  }
  ul.accordion > li > p {
    cursor: pointer;
  }
  ul.accordion > li > ul > li > ul > li:last-child {
    border: none;
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: none;
    width: 90%;
    margin: 0 auto;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    float: none;
    width: 100%;
    padding-top: 10px;
    margin-top: 20px;
    overflow: hidden;
    background: url("../images/common/sp/navi_bg.png") top left repeat;
  }
  #sidebar section {
    width: 100%;
    overflow: hidden;
  }
  #sidebar h3 {
    padding: 5px 0;
    margin: 10px 15px;
    font-size: 15px;
    font-weight: normal;
    color: #fff;
    background: url("../images/common/h_title_bg.png") bottom left repeat-x;
    border-bottom: solid 1px #666;
  }
  #sidebar h3 span {
    color: var(--color-second);
  }
  #sidebar p {
    padding: 0 15px 10px;
    margin: 0;
    color: #fff;
  }
  #sidebar ul {
    margin: 0 15px;
    color: #fff;
  }
  #sidebar ul li {
    display: inline-block;
    width: 43%;
  }
  #sidebar ul li.wide {
    width: 90%;
  }
  #sidebar ul li.shisetsu {
    width: 100%;
  }
  #sidebar ul li span {
    color: var(--color-second);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  #sidebar .link a {
    color: #fff;
  }
  .timet h4 {
    margin-top: 12px;
    font-size: 14px;
    font-weight: normal;
    color: #fff;
  }
  .timet h4 span {
    color: var(--color-second);
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: var(--color-tablebg01);
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: var(--color-tablebg02);
  }
  .timet table tr.pm {
    background-color: var(--color-tablebg03);
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: none;
    width: 100%;
    padding-top: 30px;
    margin: 0 auto;
    text-align: center;
    background: url("../images/common/sp/navi_bg.png") top left repeat;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    background: url("../images/common/sp/navi_bg.png") top left repeat;
  }
  footer .content {
    padding: 20px 0;
    margin: 0 auto;
  }
  ul.footer_nav {
    text-align: center;
  }
  ul.footer_nav li {
    display: block;
    padding: 0 10px 0 20px;
    margin-bottom: 5px;
    line-height: 1;
    color: var(--color-primary);
    text-align: center;
    border: solid 1px #fff;
  }
  ul.footer_nav li:last-child {
    margin-bottom: 0;
  }
  ul.footer_nav li a:link, ul.footer_nav li a:visited {
    display: block;
    line-height: 2;
    color: #fff;
    text-decoration: none;
  }
  ul.footer_nav li a:hover, ul.footer_nav li a:active {
    color: #ccc;
  }
  div.copyright {
    float: none;
    width: 100%;
    padding: 20px 0;
    background: url("../images/common/sp/border.png") top left repeat-x;
  }
  div.copyright p {
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
  }
  h1 {
    display: none;
  }
  footer .content {
    padding-bottom: 70px;
  }
}
#home #s_tit1 {
  position: relative;
  top: 1px;
  margin-top: 20px;
}


/*** 251028 ***/

table.about {
  border-collapse:collapse;
  width:100%;
  }
table.about th,
table.about td{
  padding:10px;
  border:1px solid #000;
  }
table.about th {
  text-align:center;
  background: #0075C2;
  color:#fff;
  }
table.about th:first-child {
	width:200px;
	}
@media screen and (max-width:768px){
table.about th:first-child {
	width:auto;
	}
}


/*** 251104 ***/

@media screen and (min-width: 769px) {
  .pc_none {display:none;}
  }
@media screen and (max-width: 768px) {
  .sp_none {display:none;}
  }