@charset "UTF-8";
/* 秋冬は、家族の今を残す旅へ。
font-family: "M PLUS Rounded 1c", sans-serif;
font-family: "Kaisei Decol", serif;
デザイン基準幅 1920px（1px = 0.052vw）
*****************************************************************/
/* mixin
*********************************************************************/
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* 1280 */
/* フルワイド */
/* フルワイド */
img {
  width: 100%;
  height: auto;
}

/* visual
*****************************************************************/
.area_visual {
  position: relative;
}

.area_visual_sub {
  width: 20.4vw;
  position: absolute;
  top: 4.2vw;
  left: 7.14vw;
}

.area_visual_copy {
  width: 59.62vw;
  position: absolute;
  top: 10.6vw;
  left: 19.8vw;
}

/* copy
*****************************************************************/
.area_copy {
  text-align: center;
  padding: 5.26vw 20px 4.43vw;
}
@media (width < 480px) {
  .area_copy {
    padding-block: 40px;
  }
}

.ttl_main {
  position: relative;
  display: inline-block;
}

.hd_main {
  color: #876239;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: clamp(1.8rem, 2.5vw, 4.8rem);
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.18em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.ttl_main_star {
  width: 5.2vw;
  min-width: 40px;
  position: absolute;
  top: -1vw;
  right: -7vw;
}
@media (width < 896px) {
  .ttl_main_star {
    top: -30px;
    right: 0;
  }
}

.ttl_main_line {
  margin-inline: auto;
  margin-top: 0.6vw;
  width: 35.6vw;
  min-width: 240px;
}

.txt_base {
  color: #333;
  font-size: clamp(1.4rem, 1.04vw, 2rem);
  line-height: 2.25em;
  letter-spacing: 0.15em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (width < 480px) {
  .txt_base {
    line-height: 1.9em;
    letter-spacing: 0.08em;
  }
}

.txt_copy {
  padding-top: 1.3vw;
}
@media (width < 480px) {
  .txt_copy {
    padding-top: 16px;
  }
}

.line_wave {
  line-height: 0;
}

/* 見出しブロック（memory / season 共通）
*****************************************************************/
.ttl_block {
  container-type: inline-size;
  position: relative;
  width: 77.55vw;
  margin-inline: auto;
  margin-top: 4vw;
}
@media (width < 896px) {
  .ttl_block {
    width: calc(100% - 20px);
    margin-top: 40px;
  }
}

.ttl_block_frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
}
.ttl_block_frame img {
  width: 100%;
  height: 100%;
}
@media (width < 480px) {
  .ttl_block_frame {
    width: 100%;
  }
}

.ttl_block_inner {
  position: relative;
  width: 90%;
  padding-bottom: 5.4cqw;
  text-align: center;
}
@media (width < 480px) {
  .ttl_block_inner {
    width: 100%;
    padding-bottom: 24px;
  }
}

.ttl_block_tri {
  width: 9.74cqw;
  margin-top: -0.67cqw;
  margin-left: 38.08cqw;
}
@media (width < 480px) {
  .ttl_block_tri {
    width: 56px;
    margin-inline: auto;
    margin-top: -8px;
  }
}

.hd_block {
  color: #876239;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: clamp(1.8rem, 2.3vw, 4.4rem);
  font-weight: 500;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding-top: 0.27cqw;
}

.ttl_block_line {
  width: 45.87cqw;
  margin-left: 14.98cqw;
}
@media (width < 480px) {
  .ttl_block_line {
    width: 70%;
    margin-inline: auto;
  }
}

.ttl_block_img {
  width: 23%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media (width < 480px) {
  .ttl_block_img {
    width: 90px;
    top: -30px;
    right: -6px;
    transform: none;
  }
}

/* memory
*****************************************************************/
.list_memory {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.12vw;
  width: 89vw;
  margin-inline: auto;
  padding-top: 4.5vw;
}
@media (width < 896px) {
  .list_memory {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    width: calc(100% - 40px);
    max-width: 540px;
    padding-top: 40px;
  }
}

.item_memory {
  container-type: inline-size;
}

.img_memory {
  overflow: hidden;
  border-radius: 16.8cqw;
}

.point_memory {
  width: 34cqw;
  margin: 11cqw 0 0 8cqw;
}
@media (width < 896px) {
  .point_memory {
    margin-top: 20px;
  }
}

.hd_memory {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: clamp(1.8rem, 1.77vw, 3.4rem);
  font-weight: 500;
  line-height: 1.47em;
  letter-spacing: 0.05em;
  white-space: nowrap;
  margin: 0.8vw 3.9cqw 0;
  padding: 0 0 0.7vw 4cqw;
  border-bottom: #000 solid 2px;
}
@media (width < 896px) {
  .hd_memory {
    margin-top: 8px;
    padding-bottom: 8px;
  }
}

.txt_memory {
  padding: 0.6vw 4cqw 0 8cqw;
}
@media (width < 896px) {
  .txt_memory {
    padding-top: 10px;
  }
}

.btn_memory {
  width: 49cqw;
  margin: 1.2vw auto 0;
}
@media (width < 896px) {
  .btn_memory {
    margin-top: 16px;
  }
}

/* season
*****************************************************************/
#season {
  padding-top: 0.2vw;
}
@media (width < 896px) {
  #season {
    padding-top: 40px;
  }
}

