@charset "UTF-8";
/* 「彩り亭」赤ちゃんとの旅行を、もっと気楽に。
font-family: "M PLUS 2", sans-serif;
font-family: "Kaisei Decol", serif;
font-family: "Century Gothic", "Jost", sans-serif;
デザイン基準幅 1920px（1px = 0.052vw）
*****************************************************************/
/* mixin
*********************************************************************/
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* 1280 */
/* フルワイド */
/* フルワイド */
img {
  width: 100%;
  height: auto;
}

.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;
  }
}

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

.area_visual_main {
  line-height: 0;
}

.area_visual_logo {
  width: 26.15vw;
  position: absolute;
  top: 32.1%;
  left: 50%;
  transform: translateX(-50%);
}
@media (width < 480px) {
  .area_visual_logo {
    width: 44%;
    top: 26%;
  }
}

/* intro
*****************************************************************/
.area_intro {
  text-align: center;
  padding: 2.71vw 20px 0;
}
@media (width < 480px) {
  .area_intro {
    padding-top: 30px;
  }
}

.intro_welcome {
  width: 11.88vw;
  min-width: 100px;
  margin-inline: auto;
}

.ttl_intro {
  width: 66.8vw;
  margin: 2.97vw auto 0;
}
@media (width < 896px) {
  .ttl_intro {
    width: 100%;
    margin-top: 24px;
  }
}

.txt_intro {
  padding-top: 2.8vw;
}
@media (width < 480px) {
  .txt_intro {
    padding-top: 20px;
    text-align: left;
  }
}

/* 見出しブロック（akifuyu_plan と共通パターン）
*****************************************************************/
.ttl_block {
  container-type: inline-size;
  position: relative;
  width: 77.55vw;
  margin-inline: auto;
  margin-top: 4.2vw;
}
@media (width < 896px) {
  .ttl_block {
    width: calc(100% - 20px);
    margin-top: 50px;
  }
}

.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 2", sans-serif;
  font-size: clamp(1.8rem, 2.3vw, 4.4rem);
  font-weight: 400;
  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;
  }
}

/* charm
*****************************************************************/
.list_charm {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.55vw;
  width: 89.17vw;
  margin-inline: auto;
  padding-top: 4.43vw;
}
@media (width < 896px) {
  .list_charm {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    width: calc(100% - 40px);
    max-width: 540px;
    padding-top: 40px;
  }
}

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

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

.point_charm {
  width: 34cqw;
  margin: 10.8cqw 0 0 8.4cqw;
}
@media (width < 896px) {
  .point_charm {
    margin-top: 20px;
  }
}

.hd_charm {
  color: #000;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.8rem, 1.77vw, 3.4rem);
  font-weight: 400;
  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_charm {
    margin-top: 8px;
    padding-bottom: 8px;
  }
}

.txt_charm {
  padding: 0.6vw 1cqw 0 8.4cqw;
}
@media (width < 896px) {
  .txt_charm {
    padding-top: 10px;
  }
}

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

.area_room {
  position: relative;
}

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

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

.txt_room {
  color: #FFF;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.4rem, 1.56vw, 3rem);
  font-weight: 400;
  line-height: 1.67em;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 6.67vw;
  left: 14.5vw;
}
@media (width < 896px) {
  .txt_room {
    top: 60px;
    left: 8%;
  }
}
@media (width < 480px) {
  .txt_room {
    font-size: 1.5rem;
    letter-spacing: 0.12em;
  }
}

.area_room_photo {
  position: relative;
}

.hd_room {
  color: #FFF;
  font-family: "Century Gothic", "Jost", sans-serif;
  font-size: clamp(1.8rem, 2.92vw, 5.6rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.14em;
  text-align: center;
  white-space: nowrap;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: translateY(-40%);
}
@media (width < 480px) {
  .hd_room {
    font-size: 1.8rem;
    letter-spacing: 0.08em;
  }
}

.list_room {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.list_room li {
  line-height: 0;
}

/* meal
*****************************************************************/
#meal {
  padding-top: 6.3vw;
}
@media (width < 896px) {
  #meal {
    padding-top: 50px;
  }
}

.area_meal {
  display: flex;
  align-items: flex-start;
  width: 70.36vw;
  margin-left: 16.93vw;
}
@media (width < 896px) {
  .area_meal {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 24px 16px;
    width: calc(100% - 40px);
    max-width: 600px;
    margin-inline: auto;
  }
}

.meal_ribbon {
  flex-shrink: 0;
  width: 9.06vw;
  margin-top: 0.36vw;
}
@media (width < 896px) {
  .meal_ribbon {
    width: 72px;
    margin-top: 0;
  }
}

.meal_body {
  flex: 1;
  margin-left: 2.29vw;
}
@media (width < 896px) {
  .meal_body {
    margin-left: 0;
  }
}

.hd_meal {
  color: #000;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.8rem, 2.3vw, 4.4rem);
  font-weight: 400;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  margin-left: -0.5em;
}
.hd_meal span {
  color: #E87ECC;
}
@media (width < 896px) {
  .hd_meal {
    margin-left: -0.4em;
  }
}

