@charset "UTF-8";
@media all and (min-width: 769px) {
  .SP {
    display: none !important; } }

@media screen and (max-width: 768px) {
  .PC {
    display: none !important; } }

.min {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E, serif; }

.js-fadeup {
  opacity: 0;
  -webkit-transform: translateY(40px);
  -ms-transform: translateY(40px);
  transform: translateY(40px);
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 2s;
  -o-transition-duration: 2s;
  transition-duration: 2s;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  @media screen and (max-width: 768px) {
    .js-fadeup.gallery-intro {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); } }

.js-fadeup-show {
  opacity: 1;
  -webkit-transform: translateY(0px);
  -ms-transform: translateY(0px);
  transform: translateY(0px); }

.p-ttlarea {
  padding: 15px; }
  @media screen and (max-width: 768px) {
    .p-ttlarea {
      padding: 0 10px; } }
  .p-ttlarea__inner {
    position: relative;
    background-position: 0;
    height: 630px;
    background-repeat: no-repeat;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      .p-ttlarea__inner {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -webkit-box;
        display: flex;
        -webkit-justify-content: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 72vw; } }
    .p-ttlarea__inner.forGallery {
      background-image: url(../../../images/route/gallery/bg_ttlarea_pc.png); }
      @media screen and (max-width: 768px) {
        .p-ttlarea__inner.forGallery {
          background-image: url(../../../images/route/gallery/bg_ttlarea_sp.png); } }
  .p-ttlarea-ttl {
    margin: 0;
    padding: 0;
    line-height: 1; }
    @media screen and (min-width: 769px) {
      .p-ttlarea-ttl {
        position: absolute;
        z-index: 1;
        top: 223px;
        right: 157px; } }
    @media screen and (max-width: 768px) {
      .p-ttlarea-ttl {
        width: 63.86667vw;
        -webkit-transform: translate(4vw, -9.33333vw);
        -ms-transform: translate(4vw, -9.33333vw);
        transform: translate(4vw, -9.33333vw); }
        .p-ttlarea-ttl img {
          width: 100%; } }
    @media screen and (min-width: 769px) {
      .p-ttlarea-ttl_news {
        width: 140px; } }
    @media screen and (max-width: 768px) {
      .p-ttlarea-ttl_news {
        width: 22.53521vw; } }
  .p-ttlarea-msg {
    display: block;
    color: #000; }
    @media screen and (min-width: 769px) {
      .p-ttlarea-msg {
        background-color: rgba(255, 255, 255, 0.7);
        width: 38.96103%;
        position: absolute;
        top: 50%;
        left: 12.35668%;
        margin-right: 0;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 2.5em 3.33333em; } }
    @media screen and (max-width: 768px) {
      .p-ttlarea-msg {
        width: 77.33333vw;
        margin: 5% auto 10%; } }
    .p-ttlarea-msg .txt {
      font-weight: normal;
      font-size: 3.2rem; }
      @media screen and (min-width: 769px) {
        .p-ttlarea-msg .txt {
          margin: 0; } }
      @media screen and (max-width: 768px) {
        .p-ttlarea-msg .txt {
          font-size: 4.26666vw;
          line-height: 1.7; } }
      .p-ttlarea-msg .txt span {
        color: rgba(89, 103, 103, 0.4);
        font-size: 2.2rem; }
        @media screen and (min-width: 769px) {
          .p-ttlarea-msg .txt span {
            line-height: 3; } }
        @media screen and (max-width: 768px) {
          .p-ttlarea-msg .txt span {
            font-size: 3.46666vw; } }
    .p-ttlarea-msg .name {
      font-size: 2.6rem; }
      @media screen and (min-width: 769px) {
        .p-ttlarea-msg .name {
          letter-spacing: 0.1em; } }
      @media screen and (max-width: 768px) {
        .p-ttlarea-msg .name {
          font-size: 4.8vw; } }
      .p-ttlarea-msg .name span {
        font-size: 1.8rem; }
        @media screen and (min-width: 769px) {
          .p-ttlarea-msg .name span {
            letter-spacing: 0.15em; } }
        @media screen and (max-width: 768px) {
          .p-ttlarea-msg .name span {
            font-size: 3.2vw; } }
      .p-ttlarea-msg .name:before {
        content: "";
        display: block;
        width: 50px;
        height: 1px;
        background-color: #333;
        margin: 1em 0; }
        @media screen and (max-width: 768px) {
          .p-ttlarea-msg .name:before {
            width: 9.33333vw; } }

.gallery-intro {
  position: relative;
  max-width: 1400px;
  margin: auto;
  width: auto;
  padding: 70px 0 100px;
  font-size: 22px;
  line-height: 2.8;
  font-style: italic;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .gallery-intro {
      padding: 9.33333vw 0 13.33333vw; } }
  .gallery-intro .gallery-intro-bg1 {
    position: absolute;
    top: 120px;
    left: 100px;
    background: url("../../../../assets/images/route/gallery/lead_bg_left_pc.png") 0 0 no-repeat;
    width: 318px;
    height: 160px; }
    @media screen and (max-width: 768px) {
      .gallery-intro .gallery-intro-bg1 {
        left: 0;
        background: url("../../../../assets/images/route/gallery/lead_bg_left_sp.png") 0 0 no-repeat;
        background-size: 100% auto;
        width: 22.93333vw;
        height: 36.66667vw; } }
  .gallery-intro .gallery-intro-bg2 {
    position: absolute;
    top: 100px;
    right: 100px;
    background: url("../../../../assets/images/route/gallery/lead_bg_right_pc.png") 0 0 no-repeat;
    width: 309px;
    height: 152px; }
    @media screen and (max-width: 768px) {
      .gallery-intro .gallery-intro-bg2 {
        right: 0;
        background: url("../../../../assets/images/route/gallery/lead_bg_right_sp.png") 0 0 no-repeat;
        background-size: 100% auto;
        width: 22.13333vw;
        height: 37.86667vw; } }
  .gallery-intro p {
    position: relative;
    z-index: 1; }
    .gallery-intro p span {
      padding-bottom: 5px;
      border-bottom: 1px solid #000; }
    @media screen and (max-width: 768px) {
      .gallery-intro p {
        font-size: 4vw; } }

.gallery-list {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .gallery-list {
      padding: 0 5.33333vw;
      margin-bottom: 13.33333vw; } }
  .gallery-list ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1400px;
    margin: auto;
    width: auto; }
  .gallery-list li {
    position: relative;
    width: calc(50% - 1px);
    margin-bottom: 2px; }
    @media screen and (max-width: 768px) {
      .gallery-list li {
        margin-bottom: 0vw; } }
    .gallery-list li a {
      display: block; }
      .gallery-list li a:hover {
        text-decoration: none; }
      .gallery-list li a.disabled {
        pointer-events: none; }
    .gallery-list li img {
      width: 100%; }
  .gallery-list .gallery-list-img {
    padding-top: 68.66952789699571%;
    background-color: #c1c1c1;
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: auto 100%; }
  .gallery-list .gallery-list-desc {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 40px;
    font-size: 18px;
    text-align: center;
    opacity: 0;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s; }
    @media screen and (min-width: 769px) {
      .gallery-list .gallery-list-desc span {
        padding-bottom: 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        margin-bottom: 15px; } }
    .gallery-list li.act .gallery-list-desc {
      opacity: 1; }
    @media screen and (max-width: 768px) {
      .gallery-list .gallery-list-desc {
        opacity: 1;
        display: block;
        position: relative;
        background: none;
        color: #000;
        font-size: 2.66667vw;
        padding: 0 1.33333vw;
        padding-top: 1.33333vw;
        height: 24vw; }
        .gallery-list .gallery-list-desc br {
          display: none; } }

.modal-wrap {
  position: fixed;
  z-index: 9901;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  -webkit-transition: 0.5s opacity;
  -o-transition: 0.5s opacity;
  transition: 0.5s opacity; }
  @media screen and (max-width: 768px) {
    .modal-wrap {
      -webkit-transform: translateY(5.33333vw);
      -ms-transform: translateY(5.33333vw);
      transform: translateY(5.33333vw); } }

.modal-wrap.show {
  opacity: 1;
  pointer-events: auto; }

.modal-close-x {
  position: absolute;
  z-index: 9903;
  right: -4px;
  top: -60px;
  cursor: pointer;
  background: url("../../../../assets/images/route/gallery/close.png") 50% 50% no-repeat;
  background-size: 43px 43px;
  width: 50px;
  height: 50px; }
  @media screen and (max-width: 768px) {
    .modal-close-x {
      top: -8vw;
      background: url("../../../../assets/images/route/gallery/close_sp.png") 50% 50% no-repeat;
      background-size: 5.86667vw 5.86667vw;
      right: 0.13333vw;
      width: 6.66667vw;
      height: 6.66667vw; } }

#arrows {
  position: fixed;
  z-index: 9902;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0; }
  #arrows.show {
    opacity: 1; }

