@charset "UTF-8";
/*明朝体*/
/*Times New Roman*/
/*Google Fonts*/
/*コンテンツwidth*/
/*よく使う色*/
/*ボーダーカラー*/
/*リンク*/
/*ボタン*/
/*
@mixin btn01SP($width: 49.8vw, $height: 12vw, $bgImg: url(img/common/arrow01_black.svgz), $bgPos: right 3.2vw center, $bgSize: 4.4vw auto, $fSize: 2.93vw) {
    a,
    input {
        display: block;
        width: $width;
        height: $height;
        margin: 0 auto;
        background: $bgImg $bgPos no-repeat;
        -webkit-background-size: $bgSize;
        background-size: $bgSize;
        border: 1px solid #333;
        line-height: $height;
        text-align: center;
        font-size: $fSize;
    }
}
*/
/*
@mixin btn01PC($width: 250px, $height: 60px, $bgImg: url(img/common/arrow01_black.png), $bgImgHover: url(img/common/arrow01_white.png), $bgPos: right 15px center, $bgSize: 22px auto, $fSize: 15rem) {
    a,
    input {
        display: block;
        width: $width;
        height: $height;
        margin: 0 auto;
        background: $bgImg  $bgPos no-repeat;
        -webkit-background-size: $bgSize;
        background-size: $bgSize;
        border: 1px solid #333;
        line-height: 58px;
        text-align: center;
        letter-spacing: 0.3em;
        font-size: $fSize;
        &:hover {
            background-image: $bgImgHover;
            color: #fff;
            cursor: pointer;
            -webkit-animation: bg 0.3s ease-in 0s forwards;
            animation: bg 0.3s ease-in 0s forwards;
            @keyframes bg {
                0% {
                    background-color: transparent;
                    color: #333;
                }
                100% {
                    background-color: $emphasis;
                    background-image: $bgImgHover;
                    color: #fff;
                }
            }
            @-webkit-keyframes bg {
                0% {
                    background-color: transparent;
                    color: #333;
                }
                100% {
                    background-color: $emphasis;
                    background-image: $bgImgHover;
                    color: #fff;
                }
            }
        }
    }
}
*/
/*タイトルバー*/
/*
撮影プランページ用CSS
*/
/*------------------------------ SP用CSS（PCにも同時に適用される） ------------------------------*/
/*-----------------------------------------------------------------
一覧
-----------------------------------------------------------------*/
#planList {
  width: 100vw;
  padding: 0;
  margin: 0;
}
#planList .main {
  width: 100vw;
  padding: 0;
  margin: 0;
  /*
  #event {
      width: 100vw;
      padding: 0 0 12vw;
      position: relative;
      h2 {
          margin-bottom: 8vw;
          text-align: center;
          font-size: 7.73vw;
          font-family: $ff_CG;
      }
      .bx-wrapper {
          .bx-viewport {
              width: 77.2vw !important;
              margin: 0 auto;
              overflow: visible !important;
              z-index: 0;
          }
      }
      .list {
          display: flex;
          flex-wrap: wrap;
          overflow: hidden !important;
          li {
              width: 72vw !important;
              margin: 0 2.6vw;
              border: 1px solid #666;
              a {
                  height: 100%;
                  padding: 5.8vw 5.2vw 30.6vw;
                  color: #333;
                  position: relative;
                  h3 {
                      overflow: hidden;
                      white-space: nowrap;
                      text-overflow: ellipsis;
                      text-align: center;
                      font-size: 4.53vw;
                      font-family: $ff_barlow;
                  }
                  .date {
                      margin-bottom: 4.6vw;
                      text-align: center;
                      font-family: $ff_barlow;
                  }
                  figure {
                      margin-bottom: 4.6vw;
                  }
                  .txt {
                      line-height: 230%;
                      text-align: justify;
                  }
                  .more {
                      width: 15.3vw;
                      margin: 0 auto;
                      line-height: 130%;
                      font-size: 12rem;
                      font-family: $ff_CG;
                      color: #999;
                      position: absolute;
                      bottom: 8vw;
                      left: 50%;
                      z-index: 4;
                      -webkit-transform: translateX(-50%);
                      transform: translateX(-50%);
                      span {
                          width: 16px;
                          height: 16px;
                          position: absolute;
                          top: 0;
                          right: 0;
                          .arrow_color {
                              fill: #999;
                          }
                      }
                  }
              }
          }
      }
      .control {
          width: 10.6vw;
          height: 100%;
          position: absolute;
          top: 0;
          z-index: 5;
          a {
              height: 100%;
              background-repeat: no-repeat;
              -webkit-background-size: 6.6vw auto;
              background-size: 6.6vw auto;
          }
          &.p {
              left: 0;
              a {
                  background-position: right center;
                  background-image: url(img/top/slider_arrow_prev.svgz);
              }
          }
          &.n {
              right: 0;
              a {
                  background-position: left center;
                  background-image: url(img/top/slider_arrow_next.svgz);
              }
          }
      }
  }
  */
}
#planList .main #basicLink {
  padding-top: 34.6vw;
  margin-top: -34.6vw;
}
#planList .main .archive-plan-list {
  padding: 8vw 4vw 0;
  position: relative;
}
#planList .main .archive-plan-list * {
  position: relative;
  z-index: 1;
}
#planList .main .archive-plan-list:first-of-type::after {
  content: "";
  display: block;
  width: 100%;
  height: 79%;
  background-color: #f6f2f2;
  position: absolute;
  left: 0;
  z-index: 0;
  top: 30vw;
}
#planList .main .archive-plan-list:last-of-type {
  padding-bottom: 8vw;
}
#planList .main .archive-plan-list h2 {
  margin-bottom: 8vw;
  text-align: center;
  font-size: 7vw;
  font-family: "Cormorant Garamond", Georgia, "Yu Mincho", YuMincho, 游明朝, "Hiragino Mincho ProN", HGS明朝E, Meiryo, メイリオ, serif;
  font-weight: 400;
}
#planList .main .archive-plan-list .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#planList .main .archive-plan-list .list li {
  width: 44.26vw;
  margin-bottom: 10.75vw;
}
#planList .main .archive-plan-list .list li a {
  height: 100%;
}
#planList .main .archive-plan-list .list li a h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 16vw;
}
#planList .main .archive-plan-list .list li a h3 span {
  line-height: 130%;
  text-align: center;
  word-wrap: break-word;
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
#planList .main .archive-plan-list .list li a .subtitle {
  margin-bottom: 0;
  margin-top: 1.3333333333vw;
  font-size: 2.6666666667vw;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1866666667vw;
  text-align: center;
  color: #aaa;
}

