﻿@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
.txtC {
  text-align: center; }

.txtR {
  text-align: right; }

.txtL {
  text-align: left; }

i {
  font-style: italic !important; }

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important; } }

@media print, screen and (min-width: 769px) {
  .sp {
    display: none !important; } }

.red {
  color: #CA1A21; }

/*********/
/* reset */
/*********/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

* {
  margin: 0;
  padding: 0; }

/***********************************************/
/* HTML5 display-role reset for older browsers */
/***********************************************/
body {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.06em;
  color: #333; }
  @media print, screen and (min-width: 769px) {
    body {
      -webkit-print-color-adjust: exact;
      font-size: 16px;
      line-height: 1.5;
      min-width: 1200px; } }
  @media only screen and (max-width: 768px) {
    body {
      font-size: 15px;
      line-height: 1.8em; } }
  body a:hover {
    -webkit-transition: 0.2s;
    transition: 0.2s; }
  @media print, screen and (min-width: 769px) {
    body a[href^="tel:"] {
      pointer-events: none;
      display: inline-block; } }
  body a[target="_blank"]:after {
    content: "";
    background: url("../img/icon-window.png") center center no-repeat;
    display: inline-block;
    background-size: 0.8em;
    width: 0.8em;
    height: 0.8em;
    margin: 0 4px; }
  @media print, screen and (min-width: 769px) {
    body.full #main {
      padding-left: 0; } }
  @media print, screen and (min-width: 769px) {
    body.full .sideMenu {
      display: none; } }

ol, ul {
  list-style: none; }

div {
  vertical-align: bottom; }

a {
  color: #333; }

img {
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic; }

.sideMenu {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  left: 0;
  top: 0; }
  @media print, screen and (min-width: 769px) {
    .sideMenu {
      position: fixed;
      width: 260px;
      height: 100vh;
      overflow-x: hidden;
      overflow-y: hidden;
      z-index: 10;
      -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
      border-left: 4px solid #088043; } }
  @media only screen and (max-width: 768px) {
    .sideMenu {
      width: 100%;
      position: absolute;
      height: 55px;
      -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
      box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); } }
  @media print, screen and (min-width: 769px) {
    .sideMenu .sideMenu-inner {
      overflow-y: scroll;
      width: calc(100% + 17px);
      padding-right: 17px;
      margin: 0;
      padding: 0;
      height: 100%; } }
  @media only screen and (max-width: 768px) {
    .sideMenu .sideMenu-inner {
      display: table;
      width: 100%; } }
  @media print, screen and (min-width: 769px) {
    .sideMenu .sideMenu-inner h1 {
      margin: 30px 50px; } }
  @media only screen and (max-width: 768px) {
    .sideMenu .sideMenu-inner h1 {
      display: table-cell;
      height: 55px;
      vertical-align: middle;
      text-align: center;
      width: 50%; } }
  .sideMenu .sideMenu-inner h1 a {
    display: block; }
  @media print, screen and (min-width: 769px) {
    .sideMenu .sideMenu-inner h1 img {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    .sideMenu .sideMenu-inner h1 img {
      max-width: 80px;
      max-height: 40px; } }
  .sideMenu .sideMenu-inner .lead {
    background-color: #088043;
    color: #fff;
    line-height: 1.6em;
    font-weight: 500;
    text-align: center; }
    @media print, screen and (min-width: 769px) {
      .sideMenu .sideMenu-inner .lead {
        padding: 20px 30px 20px 20px; } }
    @media only screen and (max-width: 768px) {
      .sideMenu .sideMenu-inner .lead {
        display: table-cell;
        height: 55px;
        vertical-align: middle;
        font-size: 0.875em;
        width: 50%; } }
  @media only screen and (max-width: 768px) {
    .sideMenu .sideMenu-inner ul {
      display: none; } }
  .sideMenu .sideMenu-inner ul li a {
    display: block;
    padding: 15px 40px 15px 20px;
    font-size: 0.875em;
    text-decoration: none;
    letter-spacing: 0.02em;
    position: relative; }
    .sideMenu .sideMenu-inner ul li a:after {
      content: "";
      position: absolute;
      top: 50%;
      right: 20px;
      margin-top: -5px;
      display: block;
      width: 5px;
      height: 5px;
      border-top: solid 2px #088043;
      border-right: solid 2px #088043;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transition: 0.3s;
      transition: 0.3s; }
    .sideMenu .sideMenu-inner ul li a:hover {
      background-color: #eee; }
      .sideMenu .sideMenu-inner ul li a:hover:after {
        right: 15px; }
  .sideMenu .sideMenu-inner .contact {
    margin-bottom: 100px;
    margin-top: 20px; }
    @media only screen and (max-width: 768px) {
      .sideMenu .sideMenu-inner .contact {
        display: none; } }
    .sideMenu .sideMenu-inner .contact .contact-inner {
      margin: 0 20px; }
      .sideMenu .sideMenu-inner .contact .contact-inner a {
        color: #fff;
        background-color: #0579BE;
        border-radius: 3px;
        display: block;
        text-decoration: none;
        font-size: 0.875em;
        padding: 20px 15px 20px 50px;
        text-align: center;
        position: relative; }
        .sideMenu .sideMenu-inner .contact .contact-inner a:before {
          content: "";
          background: url("../img/icon-mail.png") center no-repeat;
          position: absolute;
          background-size: 20px;
          width: 20px;
          height: 20px;
          left: 42px; }
        .sideMenu .sideMenu-inner .contact .contact-inner a:hover {
          opacity: 0.8; }

#main {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media print, screen and (min-width: 769px) {
    #main {
      padding-left: 260px; } }
  @media only screen and (max-width: 768px) {
    #main {
      margin-top: 55px; } }
  #main .header {
    background-color: #fff;
    overflow: hidden;
    padding: 10px 30px; }
    @media only screen and (max-width: 768px) {
      #main .header {
        display: none; } }
    #main .header .header-inner {
      float: right;
      display: table; }
      #main .header .header-inner .move-body {
        display: table-cell;
        vertical-align: middle;
        font-size: 0.875em;
        padding-right: 20px; }
        #main .header .header-inner .move-body a {
          position: relative; }
          #main .header .header-inner .move-body a:before {
            content: "";
            position: absolute;
            top: 50%;
            left: -20px;
            margin-top: -7px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            width: 14px;
            height: 14px;
            border: 1px solid #0579BE; }
          #main .header .header-inner .move-body a:after {
            content: "";
            position: absolute;
            top: 50%;
            left: -16px;
            margin-top: -4px;
            width: 5px;
            height: 5px;
            border-bottom: 1px solid #0579BE;
            border-right: 1px solid #0579BE;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
          #main .header .header-inner .move-body a:hover {
            text-decoration: none; }
      #main .header .header-inner .font-size-change {
        display: table-cell;
        vertical-align: middle;
        font-size: 0.875em;
        padding-right: 10px;
        border-right: 1px solid #0579BE; }
      #main .header .header-inner .font-size-change-button {
        padding-left: 9px; }
        #main .header .header-inner .font-size-change-button button {
          color: #0579BE;
          background-color: #fff;
          border: 1px solid #0579BE;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border-radius: 50%;
          height: 30px;
          width: 30px;
          margin: 0 1px;
          font-weight: 500;
          font-size: 0.875em;
          cursor: pointer; }
          #main .header .header-inner .font-size-change-button button.active {
            background-color: #0579BE;
            color: #fff; }
  #main .mainvisual {
    background: url("../img/mainvisual.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    position: relative;
    z-index: 0;
    max-width: 1400px;
    margin: 0 auto; }
    @media print, screen and (min-width: 769px) {
      #main .mainvisual {
        height: 500px; } }
    @media only screen and (max-width: 768px) {
      #main .mainvisual {
        height: 200px; } }
    #main .mainvisual:before {
      width: 100%;
      z-index: -1;
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.5); }
      @media print, screen and (min-width: 769px) {
        #main .mainvisual:before {
          height: 500px; } }
      @media only screen and (max-width: 768px) {
        #main .mainvisual:before {
          height: 200px; } }
    #main .mainvisual .mainvisual-inner {
      height: 100%;
      width: 100%;
      display: table; }
      #main .mainvisual .mainvisual-inner .copy {
        color: #fff;
        z-index: 10;
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        letter-spacing: 0.12em; }
        @media print, screen and (min-width: 769px) {
          #main .mainvisual .mainvisual-inner .copy {
            font-size: 2.500em;
            line-height: 1.8em;
            opacity: 0;
            -webkit-transition: 2s;
            transition: 2s; } }
        @media only screen and (max-width: 768px) {
          #main .mainvisual .mainvisual-inner .copy {
            font-size: 1.133em;
            line-height: 2em; } }
        @media print, screen and (min-width: 769px) {
          #main .mainvisual .mainvisual-inner .copy.show {
            opacity: 1; } }
  #main .bread {
    background-color: #e8f1f7; }
    @media print, screen and (min-width: 769px) {
      #main .bread {
        padding: 8px 50px; } }
    @media only screen and (max-width: 768px) {
      #main .bread {
        padding: 8px 20px; } }
    #main .bread ul {
      overflow: hidden; }
      #main .bread ul li {
        float: left;
        font-size: 0.875em; }
        #main .bread ul li:not(:first-child) {
          position: relative;
          padding-left: 20px;
          margin-left: 20px; }
          #main .bread ul li:not(:first-child):before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            margin-top: -2.5px;
            display: block;
            width: 5px;
            height: 5px;
            border-bottom: solid 2px #0579BE;
            border-left: solid 2px #0579BE;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            -webkit-transition: 0.3s;
            transition: 0.3s; }
  @media print, screen and (min-width: 769px) {
    #main #contents {
      padding: 0 60px 60px 60px;
      max-width: 1000px;
      margin: 0 auto; } }
  @media only screen and (max-width: 768px) {
    #main #contents {
      margin: 0 20px; } }
  #main #contents h2 {
    border-top: 2px solid #ccc;
    border-bottom: 2px solid #ccc;
    font-size: 1.250em;
    font-weight: 500;
    padding: 1em 0.5em;
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #main #contents h2 {
        margin: 80px 0 30px 0; } }
    @media only screen and (max-width: 768px) {
      #main #contents h2 {
        margin: 50px 0 20px 0; } }
    #main #contents h2:before {
      content: "";
      height: 2px;
      background-color: #0579BE;
      position: absolute;
      top: -2px;
      left: 0; }
      @media print, screen and (min-width: 769px) {
        #main #contents h2:before {
          width: 200px; } }
      @media only screen and (max-width: 768px) {
        #main #contents h2:before {
          width: 100px; } }
  #main #contents h3 {
    margin: 30px 0 20px 0;
    background-color: #eee;
    border-left: 2px solid #0579BE;
    padding: 0.6em 1em;
    font-weight: 500;
    font-size: 1.063em; }
    #main #contents h3.mt {
      margin-top: 80px; }
  #main #contents p {
    line-height: 1.8em;
    margin-bottom: 10px; }
    #main #contents p a:hover {
      color: #0579BE;
      text-decoration: none; }
  #main #contents .page-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 1rem;
    padding: 5px;
    background: #e8f1f7; }
    @media print, screen and (min-width: 769px) {
      #main #contents .page-nav {
        margin-top: 80px; } }
    @media only screen and (max-width: 768px) {
      #main #contents .page-nav {
        margin-top: 80px; } }
    #main #contents .page-nav li {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0; }
      @media print, screen and (min-width: 769px) {
        #main #contents .page-nav li {
          -webkit-box-flex: 0;
          -webkit-flex: 0 1 33.333%;
          -ms-flex: 0 1 33.333%;
          flex: 0 1 33.333%;
          max-width: 33.333%; } }
      @media only screen and (max-width: 768px) {
        #main #contents .page-nav li {
          -webkit-box-flex: 0;
          -webkit-flex: 0 1 50%;
          -ms-flex: 0 1 50%;
          flex: 0 1 50%;
          max-width: 50%; } }
      #main #contents .page-nav li a {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        text-decoration: none;
        background-color: #fff;
        font-size: 0.875em;
        margin: 5px;
        padding: 10px 15px; }
        #main #contents .page-nav li a:before {
          content: "";
          background-color: #0579BE;
          width: 16px;
          height: 16px;
          margin-right: 7px;
          border-radius: 2px;
          -webkit-box-flex: 0;
          -webkit-flex: none;
          -ms-flex: none;
          flex: none; }
        #main #contents .page-nav li a:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 20px;
          width: 4px;
          height: 4px;
          margin-top: -4px;
          border-bottom: 2px solid #fff;
          border-right: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        #main #contents .page-nav li a:hover {
          text-decoration: underline; }
  #main #contents .error {
    color: #CA1A21;
    margin: 5px 0;
    background-color: #FFF9E6;
    padding: 2px 10px 2px 2em;
    text-indent: -1em; }
    @media print, screen and (min-width: 769px) {
      #main #contents .error {
        font-size: 0.875em; } }
    #main #contents .error:before {
      content: "※"; }
  #main #contents .hint {
    margin-bottom: 20px; }
    @media print, screen and (min-width: 769px) {
      #main #contents .hint {
        text-align: right; } }
  #main #contents input[type="submit"],
  #main #contents input[type="reset"],
  #main #contents input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer; }
  #main #contents input[type="submit"]::-webkit-search-decoration,
  #main #contents input[type="reset"]::-webkit-search-decoration,
  #main #contents input[type="button"]::-webkit-search-decoration {
    display: none; }
  #main #contents input[type="submit"]::focus,
  #main #contents input[type="reset"]::focus,
  #main #contents input[type="button"]::focus {
    outline-offset: -2px; }
  #main #contents .btn {
    width: 100%;
    text-align: center;
    margin: 80px 0; }
    @media print, screen and (min-width: 769px) {
      #main #contents .btn {
        display: inline-block; } }
    @media only screen and (max-width: 768px) {
      #main #contents .btn {
        display: block; } }
    #main #contents .btn input[type="submit"] {
      background-color: #0579BE;
      border: 1px solid #0579BE;
      color: #fff;
      border-radius: 100px;
      font-size: 1em;
      letter-spacing: 0.06em;
      cursor: pointer;
      -webkit-transition: 0.3s;
      transition: 0.3s; }
      @media print, screen and (min-width: 769px) {
        #main #contents .btn input[type="submit"] {
          width: 30%;
          padding: 25px 0;
          margin: 0 25px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .btn input[type="submit"] {
          width: 100%;
          padding: 20px 0;
          margin-bottom: 30px; } }
      #main #contents .btn input[type="submit"]:hover {
        background-color: #fff;
        color: #0579BE; }
      @media print, screen and (min-width: 769px) {
        #main #contents .btn input[type="submit"]:active {
          margin-bottom: 5px; } }
    #main #contents .btn input[type="reset"], #main #contents .btn input[type="button"] {
      background-color: #eee;
      border: 1px solid #eee;
      border-radius: 100px;
      font-size: 1em;
      letter-spacing: 0.06em;
      cursor: pointer;
      -webkit-transition: 0.3s;
      transition: 0.3s; }
      @media print, screen and (min-width: 769px) {
        #main #contents .btn input[type="reset"], #main #contents .btn input[type="button"] {
          width: 30%;
          padding: 25px 0;
          margin: 0 25px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .btn input[type="reset"], #main #contents .btn input[type="button"] {
          width: 100%;
          padding: 20px 0;
          margin-bottom: 30px; } }
      #main #contents .btn input[type="reset"]:hover, #main #contents .btn input[type="button"]:hover {
        background-color: #666;
        color: #fff; }
      @media print, screen and (min-width: 769px) {
        #main #contents .btn input[type="reset"]:active, #main #contents .btn input[type="button"]:active {
          margin-bottom: 5px;
          background-color: #fff;
          color: #666; } }
  #main #contents table {
    border-collapse: collapse;
    margin: 20px 0;
    width: 100%;
    line-height: 1.8em;
    font-size: 0.875em; }
    @media only screen and (max-width: 768px) {
      #main #contents table {
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc; } }
    #main #contents table tr th {
      background-color: #e8f1f7;
      vertical-align: middle; }
      @media print, screen and (min-width: 769px) {
        #main #contents table tr th {
          width: 24%;
          padding: 10px 15px;
          border: 1px solid #ccc; } }
      @media only screen and (max-width: 768px) {
        #main #contents table tr th {
          display: block;
          width: 90%;
          padding: 10px 5%;
          border-bottom: 1px solid #ccc; } }
    #main #contents table tr td {
      background-color: #fff;
      vertical-align: middle; }
      @media print, screen and (min-width: 769px) {
        #main #contents table tr td {
          width: 80%;
          padding: 10px 15px;
          border: 1px solid #ccc; } }
      @media only screen and (max-width: 768px) {
        #main #contents table tr td {
          display: block;
          width: 90%;
          padding: 10px 5%;
          border-bottom: 1px solid #ccc; } }
    #main #contents table.form {
      margin-bottom: 50px;
      word-break: break-word; }
      #main #contents table.form th {
        text-align: left; }
      #main #contents table.form input[type="text"], #main #contents table.form textarea {
        width: 96%;
        padding: 8px 2%;
        border: 1px solid #ccc;
        border-radius: 4px;
        letter-spacing: 0.06em;
        font-size: 1em;
        margin: 10px 0; }
        @media only screen and (max-width: 768px) {
          #main #contents table.form input[type="text"], #main #contents table.form textarea {
            font-size: 1.133em; } }
      #main #contents table.form textarea {
        line-height: 1.8em; }
        @media print, screen and (min-width: 769px) {
          #main #contents table.form textarea {
            height: 200px; } }
        @media only screen and (max-width: 768px) {
          #main #contents table.form textarea {
            height: 150px; } }
      #main #contents table.form .radio input {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        border: 0;
        overflow: hidden;
        padding: 0;
        clip: rect(0, 0, 0, 0); }
        #main #contents table.form .radio input + label {
          display: block;
          position: relative;
          cursor: pointer;
          padding: 4px 0 4px 2.3em; }
          #main #contents table.form .radio input + label:before {
            content: "";
            display: inline-block;
            position: absolute;
            top: 50%;
            bottom: 0;
            left: 0.5em;
            width: 1em;
            height: 1em;
            margin-top: -0.6em;
            border: 2px solid #767676;
            border-radius: 50%;
            background-repeat: no-repeat;
            background-size: contain; }
          #main #contents table.form .radio input + label:hover {
            background-color: #eee; }
      #main #contents table.form .radio input:checked + label:before {
        background-color: #0579BE; }
      #main #contents table.form .radio input:focus + label:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 0.5em;
        width: 1em;
        height: 1em;
        margin-top: -0.6em;
        border-radius: 50%;
        display: inline-block;
        border: 2px solid #CA1A21; }
  #main #contents ul {
    padding-left: 6px;
    margin: 15px 0 20px 0; }
    #main #contents ul li {
      margin-bottom: 5px;
      text-indent: -1em;
      margin-left: 1em; }
      #main #contents ul li:before {
        content: "";
        display: inline-block;
        width: 10px;
        height: 10px;
        background-color: #0579BE;
        border-radius: 100%;
        margin-right: 0.5em; }
      #main #contents ul li a:hover {
        text-decoration: none;
        color: #0579BE; }
  #main #contents .note {
    text-indent: -1em;
    margin-left: 1em;
    color: #CA1A21; }
    #main #contents .note:before {
      content: "※"; }
  #main #contents .keyword {
    margin: 20px 0;
    overflow: hidden; }
    #main #contents .keyword span {
      float: left;
      background-color: #0579BE;
      color: #fff;
      border-radius: 100px;
      font-size: 0.875em;
      padding: 0.6em 1em;
      margin: 0 15px 15px 0; }
  #main #contents .red-box {
    background-color: #CA1A21;
    color: #fff;
    border-radius: 4px;
    font-weight: 500;
    padding: 0.5em 0.8em;
    display: inline-block;
    margin: 0 20px;
    font-size: 0.875em; }
  #main #contents .tel {
    margin: 30px 0;
    color: #0579BE;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    font-weight: bold;
    vertical-align: middle;
    letter-spacing: 0;
    margin: 15px 10px;
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #main #contents .tel {
        font-size: 1.875em;
        padding-left: 40px; } }
    @media only screen and (max-width: 768px) {
      #main #contents .tel {
        font-size: 1.333em;
        padding-left: 30px; } }
    #main #contents .tel:before {
      background: url("../img/icon-tel.png") center left no-repeat;
      position: absolute;
      top: 50%;
      left: 0;
      content: ""; }
      @media print, screen and (min-width: 769px) {
        #main #contents .tel:before {
          background-size: 30px;
          width: 30px;
          height: 30px;
          margin-top: -17px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .tel:before {
          background-size: 20px;
          width: 20px;
          height: 20px;
          margin-top: -12px; } }
    #main #contents .tel a[href^="tel:"] {
      text-decoration: none;
      color: #0579BE; }
  #main #contents .fax {
    color: #0579BE;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
    letter-spacing: 0;
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #main #contents .fax {
        font-size: 1.875em;
        margin: 30px 10px;
        padding-left: 40px; } }
    @media only screen and (max-width: 768px) {
      #main #contents .fax {
        font-size: 1.333em;
        display: inline-block;
        margin: 10px;
        padding-left: 30px; } }
    #main #contents .fax:before {
      background: url("../img/icon-fax.png") center left no-repeat;
      position: absolute;
      top: 50%;
      left: 0;
      content: ""; }
      @media print, screen and (min-width: 769px) {
        #main #contents .fax:before {
          background-size: 30px;
          width: 30px;
          height: 30px;
          margin-top: -17px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .fax:before {
          background-size: 20px;
          width: 20px;
          height: 20px;
          margin-top: -12px; } }
  #main #contents .link-button {
    margin: 20px 0;
    overflow: hidden; }
    #main #contents .link-button .button-box {
      display: table; }
      @media print, screen and (min-width: 769px) {
        #main #contents .link-button .button-box {
          width: 49%;
          float: left; } }
      @media only screen and (max-width: 768px) {
        #main #contents .link-button .button-box {
          width: 100%; } }
      #main #contents .link-button .button-box a {
        display: table-cell;
        vertical-align: middle;
        border: 2px solid #0579BE;
        border-radius: 10px;
        position: relative; }
        #main #contents .link-button .button-box a:after {
          content: "";
          position: absolute;
          top: 50%;
          right: 20px;
          margin-top: -5px;
          display: block;
          width: 5px;
          height: 5px;
          border-top: solid 2px #0579BE;
          border-right: solid 2px #0579BE;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          -webkit-transition: 0.3s;
          transition: 0.3s; }
        #main #contents .link-button .button-box a.icon-garbage {
          background: url("../img/icon-garbage.jpg") center left 24px no-repeat;
          background-size: 40px; }
        #main #contents .link-button .button-box a.icon-personal {
          background: url("../img/icon-personal.jpg") center left 24px no-repeat;
          background-size: 40px; }
        #main #contents .link-button .button-box a.icon-parenting {
          background: url("../img/icon-parenting.jpg") center left 24px no-repeat;
          background-size: 40px; }
        #main #contents .link-button .button-box a.icon-insurance {
          background: url("../img/icon-insurance.jpg") center left 24px no-repeat;
          background-size: 40px; }
        #main #contents .link-button .button-box a span {
          margin-left: 90px;
          width: calc(100% - 130px);
          padding: 1em 30px 1em 10px;
          display: block;
          border-top-right-radius: 7px;
          border-bottom-right-radius: 7px; }
        #main #contents .link-button .button-box a:hover {
          text-decoration: none;
          color: #0579BE; }
          #main #contents .link-button .button-box a:hover:after {
            right: 15px;
            border-top: solid 2px #fff;
            border-right: solid 2px #fff; }
          #main #contents .link-button .button-box a:hover span {
            background-color: #0579BE;
            color: #fff;
            -webkit-transition: 0.2s;
            transition: 0.2s; }
      @media print, screen and (min-width: 769px) {
        #main #contents .link-button .button-box:nth-child(even) {
          margin-left: 2%; } }
      @media print, screen and (min-width: 769px) {
        #main #contents .link-button .button-box:nth-child(n+3) {
          margin-top: 20px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .link-button .button-box:not(:first-child) {
          margin-top: 15px; } }

