.special-ichigogari-cute {
  --ichigo-bg: #fff6fb;
  --ichigo-surface: #ffffff;
  --ichigo-main: #4f3640;
  --ichigo-sub: #7e5d68;
  --ichigo-line: #f1d6e3;
  --ichigo-pink: #ff6ba3;
  --ichigo-pink-deep: #f24f8f;
  --ichigo-mint: #e8f8ef;
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 151, 193, 0.28), transparent 36%),
    radial-gradient(circle at 95% 6%, rgba(255, 214, 234, 0.44), transparent 30%),
    linear-gradient(180deg, #fff8fc 0%, #fff3f9 40%, #fff8fd 100%);
  color: var(--ichigo-main);
  padding-bottom: 4rem;
}

.special-ichigogari-content {
  width: min(1180px, 96%);
  margin: 0 auto;
  padding-top: 1rem;
}

.special-ichigogari-content > #main.col-left.special {
  width: 100%;
  float: none;
}

.special-ichigogari-cute #sp1501_02 h2 {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(249, 84, 146, 0.16);
}

.special-ichigogari-cute #sp1501_02 h2 img {
  width: 100%;
  display: block;
}

.special-ichigogari-cute #sp1501_02 .lead {
  margin-top: 1rem;
  padding: 1.1rem;
  border-radius: 16px;
  border: 1px solid var(--ichigo-line);
  background: var(--ichigo-surface);
}

.special-ichigogari-cute #sp1501_02 .lead .inner > div[style*="background: #eee"] {
  background: linear-gradient(135deg, #fff1f8 0%, #ffeaf4 100%) !important;
  border: 1px solid #ffd1e5;
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
}

.special-ichigogari-cute #sp1501_02 .tw-list {
  margin: 0.45rem 0 0;
  padding: 0;
  list-style: none;
}

.special-ichigogari-cute #sp1501_02 .tw-list > li {
  margin: 0;
  list-style: none;
}

.special-ichigogari-cute #sp1501_02 .tw-list .tw-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
}

.special-ichigogari-cute #sp1501_02 .tw-list .tw-list li {
  margin: 0;
  padding: 0;
  border-radius: 10px;
  line-height: 1.5;
}

.special-ichigogari-cute #sp1501_02 .tw-list .tw-list li a {
  display: block;
  padding: 0.56rem 0.72rem;
  border-radius: 10px;
  border: 1px solid #ffcae1;
  background: linear-gradient(135deg, #ffffff 0%, #fff4fa 100%);
  text-decoration: none !important;
  color: #ad2a66 !important;
  font-weight: 700;
  transition: 0.2s;
}

.special-ichigogari-cute #sp1501_02 .tw-list .tw-list li a:hover {
  background: linear-gradient(135deg, #fff0f8 0%, #ffe5f3 100%);
  border-color: #f7a9cc;
  transform: translateY(-1px);
}

.special-ichigogari-cute #sp1501_02 .text,
.special-ichigogari-cute #sp1501_02 p,
.special-ichigogari-cute #sp1501_02 li,
.special-ichigogari-cute #sp1501_02 dd {
  line-height: 1.85;
}

.special-ichigogari-cute #sp1501_02 #attention {
  margin-top: 1rem;
  border-radius: 12px;
  background: #fff0f7;
  border: 1px solid #ffd4e6;
}

.special-ichigogari-cute #sp1501_02 #attention h3 {
  margin: 0;
  padding: 0.8rem 1rem;
  color: #c02a69;
  font-size: 1.14rem;
  border-bottom: 1px dashed #ffc5dd;
}

.special-ichigogari-cute #sp1501_02 #attention .inner {
  padding: 0.85rem 1rem 1rem;
}

.special-ichigogari-cute #sp1501_02 .notice-post .section01 {
  margin: 1rem 0 1.2rem;
  border-radius: 14px;
  border: 1px solid #ffd5e6;
  background: linear-gradient(135deg, #fff8fb 0%, #fff2f9 100%);
}