/*-----------------------------------------------------------------
投稿詳細
-----------------------------------------------------------------*/
#planDetail .main {
  margin-top: 40vw;
  padding: 0;
  border: none;
}
#planDetail .main .title {
  margin-bottom: 10.3vw;
  text-align: center;
  font-size: 6.53vw;
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
#planDetail .main .date {
  margin-bottom: 10.6vw;
  text-align: center;
  font-size: 3.2vw;
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
#planDetail .main .date span.start::after {
  content: "-";
  display: inline-block;
  padding: 0 0.5em;
}
#planDetail .main .subTitle {
  width: 81.3vw;
  margin: 0 auto 5.3vw;
  text-align: justify;
}
#planDetail .main .slider {
  margin-bottom: 10vw;
}
#planDetail .main .slider .mainSlide {
  margin-bottom: 5.3vw;
}
#planDetail .main .slider .mainSlide .slick-list .slick-track .slick-slide img {
  width: 92vw;
  height: 61.3vw;
  object-fit: contain;
}
#planDetail .main .slider .thumbWrap .thumb {
  padding: 0 6vw;
  position: relative;
  z-index: 0;
}
#planDetail .main .slider .thumbWrap .thumb .slick-arrow {
  width: 5.73vw;
  height: 18vw;
  padding: 0;
  margin: 0;
  position: absolute;
  z-index: 10;
}
#planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-prev {
  background: url(img/plan/slider_prev.png) center no-repeat;
  -webkit-background-size: 4vw auto;
  background-size: 4vw auto;
  left: 0;
}
#planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-prev:before {
  display: none;
}
#planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-next {
  background: url(img/plan/slider_next.png) center no-repeat;
  -webkit-background-size: 4vw auto;
  background-size: 4vw auto;
  right: 0;
}
#planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-next:before {
  display: none;
}
#planDetail .main .slider .thumbWrap .thumb .slick-list {
  width: 80vw;
  height: 18vw !important;
  padding: 0 !important;
}
#planDetail .main .slider .thumbWrap .thumb .slick-list .slick-track {
  height: 18vw !important;
}
#planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide {
  width: 26.6666666667vw !important;
  padding: 0 1.3vw;
  border: none;
}
#planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide img {
  width: 24vw;
  height: 18vw;
  object-fit: contain;
}
#planDetail .main .freeArea01 {
  padding-bottom: 0;
  margin-bottom: 12vw;
  border-bottom: none;
}
#planDetail .main #plan {
  margin-bottom: 8.6vw;
}
#planDetail .main #plan::after {
  content: "";
  display: block;
  width: 92vw;
  height: 12vw;
  margin: 0 auto;
  background: url(img/plan/swipe.png) center bottom no-repeat;
  -webkit-background-size: 64vw auto;
  background-size: 64vw auto;
}
#planDetail .main #plan h3 {
  padding-bottom: 3.3vw;
  border-bottom: 1px solid #333;
  font-size: 4.26vw;
  margin-bottom: 5.3vw;
}
#planDetail .main #plan .scroll {
  width: 96vw;
  overflow: auto;
  /*tableをスクロールさせる*/
}
#planDetail .main #plan .scroll::-webkit-scrollbar {
  /*tableにスクロールバーを追加*/
}
#planDetail .main #plan .scroll::-webkit-scrollbar-track {
  /*tableにスクロールバーを追加*/
  background: transparent;
}
#planDetail .main #plan .scroll::-webkit-scrollbar-thumb {
  /*tableにスクロールバーを追加*/
  background: transparent;
}
#planDetail .main #plan .priceSystem {
  max-width: 100%;
}
#planDetail .main #plan .priceSystem tbody tr th {
  padding: 2.6vw 1em;
  border: 1px solid #fff;
  text-align: center;
  white-space: nowrap;
}
#planDetail .main #plan .priceSystem tbody tr td {
  padding: 2.6vw 1.3vw;
  border: 1px solid #fff;
  text-align: center;
  white-space: nowrap;
}
#planDetail .main #plan .priceSystem tbody tr td .price {
  margin-bottom: 5px;
}
#planDetail .main #plan .priceSystem tbody tr td .btn a {
  display: inline-block;
  height: 4.93vw;
  padding: 0 1em;
  background-color: #6c6565;
  line-height: 4.93vw;
  font-size: 2.38vw;
  color: #fff;
}
#planDetail .main #plan .priceSystem tbody tr:nth-of-type(odd) th {
  background-color: #dcd7d7;
}
#planDetail .main #plan .priceSystem tbody tr:nth-of-type(odd) td {
  background-color: #fafafa;
}
#planDetail .main #plan .priceSystem tbody tr:nth-of-type(even) th {
  background-color: #ece6e6;
}
#planDetail .main #plan .priceSystem tbody tr:nth-of-type(even) td {
  background-color: #f6f2f2;
}
#planDetail .main .freeArea02 {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
#planDetail .main #prices {
  width: 100%;
  overflow: auto;
  margin-top: 2.6666666667vw;
}
#planDetail .main #prices::after {
  display: none;
}
#planDetail .main #prices h3 {
  margin-bottom: 6vw;
  font-size: 4vw;
  font-family: tahoma, arial, helvetica, sans-serif;
  font-weight: bold;
}
#planDetail .main #prices .price {
  margin: 0 auto;
}
#planDetail .main #prices .price + .price {
  margin-top: 13.3333333333vw;
}
#planDetail .main #prices .scroll {
  width: 100%;
  margin: 0 auto;
}
#planDetail .main #prices table {
  margin: 0 auto;
  width: 100%;
  margin: 0;
  border: 0.5333333333vw solid #000000;
}
#planDetail .main #prices table caption {
  margin-bottom: 6vw;
  font-size: 4.5333333333vw;
  font-family: georgia, palatino, serif;
  font-weight: bold;
  text-align: center;
}
#planDetail .main #prices table caption span {
  display: inline-block;
  padding-bottom: 0.6666666667vw;
  border-bottom: 0.5333333333vw solid #000;
}
#planDetail .main #prices table tr th,
#planDetail .main #prices table tr td {
  padding: 3.3333333333vw;
  border: 0.2666666667vw solid #000000;
  line-height: 130%;
  vertical-align: middle;
  text-align: center;
}
#planDetail .main #prices table tr th {
  font-weight: bold;
}
#planDetail .main #prices table tr.btns td {
  text-align: center;
}
#planDetail .main #prices table tr.btns .btn a {
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  height: auto;
  text-align: center;
  font-size: 2.9333333333vw;
  position: relative;
  transition: all 0.3s ease-out;
  border: 0.2666666667vw solid #333;
  padding: 0.8vw 1.0666666667vw 0.8vw 1.0666666667vw;
  max-width: 40vw;
  min-height: 12vw;
}
#planDetail .main #prices table tr.btns .btn a:hover {
  color: #fff;
  border: 0.2666666667vw solid #6c6565;
  background: #6c6565;
}
#planDetail .main #prices table tr.btns .btn a:hover:after {
  border-left-color: #fff;
}
#planDetail .main #prices table tr.btns .btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.6vw;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 1.0666666667vw solid #333;
  border-top: 1.0666666667vw solid transparent;
  border-bottom: 1.0666666667vw solid transparent;
  transition: all 0.3s ease-out;
}
#planDetail .main #prices .link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 5.3333333333vw;
}
#planDetail .main #prices .link .btn + .btn {
  margin-top: 2.6666666667vw;
}
#planDetail .main #prices .link a {
  display: block;
  width: 53.3333333333vw;
  height: auto;
  line-height: 12vw;
  text-align: center;
  letter-spacing: 0.3em;
  font-size: 2.93vw;
  position: relative;
  transition: background-color 0.3s ease-out;
  background-color: #6c6565;
  color: #fff;
}
#planDetail .main #prices .link a:hover {
  color: #333;
  background: #f6f2f2;
}
#planDetail .main .backBtn {
  margin: 12vw auto 0;
}
#planDetail .main .backBtn a,
#planDetail .main .backBtn input {
  display: block;
  width: 49.8vw;
  height: 12vw;
  margin: 0 auto;
  border: 1px solid #333;
  line-height: 12vw;
  text-align: center;
  font-size: 3.46vw;
  font-family: "Cormorant Garamond", Georgia, "Yu Mincho", YuMincho, 游明朝, "Hiragino Mincho ProN", HGS明朝E, Meiryo, メイリオ, serif;
  position: relative;
}
#planDetail .main .backBtn a span,
#planDetail .main .backBtn input span {
  width: 4vw;
  height: 4vh;
  position: absolute;
  top: 0.5rem;
  right: 1.5rem;
}
#planDetail .main .backBtn a {
  background: none;
  font-size: 3.46vw;
  font-family: "Cormorant Garamond", Georgia, "Yu Mincho", YuMincho, 游明朝, "Hiragino Mincho ProN", HGS明朝E, Meiryo, メイリオ, serif;
}