.pagetop {
  background-color: #088043;
  display: none;
  position: fixed;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  cursor: pointer;
  z-index: 9;
  border: 1px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media print, screen and (min-width: 769px) {
    .pagetop {
      bottom: 120px;
      right: 60px; } }
  @media only screen and (max-width: 768px) {
    .pagetop {
      bottom: 30px;
      right: 15px; } }
  .pagetop:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -4px;
    margin-left: -6px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: 0.3s;
    transition: 0.3s; }
  .pagetop span {
    display: none; }

.footer {
  margin-top: 80px;
  border-top: 2px solid #0579BE; }
  @media only screen and (max-width: 768px) {
    .footer {
      padding-bottom: 100px; } }
  .footer .footer-inner {
    overflow: hidden; }
    @media print, screen and (min-width: 769px) {
      .footer .footer-inner {
        padding: 30px 60px; } }
    @media only screen and (max-width: 768px) {
      .footer .footer-inner {
        padding: 20px; } }
    .footer .footer-inner .logo {
      width: 150px; }
      @media print, screen and (min-width: 769px) {
        .footer .footer-inner .logo {
          float: left; } }
      @media only screen and (max-width: 768px) {
        .footer .footer-inner .logo {
          margin: 0 auto; } }
      .footer .footer-inner .logo img {
        width: 100%; }
    @media print, screen and (min-width: 769px) {
      .footer .footer-inner .address {
        float: right; } }
    @media only screen and (max-width: 768px) {
      .footer .footer-inner .address {
        margin-top: 1em;
        text-align: center; } }
    .footer .footer-inner .copyright {
      clear: both;
      text-align: center;
      color: #666;
      padding-top: 20px; }
      @media print, screen and (min-width: 769px) {
        .footer .footer-inner .copyright {
          font-size: 0.875em; } }
      @media only screen and (max-width: 768px) {
        .footer .footer-inner .copyright {
          font-size: 0.800em; } }

.chatbanner {
  position: fixed; }
  @media print, screen and (min-width: 769px) {
    .chatbanner {
      right: 60px;
      bottom: 15px; } }
  @media only screen and (max-width: 768px) {
    .chatbanner {
      left: 20px;
      bottom: 30px; } }
  @media print, screen and (min-width: 769px) {
    .chatbanner p img {
      width: 290px;
      -webkit-transition: 0.2s;
      transition: 0.2s; } }
  @media only screen and (max-width: 768px) {
    .chatbanner p img {
      width: 210px; } }
  .chatbanner p:hover {
    cursor: pointer; }
    @media print, screen and (min-width: 769px) {
      .chatbanner p:hover img {
        width: 310px; } }


#link_color {
 color: #6600CC
}