.txt_season {
  text-align: center;
  padding: 1.8vw 20px 0;
}
@media (width < 480px) {
  .txt_season {
    padding-top: 20px;
  }
}

.list_spot {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.7vw;
  width: 83.33vw;
  margin-inline: auto;
  padding-top: 3.75vw;
}
@media (width < 896px) {
  .list_spot {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    width: calc(100% - 40px);
    max-width: 500px;
    padding-top: 30px;
  }
}

.item_spot {
  container-type: inline-size;
  text-align: center;
}

.img_spot {
  overflow: hidden;
  border-radius: 17cqw;
}

.hd_spot {
  color: #ec759e;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: clamp(1.8rem, 1.56vw, 3rem);
  font-weight: 500;
  line-height: 1.67em;
  letter-spacing: 0.08em;
  padding-top: 1.2vw;
}
@media (width < 896px) {
  .hd_spot {
    padding-top: 12px;
  }
}

.txt_spot {
  color: #666;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: clamp(1.6rem, 1.56vw, 3rem);
  font-weight: 500;
  line-height: 1.67em;
  letter-spacing: 0.05em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.btn_spot {
  width: 52.4cqw;
  margin: 1vw auto 0;
}
@media (width < 896px) {
  .btn_spot {
    margin-top: 16px;
  }
}

/* plan
*****************************************************************/
#plan {
  padding-top: 3.5vw;
}
@media (width < 896px) {
  #plan {
    padding-top: 60px;
  }
}

.area_photo {
  position: relative;
}

.list_photo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.list_photo li {
  line-height: 0;
}
@media (width < 480px) {
  .list_photo {
    grid-template-columns: repeat(1, 1fr);
  }
}

.area_photo_wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  line-height: 0;
}

.txt_plan {
  text-align: center;
  padding: 2.7vw 20px 0;
}
@media (width < 480px) {
  .txt_plan {
    padding-top: 30px;
  }
}

.bnr_plan {
  container-type: inline-size;
  width: 83.33vw;
  margin: 2.45vw auto 0;
}
@media (width < 896px) {
  .bnr_plan {
    width: calc(100% - 20px);
    margin-top: 40px;
  }
}
.bnr_plan a {
  display: flex;
  align-items: center;
  position: relative;
  aspect-ratio: 1600/130;
  padding-left: 18.3cqw;
  background-color: #f0a476;
}
@media (width < 896px) {
  .bnr_plan a {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
    aspect-ratio: auto;
    padding: 16px 10px 16px 90px;
  }
}
.bnr_plan a:hover img {
  opacity: 1;
}
.bnr_plan a:hover {
  opacity: 0.8;
}

.bnr_plan_baby {
  width: 6.88cqw;
  position: absolute;
  top: 6.2%;
  left: 6.12cqw;
}
@media (width < 896px) {
  .bnr_plan_baby {
    width: 60px;
    top: auto;
    bottom: -4px;
    left: 16px;
  }
}

.bnr_plan_rect {
  width: 9.26cqw;
}
@media (width < 896px) {
  .bnr_plan_rect {
    display: none;
  }
}

.bnr_plan_txt {
  color: #FFF;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 2.75cqw;
  font-weight: 500;
  letter-spacing: 0.1em;
  white-space: nowrap;
  margin-left: 2.6cqw;
}
@media (width < 896px) {
  .bnr_plan_txt {
    font-size: clamp(1.8rem, 4.2vw, 2.8rem);
    margin-left: 0;
    white-space: normal;
  }
}

.bnr_plan_circle {
  width: 9.26cqw;
  margin-left: 3cqw;
}
@media (width < 896px) {
  .bnr_plan_circle {
    display: none;
  }
}

.bnr_plan_btn {
  width: 15.66cqw;
  margin-left: 0.7cqw;
}
@media (width < 896px) {
  .bnr_plan_btn {
    width: 160px;
    margin-left: 0;
  }
}

.txt_plan_info {
  text-align: center;
  padding: 2.3vw 20px 3.3vw;
}
@media (width < 480px) {
  .txt_plan_info {
    padding-block: 24px 40px;
  }
}

/* ending
*****************************************************************/
.area_ending {
  position: relative;
}

.area_ending_img {
  line-height: 0;
}
@media (width < 480px) {
  .area_ending_img img {
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: 62% center;
  }
}

.txt_ending {
  color: #876239;
  font-family: "Kaisei Decol", serif;
  font-size: 2.1vw;
  line-height: 2.08em;
  letter-spacing: 0.02em;
  text-shadow: 0 0 10px #FFF, 0 0 20px #FFF;
  writing-mode: vertical-rl;
  position: absolute;
  top: 2.6vw;
  right: 14.8vw;
}
.txt_ending span {
  display: block;
}
.txt_ending span + span {
  padding-top: 3.7em;
}
@media (width < 480px) {
  .txt_ending {
    font-size: 1.6rem;
    top: 24px;
    right: 6%;
  }
}

.area_ending_mark {
  width: 23.07vw;
  position: absolute;
  top: 60.9%;
  left: 14.22vw;
}
@media (width < 480px) {
  .area_ending_mark {
    width: 42%;
    top: auto;
    bottom: 4%;
    left: 4%;
  }
}
