/*------------------------
    フォトギャラリー
------------------------*/
.page-section.attraction-header.photo-content {
  margin-top: 0;
}

.tour-period-day.photo-input {
  /*width: 95%;*/
  margin-bottom: 1%;
  background-color: #F4F2F2;
  border-radius: 5px;
  padding: 0.5% 1% 1%;
}

.room-title.c-title.search-title:before,
.room-title.c-title.search-title:after {
  display: none;
}

.tours-guide.phpto-search-guid {
  display: block;
  padding: 1% 4%;
  width: 85%;
  margin: 3% auto;
}

.photo-gallery-main {
  margin: 0 auto;
}

.photo-gallery-main .item:hover {
  z-index: 3;
}

.photo-gallery-main .item:hover .more-text {
  opacity: 1;
}

.gallery-search-link a {
  color: #1A476B;
  font-size: 1.8rem;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  letter-spacing: 0.6rem;
  position: fixed;
  right: 15.5%;
  top: 41%;
}


.cont-list-title.photo-page {
  margin-bottom: 0;
}

.tours-guide.phpto-search-guid p {
  font-size: 1.5rem;
}

.room-title.c-title.search-title {
  border-bottom: solid 1px #aaa;
  padding-bottom: 9px;
}

.detail-link.photo-search-link {
  margin: 3% auto;
  padding: 1% 5%;
}

.detail-link.photo-search-link:hover {
  opacity: 0.9;
  transition: 0.3s;
}

.photo-results {
  margin-bottom: 9px;
  font-size: 1.5rem;
}

.gallery-search-link:after {
  content: '';
  width: 37px;
  height: 72px;
  margin: auto 0 auto auto;
  border-bottom: solid 1px #1A476B;
  border-left: solid 1px #1A476B;
  position: fixed;
  right: calc(15.5% - 0.8em);
  top: calc(41% + 13em);
  transform: perspective(200px) rotateY(76deg);
}

/* IEのみ線が表示されないので太くする */
@media all and (-ms-high-contrast: none) {
  .gallery-search-link:after {
    border-left: solid 2px #1A476B;
  }
}


@media (max-width: 670px) {
  .gallery-search-link a {
    right: 1.5%;
  }

  .gallery-search-link:after {
    right: -1.3%;
  }
}

@media (max-width: 900px) {
  .photo-gallery {
    margin-top: 20px;
  }

  .attraction-back .cont-list-title.photo-page {
    padding-top: 40px;
    margin-bottom: 0;
  }
}


@media (max-width: 1220px) {

  .gallery-search-link a {
    right: 2.5%;
  }

  .gallery-search-link:after {
    right: 1%;
  }
}


/*------------------------
    よくあるお問い合わせ
------------------------*/
.faq-search {
  border: solid 1px #aaa;
  border-radius: 5px;
  padding: 5px 11px;
  /* color: #aaa; */
  font-size: 1.4rem;
  background-color: white;
  box-shadow: 2px 2px 4px -2px grey;
  width: 95%;
  margin: 10px auto 0;
}

.detail-link.faq-search-btn {
  margin: 10px 0 0 9px;
  font-size: 1.4rem;
  padding: 5px 13px;
}

.faq-list h3 {
  font-size: 1.7rem;
  border-bottom: solid 1px #aaa;
  padding-bottom: 7px;
  margin-bottom: 8px;
  text-indent: -5rem;
  padding-left: 5rem;
}

.faq-list h3:before {
  content: "\0051\002E";
  font-size: 2.5rem;
  padding-left: 18px;
  position: relative;
  right: 4px;
}

.faq-answer {
  margin-bottom: 3%;
  border-bottom: dashed 1px #aaa;
  text-indent: -29px;
  line-height: 2.6rem;
  padding: 0 0 3% 74px;
}

.faq-answer:before {
  content: "\0041\002E";
  font-size: 2rem;
  padding-left: 10px;
  color: #d0364f;
}


/*------------------------
   ギャラリー
------------------------*/
.grid {
  position: relative;
  opacity: 0;
  transition: opacity 0.8s linear 1s;

  margin: auto;
}

.images-loaded .grid {
  opacity: 1;
}

.item {
  position: absolute;
  margin: 5px;
  z-index: 1;
}

.item.muuri-item-hidden {
  z-index: 0;
}

.item.muuri-item-releasing {
  z-index: 2;
}

.item.muuri-item-dragging {
  z-index: 3;
}