.special-ichigogari-cute #sp1501_02 .notice-post .section01 h4 {
  margin: 0;
  padding: 0.8rem 1rem;
  font-size: 1.2rem;
  color: #d42c79;
}

.special-ichigogari-cute #sp1501_02 .notice-post .caption {
  padding: 0.4rem 1rem 1rem;
}

.special-ichigogari-cute #spot {
  margin-top: 1rem;
}

.special-ichigogari-cute #spot .box {
  margin-top: 1rem;
  background: var(--ichigo-surface);
  border: 1px solid var(--ichigo-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(237, 100, 155, 0.1);
}

.special-ichigogari-cute #spot .heading {
  display: grid;
  grid-template-columns: 74px 1fr;
  grid-template-areas:
    "badge lead"
    "badge title";
  gap: 0;
  align-items: start;
  border-bottom: 1px solid var(--ichigo-line);
  background: linear-gradient(135deg, #ffffff 0%, #fff8fc 100%);
}

.special-ichigogari-cute #spot .heading .num {
  grid-area: badge;
  display: block;
  width: 46px;
  height: 46px;
  margin: 0.9rem auto 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ichigo-pink) 0%, var(--ichigo-pink-deep) 100%);
  color: #fff;
  text-align: center;
  line-height: 46px;
  font-weight: 700;
  font-size: 1rem;
  padding: 0;
}

.special-ichigogari-cute #spot .heading p {
  grid-area: lead;
  margin: 0;
  padding: 0.85rem 1rem 0.2rem;
  color: var(--ichigo-sub);
  font-size: 0.9rem;
  line-height: 1.5;
  font-weight: 600;
}

.special-ichigogari-cute #spot .heading h3 {
  grid-area: title;
  margin: 0;
  padding: 0 1rem 0.95rem;
  color: #50203a;
  font-size: 1.14rem;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.special-ichigogari-cute #spot .tag {
  padding: 0.6rem 1rem 0;
}

.special-ichigogari-cute #spot .tag ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.special-ichigogari-cute #spot .tag li {
  margin: 0;
  border: 1px solid #ffd1e6;
  background: #fff0f7;
  color: #c52a73;
  border-radius: 999px;
  padding: 0.24rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.special-ichigogari-cute #spot .inner {
  padding: 0.75rem 1rem 1rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 2%;
  row-gap: 0.75rem;
}

.special-ichigogari-cute #spot .inner > .text {
  margin: 0;
  width: 100%;
}

.special-ichigogari-cute #spot .inner .image img,
.special-ichigogari-cute #spot .inner > dl.image img,
.special-ichigogari-cute #spot .inner > p img,
.special-ichigogari-cute #spot .inner > .col-left img,
.special-ichigogari-cute #spot .inner > .col-right img,
.special-ichigogari-cute #sp1501_02 .notice-post img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

.special-ichigogari-cute #spot .inner > dl.image,
.special-ichigogari-cute #spot .inner > .col-left,
.special-ichigogari-cute #spot .inner > .col-right {
  margin-top: 0;
}

.special-ichigogari-cute #spot .inner > .col-left,
.special-ichigogari-cute #spot .inner > .col-right {
  flex: 0 0 49%;
  width: 49%;
  float: none;
}

.special-ichigogari-cute #spot .inner > .col-right {
  margin-left: auto;
}

.special-ichigogari-cute #spot .inner dl.info {
  margin: 0;
  padding: 0.8rem 0.9rem;
  border: 1px solid #f5dbe8;
  border-radius: 10px;
  background: #fffafd;
}

.special-ichigogari-cute #spot .inner dl.info dt {
  margin: 0.45rem 0 0;
  color: #b52a67;
  font-weight: 700;
}

.special-ichigogari-cute #spot .inner dl.info dd {
  margin: 0.2rem 0 0;
}

.special-ichigogari-cute #spot .price {
  margin-top: 1.2rem !important;
  clear: none;
  flex: 0 0 100%;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #f6deea;
  background: linear-gradient(135deg, #fffaff 0%, #fff4fb 100%);
  padding: 0.85rem 0.95rem;
}

