@charset "UTF-8";
/**************************************************************
【色変更箇所】
メインカラー:3282fa
サブカラー：f9eed9
更に薄い色：df3f3
**************************************************************/
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;
}

/* 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 {
  /* CSS3草案 */
  /* Safari,Google Chrome用 */
  border-radius: 10px;
  /* Firefox用 */
}

/* ------------------------------------------------------------------------------
	リンク
------------------------------------------------------------------------------- */
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;
}

#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 {
    border-top: var(--color-primary) 5px solid;
  }
  #header {
    position: relative;
    z-index: 999;
    width: 1024px;
    padding-bottom: 5px;
    margin: 0 auto;
  }
	h1#tag {
    margin-top: 10px;
  }
  h1#tag span {
    position: absolute;
    right: 0;
    display: block;
    width: 1024px;
    padding: 3px 0;
    margin: 0 auto;
    font-size: 12px;
    font-weight: normal;
    color: #4b4b4b;
    text-align: right;
  }
  h2#logo{
    display: block;
    float: left;
    padding: 15px 0;
  }
	h2#logo2{
    display: block;
    float: left;
    padding: 0 0 15px;
  }
	h2#logo2 img{
    max-width: 350px;
		height: auto;
  }
  #header #header_contact {
    float: right;
    padding-top: 20px;
    text-align: right;
  }
  #header #header_contact a {
    font-size: 25px;
    color: var(--color-primary);
    text-decoration: none;
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .nav {
    background: var(--color-gnavi_bg);
  }
  ul#gnavi {
    display: flex;
    justify-content: center;
    width: 1024px;
    margin-inline: auto;
    text-align: center;
  }
  ul#gnavi li {
    display: block;
    flex: 1;
    background: var(--color-gnavi_li_bg);
    background-size: 100% calc(100% + 2px);
  }
  ul#gnavi li a:link, ul#gnavi li a:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    background: var(--color-gnavi_li_off_bg);
    background-size: 100% calc(100% + 2px);
  }
  ul#gnavi li a:hover, ul#gnavi li a:active {
    background-image: none;
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: left;
    width: 720px;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    float: right;
    width: 275px;
    background-color: var(--color-second);
    border: 1px solid #fff;
    box-shadow: 0 0 3px 1px #999;
  }
  #sidebar section {
    border: 2px #fff solid;
  }
  #sidebar h4 {
    padding: 5px 10px;
    margin: 20px 15px 10px;
    font-size: 15px;
    font-weight: normal;
    background-color: #fff;
    border: 1px var(--color-primary) solid;
  }
  #sidebar h4 span em {
    font-size: 20px;
    color: var(--color-primary);
  }
  #sidebar h5 {
    font-size: 15px;
    font-weight: normal;
  }
  .timet h5 {
    font-size: 15px;
    font-weight: normal;
  }
  #sidebar h5 span,
  .timet h5 span {
    font-size: 18px;
    color: var(--color-primary);
  }
  #sidebar ul li span {
    font-size: 18px;
    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::before {
    color: var(--color-primary);
    content: "●";
  }
  #sidebar ul li.wide {
    width: 90%;
  }
  #sidebar ul li.shisetsu {
    width: 100%;
  }
  #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;
  }
  /**************************************************************
  #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,3282fa+50,3282fa+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary) 100%);
  }
  footer .content {
    width: 1024px;
    padding: 20px 0 0;
    margin: 0 auto;
    color: #fff;
  }
  ul#footer_nav {
    margin: 30px 0;
    text-align: center;
  }
  ul#footer_nav li {
    display: inline-block;
    padding: 0 10px;
    line-height: 1;
    text-align: center;
    border-right: 1px solid var(--color-primary);
  }
  ul#footer_nav li.menu01 {
    border-left: 1px solid var(--color-primary);
  }
  ul#footer_nav li a:link, ul#footer_nav li a:visited {
    line-height: 1;
    color: var(--color-primary);
    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;
  }
}
/* 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: 90px;
    background-color: #fff;
    box-shadow: 0 0 4px 0 #666;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .fl,
  .fr {
    display: block;
    float: none;
    margin: 20px auto;
  }
  .sp {
    display: none;
  }
  #container {
    width: 100%;
  }
  .content {
    width: 90%;
    padding: 20px;
    margin: 5%;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #header {
    position: relative;
    z-index: 999;
    width: 100%;
    padding-bottom: 5px;
    margin: 0 auto;
  }
  h1#tag {
    overflow: hidden;
    font-weight: normal;
    color: #4b4b4b;
    /*    text-indent: 100%; */
    white-space: nowrap;
  }
  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: 0;
    margin-left: 5px;
  }
	h2#logo2 {
    display: block;
    width: calc(100% - 140px);
    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;
  }
  /**************************************************************
  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,3282fa+50,3282fa+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary) 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-primary)+0,3282fa+50,3282fa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary) 100%);
  }
  #home ul#gnavi li.menu01 a {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,3282fa+50,3282fa+100 */
    background: var(--color-primary);
    background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary) 100%);
  }
  ul.accordion p span {
    position: absolute;
    top: 35px;
    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: 35px;
    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 {
    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: 93%;
    padding: 0 3%;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  #sidebar {
    width: 100%;
    margin: 20px auto;
    background-color: var(--color-second);
    box-shadow: 0 0 3px 1px #999;
  }
  #sidebar section {
    border: 2px #fff solid;
  }
  #sidebar h4 {
    padding: 5px 10px;
    margin: 20px 15px 10px;
    font-size: 15px;
    font-weight: normal;
    background-color: #fff;
    border: 1px var(--color-primary) solid;
  }
  #sidebar h4 span em {
    font-size: 20px;
    color: var(--color-primary);
  }
  #sidebar h5 {
    font-size: 15px;
    font-weight: normal;
  }
  .timet h5 {
    font-size: 15px;
    font-weight: normal;
  }
  #sidebar h5 span,
  .timet h5 span {
    font-size: 18px;
    color: var(--color-primary);
  }
  #sidebar ul li span {
    font-size: 18px;
    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::before {
    color: var(--color-primary);
    content: "●";
  }
  #sidebar ul li.wide {
    width: 90%;
  }
  #sidebar ul li.shisetsu {
    width: 100%;
  }
  #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;
  }
  /**************************************************************
  #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,3282fa+50,3282fa+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 50%, var(--color-primary) 100%);
  }
  footer .content {
    padding: 20px 0 0;
    color: #fff;
  }
  ul#footer_nav {
    width: 90%;
    margin: 10px auto;
    text-align: center;
  }
  ul#footer_nav li {
    display: block;
    padding: 0 10px;
    margin-bottom: 3px;
    line-height: 1;
    text-align: center;
    border: 1px solid var(--color-primary);
  }
  ul#footer_nav li.menu01 {
    border-left: 1px solid var(--color-primary);
  }
  ul#footer_nav li a:link, ul#footer_nav li a:visited {
    display: block;
    line-height: 2;
    color: var(--color-primary);
    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;
  /  **/
}