.item-content {
  position: relative;
  cursor: pointer;
}

.item-content > img {
  display: block;
  border-radius: 6px;
}

.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  text-transform: uppercase;
  transition: opacity 0.6s linear 0.4s;
}

.images-loaded .loading {
  opacity: 0;
}


/* サムネイル */
.l-thumbnail {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.thumbnail-wrapper {
  display: block;
  margin: 0;
. item . large padding: 0;
}

.thumbnail-wrapper::after {
  transition: 0.5s;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
}

.thumbnail-wrapper img {
  display: block;
  max-width: 100%;
}

.more-text {
  transition: 0.5s;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  padding: 6px 12px 8px;
  color: #fff;
  font-size: 14px;
  opacity: 0;
  width: 100%;
  text-align: center;
  text-shadow: 1px 1px 3px black;
  font-weight: bold;
}


.item.large {
  overflow: hidden;
  width: 470px;
  height: 310px;
}

.item.large img {
  width: 470px;
  height: 310px;
  object-fit: cover;
}

.item.small {
  overflow: hidden;
  width: 230px;
  height: 150px;
}

.item.small img {
  width: 230px;
  height: 150px;
  object-fit: cover;
}


.item.small.vertical {
  height: 310px;
}

.item.small.vertical img {
  height: 310px;
}

.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  text-transform: uppercase;
  transition: opacity 0.6s linear 0.4s;
}

.images-loaded .loading {
  opacity: 0;
}


/* 写真詳細モーダル */
.gallery_detail_modal .modal_wapper {
  display: flex;
}

.gallery_detail_modal .modal_wapper .content.left {
  width: 70%;
}

.gallery_detail_modal .modal_wapper .content.right {
  margin-left: 20px;
  text-align: left;
  width: 30%;
}

.gallery_detail_modal .thumbnail.vertical {
  width: 100%;
  height: auto;
}


@media (max-width: 900px) {
  .gallery_detail_modal .modal_wapper .content.right {
    width: 50%;
  }

  .gallery_detail_modal .modal_wapper .content.left {
    width: 50%;
  }
}


@media (max-width: 670px) {

  .gallery_detail_modal .modal_wapper {
    flex-direction: column;
  }

  .gallery_detail_modal .modal_wapper .content.right,
  .gallery_detail_modal .modal_wapper .content.left {
    width: 100%;
    margin-left: 0;
  }

  .gallery_detail_modal button.close-btn {
    padding: 0.5em 2em;
  }

  .gallery_detail_modal .thumbnail {
    margin-bottom: 16px;
  }
}


/* ギャラリー下部 */
.gallery_list_bottom {
  text-align: center;
}

.gallery_list_bottom #gallery_add {
  padding: 0.5em 1.5em;
  margin: 1em 0 0;
  border-radius: 1em;
  background: transparent;
  border: 1px solid #707070;
  font-size: 1.4em;
  color: #707070;
  font-family: 'Noto Serif JP';
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
}

.cursor-pointer {
  cursor: pointer;
}


/* ギャラリー検索 */
#gallery-search .category-row {
  display: inline-flex;
}

#gallery-search .category-row-inner {
  width: 6em;
}

#gallery-search .tour-period-day.tour-period-input {
  justify-content: flex-start;
}

#gallery-search .tour-period-day.photo-input .ship-row {
  display: inline-block;
  margin-right: 3%;
}

#gallery-search .tour-period-day.photo-input .ship-row input.tour-input + label {
  margin-right: 0;
}

@media (max-width: 1224px) {
  #gallery-search .category-row-inner {
    width: 100%;
    margin: 5px 3px;
  }

  #gallery-search .tour-period-day.tour-period-input {
    width: 100%;
  }

  #gallery-search .category-row {
    width: 50%;
    display: block;
  }

  #gallery-search .tour-period-day.photo-input {
    display: flex;
    flex-direction: column;
  }

  #gallery-search .tour-period-day.photo-input .ship-row {
    margin: 5px 3px;

  }
}


/* ダウンロードボタン */
.btn_photo_download {
  background-color: #b02b41;
  color: #fff;
  margin: 0 1%;
  padding: 3px 8px;
  border-radius: 30pc;
  display: inline-block;
}

.btn_photo_download:hover {
  color: #ffffff;
}


/*------------------------
   FAQ
------------------------*/

/*　カテゴリ（サイドバー） */
.faq-category-menu-inner {
  max-width: 22em;
}