/*-----------------------------------------------------------------
注意事項の承諾機能
-----------------------------------------------------------------*/
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.modal .modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal .modal__content {
  background-color: #f6f2f2;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 92vw;
  max-width: 92vw;
  height: 90vh;
}
.modal .modal__content .body {
  position: relative;
  overflow-y: auto;
  height: 90vh;
  padding-bottom: 8vw;
}
.modal .modal__content .inner {
  position: relative;
  padding: 12.6666666667vw 6vw;
}
.modal .modal__content h3 {
  font-size: 17rem;
  font-weight: bold;
  line-height: 1.42;
  letter-spacing: 4.8px;
  text-align: center;
  padding: 2px;
  border: 0.2666666667vw solid #333;
  position: relative;
  width: 70.6666666667vw;
  margin: 0 auto 8vw;
}
.modal .modal__content h3::before {
  content: "";
  display: block;
  z-index: 0;
  width: calc(100% - 14px);
  height: calc(100% + 8px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-color: #f6f2f2;
}
.modal .modal__content h3 .bg {
  position: relative;
  z-index: 1;
}
.modal .modal__content h3 small {
  display: block;
  text-align: center;
  font-size: 10rem;
  font-weight: 500;
  letter-spacing: 2.7px;
}
.modal .modal__content h4 {
  font-size: 14rem;
  font-weight: bold;
  line-height: 1.36;
  letter-spacing: normal;
  text-align: left;
  margin-top: 38px;
  margin-bottom: 10px;
}
.modal .modal__content h4:first-child {
  margin-top: 0;
}
.modal .modal__content h5 {
  font-size: 14rem;
  font-weight: bold;
  line-height: 2.13;
  margin-bottom: 6px;
}
.modal .modal__content .box.corona {
  padding: 6.6666666667vw 5.3333333333vw 8vw;
  border: solid 1px #ccc;
}
.modal .modal__content .box.white {
  background: #fff;
  padding: 18px;
  margin-top: 16px;
  margin-bottom: 8px;
}
.modal .modal__content .box.white h5 {
  text-align: center;
}
.modal .modal__content .box h4 {
  margin-top: 16px;
}
.modal .modal__content .box h4:first-child {
  margin-top: 0;
}
.modal .modal__content p {
  font-size: 14rem;
  line-height: 1.571;
  letter-spacing: 0;
}
.modal .modal__content p.ex {
  font-size: 12rem;
  line-height: 1.428;
}
.modal .modal__content p.center {
  text-align: center;
}
.modal .modal__content p + p {
  margin-top: 1em;
}
.modal .modal__content p a {
  color: #ff0000;
  text-decoration: underline;
}
.modal .modal__content p a:hover {
  color: #ff9e9e;
}
.modal .modal__content table {
  width: 100%;
  background: #fff;
  border: 0.2666666667vw solid #ccc;
  margin-top: 1em;
}
.modal .modal__content table th,
.modal .modal__content table td {
  border: 0.2666666667vw solid #ccc;
  padding: 4.6666666667vw;
  font-size: 14rem;
  font-weight: bold;
  letter-spacing: 0;
}
.modal .modal__content .link {
  padding: 6vw 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  margin: 0 6vw;
}
.modal .modal__content .link .accept {
  font-size: 3.7333333333vw;
  font-weight: bold;
  margin-bottom: 4.6666666667vw;
}
.modal .modal__content .link .accept input {
  vertical-align: middle;
}
.modal .modal__content .link .btn .js-modal-accept {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 69.3333333333vw;
  height: 16vw;
  background-color: #6c6565;
  font-size: 2.9333333333vw;
  font-weight: 500;
  letter-spacing: 1.2vw;
  text-align: center;
  color: #fff;
  cursor: pointer;
}
.modal .modal__content .link .btn .js-modal-accept:hover {
  opacity: 0.5;
}
.modal .modal__content .link .btn .js-modal-accept.disabled {
  background-color: #b5b2b2;
  cursor: not-allowed;
}
.modal .modal__content .link .btn .js-modal-accept.disabled:hover {
  opacity: 1;
}
.modal .modal__content .js-modal-close {
  position: absolute;
  top: 4vw;
  right: 4vw;
  text-indent: -200vw;
  display: block;
  background: url(./img/plan/modal-close.png) center center no-repeat;
  background-size: contain;
  width: 4vw;
  height: 4.1333333333vw;
}

@media screen and (min-width: 768px) {
  /*------------------------------ PC用CSS ------------------------------*/
  /*-----------------------------------------------------------------
  一覧
  -----------------------------------------------------------------*/
  #planList .main {
    /*
    #event {
        padding-bottom: 80px;
        h2 {
            margin-bottom: 60px;
            font-size: 48rem;
        }
        .list {
            display: flex;
            flex-wrap: wrap;
            width: 90vw;
            margin: 0 auto;
            li {
                width: 28vw !important;
                margin: 0 1vw 40px;
                overflow: hidden;
                @include opacity(0.5);
                a {
                    display: block;
                    padding: 2.34vw 2vw 8.8vw;
                    h3 {
                        margin-bottom: 0.5vw;
                        font-size: 24rem;
                    }
                    .date {
                        margin-bottom: 1.82vw;
                        font-size: 14rem;
                    }
                    figure {
                        margin-bottom: 1.82vw;
                        overflow: hidden;
                        background: $basis;
                        img {
                            width: 100%;
                            -webkit-transition-duration: 0.3s;
                            transition-duration: 0.3s;
                            &:hover {
                                opacity: 0.7;
                                -webkit-transform: scale(1.1, 1.1);
                                transform: scale(1.1, 1.1);
                                -webkit-transition-duration: 0.3s;
                                transition-duration: 0.3s;
                            }
                        }
                    }
                    .txt {
                    }
                    .more {
                        width: 71px;
                        position: absolute;
                        bottom: 3vw;
                        left: 50%;
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        padding-right: 35px;
                        font-size: 11rem;
                        -webkit-transition: background-color 0.3s ease-out;
                        transition: background-color 0.3s ease-out;
                        span {
                            width: 16px;
                            height: 16px;
                            position: absolute;
                            top: 0;
                            right: 10px;
                            .arrow_color {
                                fill: #999;
                            }
                        }
                        &:hover {
                            color: #ccc;
                            span {
                                -webkit-animation: arrow 2s ease-out 0s infinite alternate;
                                animation: arrow 2s ease-out 0s infinite alternate;
                                .arrow_color {
                                    fill: #ccc;
                                }
                                @keyframes arrow {
                                    from {
                                        right: 18px;
                                        animation-timing-function: ease-out;
                                    }
                                    25% {
                                        right: 12px;
                                        animation-timing-function: ease-in;
                                    }
                                    50% {
                                        right: 18px;
                                        animation-timing-function: ease-out;
                                    }
                                    75% {
                                        right: 12px;
                                        animation-timing-function: ease-in;
                                    }
                                    to {
                                        right: 18px;
                                    }
                                }
                                @-webkit-keyframes arrow {
                                    from {
                                        right: 18px;
                                        animation-timing-function: ease-out;
                                    }
                                    25% {
                                        right: 12px;
                                        animation-timing-function: ease-in;
                                    }
                                    50% {
                                        right: 18px;
                                        animation-timing-function: ease-out;
                                    }
                                    75% {
                                        right: 12px;
                                        animation-timing-function: ease-in;
                                    }
                                    to {
                                        right: 18px;
                                    }
                                }
                            }
                        }
                    }
                }
                &::before,
                &::after,
                a::before,
                a::after {
                    content: "";
                    position: absolute;
                    background: #999;
                }
                &::before {
                    bottom: 0;
                    left: -28vw;
                    width: 28vw;
                    height: 1px;
                }
                &::after {
                    bottom: -500px;
                    right: 0;
                    width: 1px;
                    height: 500px;
                }
                a::before {
                    top: 0;
                    right: -28vw;
                    width: 28vw;
                    height: 1px;
                }
                a::after {
                    top: -500px;
                    left: 0;
                    width: 1px;
                    height: 500px;
                }
                &:hover::before {
                    animation: leftAnim 0.4s ease-in;
                    @keyframes leftAnim {
                        0% {left: -500px;}
                        100% {left: 500px;}
                    }
                }
                &:hover::after {
                    animation: bottomAnim 0.4s ease-in;
                    @keyframes bottomAnim {
                        0% {bottom: -28vw;}
                        100% {bottom: 28vw;}
                    }
                }
                a:hover::before {
                    animation: rightAnim 0.4s ease-in;
                    @keyframes rightAnim {
                        0% {right: -500px;}
                        100% {right: 500px;}
                    }
                }
                a:hover::after {
                    animation: topAnim 0.4s ease-in;
                    @keyframes topAnim {
                        0% {top: -28vw;}
                        100% {top: 28vw;}
                    }
                }
            }
        }
    }
    */
  }
  #planList .main .archive-plan-list {
    padding: 70px 0 0;
    position: relative;
  }
  #planList .main .archive-plan-list:first-of-type::after {
    height: 100%;
    top: 15vw;
  }
  #planList .main .archive-plan-list:last-of-type {
    padding-bottom: 100px;
  }
  #planList .main .archive-plan-list h2 {
    margin-bottom: 60px;
    font-size: 30rem;
  }
  #planList .main .archive-plan-list .list {
    justify-content: flex-start;
    width: 82vw;
    margin: 0 auto;
  }
  #planList .main .archive-plan-list .list li {
    width: 19vw;
    margin: 0 0.75vw 3.64vw;
  }
  #planList .main .archive-plan-list .list li a {
    display: block;
    /*@include opacity(0.5);*/
  }
  #planList .main .archive-plan-list .list li a figure {
    overflow: hidden;
    background: #f6f2f2;
  }
  #planList .main .archive-plan-list .list li a figure img {
    width: 100%;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }
  #planList .main .archive-plan-list .list li a figure img:hover {
    opacity: 0.7;
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }
  #planList .main .archive-plan-list .list li a h3 {
    height: auto;
    margin-top: 20px;
  }
  #planList .main .archive-plan-list .list li a h3 span {
    font-size: 22rem;
  }
  #planList .main .archive-plan-list .list li a .subtitle {
    margin-bottom: 0;
    margin-top: 12px;
    font-size: 12rem;
    font-weight: 500;
    line-height: 1.43;
    letter-spacing: 1.4px;
    text-align: left;
    color: #aaa;
    text-align: center;
  }
  #planList .main .archive-plan-list .more a {
    display: block;
    width: 250px;
    height: 60px;
    line-height: 60px;
    font-size: 18rem;
    border: 1px solid #333;
    position: relative;
    -webkit-transition: background-color 0.3s ease-out;
    transition: background-color 0.3s ease-out;
  }
  #planList .main .archive-plan-list .more a span {
    width: 22px;
    height: 22px;
    position: absolute;
    top: 7px;
    right: 15px;
  }
  #planList .main .archive-plan-list .more a:hover {
    color: #fff;
    border: 1px solid #6c6565;
    background: #6c6565;
  }
  #planList .main .archive-plan-list .more a:hover span {
    -webkit-animation: arrow 2s ease-out 0s infinite alternate;
    animation: arrow 2s ease-out 0s infinite alternate;
  }
  #planList .main .archive-plan-list .more a:hover span .arrow_color {
    fill: #fff;
  }
  @keyframes arrow {
    from {
      right: 18px;
      animation-timing-function: ease-out;
    }
    25% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    50% {
      right: 18px;
      animation-timing-function: ease-out;
    }
    75% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    to {
      right: 18px;
    }
  }
  @-webkit-keyframes arrow {
    from {
      right: 18px;
      animation-timing-function: ease-out;
    }
    25% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    50% {
      right: 18px;
      animation-timing-function: ease-out;
    }
    75% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    to {
      right: 18px;
    }
  }
  #planList .main .archive-plan-list .element {
    display: block;
    position: absolute;
    right: 35px;
    bottom: -5px;
    z-index: 90;
  }

  /*-----------------------------------------------------------------
  投稿詳細
  -----------------------------------------------------------------*/
  #planDetail .main {
    width: 100%;
    margin-top: 120px;
  }
  #planDetail .main .title {
    margin-bottom: 90px;
    font-size: 34rem;
  }
  #planDetail .main .date {
    margin-bottom: 55px;
    font-size: 14rem;
  }
  #planDetail .main .subTitle {
    width: 970px;
    margin: 0 auto 50px;
  }
  #planDetail .main .slider {
    margin-bottom: 45px;
  }
  #planDetail .main .slider .mainSlide {
    margin-bottom: 20px;
  }
  #planDetail .main .slider .mainSlide .slick-list .slick-track .slick-slide img {
    max-width: 970px;
    max-height: 645px;
    width: auto;
    height: auto;
    margin: 0 auto;
  }
  #planDetail .main .slider .thumbWrap .thumb {
    width: 1034px;
    padding: 0 32px;
    margin: 0 auto;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-arrow {
    width: 22px;
    height: 8px;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-prev {
    -webkit-background-size: 22px 8px;
    background-size: 22px 8px;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-arrow.slick-next {
    -webkit-background-size: 22px 8px;
    background-size: 22px 8px;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-list {
    width: 970px;
    height: 100px !important;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-track {
    height: 100px !important;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide {
    width: 161.6666666667px !important;
    padding: 0 5.8333333333px;
    border: none;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide img {
    width: 150px;
    height: 100px;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide img:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  #planDetail .main .freeArea01 {
    width: 970px;
    margin: 0 auto 60px;
  }
  #planDetail .main .priceTitle {
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
    font-size: 18rem;
    width: 970px;
    margin: 0 auto 40px;
  }
  #planDetail .main #plan {
    width: 1000px;
    margin: 0 auto 45px;
  }
  #planDetail .main #plan::after {
    display: none;
  }
  #planDetail .main #plan h3 {
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
    font-size: 18rem;
    margin-bottom: 40px;
  }
  #planDetail .main #plan .scroll {
    width: 970px;
    margin: 0 auto;
  }
  #planDetail .main #plan .priceSystem {
    min-width: 40%;
    margin: 0 auto;
  }
  #planDetail .main #plan .priceSystem tbody tr th {
    padding: 15px 1em;
  }
  #planDetail .main #plan .priceSystem tbody tr td {
    padding: 15px 1em;
  }
  #planDetail .main #plan .priceSystem tbody tr td .btn a {
    height: 24px;
    line-height: 24px;
    font-size: 12rem;
  }
  #planDetail .main #plan .priceSystem tbody tr td .btn a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
  #planDetail .main #plan .priceSystem tbody tr:nth-of-type(odd) th {
    background-color: #dcd7d7;
  }
  #planDetail .main #plan .priceSystem tbody tr:nth-of-type(odd) td {
    background-color: #fafafa;
  }
  #planDetail .main #plan .priceSystem tbody tr:nth-of-type(even) th {
    background-color: #ece6e6;
  }
  #planDetail .main #plan .priceSystem tbody tr:nth-of-type(even) td {
    background-color: #f6f2f2;
  }
  #planDetail .main .freeArea02 {
    width: 970px;
    margin: 0 auto 10px;
  }
  #planDetail .main #prices {
    width: 1000px;
    margin: 0 auto 45px;
    height: auto;
    overflow: initial;
    overflow-x: auto;
    overflow-y: hidden;
  }
  #planDetail .main #prices::after {
    display: none;
  }
  #planDetail .main #prices .price {
    width: 970px;
    margin: 0 auto;
  }
  #planDetail .main #prices .price + .price {
    margin-top: 70px;
  }
  #planDetail .main #prices .scroll {
    width: 970px;
    margin: 0 auto;
  }
  #planDetail .main #prices table {
    width: auto;
    min-width: 700px;
    max-width: 100%;
    margin: 0 auto;
    border: 1px solid #ddd;
  }
  #planDetail .main #prices table caption {
    margin-bottom: 2em;
    font-size: 20rem;
    font-family: georgia, palatino, serif;
    font-weight: bold;
    text-align: center;
  }
  #planDetail .main #prices table caption span {
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 2px solid #000;
  }
  #planDetail .main #prices table thead th {
    background-color: #f8f8f8;
  }
  #planDetail .main #prices table tr th,
