/* mainVisual
-------------------------------------------------- */
.mainVisual {
  padding: 0; }
  @media screen and (max-width: 767px) {
    .mainVisual {
      margin-top: 50px; } }
  .mainVisual .container-fluid {
    position: relative; }
    .mainVisual .container-fluid .inner {
      display: block;
      position: absolute;
      top: 100%;
      left: 100%;
      -ms-transform: translate(calc(-100% - 32px), calc(-100% - 32px));
      -webkit-transform: translate(calc(-100% - 32px), calc(-100% - 32px));
      transform: translate(calc(-100% - 32px), calc(-100% - 32px));
      height: 32px;
      width: 180px; }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid {
        padding: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .inner {
        top: 0;
        left: 0;
        height: 20px;
        width: 100%;
        padding: 0 8px;
        -ms-transform: translate(0, calc(75vw - 100% - 8px));
        -webkit-transform: translate(0, calc(75vw - 100% - 8px));
        transform: translate(0, calc(75vw - 100% - 8px)); } }
    .mainVisual .container-fluid .inner span {
      display: inline-block;
      float: right;
      padding: 0 5px;
      line-height: 20px;
      background: rgba(51, 51, 51, 0.9);
      border-radius: 10px;
      color: #FFF;
      font-size: 12px; }
      .mainVisual .container-fluid .inner span i {
        font-style: normal; }
    .mainVisual .container-fluid .inner .btn-more {
      border: 2px solid #00366F;
      border-radius: 4px;
      background: #FFF;
      color: #00366F;
      font-size: 14px;
      display: block;
      text-decoration: none;
      line-height: 32px; }
      .mainVisual .container-fluid .inner .btn-more:hover {
        background: #EEE; }
    .mainVisual .container-fluid h2 {
      font-size: 40px;
      color: #FFF;
      background: #00366F;
      border-radius: 16px 16px 0 0;
      margin-bottom: 8px;
      padding: 10px; }
      @media screen and (max-width: 1199px) {
        .mainVisual .container-fluid h2 {
          font-size: 36px; } }
      @media screen and (max-width: 991px) {
        .mainVisual .container-fluid h2 {
          font-size: 32px; } }
      @media screen and (max-width: 767px) {
        .mainVisual .container-fluid h2 {
          font-size: 28px;
          border-radius: 0; } }
    .mainVisual .container-fluid .photo1 {
      position: relative;
      height: calc(40vw + 8px);
      border-radius: 0 0 0 16px;
      cursor: pointer; }
      .mainVisual .container-fluid .photo1::before {
        content: ' ';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: calc(40vw + 8px);
        width: 100%; }
      .mainVisual .container-fluid .photo1::before {
        background: rgba(0, 0, 0, 0);
        -webkit-transition: all .3s;
        transition: all .3s; }
        @media screen and (max-width: 767px) {
          .mainVisual .container-fluid .photo1::before {
            height: 75vw; } }
      .mainVisual .container-fluid .photo1:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    .mainVisual .container-fluid .photo2 {
      position: relative;
      height: 20vw;
      margin-left: 8px;
      margin-bottom: 8px;
      cursor: pointer; }
      .mainVisual .container-fluid .photo2::before {
        content: ' ';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 20vw;
        width: 100%; }
      .mainVisual .container-fluid .photo2::before {
        background: rgba(0, 0, 0, 0);
        -webkit-transition: all .3s;
        transition: all .3s; }
        @media screen and (max-width: 767px) {
          .mainVisual .container-fluid .photo2::before {
            height: 75vw; } }
      .mainVisual .container-fluid .photo2:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    .mainVisual .container-fluid .photo3 {
      position: relative;
      height: 20vw;
      margin-left: 8px;
      margin-bottom: 8px;
      cursor: pointer; }
      .mainVisual .container-fluid .photo3::before {
        content: ' ';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 20vw;
        width: 100%; }
      .mainVisual .container-fluid .photo3::before {
        background: rgba(0, 0, 0, 0);
        -webkit-transition: all .3s;
        transition: all .3s; }
        @media screen and (max-width: 767px) {
          .mainVisual .container-fluid .photo3::before {
            height: 75vw; } }
      .mainVisual .container-fluid .photo3:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    .mainVisual .container-fluid .photo4 {
      position: relative;
      height: 20vw;
      margin-left: 8px;
      cursor: pointer; }
      .mainVisual .container-fluid .photo4::before {
        content: ' ';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 20vw;
        width: 100%; }
      .mainVisual .container-fluid .photo4::before {
        background: rgba(0, 0, 0, 0);
        -webkit-transition: all .3s;
        transition: all .3s; }
        @media screen and (max-width: 767px) {
          .mainVisual .container-fluid .photo4::before {
            height: 75vw; } }
      .mainVisual .container-fluid .photo4:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    .mainVisual .container-fluid .photo5 {
      position: relative;
      height: 20vw;
      margin-left: 8px;
      border-radius: 0 0 16px 0;
      cursor: pointer; }
      .mainVisual .container-fluid .photo5::before {
        content: ' ';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 20vw;
        width: 100%; }
      .mainVisual .container-fluid .photo5::before {
        background: rgba(0, 0, 0, 0);
        -webkit-transition: all .3s;
        transition: all .3s; }
        @media screen and (max-width: 767px) {
          .mainVisual .container-fluid .photo5::before {
            height: 75vw; } }
      .mainVisual .container-fluid .photo5:hover::before {
        background: rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo1 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo2 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo3 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo4 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo5 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo6 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo7 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo8 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo9 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo10 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo11 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo12 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo13 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo14 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo15 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo16 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo17 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo18 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo19 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo20 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo21 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo22 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo23 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo24 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo25 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo26 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo27 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo28 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo29 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo30 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo31 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo32 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo33 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo34 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo35 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo36 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo37 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo38 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo39 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo40 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo41 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo42 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo43 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo44 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo45 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo46 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo47 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo48 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo49 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo50 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo51 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo52 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo53 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo54 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo55 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo56 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo57 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo58 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo59 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo60 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo61 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo62 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo63 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo64 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo65 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo66 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo67 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo68 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo69 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo70 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo71 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo72 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo73 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo74 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo75 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo76 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo77 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo78 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo79 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo80 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo81 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo82 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo83 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo84 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo85 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo86 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo87 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo88 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo89 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo90 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo91 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo92 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo93 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo94 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo95 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo96 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo97 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo98 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo99 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .mainVisual .container-fluid .photo100 {
        height: 75vw;
        border-radius: 0;
        margin-left: 0;
        margin-bottom: 0; } }

/* leadSec
-------------------------------------------------- */
@media screen and (max-width: 767px) {
  .leadSec {
    padding-bottom: 0; } }

/* pointSec
-------------------------------------------------- */
.pointSec .container-fluid h2 {
  color: #00366F;
  font-size: 40px; }
  @media screen and (max-width: 767px) {
    .pointSec .container-fluid h2 {
      font-size: 24px; } }
  .pointSec .container-fluid h2 span {
    color: #7FC5DE;
    font-size: 80px; }
    @media screen and (max-width: 767px) {
      .pointSec .container-fluid h2 span {
        font-size: 50px; } }
.pointSec .container-fluid .pointBox {
  border: 3px solid #00366F;
  border-radius: 8px;
  width: 125px; }
  .pointSec .container-fluid .pointBox a {
    text-decoration: none;
    display: block;
    height: 100%;
    padding: 8px; }
    .pointSec .container-fluid .pointBox a:hover {
      background: rgba(0, 54, 111, 0.2); }
      .pointSec .container-fluid .pointBox a:hover img {
        opacity: 1; }
    .pointSec .container-fluid .pointBox a p {
      text-align: center;
      color: #00366F;
      font-weight: bold;
      font-size: 18px; }
      @media screen and (max-width: 767px) {
        .pointSec .container-fluid .pointBox a p {
          font-size: 16px; } }

/* pointDetailSec
-------------------------------------------------- */
.pointDetailSec .container {
  position: relative; }
  .pointDetailSec .container::after {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    -ms-transform: translate(-100%, 0);
    -webkit-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
    height: 160px;
    width: 160px; }
  .pointDetailSec .container .row {
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .pointDetailSec .container .row {
        margin-bottom: 20px; } }
  .pointDetailSec .container .h2_title.kyuuryou {
    background: url(../images/kyuuryou.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.hukurikousei {
    background: url(../images/hukurikousei.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.setsubi {
    background: url(../images/setsubi.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.yasumi {
    background: url(../images/yasumi.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.ningenkankei {
    background: url(../images/ningenkankei.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.kyouikuseido {
    background: url(../images/kyouikuseido.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.rishokuritsu {
    background: url(../images/rishokuritsu.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .h2_title.kinmutaisei {
    background: url(../images/kinmutaisei.svg) no-repeat 5px 50%;
    background-size: 80px 80px; }
  .pointDetailSec .container .fukidashiBox {
    min-height: 200px;
    padding: 16px 40px 16px 200px;
    border: 5px solid #00366F;
    color: #00366F;
    font-size: 18px;
    font-weight: bold;
    border-radius: 16px;
    position: relative;
    background: url(../images/nasuda.png) no-repeat 32px 100%;
    background-size: 128px 162px; }
    @media screen and (max-width: 767px) {
      .pointDetailSec .container .fukidashiBox {
        padding: 20px 16px 110px 16px;
        background: url(../images/nasuda.png) no-repeat 50% 100%;
        background-size: 80px 100px;
        font-size: 16px; } }
    .pointDetailSec .container .fukidashiBox::after {
      border: solid transparent;
      content: '';
      height: 0;
      width: 0;
      pointer-events: none;
      position: absolute;
      bottom: 100%;
      left: 10%;
      border-color: rgba(255, 255, 255, 0);
      border-top-width: 10px;
      border-bottom-width: 10px;
      border-left-width: 10px;
      border-right-width: 10px;
      margin-left: -10px;
      border-bottom-color: #FFF; }
    .pointDetailSec .container .fukidashiBox::before {
      border: solid transparent;
      content: '';
      height: 0;
      width: 0;
      pointer-events: none;
      position: absolute;
      bottom: 100%;
      left: 10%;
      border-color: rgba(0, 54, 111, 0);
      border-top-width: 14px;
      border-bottom-width: 14px;
      border-left-width: 14px;
      border-right-width: 14px;
      margin-left: -14px;
      margin-bottom: 4px;
      border-bottom-color: #00366F; }
    .pointDetailSec .container .fukidashiBox h4 {
      text-align: left; }
      .pointDetailSec .container .fukidashiBox h4 span {
        text-align: center;
        color: #FFF;
        background: #00366F;
        display: inline-block;
        border-radius: 18px;
        width: 110px;
        line-height: 36px; }
    .pointDetailSec .container .fukidashiBox p:last-child {
      margin-bottom: 0; }

#point1Sec .container::after {
  background: url(../images/point1_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point2Sec .container::after {
  background: url(../images/point2_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point3Sec .container::after {
  background: url(../images/point3_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point4Sec .container::after {
  background: url(../images/point4_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point5Sec .container::after {
  background: url(../images/point5_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point6Sec .container::after {
  background: url(../images/point6_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point7Sec .container::after {
  background: url(../images/point7_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point8Sec .container::after {
  background: url(../images/point8_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

#point9Sec .container::after {
  background: url(../images/point9_after_navy.svg) no-repeat 50% 50%;
  background-size: 100% 100%;
  z-index: -1; }

/* outlineSec
-------------------------------------------------- */
@media screen and (max-width: 767px) {
  .outlineSec table th {
    font-size: 14px; } }
@media screen and (max-width: 767px) {
  .outlineSec table td {
    font-size: 14px; } }
.outlineSec .spFixed {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .outlineSec .spFixed {
      margin-bottom: 0;
      background: rgba(255, 255, 255, 0.8);
      width: 100%;
      padding: 10px 15px;
      position: fixed;
      bottom: 0;
      left: 0;
      z-index: 1100; } }

/* gallerySec
-------------------------------------------------- */
.galleryHeaderSec {
  display: none;
  width: 100%;
  position: fixed;
  top: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 9999;
  background: #FFF;
  padding: 0;
  overflow-x: hidden;
  height: 0; }
  @media screen and (max-width: 767px) {
    .galleryHeaderSec {
      height: 50px; } }
  .galleryHeaderSec .btn-close {
    background: none;
    z-index: 100;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 15px;
    top: 85px;
    color: #00366F;
    border: none;
    text-align: center;
    line-height: 25px;
    font-size: 25px;
    padding: 0;
    margin: 0;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .galleryHeaderSec .btn-close {
        position: fixed;
        top: 10px;
        right: 10px; } }

.gallerySec {
  display: none;
  width: 800px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1200;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  border: none;
  background: none; }
  @media screen and (max-width: 991px) {
    .gallerySec {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .gallerySec {
      top: 50px; } }
  .gallerySec .noBox {
    margin-top: 75px;
    margin-bottom: 75px;
    background: #fff; }
    @media screen and (max-width: 991px) {
      .gallerySec .noBox {
        padding: 15px; } }
    @media screen and (max-width: 767px) {
      .gallerySec .noBox {
        padding: 0;
        margin-top: 0;
        margin-bottom: 0; } }
    .gallerySec .noBox .btn-close {
      background: none;
      z-index: 100;
      width: 25px;
      height: 25px;
      position: absolute;
      right: 15px;
      top: 85px;
      color: #00366F;
      border: none;
      text-align: center;
      line-height: 25px;
      font-size: 25px;
      padding: 0;
      margin: 0;
      cursor: pointer; }
    @media screen and (max-width: 767px) {
      .gallerySec .noBox .container-fluid {
        padding: 0; } }
    .gallerySec .noBox .container-fluid .row.singleBlock {
      height: 600px; }
      @media screen and (max-width: 767px) {
        .gallerySec .noBox .container-fluid .row.singleBlock {
          height: calc(75vw + 15px); } }
    .gallerySec .noBox .container-fluid .row.doubleBlock {
      height: 300px; }
      @media screen and (max-width: 767px) {
        .gallerySec .noBox .container-fluid .row.doubleBlock {
          height: calc(150vw + 30px); } }
    .gallerySec .noBox .container-fluid .row .singlePhoto {
      display: block;
      height: calc(100% - 30px);
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .gallerySec .noBox .container-fluid .row .singlePhoto {
          height: calc(100% - 15px);
          margin-bottom: 15px; } }
    .gallerySec .noBox .container-fluid .row .doublePhoto {
      display: block;
      height: calc(100% - 30px);
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .gallerySec .noBox .container-fluid .row .doublePhoto {
          height: calc(100% - 15px);
          margin-bottom: 15px; } }

/* formSec
-------------------------------------------------- */
.formSec {
  display: none;
  width: 530px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1200;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  border: none;
  background: none; }
  @media screen and (max-width: 991px) {
    .formSec {
      width: calc(100% - 30px); } }
  .formSec .btn-close {
    background: none;
    z-index: 100;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 25px;
    top: 100px;
    color: #00366F;
    border: none;
    text-align: center;
    line-height: 25px;
    font-size: 25px;
    padding: 0;
    margin: 0;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .formSec .btn-close {
        top: 35px;
        right: 10px; } }
  .formSec .noBox {
    margin-top: 75px;
    margin-bottom: 75px;
    background: #fff;
    border: 4px solid #00366F;
    border-radius: 16px;
    padding: 48px 64px; }
    @media screen and (max-width: 991px) {
      .formSec .noBox {
        padding: 15px; } }
    @media screen and (max-width: 767px) {
      .formSec .noBox {
        margin-top: 25px;
        margin-bottom: 25px; } }
    .formSec .noBox .container-fluid h2 {
      font-size: 24px;
      color: #00366F; }
    .formSec .noBox .container-fluid .row .formBlock {
      position: relative;
      text-align: left;
      margin-bottom: 25px;
      cursor: pointer; }
      .formSec .noBox .container-fluid .row .formBlock h3 {
        font-size: 16px;
        color: #00366F;
        margin-bottom: 8px; }
        .formSec .noBox .container-fluid .row .formBlock h3 span {
          display: inline-block;
          border: 1px solid #00366F;
          border-radius: 5px;
          padding: 0 8px;
          margin-left: 8px;
          font-size: 13px; }
          .formSec .noBox .container-fluid .row .formBlock h3 span.need {
            background: #00366F;
            color: #FFF; }
          .formSec .noBox .container-fluid .row .formBlock h3 span.free {
            color: #00366F; }

.bg-none span {
  background: none !important; }

.modal-overlay {
  z-index: 1100;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(255, 255, 255, 0.9); }
