@charset "utf-8";
/* CSS Document */
@media all and (max-width: 960px){
  h2 {
    color: #1974b7;
    font-size: 1.4rem;
    line-height: 1.2;
  }
  h3 {
    color: #1974b7;
    font-size: 1.2rem;
    line-height: 1.2;
  }
  h4 {
    color: #1974b7;
    font-size: 1rem;
    line-height: 1.2;
  }

  /* #mainv section > div {
    height: 75vh !important;
    display: flex !important;
    flex-wrap: wrap !important;
    margin-top: 8vh !important;
  } */

  #main_visual .p-mainVisual__textLayer {
    left: 0;
    /* z-index: 3;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    width: 100%;
    height: 100%; */
    -webkit-transform: translateX(0);
    transform: translateX(-0);
    padding: 0;
    max-width: none;
  }
  #main_visual .p-mainVisual__textLayer {
    width: 47%;
  }
  #main_visual .p-mainVisual__textLayer br {
    display: none;
  }
  #main_visual .p-mainVisual__slideTitle, #main_visual .p-mainVisual__slideText {
    background: #fff;
    margin: 0;
    text-align: left;
    color: #137bc4;
    font-family: 'Noto Serif Japanese', Garamond , "游明朝" , "Times New Roman" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    text-shadow: none;
    width: 100%;
    padding: 15px;
  }
  #main_visual .p-mainVisual__slideTitle {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.6;
    text-align-last: justify;
    padding-bottom: 10px;
  }
  #main_visual .p-mainVisual__slideText {
    font-size: 0.75rem;
    font-weight: 500;
    padding-top: 0;
    line-height: 1.8;
    letter-spacing: 2px;
  }

  .top #content {
    margin-top: 0;
  }
  /*about*/
  #about {
    padding: 1em 0 2em;
  }
  #about p {
    margin: 0 0 2em;
    line-height: 2;
  }

  #feature {
    padding-top: 0 !important;
    background: #ebf9ff;
  }
  #feature .flex_cl {
    padding-right: 4vw;
    padding-left: 4vw;
  }
  #feature .flex_cl > section {
    padding-bottom: 3em;
  }
  #feature .flex_cl > section img {
    max-width: none;
    width: 100%;
  }
  #feature h2 {
    position: relative;
    text-align: center;
    color: #000;
    font-size: 1.2rem;
    letter-spacing: 1px;
    font-weight: bold;
    top: -12px;
    margin-bottom: 0.3em;
  }
  #feature h3 {
    font-size: 1.2rem;
    margin: 0.5em 0 0.3em;
  }
  #feature .right > div {
    padding-bottom: 3em;
  }
  #feature .right > div:last-child {
    padding-bottom: 0;
  }

  #service {
    padding: 4em 0;
  }
  #service h2 {
    text-align: center;
    color: #000;
    font-size: 1.7rem;
  }
  #service h2 span {
    display: block;
    font-size: 0.9rem;
    color: #1974b7;
    font-weight: normal;
  }
  #service hgroup p {
    margin: 1.5rem 0;
  }
  #service .flex_cl > section {
    padding: 4%;
    margin-bottom: 8%;
    text-align: center;
    -webkit-box-shadow: 5px 10px 10px -10px rgb(180 227 255);
    box-shadow: 5px 10px 10px -10px rgb(180 227 255);
  }
  #service .flex_cl > section:last-child {
    margin-bottom: 0;
  }
  #service .flex_cl > section img {
    width: 60px;
  }
  #service .flex_cl > section h3 {
    margin: 0.4em 0;
    line-height: 1.5;
  }
  #service .flex_cl > section p {
    text-align: left;
  }

  #news {
    background: #ebf9ff;
    padding: 3em 0;
  }
  #news h2 {
    margin: 0 0 1em;
    font-weight: normal;
    text-align: center;
  }
  #news h2 span {
    display: block;
    color: #020202;
    font-size: 0.8rem;
    margin-top: 0.5em;
  }
  #news #news_cts {
    padding-right: 4vw;
    padding-left: 4vw;
  }
  #news .flex_cl {
    margin-bottom: 1.2em;
    padding-bottom: 1.2em;
    border-bottom: solid 1px #e6e6e6;
    text-align: left;
  }
  #news section div:last-child {
    border: none !important;
  }
  #news .flex_cl .date {
    color: #757575;
  }
  #news .flex_cl .txt {
    width: 100%;
  }
  #news .flex_cl .txt a {
    font-weight: 500;
    font-size: 0.9rem;
  }

  #pu_member .flex_cl img, #pu_member .flex_cl div {
    width: 48%;
  }
  #pu_member h2 {
    font-size: 1.1rem;
  }
  #pu_member .date {
    color: #999999;
    font-weight: 300;
    font-size: 0.85rem;
  }
  #pu_member h3 {
    color: #010101;
    line-height: 1.2;
    font-size: 2.1rem;
    font-weight: 500;
  }
  #pu_member .position {
    margin: 2em 0;
  }
  #location {
    padding: 3em 0;
  }
  #location hr {
    display: none;
    /* background: #ebf5f8;
    display: block;
    width: 80%;
    height: 350px;
    position: relative;
    left: 0;
    top: -280px;
    z-index: -1;
    border: none;
    margin-bottom: -230px; */
  }
  #location hgroup h2 {
    margin-bottom: 1.2em;
  }
  #location hgroup p {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0rem;
  }
  #location .googlemaps {
    position: relative;
    left: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
    padding: 2em 0;
  }
  #location .flex_cl img {
    object-fit: cover;
  }
  .googlemaps iframe {
    width: 100%;
    min-height: 270px;
    margin-top: -5px;
  }
  .googlemaps iframe,
  .googlemaps object,
  .googlemaps embed {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all  0.7s ease;
  }
  .googlemaps iframe:hover,
  .googlemaps object:hover,
  .googlemaps embed:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%);
  }
  #location .access h3 {
    color: #000;
    font-size: 1rem;
    font-weight: 500;
    margin: 1em 0 0.7em;
  }
  #location dl {
    overflow: hidden;
  }
  #location dl dt, #location dl dd {
    float: left;
    margin-bottom: 0.7em;
  }
  #location dl dt {
    color: #999999;
    width: 7em;
    clear: both;
  }
  #location dl dd {
    width: calc(100% - 7em);
  }
  /* .l-footer .copyright {
    display: none;
  } */
}

@media all and (max-width: 350px){
  #mainv #main_copy p {
    font-size: 1.7rem;
  }
  #mainv section > div {
    margin-top: 1vh !important;
  }
}