#arrows > button {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  width: 50px;
  height: 130px;
  z-index: 9913;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  border: 0;
  outline: 0;
  color: transparent;
  pointer-events: auto; }
  @media screen and (max-width: 768px) {
    #arrows > button {
      -webkit-transform: translateY(-5.33333vw);
      -ms-transform: translateY(-5.33333vw);
      transform: translateY(-5.33333vw); } }

.slick-prev {
  left: 12%;
  background: url("../../../../assets/images/route/gallery/prev.png") 50% 50% no-repeat;
  background-size: 36px 70px; }
  @media screen and (max-width: 768px) {
    .slick-prev {
      left: -2vw;
      background: url("../../../../assets/images/route/gallery/prev_sp.png") 50% 50% no-repeat;
      background-size: 4.8vw 7.46667vw; } }

.slick-next {
  right: 12%;
  background: url("../../../../assets/images/route/gallery/next.png") 50% 50% no-repeat;
  background-size: 36px 70px; }
  @media screen and (max-width: 768px) {
    .slick-next {
      right: -2vw;
      background: url("../../../../assets/images/route/gallery/next_sp.png") 50% 50% no-repeat;
      background-size: 4.8vw 7.46667vw; } }

.modal-bg {
  position: fixed;
  z-index: 9900;
  background: rgba(0, 0, 0, 0.7);
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: 0.5s opacity;
  -o-transition: 0.5s opacity;
  transition: 0.5s opacity;
  pointer-events: none; }
  .modal-bg.show {
    opacity: 1;
    pointer-events: auto; }

