/* CSS Document */
/*============================================
responsive
============================================*/
.reserve__headline {
  border-bottom: 1px dotted #F5D6D6;
  padding: 0 0 30px 0;
  margin: 0 0 30px 0; }
  .reserve__headline__ttl {
    font-family: Shippori Mincho, serif;
    color: #807374;
    font-size: 2.7rem;
    line-height: 1.4117647059;
    letter-spacing: .01em;
    font-weight: 500;
    padding: 0 0 20px 0; }

.reserve__wrap {
  padding: 120px 0; }
  @media screen and (max-width: 897px) {
    .reserve__wrap {
      padding: 40px 0; } }
  .reserve__wrap .reserve__box {
    max-width: 840px;
    margin: auto; }
    .reserve__wrap .reserve__box .caption {
      font-size: 1.4rem; }
    .reserve__wrap .reserve__box .qr__box {
      border: 1px solid #F5D6D6;
      padding: 30px 90px;
      margin: 20px 0 0 0;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 897px) {
        .reserve__wrap .reserve__box .qr__box {
          display: block;
          padding: 20px; } }
      .reserve__wrap .reserve__box .qr__box .txt {
        width: 72%;
        position: relative; }
        @media screen and (max-width: 897px) {
          .reserve__wrap .reserve__box .qr__box .txt {
            width: 100%;
            position: static;
            text-align: center;
            line-height: 1.5;
            padding: 0 0 10px 0; } }
        .reserve__wrap .reserve__box .qr__box .txt::after {
          position: absolute;
          content: "";
          width: 50%;
          height: 1px;
          background: #F5D6D6;
          right: 0; }
          @media screen and (max-width: 897px) {
            .reserve__wrap .reserve__box .qr__box .txt::after {
              display: none; } }
      .reserve__wrap .reserve__box .qr__box .img {
        width: 28%;
        text-align: right; }
        @media screen and (max-width: 897px) {
          .reserve__wrap .reserve__box .qr__box .img {
            width: 100%;
            text-align: center; } }
        .reserve__wrap .reserve__box .qr__box .img img {
          box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; }
    .reserve__wrap .reserve__box .num__list li {
      list-style-type: decimal;
      padding: 0 0 0 15px;
      margin: 0 0 0 20px; }
    .reserve__wrap .reserve__box .atlink__box {
      position: relative; }
      .reserve__wrap .reserve__box .atlink__box .icon {
        position: absolute;
        right: 0;
        top: 0; }
        @media screen and (max-width: 897px) {
          .reserve__wrap .reserve__box .atlink__box .icon {
            position: static;
            text-align: center; } }
    .reserve__wrap .reserve__box .app__box {
      border: 1px solid #F5D6D6;
      padding: 30px 90px;
      margin: 20px 0 0 0;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 897px) {
        .reserve__wrap .reserve__box .app__box {
          display: block;
          padding: 20px; } }
      .reserve__wrap .reserve__box .app__box .txt {
        color: #807374;
        font-weight: 500;
        width: 40%; }
        @media screen and (max-width: 897px) {
          .reserve__wrap .reserve__box .app__box .txt {
            width: 100%;
            padding: 0 0 10px 0;
            text-align: center; } }
      .reserve__wrap .reserve__box .app__box .img {
        width: 50%;
        display: flex;
        justify-content: flex-end;
        border-left: 1px solid #ccc; }
        @media screen and (max-width: 897px) {
          .reserve__wrap .reserve__box .app__box .img {
            width: 100%;
            text-align: center;
            border-left: none;
            justify-content: center; } }
        .reserve__wrap .reserve__box .app__box .img__item {
          width: 50%;
          text-align: right;
          padding: 0 0 0 10%; }
          @media screen and (max-width: 897px) {
            .reserve__wrap .reserve__box .app__box .img__item {
              text-align: center;
              margin: auto;
              padding: 0 5%; } }
  .reserve__wrap .btn {
    margin: 20px auto 0 auto;
    background: #fff;
    border: 1px solid #f2e8e7;
    -webkit-box-shadow: -3px -3px 3px rgba(255, 255, 255, 0.25), 3px 3px 3px rgba(161, 131, 129, 0.15);
    box-shadow: -3px -3px 3px #ffffff40, 3px 3px 3px #a1838126;
    border-radius: 165px;
    padding: 7px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
  .reserve__wrap .btn a:after {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border-radius: 200px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(243, 156, 150, 0.75)), to(rgba(244, 179, 195, 0.75)));
    background: -webkit-linear-gradient(top, rgba(243, 156, 150, 0.75) 0%, rgba(244, 179, 195, 0.75) 100%);
    background: linear-gradient(180deg, rgba(243, 156, 150, 0.75) 0%, rgba(244, 179, 195, 0.75) 100%);
    z-index: -1;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
  .reserve__wrap .btn a:before {
    background: #fff; }
  .reserve__wrap .btn a:hover:before {
    background: linear-gradient(141.95deg, #5fbf5a 12.27%, #93cc78 87.73%); }
  .reserve__wrap .btn a:after {
    background: -webkit-linear-gradient(308.05deg, #5fbf5a 12.27%, #93cc78 87.73%);
    background: linear-gradient(141.95deg, #5fbf5a 12.27%, #93cc78 87.73%); }
  .reserve__wrap .btn a span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 15px;
    position: relative;
    font-weight: 700;
    color: -webkit-linear-gradient(308.05deg, #5fbf5a 12.27%, #93cc78 87.73%);
    color: linear-gradient(141.95deg, #5fbf5a 12.27%, #93cc78 87.73%); }
  .reserve__wrap .btn a span:before {
    content: "";
    display: block;
    top: 0;
    left: 0;
    width: 30px;
    height: 20px;
    background: url(../img/common/icon/ic_calendar.svg) no-repeat center/contain; }
  .reserve__wrap .btn a span:hover:before {
    background: url(../img/common/icon/ic_calendar-white.svg) no-repeat center/contain; }

/*============================================
news
============================================*/
.news__box {
  padding: 90px 0;
  max-width: 1140px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 897px) {
    .news__box {
      padding: 40px;
      display: block; } }
  .news__box__item {
    position: relative;
    width: calc(100% / 3 - 40px);
    background: #fff;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 15px;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 897px) {
      .news__box__item {
        width: 100%; } }
    .news__box__item:nth-child(n + 4) {
      margin: 60px 0 0 0; }
      @media screen and (max-width: 897px) {
        .news__box__item:nth-child(n + 4) {
          margin: inherit; } }
    .news__box__item img {
      border-radius: 15px 15px 0 0; }
    .news__box__item a {
      display: flex;
      flex-direction: column;
      height: 100%; }
    .news__box__item .txt {
      padding: 25px; }
      @media screen and (max-width: 897px) {
        .news__box__item .txt {
          padding: 15px 15px 20px 15px; } }
      .news__box__item .txt p {
        color: #F89CA8; }
      .news__box__item .txt h2 {
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.6;
        color: #595959; }
    @media screen and (max-width: 897px) {
      .news__box__item:not(:first-of-type) {
        margin: 40px 0 0 0; } }
  .news__box::after {
    display: block;
    content: "";
    width: calc(100% / 3 - 40px); }

.news-details {
  max-width: 900px;
  margin: auto;
  padding: 90px 0; }
  @media screen and (max-width: 897px) {
    .news-details {
      padding: 40px 0; } }
  .news-details__box p.date {
    font-size: 1.5rem;
    color: #f39c96; }
  .news-details__box h2 {
    font-family: Shippori Mincho, serif;
    font-size: 2.4rem;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #807374;
    font-weight: 500;
    padding-bottom: 10px;
    border-bottom: 1px dashed #f3dddb;
    margin-bottom: 20px; }
  .news-details__box__btn {
    margin: 60px 0 0 0; }
    @media screen and (max-width: 897px) {
      .news-details__box__btn {
        margin: 20px 0 0 0; } }
    .news-details__box__btn a {
      margin-left: auto;
      margin-right: auto;
      display: flex;
      max-width: 320px;
      padding: 20px 20px 20px 30px;
      justify-content: space-between;
      align-items: center;
      border-radius: 100px;
      border: 1px solid #f2e8e7;
      background: #fffefc;
      box-shadow: 6px 6px 6px 0 rgba(161, 131, 129, 0.15);
      color: #bd7979;
      font-size: 1.7rem;
      font-style: normal;
      font-weight: 400;
      line-height: 180%;
      letter-spacing: 1.02px; }
      .news-details__box__btn a::after {
        content: "";
        display: inline-block;
        width: 21px;
        height: 21px;
        position: relative;
        display: block;
        background: url(../img/common/icon/ic_arrow-circle-gradient.svg) no-repeat center/contain; }

/*============================================
pagenavi
============================================*/
.wp-pagenavi {
  font-size: 12px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f37a73;
  padding: 0 0 60px 0; }

.wp-pagenavi a {
  color: #f37a73; }

.wp-pagenavi span.current,
.wp-pagenavi a.page {
  margin: 0 10px 0 0;
  border: solid 1px #eee;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
  transition: .3s; }

.wp-pagenavi span.current {
  border: none;
  background: #f37a73;
  color: #fff; }

.wp-pagenavi a.page {
  background: none; }

.wp-pagenavi a.page:hover {
  background: #f37a73;
  color: #fff; }

.wp-pagenavi .first,
.wp-pagenavi .extend {
  margin-right: 10px; }

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: none; }

.wp-pagenavi a, .wp-pagenavi span {
  display: none; }