.meal_line {
  width: 35.57vw;
  margin-top: -0.2vw;
  line-height: 0;
}
@media (width < 896px) {
  .meal_line {
    width: 100%;
    margin-top: 4px;
  }
}

.txt_meal {
  padding-top: 0.2vw;
}
.txt_meal span {
  color: #E082B2;
  font-weight: 700;
  padding-bottom: 0.6em;
  background: url(../images/line01.svg) no-repeat left bottom/100% 0.6em;
}
@media (width < 896px) {
  .txt_meal {
    padding-top: 10px;
  }
}

.meal_img {
  flex-shrink: 0;
  width: 15.78vw;
  margin-left: auto;
}
@media (width < 896px) {
  .meal_img {
    grid-column: 1/-1;
    width: 60%;
    max-width: 300px;
    margin-inline: auto;
  }
}

/* merit
*****************************************************************/
#merit {
  padding-top: 9.17vw;
}
@media (width < 896px) {
  #merit {
    padding-top: 90px;
  }
}

.block_merit {
  position: relative;
  width: 91.2vw;
  margin-inline: auto;
  padding: 6.3vw 20px 3.5vw;
  background-color: #FFF4EF;
  border-radius: 5.2vw;
}
@media (width < 896px) {
  .block_merit {
    width: calc(100% - 20px);
    padding: 70px 16px 40px;
    border-radius: 40px;
  }
}

.merit_check {
  width: 12.3vw;
  position: absolute;
  top: -4.27vw;
  left: 50%;
  transform: translateX(-50%);
}
@media (width < 896px) {
  .merit_check {
    width: 110px;
    top: -40px;
  }
}

.merit_rabbit {
  width: 9.83vw;
  position: absolute;
  top: -3.8vw;
  left: 6.72vw;
}
@media (width < 896px) {
  .merit_rabbit {
    width: 64px;
    top: -30px;
    left: 16px;
  }
}

.merit_tri {
  width: 7.56vw;
  position: absolute;
  top: 1.88vw;
  right: 6.2vw;
}
@media (width < 896px) {
  .merit_tri {
    width: 50px;
    top: 16px;
    right: 16px;
  }
}

.hd_merit {
  color: #000;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.8rem, 2.3vw, 4.4rem);
  font-weight: 400;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.hd_merit span {
  color: #E87ECC;
}

.list_merit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.93vw 0;
  width: 67.45vw;
  margin-inline: auto;
  padding-top: 3.54vw;
}
@media (width < 896px) {
  .list_merit {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    width: 100%;
    max-width: 500px;
    padding-top: 30px;
  }
}

.item_merit {
  text-align: center;
}

.img_merit {
  container-type: inline-size;
  width: 77.2%;
  margin-inline: auto;
}
.img_merit img {
  border-radius: 17cqw;
}
@media (width < 896px) {
  .img_merit {
    width: 100%;
  }
}

.hd_merit_item {
  color: #E87ECC;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.6rem, 1.56vw, 3rem);
  font-weight: 400;
  line-height: 1.67em;
  letter-spacing: 0.1em;
  padding-top: 1.2vw;
}
@media (width < 896px) {
  .hd_merit_item {
    padding-top: 12px;
  }
}

.txt_merit {
  color: #666;
  font-family: "M PLUS 2", sans-serif;
  font-size: clamp(1.4rem, 1.56vw, 3rem);
  font-weight: 400;
  line-height: 1.67em;
  letter-spacing: 0.1em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

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

.area_ending {
  position: relative;
}

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

.area_ending_logo {
  width: 17.97vw;
  position: absolute;
  top: 65.4%;
  left: 16.72vw;
  filter: drop-shadow(0 0 0.3vw #ffcb85) drop-shadow(0 0 0.8vw #ffcb85) drop-shadow(0 0 1.6vw rgba(255, 203, 133, 0.9)) drop-shadow(0 0 2.2vw rgba(255, 203, 133, 0.7));
}
@media (width < 480px) {
  .area_ending_logo {
    width: 36%;
    top: auto;
    bottom: 6%;
    left: 6%;
    filter: drop-shadow(0 0 0.6vw #ffcb85) drop-shadow(0 0 1.6vw #ffcb85) drop-shadow(0 0 3.2vw rgba(255, 203, 133, 0.9)) drop-shadow(0 0 4.4vw rgba(255, 203, 133, 0.7));
  }
}

.txt_ending {
  color: #FFF;
  background-color: #A8967C;
  font-family: "Kaisei Decol", serif;
  font-size: clamp(1.5rem, 1.88vw, 3.6rem);
  line-height: 2.1em;
  letter-spacing: 0.14em;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding: 1.74vw 20px;
}
@media (width < 480px) {
  .txt_ending {
    line-height: 1.9em;
    letter-spacing: 0.08em;
    padding-block: 28px;
  }
}