#planDetail .main #prices table tr td {
    padding: 15px;
    border: 1px solid #ddd;
    line-height: 130%;
    vertical-align: middle;
    height: 48px;
    text-align: center;
  }
  #planDetail .main #prices table tr th {
    font-weight: bold;
  }
  #planDetail .main #prices table tr.btns td {
    text-align: center;
  }
  #planDetail .main #prices table tr.btns .btn a {
    margin: 0 auto;
    width: 180px;
    min-height: 0;
    max-width: none;
    height: auto;
    text-align: center;
    font-size: 13rem;
    position: relative;
    transition: all 0.3s ease-out;
    border: 1px solid #333;
  }
  #planDetail .main #prices table tr.btns .btn a br.sp {
    display: none;
  }
  #planDetail .main #prices table tr.btns .btn a:hover {
    color: #fff;
    border: 1px solid #6c6565;
    background: #6c6565;
  }
  #planDetail .main #prices table tr.btns .btn a:hover:after {
    border-left-color: #fff;
  }
  #planDetail .main #prices table tr.btns .btn a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid #333;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: all 0.3s ease-out;
  }
  #planDetail .main #prices .link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 22px;
  }
  #planDetail .main #prices .link .btn + .btn {
    margin-left: 25px;
    margin-top: 0;
  }
  #planDetail .main #prices .link a {
    display: block;
    width: 225px;
    height: auto;
    line-height: 55px;
    text-align: center;
    letter-spacing: 0.3em;
    font-size: 14rem;
    position: relative;
    transition: background-color 0.3s ease-out;
    background-color: #6c6565;
    color: #fff;
  }
  #planDetail .main #prices .link a:hover {
    color: #333;
    background: #f6f2f2;
  }
  #planDetail .main .backBtn {
    margin: 70px auto 0;
  }
  #planDetail .main .backBtn a,
