@charset "UTF-8";
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: 18px;
  line-height: 1.7;
  color: #4b4b4b;
}

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

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

#to_top {
  display: none;
}

/* ------------------------------------------------------------------------------
	菴咏區
------------------------------------------------------------------------------- */
.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 {
  /* CSS3 */
  /* Safari,Google Chrome */
  border-radius: 10px;
  /* Firefox */
}

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

#header {
  width: 100%;
  margin: 0;
}

/* Minimum width of 769 pixels.
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  .fl {
    float: left;
  }
  .fr {
    float: right;
  }
  .mob {
    display: none;
  }
  #container {
    width: 1024px;
    margin: 0 auto;
  }
  .content {
    width: 1024px;
    padding: 20px;
    margin: 0 auto;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    z-index: 999;
    width: 1024px;
    padding-bottom: 5px;
    margin: 0 auto;
  }
  h1#tag {
    font-size: 12px;
    font-weight: normal;
  }
  h1#tag span {
    display: block;
    width: 1024px;
    padding: 5px 0;
    margin: 0 auto;
  }
  h2#logo {
    display: block;
    float: left;
    padding: 5px 0;
  }
  #header #header_contact {
    float: right;
    padding-top: 5px;
    text-align: right;
  }
  #header .tel_text {
    font-size: 20px;
  }
  #header #header_contact a {
    font-size: 30px;
    color: var(--color-primary);
    text-decoration: none;
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .navi_area {
    width: 1024px;
    /* 元：height: 310px; */
    height: 320px;
    margin: 10px auto 0;
  }
  #home #slider_box {
    height: 320px;
  }
  #slider_box {
    float: right;
    width: 720px;
    height: 120px;
    overflow: hidden;
    text-align: center;
    border-radius: 10px 10px 10px 10px/10px 10px 10px 10px;
    box-shadow: 0 0 3px 1px #ccc;
  }
  #slider_box img {
    width: 100%;
  }
  .gnavi_bg {
    position: relative;
    width: 274px;
    height: 312px;
    padding-top: 20px;
    overflow: hidden;
    background: url("../images/common/navi_bg.jpg") top left repeat;
    border-radius: 10px 10px 0 0/10px 10px 0 0;
    box-shadow: 0 0 3px 1px #ccc;
  }
  ul#gnavi {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 274px;
    height: 322px;
    /* IE6-9 */
    padding-bottom: 20px;
    text-align: center;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,629ffb+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary-light) 100%);
    box-shadow: 0 0 3px 1px #999;
  }
  ul#gnavi li a {
    box-sizing: border-box;
    display: block;
    width: 274px;
    height: 62px;
    padding-top: 12px;
    text-align: left;
    text-indent: 34px;
    border-bottom: solid 1px var(--color-primary-light);
    box-shadow: 0 1px rgba(0, 0, 0, 0.1);
  }
  ul#gnavi li.menu_title {
    height: 32px;
    line-height: 38px;
    color: #fff;
    text-align: left;
    text-indent: 34px;
    border-bottom: solid 1px var(--color-primary-light);
    box-shadow: 0 1px rgba(0, 0, 0, 0.1);
  }
  ul#gnavi li span {
    display: block;
    font-size: 10px;
  }
  ul#gnavi li a:link, ul#gnavi li a:visited {
    display: block;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
  }
  ul#gnavi li a:hover, ul#gnavi li a:active {
    color: #000;
    background: #fff;
  }
  ul#gnavi li a:hover span, ul#gnavi li a:active span {
    color: var(--color-primary);
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: right;
    width: 720px;
  }
  #home #main {
    margin-top: 0;
  }
  #main {
    margin-top: -200px;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    position: relative;
    float: left;
    width: 274px;
    padding-bottom: 30px;
    overflow: hidden;
    background: url("../images/common/navi_bg.jpg") top left repeat;
    border-radius: 0 0 10px 10px/0 0 10px 10px;
    box-shadow: 0 0 3px 1px #ccc;
  }
  #sidebar section {
    width: 274px;
    overflow: hidden;
    box-shadow: 0 16px 3px -12px rgba(0, 0, 0, 0.4) inset;
  }
  #sidebar h3 {
    padding: 5px 0;
    margin: 20px 15px 10px;
    font-size: 15px;
    font-weight: normal;
    color: var(--color-accent);
    position: relative;
    border-bottom: 2px solid var(--color-primary);
  }
  #sidebar h3::before {
    position: absolute;
    bottom: 2px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-primary);
  }
  .timet h4 {
    margin: 10px 0;
    font-size: 14px;
    font-weight: normal;
  }
  .timet h4 span {
    color: var(--color-primary);
  }
  #sidebar p {
    padding: 0 15px 10px;
  }
  #sidebar ul {
    margin: 0 15px;
  }
  #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-primary);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: left;
    width: 275px;
    margin-top: 30px;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    margin-top: 30px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0a73c4+0,015ea4+100 */
    background: var(--color-primary);
  }
  footer .content {
    width: 1024px;
    margin: 0 auto;
    color: #fff;
  }
  ul.footer_nav {
    margin-top: 25px;
    margin-bottom: 5px;
    clear: both;
    text-align: right;
  }
  ul.footer_nav li {
    display: inline-block;
    padding: 0 20px 0 0;
    line-height: 150%;
    text-align: center;
  }
  ul.footer_nav li span {
    padding-right: 5px;
    color: var(--color-primary);
  }
  ul.footer_nav li a:link, ul.footer_nav li a:visited {
    line-height: 1;
    color: #4b4b4b;
    text-decoration: none;
  }
  ul.footer_nav li a:hover, ul.footer_nav li a:active {
    color: #ccc;
  }
  p.copyright {
    font-size: 12px;
    line-height: 2;
    color: #fff;
    text-align: center;
  }
}
/* 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: 95px;
    background-color: #fff;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .fl {
    float: left;
  }
  .fr {
    float: right;
  }
  .sp {
    display: none;
  }
  #container {
    width: 100%;
    margin: 0%;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    z-index: 999;
    width: 100%;
    padding-top: 0 !important;
    margin: 0 auto;
    margin-top: 0 !important;
  }
  h1#tag {
    overflow: hidden;
    font-weight: normal;
    color: #777;
    white-space: nowrap;
  }
  h1#tag span {
    display: block;
    padding: 10px 0;
    margin: 0 auto;
    font-size: 9px;
    text-align: center;
  }
  h2#logo {
    display: block;
    width: calc(100% - 120px);
    min-height: 60px;
    margin-top: 0;
    margin-left: 5px;
  }
  #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: 90%;
    height: auto;
    margin: 15px auto 0;
    text-align: center;
    border-radius: 10px 10px 10px 10px/10px 10px 10px 10px;
    box-shadow: 0 0 3px 1px #ccc;
  }
  #slider_box li {
    line-height: 0.6;
  }
  /**************************************************************
  Global menu
  **************************************************************/
  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/var(--color-primary)+0,629ffb+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary-light) 100%);
  }
  ul#gnavi li a:hover, ul#gnavi li a:active {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,629ffb+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary-light) 0%, var(--color-primary) 100%);
  }
  ul.accordion p span {
    position: absolute;
    top: 0;
    right: 10px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    /* CSS3 */
    /* Safari,Google Chrome */
    /* Firefox */
  }
  span.mob_tel {
    position: absolute;
    top: 0;
    right: 63px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-primary);
    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;
  }
  /* 20241001 add */
  .color-filter {
    filter: var(--color-image-filter);
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: none;
    width: 90%;
    margin: 5%;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    float: none;
    width: 100%;
    padding-bottom: 30px;
    margin-top: 20px;
    overflow: hidden;
    background: url("../images/common/navi_bg.jpg") top left repeat;
    box-shadow: 0 0 3px 1px #ccc;
  }
  #sidebar section {
    overflow: hidden;
  }
  #sidebar h3 {
    padding: 5px 0;
    margin: 20px 15px 10px;
    font-size: 18px;
    font-weight: normal;
    color: var(--color-accent);
    position: relative;
    border-bottom: 2px solid var(--color-primary);
  }
  #sidebar h3::before {
    position: absolute;
    bottom: 2px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-primary);
  }
  .timet h4 {
    margin: 10px 0;
    font-size: 15px;
    font-weight: normal;
  }
  .timet h4 span {
    color: var(--color-primary);
  }
  #sidebar p {
    padding: 0 15px 10px;
  }
  #sidebar ul {
    margin: 0 15px;
  }
  #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-primary);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: none;
    width: 275px;
    margin: 30px auto 0;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    padding: 20px 0 60px;
    margin: 0;
    background: var(--color-primary);
  }
  footer .content {
    padding: 0;
    margin: 0 auto;
    color: #fff;
  }
  ul.footer_nav {
    width: 100%;
    padding: 0;
    margin: 0 auto 30px;
    text-align: center;
  }
  ul.footer_nav li {
    display: block;
    padding: 0;
    margin: 0 0 5px;
    line-height: 1;
    text-align: center;
    border: solid 1px #fff;
  }
  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;
  }
  p.copyright {
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
  }
}
/* clearfix
----------------------------------------------- */
.clearfix {
  min-height: 1px;
}
.clearfix::after {
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  content: ".";
}

* html .clearfix {
  height: 1px;
  /* \ */
  /* /
  height: auto;
  overflow: hidden;
  /  **/
}