@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用 */
}

/* ------------------------------------------------------------------------------
	リンク
------------------------------------------------------------------------------- */
a:link, a:visited {
  color: var(--color-primary);
}
a:hover {
  color: var(--color-accent);
  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,
  .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;
    color: #fff;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  h1#tag span {
    display: block;
    width: 1024px;
    padding: 5px 0;
    margin: 0 auto;
  }
  h2#logo {
    display: block;
    float: left;
    width: 390px;
    padding: 15px 0;
  }
  #header #header_contact {
    float: right;
    padding-top: 30px;
    text-align: right;
  }
  #header #header_contact .tel {
    position: relative;
    padding-left: 25px;
    font-size: 25px;
    color: var(--color-primary);
    text-decoration: none;
  }
  #header #header_contact .tel::before {
    position: absolute;
    top: 5px;
    left: 0;
    display: block;
    width: 23px;
    height: 27px;
    content: "";
    background-color: var(--color-primary);
    -webkit-mask-image: url("../images/common/tel.png");
            mask-image: url("../images/common/tel.png");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
  /**************************************************************
  Global menu
  **************************************************************/
  ul.gnavi {
    display: flex;
    gap: 1px;
    width: 100%;
    max-width: 1024px;
    padding: 2px 0;
    margin: 0 auto;
    text-align: center;
    background: url("../images/common/gnavi_bg.jpg") top left repeat-x;
  }
  ul.gnavi li {
    display: block;
    width: 100%;
  }
  ul.gnavi li a:link, ul.gnavi li a:visited {
    display: block;
    width: 100%;
    font-size: 18px;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    border-right: 1px solid #fdfffc;
    /* IE6-9 */
  }
  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-accent)+0,ff6900+100 */
    background: var(--color-accent);
    background: linear-gradient(to bottom, var(--color-accent) 0%, var(--color-accent-dark) 100%);
  }
  /*
  #home ul.gnavi li.menu01{
  	border-left:1px solid #fdfffc;
  	}
  */
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: left;
    width: 720px;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    float: right;
    width: 275px;
    padding-bottom: 10px;
    background-color: #f0f0f0;
    border: 2px #fff solid;
    box-shadow: 0 0 3px 1px #999;
  }
  #sidebar h3 {
    padding: 0 20px;
    font-size: 18px;
    font-weight: normal;
    line-height: 35px;
    color: #fff;
    text-align: center;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  #sidebar h4 {
    padding: 5px 10px;
    margin: 20px 15px 10px;
    font-size: 15px;
    font-weight: normal;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fdfdfd+28,e9e5e4+76,fdfdfd+100 */
    background: #fdfdfd;
    background: linear-gradient(to bottom, #fdfdfd 28%, #e9e5e4 76%, #fdfdfd 100%);
    border: 1px #c4c4c4 solid;
  }
  #sidebar h4 span em {
    font-size: 150%;
    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 {
    font-size: 120%;
    color: var(--color-primary);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  .timet h5 {
    margin: 0 15px;
    font-size: 15px;
    font-weight: normal;
  }
  .timet h5 span {
    font-size: 120%;
    color: var(--color-primary);
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid var(--color-secondary-sub);
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid var(--color-secondary-sub);
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: right;
    width: 275px;
    margin-top: 30px;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  footer .content {
    width: 1024px;
    padding: 20px 0 0;
    margin: 0 auto;
    color: #fff;
  }
  ul#footer_nav {
    margin-bottom: 30px;
    text-align: center;
  }
  ul#footer_nav li {
    display: inline-block;
    padding: 0 10px;
    line-height: 1;
    text-align: center;
    border-right: 1px solid #fff;
  }
  ul#footer_nav li.menu01 {
    border-left: 1px solid #fff;
  }
  ul#footer_nav li a:link, ul#footer_nav li a:visited {
    line-height: 1;
    color: #fff;
    text-decoration: none;
  }
  ul#footer_nav li a:hover, ul#footer_nav li a:active {
    color: #ccc;
  }
  p.copyright {
    padding-bottom: 15px;
    font-size: 12px;
    line-height: 2.5;
    color: #fff;
    text-align: center;
  }
}
/* Max width of 768 pixels.
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  #slider_box {
    margin-top: 0 !important;
  }
  .sp_fix {
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    background-color: #fff;
    box-shadow: 0 0 4px 0 #666;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .pc {
    display: none;
  }
  .fl {
    float: left;
  }
  .fr {
    float: right;
  }
  #container {
    width: 90%;
    margin: 5%;
  }
  .content {
    width: 90%;
    padding: 20px;
    margin: 5%;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    width: 100%;
    padding-top: 0 !important;
    margin-top: 0 !important;
    border: 0 red solid;
  }
  h1#tag {
    /* IE6-9 */
    overflow: hidden;
    font-weight: normal;
    color: #fff;
    white-space: nowrap;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  h1#tag span {
    display: block;
    padding: 10px 0;
    font-size: 10px;
    text-align: center;
  }
  h2#logo {
    display: block;
    width: calc(100% - 120px);
    min-height: 60px;
    margin-top: 5px;
    margin-left: 5px;
  }
  #header #header_contact {
    width: 100%;
    padding: 3% 0%;
    text-align: center;
  }
  #header #header_contact p {
    padding-top: 10px;
    font-size: 12px;
  }
  /**************************************************************
  Global menu
  **************************************************************/
  ul.gnavi {
    padding: 0;
    text-align: center;
  }
  ul.gnavi li {
    display: block;
  }
  #home ul.gnavi li.menu01 {
    border-top: 1px solid #fdfffc;
  }
  ul.gnavi li a:link, ul.gnavi li a:visited {
    display: block;
    font-size: 18px;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    border-right: 1px solid #fdfffc;
    border-bottom: 1px solid #fdfffc;
    border-left: 1px solid #fdfffc;
    /* IE6-9 */
  }
  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-accent)+0,ff6900+100 */
    background: var(--color-accent);
    background: linear-gradient(to bottom, var(--color-accent) 0%, var(--color-accent-dark) 100%);
  }
  .accordion p span {
    position: absolute;
    top: 5px;
    right: 10px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    /* CSS3草案 */
    /* Safari,Google Chrome用 */
  }
  /* 20240902 add */
  .color-filter {
    filter: var(--color-image-filter);
  }
  span.mob_tel {
    position: absolute;
    top: 5px;
    right: 63px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    /* CSS3草案 */
    /* Safari,Google Chrome用 */
    /* Firefox用 */
  }
  .accordion a,
  .accordion span {
    display: block;
  }
  .accordion ul {
    display: none;
  }
  .accordion > li > p {
    cursor: pointer;
  }
  .accordion > li > ul > li > ul > li:last-child {
    border: none;
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: none;
    width: 100%;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    float: none;
    width: 100%;
    padding-bottom: 10px;
    margin-top: 10%;
    background-color: #f0f0f0;
    border: 2px #fff solid;
    box-shadow: 0 0 3px 1px #999;
  }
  #sidebar h3 {
    padding: 0 20px;
    font-size: 18px;
    font-weight: normal;
    line-height: 35px;
    color: #fff;
    text-align: left;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  #sidebar h4 {
    padding: 5px 10px;
    margin: 20px 15px 10px;
    font-size: 15px;
    font-weight: normal;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fdfdfd+28,e9e5e4+76,fdfdfd+100 */
    background: #fdfdfd;
    border: 1px #c4c4c4 solid;
  }
  #sidebar h4 span {
    padding-right: 5px;
    font-size: 20px;
  }
  #sidebar h4 span em {
    font-size: 25px;
    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 {
    font-size: 120%;
    color: var(--color-primary);
  }
  #sidebar .link {
    margin-top: 10px;
  }
  .timet h5 {
    margin: 0 15px;
    font-size: 15px;
    font-weight: normal;
  }
  .timet h5 span {
    font-size: 120%;
    color: var(--color-primary);
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid var(--color-secondary-sub);
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid var(--color-secondary-sub);
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: none;
    width: 275px;
    margin: 30px auto 0;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,0064aa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  }
  footer .content {
    padding: 20px 0 0;
    color: #fff;
  }
  ul#footer_nav {
    margin-bottom: 30px;
    text-align: center;
  }
  ul#footer_nav li {
    display: block;
    padding: 0 10px;
    margin-bottom: 3px;
    line-height: 1;
    text-align: center;
    border: 1px solid #fff;
  }
  ul#footer_nav li.menu01 {
    border-left: 1px solid #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 {
    padding-bottom: 30px;
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
  }
}
/* 回り込み解除
----------------------------------------------- */
.clearfix {
  min-height: 1px;
}
.clearfix::after {
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  content: ".";
}

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