@charset "UTF-8";
/* CSS Document */
.header_bg-color {
  background-color: #103159; }

.anchor {
  padding-top: 76px;
  margin-top: -76px; }
  @media screen and (max-width: 767px) {
    .anchor {
      padding-top: 70px;
      margin-top: -70px; } }
  @media screen and (max-width: 575px) {
    .anchor {
      padding-top: 58px;
      margin-top: -58px; } }

h3.sub-midashi {
  font-size: 26px;
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  color: #103159;
  display: block;
  text-align: center;
  margin-bottom: 4rem; }
  @media screen and (max-width: 575px) {
    h3.sub-midashi {
      font-size: 20px;
      font-size: 2rem;
      margin-bottom: 2rem; } }
  h3.sub-midashi::after {
    content: '';
    width: 40px;
    height: 5px;
    border-bottom: 1px solid #00bee6;
    display: block;
    margin: auto;
    margin-top: 2rem; }
    @media screen and (max-width: 575px) {
      h3.sub-midashi::after {
        margin-top: 1rem; } }

#pagelink {
  background-color: #d9e0e5;
  padding: 10rem 0 3rem; }
  @media screen and (max-width: 991px) {
    #pagelink {
      padding: 8rem 0 3rem; } }
  @media screen and (max-width: 767px) {
    #pagelink {
      padding: 6rem 0 3rem; } }
  @media screen and (max-width: 575px) {
    #pagelink {
      padding: 4rem 0 3rem; } }
  #pagelink .inpage-link {
    margin-bottom: 6rem; }
    @media screen and (max-width: 991px) {
      #pagelink .inpage-link {
        margin-bottom: 4rem; } }
    @media screen and (max-width: 575px) {
      #pagelink .inpage-link {
        margin-bottom: 2rem; } }
    #pagelink .inpage-link ul {
      display: flex;
      justify-content: center; }
      #pagelink .inpage-link ul li {
        margin-bottom: 2rem; }
        @media screen and (max-width: 575px) {
          #pagelink .inpage-link ul li {
            margin-bottom: 1.5rem; } }
        #pagelink .inpage-link ul li a {
          display: block;
          position: relative;
          font-size: 15px;
          font-size: 1.5rem;
          color: #103159;
          border: solid 1px #103159;
          background-color: #fff;
          line-height: 1;
          padding: 1.25rem;
          transition: 0.3s; }
          #pagelink .inpage-link ul li a:after {
            position: absolute;
            right: 1rem;
            content: '\f063';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            color: #141E61;
            transition: 0.3s; }
          #pagelink .inpage-link ul li a:hover {
            color: #fff;
            background-color: #103159; }
            #pagelink .inpage-link ul li a:hover:after {
              color: #fff; }
      #pagelink .inpage-link ul + div {
        text-align: center; }
        #pagelink .inpage-link ul + div p {
          font-size: 20px;
          font-size: 2rem;
          color: #103159;
          font-weight: bold;
          line-height: 2;
          letter-spacing: 0.2em;
          margin-bottom: 3rem;
          margin-top: 5rem; }
          @media screen and (max-width: 575px) {
            #pagelink .inpage-link ul + div p {
              font-size: 18px;
              font-size: 1.8rem;
              margin-top: 2rem; } }
        #pagelink .inpage-link ul + div img {
          width: 480px; }
          @media screen and (max-width: 575px) {
            #pagelink .inpage-link ul + div img {
              width: 310px; } }

#about {
  padding: 10rem 0 0; }
  @media screen and (max-width: 991px) {
    #about {
      padding: 8rem 0 0; } }
  @media screen and (max-width: 767px) {
    #about {
      padding: 6rem 0 0; } }
  @media screen and (max-width: 575px) {
    #about {
      padding: 4rem 0 0; } }
  #about p {
    text-align: center;
    line-height: 1.75; }
    @media screen and (max-width: 575px) {
      #about p {
        text-align: justify; } }
  #about ul {
    margin-top: 7rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw); }
    @media screen and (max-width: 575px) {
      #about ul {
        margin-top: 3rem; } }
    #about ul li {
      padding: 0; }
      #about ul li img {
        width: 100%; }

