@charset "UTF-8";
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  background: url(../images/bg.jpg) repeat center top;
  position: relative; }
  @media (min-width: 768px) {
    body {
      min-width: 980px; } }

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", Meiryo, sans-serif !important; } }
.container {
  padding-right: 10px;
  padding-left: 10px; }
  @media (min-width: 768px) {
    .container {
      width: 980px; } }

.row {
  margin-right: -10px;
  margin-left: -10px; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  padding-right: 10px;
  padding-left: 10px; }

@media (min-width: 768px) {
  #sptel, .pcnone {
    display: none; } }
@media (max-width: 767px) {
  #pctel, .spnone {
    display: none; } }
img {
  max-width: 100%; }

p {
  font-size: 16px; }

ul {
  list-style: none;
  padding: 0; }

.mincho {
  font-family: "Hiragino Mincho Pro", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "Hiragino Mincho Pro", "serif"; }

.purple {
  color: #5f54a4; }

#header1 {
  background-color: #5fb186; }

/* ヘッダー */
header {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 10;
  background-color: #5fb186;
  transition: .2s; }
  header > .header {
    display: flex; }
    header > .header > .h_logo {
      display: flex; }
      header > .header > .h_logo > img {
        display: block;
        height: auto; }
  header > .header_nav {
    background-color: #549a76; }
    header > .header_nav > ul {
      margin: 0; }
      header > .header_nav > ul > li > a, header > .header_nav > ul > li > strong {
        font-weight: normal; }
  header.menu_hide {
    transform: translateY(-100%); }
  @media (min-width: 768px) {
    header > .header {
      padding: 10px;
      max-width: 980px;
      margin: 0 auto; }
      header > .header > .h_tel {
        margin: 0 0 0 auto;
        color: white; }
        header > .header > .h_tel > small {
          font-size: 14px;
          display: block;
          line-height: 1em;
          margin: 0 0 .25em; }
        header > .header > .h_tel > a {
          display: flex;
          font-size: 28px;
          color: white;
          align-items: center;
          line-height: 1em; }
          header > .header > .h_tel > a::before {
            content: "";
            background: url(../images/free_dial_white.png) no-repeat left center;
            height: 1em;
            width: 1.7em; }
      header > .header > .h_contact {
        background: #ede9e0 url(../images/arrow_red.png) no-repeat 94% center/9px 12px;
        font-size: 15px;
        font-weight: bold;
        color: black;
        text-align: center;
        width: 155px;
        padding: 6px 10px 3px 0;
        line-height: 1.33;
        margin-left: 30px; }
      header > .header > #nav_toggle {
        display: none; }
    header > .header_nav {
      font-size: 16px; }
      header > .header_nav > ul {
        display: flex;
        align-items: center;
        max-width: 980px;
        margin: 0 auto; }
        header > .header_nav > ul > li {
          position: relative;
          width: 20%; }
          header > .header_nav > ul > li > a, header > .header_nav > ul > li > strong {
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 40px;
            text-decoration: none; }
          header > .header_nav > ul > li:nth-child(n+2)::before {
            content: "";
            background-color: #5fb186;
            width: 1px;
            height: 22px;
            left: 0;
            top: calc(50% - 11px);
            display: block;
            position: absolute; }
          header > .header_nav > ul > li > ul {
            position: absolute;
            left: 0;
            top: 100%;
            background-color: #549a76;
            font-size: 13px;
            width: 100%;
            text-align: center;
            transform: scaleY(0);
            transform-origin: center top;
            transition: .2s; }
            header > .header_nav > ul > li > ul > li {
              border-top: 1px solid #5fb186; }
              header > .header_nav > ul > li > ul > li > a {
                color: white;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                height: 36px;
                text-decoration: none; }
                header > .header_nav > ul > li > ul > li > a:hover {
                  background-color: #4a8869; }
          header > .header_nav > ul > li:hover > a, header > .header_nav > ul > li:hover > strong {
            background-color: #4a8869; }
          header > .header_nav > ul > li:hover > ul {
            transform: scaleY(1); } }
  @media (max-width: 767px) {
    header {
      border-bottom: 4px solid #549a76; }
      header > .header {
        height: 46px;
        padding: 0 10px;
        justify-content: space-between;
        align-items: center; }
        header > .header > .h_logo {
          width: 168px;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: hidden; }
          header > .header > .h_logo > img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center; }
        header > .header > .h_tel {
          display: none; }
        header > .header > .h_contact {
          display: none; }
        header > .header > #nav_toggle {
          background-color: white;
          position: relative;
          width: 28px;
          height: 28px; }
          header > .header > #nav_toggle > span {
            background-color: #5fb186;
            width: 18px;
            height: 2px;
            left: calc(50% - 9px);
            position: absolute;
            transition: .2s; }
            header > .header > #nav_toggle > span:nth-child(1) {
              top: calc(50% - 1px - 6px); }
            header > .header > #nav_toggle > span:nth-child(2) {
              top: calc(50% - 1px); }
            header > .header > #nav_toggle > span:nth-child(3) {
              top: calc(50% - 1px + 6px); }
          header > .header > #nav_toggle::before {
            content: "MENU";
            color: white;
            font-weight: bold;
            font-size: 12px;
            line-height: 1em;
            position: absolute;
            right: calc(100% + .5em);
            top: calc(50% - .5em); }
      header > .header_nav {
        position: absolute;
        background-color: #549a76;
        right: 0;
        top: calc(100% + 4px);
        font-size: 16px;
        width: 280px;
        max-height: calc(100svh - 50px);
        min-height: calc(100svh - 50px);
        overflow: auto;
        padding-bottom: 50px;
        opacity: 0;
        visibility: hidden;
        transform: scaleX(50%);
        transform-origin: right top;
        transition: .2s; }
        header > .header_nav > ul {
          border-bottom: 1px solid #448d67; }
          header > .header_nav > ul > li {
            border-top: 1px solid #448d67; }
            header > .header_nav > ul > li > a {
              color: white;
              height: 50px;
              display: flex;
              align-items: center;
              padding: 0 10px; }
            header > .header_nav > ul > li.sub_title {
              font-size: 16px;
              border-top: 1px solid #549a76; }
              header > .header_nav > ul > li.sub_title > a, header > .header_nav > ul > li.sub_title > strong {
                display: flex;
                justify-content: space-between;
                background-color: #448d67;
                height: 50px;
                align-items: center;
                color: #cbefdd;
                padding: 0 10px; }
                header > .header_nav > ul > li.sub_title > a > .open_btn, header > .header_nav > ul > li.sub_title > strong > .open_btn {
                  width: 50px;
                  height: 50px;
                  background: url(../images/arrow_white.png) no-repeat center;
                  background-size: auto 18px;
                  transform: rotate(90deg);
                  transition: .2s; }
              header > .header_nav > ul > li.sub_title > ul {
                overflow: hidden;
                height: 0;
                transition: .2s;
                font-size: 14px;
                background-color: #42966b; }
                header > .header_nav > ul > li.sub_title > ul > li {
                  border-top: 1px solid #448d67; }
                  header > .header_nav > ul > li.sub_title > ul > li > a {
                    color: white;
                    display: flex;
                    height: 50px;
                    align-items: center;
                    padding: 0 10px; }
                  header > .header_nav > ul > li.sub_title > ul > li > ul > li {
                    border-top: 1px solid #448d67; }
                    header > .header_nav > ul > li.sub_title > ul > li > ul > li > a {
                      padding: 10px;
                      display: flex;
                      height: 50px;
                      align-items: center;
                      color: white; }
                      header > .header_nav > ul > li.sub_title > ul > li > ul > li > a > .sub_li::before {
                        content: "└ ";
                        margin-right: .25em; }
              header > .header_nav > ul > li.sub_title.open_sub_menu > a > .open_btn, header > .header_nav > ul > li.sub_title.open_sub_menu > strong > .open_btn {
                transform: rotate(-90deg); } }

@media (max-width: 767.98px) {
  .menu_open {
    overflow: hidden; }
    .menu_open header > .header > #nav_toggle > span:nth-child(1), .menu_open header > .header > #nav_toggle > span:nth-child(3) {
      top: calc(50% - 1px); }
    .menu_open header > .header > #nav_toggle > span:nth-child(2) {
      transform: scaleX(0); }
    .menu_open header > .header > #nav_toggle > span:nth-child(1) {
      transform: rotate(45deg); }
    .menu_open header > .header > #nav_toggle > span:nth-child(3) {
      transform: rotate(-45deg); }
    .menu_open header > .header_nav {
      opacity: 1;
      visibility: visible;
      transform: scaleX(1); } }

/* フッター */
#copyright > a {
  color: white;
  text-decoration: none; }

