@charset "UTF-8";
h1,
h2,
h3,
#navi,
#logo-container,
.commentLink,
a.btn {
  font-family: 'Josefin Sans', sans-serif; }

h3 {
  font-size: 1.6rem;
  padding: 0 0 0.6rem;
  margin: 0 0 1.4rem 0;
  color: #3f51b5;
  position: relative;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: #3f51b5; }

a:hover {
  color: #FD7177; }

a.btn {
  color: #3f51b5;
  background: #FFF;
  border: 2px solid #3f51b5;
  border-radius: 36px;
  height: 36px;
  box-shadow: none; }
  a.btn:visited {
    background: #FFF;
    border: 2px solid #3f51b5; }
  a.btn:hover, a.btn:active {
    background: #FD7177 !important;
    color: #FFF;
    border: 2px solid #FD7177; }

.nav-wrapper #logo-container {
  font-size: 1.1rem; }
  .nav-wrapper #logo-container span {
    color: #BBB; }
  .nav-wrapper #logo-container:hover {
    color: #FFF; }

#index-banner .header {
  margin: 2rem 0 1rem 0; }
  #index-banner .header #logomark {
    width: 240px; }
#index-banner .lead {
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.5rem;
  color: #444;
  font-size: 0.9rem; }

#navi {
  padding: 0; }
  #navi .s3 {
    border-right: 1px solid #3f51b5; }
    #navi .s3 a {
      font-size: 1rem; }
    #navi .s3 .navi_h {
      position: relative;
      display: inline-block; }
    #navi .s3 .navi_h:after {
      content: "" attr(data-hover-label) "";
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      transform: scale(1.2);
      transition: transform .2s ease-out, opacity .2s ease-out; }
    #navi .s3 .navi_h__label {
      display: inline-block;
      transition: transform 0.2s cubic-bezier(1, 0.04, 0, 1.18) 0.25s, opacity 0.15s cubic-bezier(1, 0.04, 0, 1.18) 0.25s; }
    #navi .s3 .navi_h:hover:after,
    #navi .s3 .navi_h:focus:after {
      opacity: 1;
      transform: scale(1);
      transition-duration: .2s;
      transition-delay: .15s; }
    #navi .s3 .navi_h:hover .navi_h__label,
    #navi .s3 .navi_h:focus .navi_h__label {
      opacity: 0;
      transform: scale(0);
      transition-duration: .2s;
      transition-delay: 0s; }
  #navi .s3:last-child {
    border-right: none; }

.side-nav h2 {
  display: block;
  background: #EEE;
  color: #333;
  margin: 0;
  padding: 20px 32px;
  font-size: 1.2rem;
  border-bottom: 1px solid #CCC; }
.side-nav li {
  border-bottom: 1px solid #CCC; }

#groups .row {
  margin-bottom: 0; }
  #groups .row .col {
    padding: 0 1px; }
  #groups .row .card {
    border-radius: 0;
    box-shadow: none;
    margin: 0; }
    #groups .row .card a {
      color: #444444; }
    #groups .row .card a:hover {
      color: #FD7177; }
    #groups .row .card .card-image {
      position: relative;
      overflow: hidden; }
      #groups .row .card .card-image img {
        display: block;
        height: auto;
        max-width: 100%;
        transition: 0.5s;
        border-radius: 0; }
      #groups .row .card .card-image:hover > img {
        -webkit-transform: scale(1.2);
        transform: scale(1.2); }
      #groups .row .card .card-image .site-link {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 200;
        text-align: center;
        margin-top: -70px; }
        #groups .row .card .card-image .site-link a {
          display: inline-block;
          box-sizing: border-box;
          text-decoration: none;
          width: 64px;
          height: 64px;
          border-radius: 64px;
          margin: 0 6px;
          padding: 13px 0 0;
          background: rgba(255, 255, 255, 0.9);
          color: #3f51b5;
          font-size: 11px;
          line-height: 1;
          box-shadow: 0 0 3px silver; }
          #groups .row .card .card-image .site-link a:hover {
            background: #FD7177;
            color: #FFF; }
          #groups .row .card .card-image .site-link a i {
            font-size: 1.1rem;
            display: block;
            margin-bottom: 2px; }
        @media screen and (max-width: 768px) {
          #groups .row .card .card-image .site-link {
            margin-top: -46px; }
            #groups .row .card .card-image .site-link a {
              margin: 0 3px;
              padding: 4px 0 0;
              width: 46px;
              height: 46px;
              font-size: 8px;
              border-radius: 46px;
              line-height: 1;
              box-shadow: 0 0 2px silver; }
            #groups .row .card .card-image .site-link i {
              margin-bottom: 1px; } }
    #groups .row .card .card-content {
      margin: 0;
      padding: 10px 0 20px; }
    #groups .row .card h5 {
      font-size: 0.9rem;
      margin: 0; }
      @media screen and (max-width: 768px) {
        #groups .row .card h5 {
          font-size: 0.76rem; } }