/** innerlink **/


#main #contents .imenu_cnt ul{
padding: 0;
}

#main #contents .imenu_cnt ul li{
    text-indent: 0;
}

#main #contents .imenu_cnt ul li:before{
    content: none;
}

.imenu_cnt ul {
    list-style: none !important;
    letter-spacing: -.4em;
    font-weight: bold;
    margin: 0 -3px !important;
    font-size: 100%;
}

.imenu_cnt ul li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    width: 244px;
    padding: 0 3px 5px !important;
    margin: 0 !important;
    
}

.imenu_cnt ul li a {
    display: block;
    text-decoration: none;
    color: #000000;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    min-height: 72px;
    padding: 10px 5px 10px 37px;
    background-image: url(../img/more_ico.png);
    background-repeat: no-repeat;
    background-position: 10px 18px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background-size: 14px 14px;
}

 @media only screen and (max-width: 768px) {
 .imenu_cnt ul li {
 width: 100%;
 }
.imenu_cnt ul li a {
 min-height: auto;
 }
 }


/** boxline **/
.box_line{
border:1px solid #0579BE; padding: 1rem;
}

.box_line h4{
background:#e8f1f7; display: inline-block; padding: 6px 8px; border:1px solid #0579BE;
}








 @media print, screen and (min-width: 769px) {
      #main #contents .small .tel {
        font-size: 1.6em;
        padding-left: 30px; } }
    @media only screen and (max-width: 768px) {
      #main #contents .small  .tel {
        font-size: 1.2em;
        padding-left: 20px; } }

      @media print, screen and (min-width: 769px) {
        #main #contents .small .tel:before {
          background-size: 20px;
          width: 20px;
          height: 20px;
          margin-top: -12px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .small .tel:before {
          background-size: 15px;
          width: 15px;
          height: 15px;
          margin-top: -10px; } }









/** mailicon **/
  #main #contents .mail {
    margin: 30px 0;
    color: #0579BE;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    font-weight: bold;
    vertical-align: middle;
    letter-spacing: 0;
    margin: 15px 10px;
    position: relative; }
    @media print, screen and (min-width: 769px) {
      #main #contents .mail {
        font-size: 1em;
        padding-left: 40px; } }
    @media only screen and (max-width: 768px) {
      #main #contents .mail {
        font-size: 1em;
        padding-left: 30px; } }
    #main #contents .mail:before {
      background: url("../img/icon-mail2.png") center left no-repeat;
      position: absolute;
      top: 50%;
      left: 0;
      content: ""; }
      @media print, screen and (min-width: 769px) {
        #main #contents .mail:before {
          background-size: 30px;
          width: 30px;
          height: 30px;
          margin-top: -17px; } }
      @media only screen and (max-width: 768px) {
        #main #contents .mail:before {
          background-size: 20px;
          width: 20px;
          height: 20px;
          margin-top: -12px; } }
    #main #contents .mail a[href^=.mail:"] {
      text-decoration: none;
      color: #0579BE; }