section.company-bg {
  background: linear-gradient(0deg, #103159 80%, white 80%);
  padding: 10rem 0; }
  @media screen and (max-width: 991px) {
    section.company-bg {
      padding: 8rem 0; } }
  @media screen and (max-width: 767px) {
    section.company-bg {
      padding: 6rem 0; } }
  @media screen and (max-width: 575px) {
    section.company-bg {
      padding: 4rem 0; } }
  section.company-bg div.company-bg {
    background-color: #fff;
    margin-bottom: 7rem; }
    @media screen and (max-width: 575px) {
      section.company-bg div.company-bg {
        margin-bottom: 1rem; } }
    @media screen and (max-width: 991px) {
      section.company-bg div.company-bg .inner {
        width: 90%; } }
  section.company-bg table {
    width: 100%;
    margin-bottom: 3rem; }
    section.company-bg table tr {
      border-bottom: 1px solid #333333; }
      @media screen and (max-width: 575px) {
        section.company-bg table tr {
          border: none; } }
      section.company-bg table tr th {
        background-color: #D9E0E5;
        padding: 2rem 3rem;
        width: 20%; }
        @media screen and (max-width: 991px) {
          section.company-bg table tr th {
            width: 25%; } }
        @media screen and (max-width: 767px) {
          section.company-bg table tr th {
            padding: 2rem;
            width: 30%; } }
        @media screen and (max-width: 575px) {
          section.company-bg table tr th {
            display: block;
            padding: 0.5rem 2rem;
            width: 100%; } }
      section.company-bg table tr td {
        padding: 2rem; }
        @media screen and (max-width: 575px) {
          section.company-bg table tr td {
            display: block;
            padding: 1rem 2rem;
            line-height: 1.5; } }
        section.company-bg table tr td p {
          margin-bottom: 0; }
  section.company-bg .link-box a {
    margin: auto;
    display: block;
    width: 310px; }
  section.company-bg .google-map {
    overflow: hidden;
    display: block;
    height: 270px;
    margin-top: 4rem;
    padding-bottom: 8rem; }
    @media screen and (max-width: 991px) {
      section.company-bg .google-map {
        padding-bottom: 3rem; } }
    @media screen and (max-width: 575px) {
      section.company-bg .google-map {
        padding-bottom: 2rem; } }
    section.company-bg .google-map iframe {
      width: 100%;
      height: 100%; }

section.policy-bg {
  background: url("../img/company-img-3.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 10rem 0; }
  @media screen and (max-width: 991px) {
    section.policy-bg {
      padding: 8rem 0; } }
  @media screen and (max-width: 767px) {
    section.policy-bg {
      padding: 6rem 0; } }
  @media screen and (max-width: 575px) {
    section.policy-bg {
      padding: 4rem 0; } }
  section.policy-bg ul {
    background-color: #fff;
    padding: 4rem;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      section.policy-bg ul {
        padding: 3rem 2rem; } }
    @media screen and (max-width: 575px) {
      section.policy-bg ul {
        padding: 3rem 2rem 2rem; } }
    section.policy-bg ul li {
      font-size: 20px;
      font-size: 2rem;
      color: #103159;
      font-weight: bold;
      line-height: 2.5;
      letter-spacing: 0.2em; }
      @media screen and (max-width: 767px) {
        section.policy-bg ul li {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 2; } }
      @media screen and (max-width: 575px) {
        section.policy-bg ul li {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5;
          text-indent: -2em;
          padding-left: 2em;
          margin-bottom: 1rem; } }
      section.policy-bg ul li::before {
        margin-right: 1rem;
        content: '\f00c';
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        color: #00bee6; }

section.facility-bg {
  background: #d9e0e5;
  padding: 10rem 0; }
  @media screen and (max-width: 991px) {
    section.facility-bg {
      padding: 8rem 0; } }
  @media screen and (max-width: 767px) {
    section.facility-bg {
      padding: 6rem 0; } }
  @media screen and (max-width: 575px) {
    section.facility-bg {
      padding: 4rem 0; } }
  section.facility-bg div.facility-bg {
    background-color: #fff;
    padding: 7rem 0 3rem;
    margin-bottom: 7rem; }
    @media screen and (max-width: 767px) {
      section.facility-bg div.facility-bg {
        padding: 5rem 0 2rem; } }
    @media screen and (max-width: 575px) {
      section.facility-bg div.facility-bg {
        margin-bottom: 2rem; } }
    @media screen and (max-width: 991px) {
      section.facility-bg div.facility-bg .inner {
        width: 90%; } }
  section.facility-bg h3 + p {
    font-size: 23px;
    font-size: 2.3rem;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 575px) {
      section.facility-bg h3 + p {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.75;
        letter-spacing: inherit; } }
  section.facility-bg div.glay-back {
    background: #F7F7F7;
    font-size: 20px;
    font-size: 2rem;
    color: #103159;
    font-weight: bold;
    padding: 4rem;
    margin: 4rem 0 5rem;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 575px) {
      section.facility-bg div.glay-back {
        margin: 2rem 0 3rem;
        padding: 2rem 1rem;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.75;
        letter-spacing: inherit; } }
    section.facility-bg div.glay-back span {
      color: #00bee6; }
  section.facility-bg dl {
    margin-bottom: 5rem; }
    @media screen and (max-width: 575px) {
      section.facility-bg dl {
        margin-bottom: 4rem; } }
    @media screen and (max-width: 575px) {
      section.facility-bg dl + dl {
        margin-bottom: 1rem; } }
    section.facility-bg dl dt {
      background-color: #103159;
      color: #fff;
      padding: 1rem 1.5rem;
      margin-bottom: 2rem;
      font-size: 20px;
      font-size: 2rem;
      font-weight: normal; }
      @media screen and (max-width: 575px) {
        section.facility-bg dl dt {
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 0; } }
    section.facility-bg dl dd ul {
      margin-bottom: 0; }
      section.facility-bg dl dd ul li {
        border-bottom: 1px solid #333333;
        padding: 1rem; }
        @media screen and (max-width: 575px) {
          section.facility-bg dl dd ul li {
            padding: 1rem 1rem 0.5rem; } }
    section.facility-bg dl div {
      font-size: 20px;
      font-size: 2rem;
      border-left: 6.5px solid #00bee6;
      padding-left: 1.5rem;
      letter-spacing: 0.2em;
      margin: 4rem 0 1rem; }
      @media screen and (max-width: 575px) {
        section.facility-bg dl div {
          font-size: 16px;
          font-size: 1.6rem;
          padding-left: 1rem;
          margin: 2rem 0 0.5rem; } }

section.partner {
  padding: 10rem 0; }
  @media screen and (max-width: 991px) {
    section.partner {
      padding: 8rem 0; } }
  @media screen and (max-width: 767px) {
    section.partner {
      padding: 6rem 0; } }
  @media screen and (max-width: 575px) {
    section.partner {
      padding: 4rem 0; } }
  section.partner h3 {
    display: block;
    border: 1px solid #103159;
    padding: 1rem; }
    section.partner h3 span {
      font-size: 15px;
      font-size: 1.5rem; }
    section.partner h3::after {
      content: none; }
  section.partner ul {
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 6rem; }
    @media screen and (max-width: 575px) {
      section.partner ul {
        margin-bottom: 4rem; } }
    section.partner ul li {
      font-size: 14px;
      font-size: 1.4rem;
      width: 33.3%; }
      @media screen and (max-width: 991px) {
        section.partner ul li {
          width: 50%; } }
      @media screen and (max-width: 575px) {
        section.partner ul li {
          width: 100%;
          text-indent: -1.5em;
          padding-left: 1.5em;
          line-height: normal;
          margin-bottom: 1rem; } }
      section.partner ul li::before {
        content: '●';
        color: #00bee6;
        margin-right: 0.5rem; }
      section.partner ul li a {
        color: #000; }
        section.partner ul li a:hover {
          opacity: 0.5; }
  @media screen and (max-width: 575px) {
    section.partner div#partner div + div ul {
      margin-bottom: 8rem; } }
  section.partner div#partner div + div ul li:nth-child(2) {
    width: 66.6%; }
    @media screen and (max-width: 991px) {
      section.partner div#partner div + div ul li:nth-child(2) {
        width: 100%; } }
  @media screen and (max-width: 1199px) {
    section.partner div#partner div + div ul li:nth-child(23) {
      width: 66.6%; } }
  @media screen and (max-width: 991px) {
    section.partner div#partner div + div ul li:nth-child(23) {
      width: 50%; } }
  @media screen and (max-width: 767px) {
    section.partner div#partner div + div ul li:nth-child(23) {
      width: 100%; } }