#planDetail .main .backBtn input {
    display: block;
    width: 250px;
    height: auto;
    margin: 0 auto;
    border: 1px solid #333;
    line-height: 60px;
    text-align: center;
    letter-spacing: 0.3em;
    font-size: 18rem;
    position: relative;
    -webkit-transition: background-color 0.3s ease-out;
    transition: background-color 0.3s ease-out;
  }
  #planDetail .main .backBtn a span,
#planDetail .main .backBtn input span {
    width: 22px;
    height: 22px;
    position: absolute;
    top: 7px;
    right: 15px;
  }
  #planDetail .main .backBtn a:hover,
#planDetail .main .backBtn input:hover {
    color: #fff;
    border: 1px solid #6c6565;
    background: #6c6565;
  }
  #planDetail .main .backBtn a:hover span,
#planDetail .main .backBtn input:hover span {
    -webkit-animation: arrow 2s ease-out 0s infinite alternate;
    animation: arrow 2s ease-out 0s infinite alternate;
  }
  #planDetail .main .backBtn a:hover span .arrow_color,
#planDetail .main .backBtn input:hover span .arrow_color {
    fill: #fff;
  }
  @keyframes arrow {
    from {
      right: 18px;
      animation-timing-function: ease-out;
    }
    25% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    50% {
      right: 18px;
      animation-timing-function: ease-out;
    }
    75% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    to {
      right: 18px;
    }
  }
  @-webkit-keyframes arrow {
    from {
      right: 18px;
      animation-timing-function: ease-out;
    }
    25% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    50% {
      right: 18px;
      animation-timing-function: ease-out;
    }
    75% {
      right: 12px;
      animation-timing-function: ease-in;
    }
    to {
      right: 18px;
    }
  }
  #planDetail .main .backBtn a {
    font-size: 18rem;
  }

  .ie #planDetail .main .slider .mainSlide .slick-list .slick-track .slick-slide img {
    width: auto;
    height: auto;
    max-width: 970px;
    max-height: 645px;
  }
  .ie #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide {
    text-align: center;
  }
  .ie #planDetail .main .slider .thumbWrap .thumb .slick-list .slick-slide img {
    display: inline;
    width: auto;
    height: auto;
  }

  /*-----------------------------------------------------------------
  注意事項の承諾機能
  -----------------------------------------------------------------*/
  .modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
  }
  .modal .modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
  }
  .modal .modal__content {
    background-color: #f6f2f2;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 1000px;
    height: 90vh;
  }
  .modal .modal__content .body {
    position: relative;
    height: 90vh;
    overflow-y: auto;
    padding-bottom: 80px;
  }
  .modal .modal__content .inner {
    padding: 50px 70px;
    overflow-y: auto;
    max-height: none;
    margin-bottom: 0;
  }
  .modal .modal__content h3 {
    font-size: 24rem;
    font-weight: bold;
    line-height: 1.42;
    letter-spacing: 4.8px;
    text-align: center;
    padding: 2px;
    border: 1px solid #333;
    position: relative;
    width: 380px;
    margin: 0 auto 40px;
  }
  .modal .modal__content h3::before {
    content: "";
    display: block;
    z-index: 0;
    width: calc(100% - 14px);
    height: calc(100% + 8px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: #f6f2f2;
  }
  .modal .modal__content h3 .bg {
    position: relative;
    z-index: 1;
  }
  .modal .modal__content h3 small {
    display: block;
    text-align: center;
    font-size: 13.5rem;
    font-weight: 500;
    letter-spacing: 2.7px;
  }
  .modal .modal__content h4 {
    font-size: 18rem;
    font-weight: bold;
    line-height: 1.89;
    letter-spacing: normal;
    text-align: left;
    margin-top: 38px;
    margin-bottom: 10px;
  }
  .modal .modal__content h4:first-child {
    margin-top: 0;
  }
  .modal .modal__content h5 {
    font-size: 16rem;
    font-weight: bold;
    line-height: 2.13;
    margin-bottom: 6px;
  }
  .modal .modal__content .box.corona {
    padding: 32px 24px 35px;
    border: solid 1px #ccc;
  }
  .modal .modal__content .box.white {
    background: #fff;
    padding: 18px;
    margin-top: 16px;
    margin-bottom: 8px;
  }
  .modal .modal__content .box h4 {
    margin-top: 16px;
  }
  .modal .modal__content .box h4:first-child {
    margin-top: 0;
  }
  .modal .modal__content p {
    font-size: 16rem;
    line-height: 1.5;
  }
  .modal .modal__content p.ex {
    font-size: 14rem;
    line-height: 1.428;
  }
  .modal .modal__content p + p {
    margin-top: 14px;
  }
  .modal .modal__content p a {
    color: #ff0000;
    text-decoration: underline;
  }
  .modal .modal__content p a:hover {
    color: #ff9e9e;
  }
  .modal .modal__content table {
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    margin-top: 16px;
  }
  .modal .modal__content table th,
.modal .modal__content table td {
    border: 1px solid #ccc;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: bold;
  }
  .modal .modal__content .link {
    padding: 30px 0 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    background-color: #fff;
    margin: 0 70px;
  }
  .modal .modal__content .link .accept {
    font-size: 18rem;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .modal .modal__content .link .accept input {
    vertical-align: middle;
  }
  .modal .modal__content .link .btn .js-modal-accept {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 700px;
    height: 80px;
    background-color: #6c6565;
    font-size: 15rem;
    font-weight: 500;
    letter-spacing: 6px;
    text-align: center;
    color: #fff;
    cursor: pointer;
  }
  .modal .modal__content .link .btn .js-modal-accept:hover {
    opacity: 0.5;
  }
  .modal .modal__content .link .btn .js-modal-accept.disabled {
    background-color: #b5b2b2;
    cursor: not-allowed;
  }
  .modal .modal__content .link .btn .js-modal-accept.disabled:hover {
    opacity: 1;
  }
  .modal .modal__content .js-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    text-indent: -200vw;
    display: block;
    background: url(./img/plan/modal-close.png) center center no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
  }

  /*------------------------------ //PC用CSS ------------------------------*/
}