.faq-category-menu-inner.ship-room-content-inner {
  width: 74%;
}

/* .ship-room-menu-inner.searoute-menu-inner.on {
  right: calc(100vw - 80%);
} */

.faq-category-menu-inner.ship-room-menu-inner.on {
  left: 800px;
}

/* .ship-room-menu-inner.searoute-menu-inner {
  margin-top: 2.9%;
} */

/* .main_content .room-container {
  min-height: 630px;
} */

.main_content .ship-room-content-inner {
  width: 75%;
}


/*------------------------
   船内施設紹介
------------------------*/

@media (max-width: 900px) {
  /*#godios-wrapper .room-container.facilities-container .room-img {*/
  /*  display: flex;*/
  /*  flex-direction: column;*/
  /*}*/
}


/*------------------------
   船旅プランとおすすめ情報
------------------------*/

@media (max-width: 900px) {
  .enjoy-conts.plan-conts {
    height: auto;
  }

  .detail-link.enjoy-info-link {
    width: fit-content;
    margin: 7% auto;
  }
}

@media (max-width: 375px) {
  #entry .entry-content.ship-room-content {
    position: relative;
    top: 2em;
  }

  #entry .content-back.enjoy-cruise-back {
    margin-top: 2em;
  }

  .cont-list a {
    width: 107px;
  }
}

@media screen and (min-width: 671px) and (max-width: 900px) {
  .cont-list a {
    margin-bottom: 1em;
  }
}

/****************************/


/*------------------------
   客室紹介
------------------------*/
@media (max-width: 600px) {

  .room-img.room-img-content {
    flex-direction: column;
  }

  .room-img.room-img-content .img-block.room-block {
    width: 100%;
  }

}


/*------------------------
   乗船ガイド
------------------------*/

@media (max-width: 670px) {
  #guide .model-breadcrumb #breadcrumb {
    top: 0;
  }
}


/*------------------------
   モデルコース
------------------------*/
@media (max-width: 670px) {
  #breadcrumb {
    z-index: 2;

  }
}

/*------------------------
   トップページ
------------------------*/


.sea-route {
  width: 100%;
  max-width: 950px
}

/*日本地図*/
@media (max-width: 670px) {
  .route-link {
    top: 0;
  }

  .route-link a {
    font-size: 4vw;
  }

  .route-a-tomakomai-east h2 {
    font-size: 3vw;
  }

  .route-detail {
    width: 18vw;
    height: 18vw;
    max-width: 90px;
    max-height: 90px;
    font-size: 74% !important;
  }


  .route-a-maizuru {
    top: 60%;
    left: 26%;
  }

  .route-a-otaru {
    bottom: 79%;
    left: 56%;
  }

  .route-a-tomakomai-east {
    bottom: 74%;
    left: 74%;
  }

  .route-a-akita {
    bottom: 54%;
    left: 68%;
  }

  .route-a-tsuruga {
    top: 63%;
    left: 46%;
  }

  .route-a-niigata {
    top: 49%;
    left: 60%;
  }
}

@media screen and (min-width: 671px) and (max-width: 900px) {
  .route-detail {
    width: 9vw;
    height: 9vw;
    font-size: 1.6vw !important;
  }

  .route-detail.maizuru {
    bottom: 112%;
    left: 284%;
  }

  .route-detail.tsuruga {
    left: 271%;
    bottom: 50%;
  }

  .route-detail.niigata {
    bottom: 77%;
    left: 389%;
  }

  .route-detail.akita {
    bottom: 127%;
    left: 412%;
  }

  .route-detail.otaru {
    bottom: 345%;
    left: 465%;
  }

  .route-detail.tomakomai-east {
    bottom: 242%;
    left: 391%;
  }
}



/*------------------------
   カレンダー
------------------------*/

.flatpickr-current-month,
 .flatpickr-monthDropdown-months{
 padding-right: 2.5em !important;
    cursor: pointer !important;
        text-indent: 0.01px !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

 .numInputWrapper::before{
    position: absolute;
    top: 0.6em;
    right: 4.6em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #666666;
    pointer-events: none;
}

.dayContainer{
    padding: 0 15px 15px !important;
}
.flatpickr-weekdays{
    padding: 0 15px !important;
     margin-top: 9px !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{
    width: 22px !important;
    height: 22px !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{
    height: 53px !important;
}

.flatpickr-day{
    font-size: 1.8rem !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #20314a !important;
}