.special-ichigogari-cute #spot .price h4 {
  display: block;
  float: none;
  width: auto;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #c52a73;
}

.special-ichigogari-cute #spot .price > div {
  margin-top: 0.5rem;
}

.special-ichigogari-cute #spot .price ul {
  margin: 0.55rem 0 0;
}

.special-ichigogari-cute #spot .price dl {
  margin: 0.65rem 0 0;
}

.special-ichigogari-cute #spot .price dl dt {
  display: inline-block;
  margin: 0.55rem 0 0.15rem;
  padding: 0.18rem 0.62rem;
  border-radius: 999px;
  background: #ffe7f2;
  border: 1px solid #ffc5dc;
  color: #b62863;
  font-weight: 700;
  font-size: 0.86rem;
  line-height: 1.35;
}

.special-ichigogari-cute #spot .price dl dd {
  margin: 0.2rem 0 0.45rem;
}

.special-ichigogari-cute #other_link {
  margin-top: 1rem;
  border: 1px solid #ffd3e6;
  border-radius: 14px;
  background: #fffafc;
}

.special-ichigogari-cute #other_link .inner {
  padding: 0.85rem 1rem 1rem;
}

.special-ichigogari-cute #other_link h3 {
  margin: 0;
  padding: 0.6rem 0.8rem;
  border-radius: 9px;
  color: #d9307d;
  background: #ffeaf4;
  font-size: 1.05rem;
}

.special-ichigogari-cute #other_link ul {
  margin: 0.65rem 0 0;
  padding-left: 1.1rem;
}

.special-ichigogari-cute #other_link li {
  margin: 0.4rem 0;
}

.special-ichigogari-cute #sp1501_02 a {
  color: #0f78b9;
}

.special-ichigogari-cute .special-ichigogari-pdf-link {
  margin-top: 0.75rem;
}

.special-ichigogari-cute .special-ichigogari-pdf-button {
  display: inline;
  text-decoration: underline !important;
  color: #0f7889 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 400;
  line-height: inherit;
  box-shadow: none;
  transition: none;
}

.special-ichigogari-cute .special-ichigogari-pdf-button:hover {
  filter: none;
  transform: none;
}

@media screen and (max-width: 900px) {
  .special-ichigogari-cute #spot .heading {
    grid-template-columns: 60px 1fr;
    grid-template-areas:
      "badge lead"
      "badge title";
  }

  .special-ichigogari-cute #spot .heading .num {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }

  .special-ichigogari-cute #spot .inner > .col-left,
  .special-ichigogari-cute #spot .inner > .col-right {
    flex-basis: 100%;
    width: 100%;
    float: none;
    margin-left: 0;
  }
}

@media screen and (max-width: 640px) {
  .special-ichigogari-cute {
    padding-bottom: 2.8rem;
  }

  .special-ichigogari-content {
    width: 94%;
    padding-top: 0.6rem;
  }

  .special-ichigogari-cute #sp1501_02 h2,
  .special-ichigogari-cute #sp1501_02 .lead,
  .special-ichigogari-cute #spot .box,
  .special-ichigogari-cute #other_link,
  .special-ichigogari-cute #sp1501_02 .notice-post .section01 {
    border-radius: 10px;
  }

  .special-ichigogari-cute #spot .heading p {
    font-size: 0.84rem;
    padding-top: 0.65rem;
  }

  .special-ichigogari-cute #spot .heading h3 {
    font-size: 1.03rem;
    padding-bottom: 0.7rem;
  }

  .special-ichigogari-cute #sp1501_02 .tw-list .tw-list {
    grid-template-columns: 1fr;
  }

  .special-ichigogari-cute #sp1501_02 .text,
  .special-ichigogari-cute #sp1501_02 p,
  .special-ichigogari-cute #sp1501_02 li,
  .special-ichigogari-cute #sp1501_02 dd {
    font-size: 0.88rem;
  }
}