#schedule {
  margin-bottom: 4rem; }

/* GooGle Calendar */
.cal_wrapper {
  max-width: 800px;
  /* 最大幅 */
  min-width: 300px;
  /* 最小幅 */
  margin: 2.0833% auto; }

.googlecal {
  position: relative;
  padding-bottom: 100%;
  /* 縦横比 */
  height: 0;
  overflow: hidden; }

.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important; }

@media only screen and (min-width: 600px) {
  /* 画面幅が600px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 75%; } }
#topics {
  margin-bottom: 4rem; }
  #topics li {
    margin-bottom: 2em; }
    #topics li a {
      text-decoration: underline; }
    #topics li time {
      display: block;
      color: gray;
      margin-bottom: 5px;
      font-size: 0.85rem; }
  #topics li:after {
    content: " ";
    display: block;
    clear: both; }

#blog {
  margin-bottom: 4rem; }
  #blog li {
    margin-bottom: 2em;
    display: table;
    width: 100%; }
    #blog li .thumbnail {
      margin: 0;
      float: left;
      width: 18%; }
      #blog li .thumbnail img {
        width: 100%; }
    #blog li .entry-content {
      float: right;
      width: 78%;
      margin: 0; }
      #blog li .entry-content h4 {
        margin: 0.64rem 0 0.412rem 0;
        font-size: 1rem;
        text-decoration: underline; }
      #blog li .entry-content p {
        font-size: 0.85rem;
        color: gray; }
      #blog li .entry-content time {
        display: block;
        color: gray;
        margin-bottom: 5px;
        font-size: 0.85rem; }
  #blog li:after {
    content: " ";
    display: block;
    clear: both; }

#banners li {
  margin-bottom: 1rem; }
  #banners li img {
    width: 100%; }

#navigation-top {
  margin: 1em 0 2em; }
  #navigation-top a {
    display: inline-block;
    box-sizing: border-box;
    text-decoration: none;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    padding: 24px 0 0;
    background: url(../images/angle-up.svg) 52% 1px no-repeat #3f51b5;
    background-size: 14px;
    color: #FFF;
    font-size: 11px;
    border-radius: 60px; }
    #navigation-top a:hover {
      background: url(../images/angle-up.svg) 52% 1px no-repeat #FD7177; }

.icon-block {
  padding: 0 15px; }

.icon-block .material-icons {
  font-size: inherit; }

.fa-small {
  font-size: 2.4em; }

.fa-xsmall {
  font-size: 1.2em; }

.fa-white {
  color: #FFF; }

.fa-white:hover {
  color: #FD7177; }

.page-footer {
  background: linear-gradient(#3f51b5, #29379D); }
  .page-footer .centered {
    position: relative;
    overflow: hidden;
    height: 180px; }
  .page-footer .sns-footer {
    position: relative;
    left: 50%;
    float: left; }
    .page-footer .sns-footer li {
      text-align: center;
      width: 4em;
      position: relative;
      left: -50%;
      float: left; }
  .page-footer .logo-footer img {
    width: 160px; }
  .page-footer .footer-copyright {
    font-size: 0.5rem;
    background: #000; }

@media (max-width: 933px) and (min-width: 0px) {
  .nav-wrapper {
    width: 100%; }
    .nav-wrapper #logo-container {
      font-size: 0.96rem;
      line-height: 60px; }

  #index-banner .header {
    margin: 1rem 0 0.5rem 0; }
    .single #index-banner .header {
      margin: 0; }
    #index-banner .header #logomark {
      width: 160px; }
      .single #index-banner .header #logomark {
        width: 120px; }
  #index-banner .lead {
    text-align: center;
    margin-bottom: 1rem;
    color: #444;
    font-size: 0.75rem; }
    #index-banner .lead br {
      display: none; }

  .page-footer .centered {
    height: 80px; } }

/*# sourceMappingURL=style.css.map */