.modal-wrap-inner {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -webkit-box;
  display: flex;
  margin: auto;
  max-width: 960px;
  height: 100%; }
  @media screen and (max-width: 1200px) {
    .modal-wrap-inner {
      max-width: 80vw; } }
  @media screen and (max-width: 768px) {
    .modal-wrap-inner {
      max-width: initial;
      width: 100%; } }

.modal-slider {
  width: 100%; }

.slick-slide > div {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.modal {
  max-width: 960px; }
  @media screen and (max-width: 1200px) {
    .modal {
      max-width: 80vw; } }
  @media screen and (max-width: 768px) {
    .modal {
      max-width: 93.33333vw;
      width: 100%; } }
  .modal figure {
    position: relative;
    text-align: center; }
    .modal figure .figure-wrap {
      position: relative;
      display: inline-block; }
    .modal figure img {
      max-width: 100%;
      max-height: 500px;
      height: auto; }
      @media screen and (max-width: 1200px) {
        .modal figure img {
          max-height: 500px; } }
      @media screen and (max-height: 700px) {
        .modal figure img {
          max-height: 400px; } }
      @media screen and (max-width: 900px) {
        .modal figure img {
          max-height: 66.66667vw; } }
      @media screen and (max-width: 768px) {
        .modal figure img {
          max-height: 92vw; } }
      @media screen and (max-width: 500px) {
        .modal figure img {
          max-height: 92vw; } }
    .modal figure figcaption {
      margin: auto;
      margin-top: 5px;
      text-align: left;
      color: #fff;
      font-size: 14px;
      line-height: 1.5; }
      .modal figure figcaption br {
        display: none; }
      @media screen and (max-height: 700px) {
        .modal figure figcaption {
          max-height: 400px; } }
      @media screen and (max-width: 768px) {
        .modal figure figcaption {
          margin-top: 1.06667vw;
          font-size: 3.46667vw; } }
      .modal figure figcaption span {
        display: block;
        padding-bottom: 5px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        margin-bottom: 5px; }
        @media screen and (max-width: 768px) {
          .modal figure figcaption span {
            padding-bottom: 1.06667vw;
            margin-bottom: 1.06667vw; } }

.slick-slider .slick-list {
  overflow: visible; }