@media (min-width: 768px) {
  footer {
    background: #5fb186 url(../images/footer_border_top.gif) repeat-x center top;
    margin-top: 80px; }

  footer > div {
    background: #5fb186 url(../images/footer_border_top.gif) repeat-x center top;
    padding-top: 26px; }

  footer > div > ul {
    display: table;
    width: 100%; }

  footer > div > ul > li {
    display: table-cell;
    width: 25%;
    vertical-align: top; }

  footer > div > ul > li:nth-child(1) {
    width: 225px; }

  footer > div > ul > li:nth-child(2) {
    width: 290px;
    padding-right: 60px; }

  footer > div > ul > li:nth-child(3) {
    width: 255px;
    padding-right: 55px; }

  footer > div > ul > li:nth-child(4) {
    width: 190px; }

  footer > div > ul > li > ul {
    line-height: 34px; }

  footer > div > ul > li > ul > li > a > span,
  footer > div > ul > li > ul > li > strong > span {
    display: inline-block;
    border-bottom: 1px solid white;
    line-height: 20px;
    margin-bottom: 8px;
    padding-right: 40px; }

  footer > div > ul > li > ul > li > ul {
    line-height: 30px;
    font-weight: normal; }

  footer > div > ul li a span.sub_li::before {
    content: "┗ ";
    font-weight: normal; }

  footer > div > ul li {
    line-height: 34px; }

  footer > div > ul li a,
  footer > div > ul > li > ul > li > strong {
    color: white;
    font-size: 16px;
    display: inline-block;
    line-height: 20px;
    font-weight: normal; }

  footer > div > ul li a:hover {
    color: #4a8869; }

  #copyright {
    font-size: 14px;
    text-align: center;
    color: white;
    margin: 50px 0 0;
    padding: 0 0 10px; }

  .topBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: block;
    background-color: #549a76;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    width: 60px;
    height: 60px;
    text-align: center;
    line-height: 22px;
    border-radius: 30px;
    padding-top: 24px;
    box-sizing: border-box;
    line-height: 1;
    z-index: 30; }

  .topBtn:before {
    content: "▲";
    position: absolute;
    top: 6px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 10px;
    line-height: 1; }

  .topBtn:hover {
    opacity: 0.7; }

  .topBtn:visited, .topBtn:link {
    color: #FFFFFF;
    text-decoration: none; }

  #banner_link {
    text-align: center; }

  #banner_link > div:first-child {
    text-align: left; }

  #banner_link > div:last-child {
    text-align: right; }

  #sp_topBtn {
    display: none; } }
@media (max-width: 767px) {
  footer {
    background: #5fb186 url(../images/footer_border_top.gif) repeat-x top center;
    background-size: auto 4px;
    font-size: 12px;
    padding-top: 4px;
    padding-bottom: 0;
    margin-top: 0px; }

  footer > div > ul {
    display: none; }

  #copyright {
    font-size: 11px;
    text-align: center;
    color: white;
    margin: 10px 0 0;
    padding: 0 0 10px; }

  #sp_topBtn {
    background-color: #549a76;
    text-align: center;
    color: white;
    text-decoration: none;
    padding: 5px 0;
    display: block;
    margin-bottom: 20px; }

  .topBtn {
    color: transparent;
    opacity: 0;
    display: none; }

  .googlemap {
    position: relative;
    padding-bottom: 60%;
    height: 0;
    overflow: hidden; }

  .googlemap iframe, .googlemap object, .googlemap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

  #banner_link {
    margin: 30px -10px 5px; }

  #banner_link > div {
    margin-bottom: 25px; } }
@media (min-width: 768px) {
  #banner_link_ver2026 {
    margin-top: 70px; }
    #banner_link_ver2026 > ul {
      display: flex;
      justify-content: center;
      width: 660px;
      margin: 0 auto;
      flex-wrap: wrap; }
      #banner_link_ver2026 > ul > li {
        width: 310px;
        margin: 10px; } }
@media (max-width: 767px) {
  #banner_link_ver2026 > ul {
    margin-bottom: 40px;
    padding-top: 40px; }
    #banner_link_ver2026 > ul > li {
      margin-bottom: 15px; } }

.side_bottom_menu {
  z-index: 9;
  display: flex; }
  .side_bottom_menu > a {
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s; }
    .side_bottom_menu > a > p {
      margin: 0;
      font-weight: bold; }
    .side_bottom_menu > a.oisogi {
      background-color: #6358ac; }
    .side_bottom_menu > a.jizen {
      background-color: #b5065c; }
  @media (min-width: 768px) {
    .side_bottom_menu {
      position: fixed;
      right: 0;
      top: 150px;
      z-index: 10;
      flex-direction: column;
      align-items: flex-end; }
      .side_bottom_menu > a {
        width: 50px;
        height: 170px; }
        .side_bottom_menu > a > p {
          writing-mode: vertical-rl;
          font-size: 14px;
          letter-spacing: .1em;
          padding-top: .1em; }
        .side_bottom_menu > a.jizen {
          margin-top: 30px; }
        .side_bottom_menu > a:hover {
          width: 70px; } }
  @media (max-width: 767.98px) {
    .side_bottom_menu {
      position: sticky;
      left: 0;
      bottom: 0;
      margin: 20px auto 0; }
      .side_bottom_menu > a {
        width: 50%;
        height: 60px; }
        .side_bottom_menu > a > p {
          font-size: 14px;
          letter-spacing: .1em;
          padding-top: .1em; } }
