@charset "UTF-8";
/* ==========================================================================
donatefv
========================================================================== */
.donatefv {
  position: relative;
  background-image: url('../img/top_fv_bg_pc.webp');
  background-size: cover;
  background-position: center;
  padding-top: 160px;
  padding-bottom: 0;
  height: auto;
  overflow: visible;
}

.donatefv__inner {
  position: relative;
  z-index: 12;
}

.donatefv__badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 190px;
  z-index: 10;
}

.donatefv__title {
  font-size: clamp(24px, 5vw, 48px);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 30px;
  color: #3D2707;
  text-align: center;
}

.donatefv__items {
  display: flex;
  justify-content: center;
  gap: 40px;
  list-style: none;
  padding: 0;
  margin-bottom: 60px;
}

.donatefv__items-node {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  color: #3d3d3d;
}

.donatefv__items-node:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -20px;
  height: 20px;
  width: 1px;
  background-color: #3d3d3d;
}

.donatefv__image-loop {
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: -100px;
  z-index: 10;
  overflow-x: hidden;
  line-height: 0;
  font-size: 0;
}

.donatefv__image-track {
  display: flex;
  width: max-content;
  animation: donatefv-loop 40s linear infinite;
  will-change: transform;
}

.donatefv__image--main {
  width: auto;
  height: 370px;
  display: block;
}

@keyframes donatefv-loop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 767px) {
  .donatefv {
    padding-top: 60px;
    min-height: 600px;
  }
  .donatefv__inner {
    padding-top: 60px;
  }
  .donatefv__badge {
    width: 140px;
    top: auto;
    bottom: -140px;
  }
  .donatefv__items {
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .donatefv__items-node {
    font-size: 14px;
  }
  .donatefv__items-node:not(:last-child)::after {
    right: -7px;
  }
  .donatefv__image-loop {
    margin-bottom: -60px;
  }
  .donatefv__image--main {
    height: 300px;
  }
}

/* ==========================================================================
スプレッドナーとは (about)
========================================================================== */
.about {
  position: relative;
  z-index: 1;
  background-color: #fff;
  border-radius: 120px;
  padding-top: 150px;
  margin-top: -80px;
}

.about__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.about__box--reverse {
  flex-direction: row-reverse;
}

.about__text-box {
  width: 60%;
}

.about__heading {
  margin-bottom: 20px;
}

.about__list {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.about__list li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 8px;
  font-size: 16px;
}

.about__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.about__img {
  width: 40%;
  flex-shrink: 0;
}

.about__img img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.about__stats {
  margin: 20px auto 10px;
}

@media (max-width: 767px) {
  .about {
    padding-top: 100px;
    border-radius: 40px;
  }
  .about__box {
    flex-direction: column-reverse;
    gap: 30px;
  }
  .about__box--reverse {
    flex-direction: column-reverse;
  }
  .about__text-box {
    width: 100%;
  }
  .about__img {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ==========================================================================
ゴール (goal)
========================================================================== */
.goal__chart {
  margin: 0 auto 60px;
}

.goal__chart-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin-bottom: 20px;
}

.goal__chart-label {
  text-align: center;
  font-weight: bold;
}

.goal__chart-label p {
  text-align: center;
}

.goal__num {
  font-size: 3.2rem;
}

.goal__num span {
  font-size: 10rem;
  letter-spacing: 0.05em;
  margin: -40px auto;
  display: inline-block;
}

.goal__num--pink {
  color: #ff8e9d;
}

.goal__chart-slash {
  width: 2px;
  height: 100px;
  background-color: #ffb7b7;
  transform: rotate(20deg);
}

.goal__bar-bg {
  width: 100%;
  height: 70px;
  background: #ffffff;
  border-radius: 70px;
  overflow: hidden;
  border: 2px solid #ff719a;
}

.goal__bar-fill {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #ff719a 0%, #ffc084 100%);
  border-radius: 70px;
  transition: width 1.5s ease-out;
}

.goal__bar-fill.is-active {
  width: var(--target-width);
}

.goal__content {
  display: flex;
  align-items: center;
  gap: 40px;
}

.goal__circles {
  width: 45%;
  flex-shrink: 0;
}

.goal__circles img {
  width: 100%;
}

.goal__text-box {
  width: 55%;
  font-size: 0.95rem;
  line-height: 1.8;
}

.goal__cards {
  display: flex;
  gap: 20px;
  margin-top: 60px;
}

.goal__card-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.goal__card-group .goal__card:last-child img {
  width: 50%;
}

.goal__card--map img {
  width: 90%;
}

@media (max-width: 767px) {
  .goal__chart-header {
    gap: 25px;
  }
  .goal__num {
    font-size: 2rem;
  }
  .goal__num span {
    font-size: 5rem;
    margin: -20px auto;
  }
  .goal__content {
    flex-direction: column;
  }
  .goal__circles,
  .goal__text-box {
    width: 100%;
  }
  .goal__cards {
    flex-direction: column;
    margin-top: 40px;
  }
  .goal__card {
    padding: 20px;
  }
}

/* ==========================================================================
あなたの寄付でできること (action)
========================================================================== */
.action {
  border-radius: 0 0 120px 120px;
  overflow-x: hidden;
}

.action-decoration {
  margin-bottom: -10px;
}

.action__content {
  padding-top: 60px;
}

.action__content_2 {
  margin: 160px auto 0;
  text-align: center;
}

.action__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}

.action__text-group--top {
  width: 60%;
}

.action__map {
  width: 34%;
}

.action__truck-unit {
  width: 100%;
  margin-top: -210px;
  margin-bottom: 40px;
}

.action__truck-img {
  width: 75%;
  display: block;
  margin-left: -80px;
}

.action__text-group--bottom {
  width: 50%;
}

.action__images {
  width: 48%;
  margin: 0;
}

@media (max-width: 767px) {
  .action {
    border-radius: 0 0 40px 40px;
  }
  .action__content {
    padding-top: 20px;
  }
  .action__content_2 {
    margin-top: 20px;
  }
  .action__row--keep-flex {
    display: flex;
    gap: 10px;
  }
  .action__row--stack-sp {
    flex-direction: column;
  }
  .action__text-group--top {
    width: 65%;
  }
  .action__map {
    width: 50%;
    margin-right: -70px;
  }
  .action__truck-unit {
    margin-top: 40px;
  }
  .action__truck-img {
    width: 100%;
    margin: 0 auto;
  }
  .action__text-group--bottom,
  .action__images {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* ==========================================================================
特徴 (features)
========================================================================== */
.features__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.features__head-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  gap: 20px;
}

.features__title {
  text-align: center;
  flex: 1;
}

.features__icon {
  width: 320px;
}

.features__row {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.features__row .features__item {
  width: calc(50% - 15px);
}

.features__flag {
  position: absolute;
  top: -30px;
  left: 15px;
  width: 90px;
}

@media (max-width: 767px) {
  .features__head-group {
    flex-direction: column;
    gap: 0;
  }
  .features__icon {
    width: 100%;
    max-width: 280px;
    margin-top: 10px;
  }
  .features__row {
    flex-direction: column;
  }
  .features__row .features__item {
    width: 100%;
  }
  .features__flag {
    width: 60px;
  }
}

/* ==========================================================================
寄付品が子どもたちに届くまで (flow / p-pattaya)
========================================================================== */
.flow {
  overflow: hidden;
}

.flow__map-wrapper {
  position: relative;
  background-color: #ffffff;
  padding: 120px 0 160px;
}

.flow__map-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 80%;
  transform: translateY(-50%);
  background: linear-gradient(135deg, #FFF5F5 0%, #F0FCFB 100%);
  z-index: 1;
}

.flow__map-bg {
  position: relative;
  max-width: 100%;
  margin: -60px auto;
  z-index: 2;
  flex-direction: column;
  align-items: center;
}

.flow__map-img {
  width: 100%;
  height: auto;
}

.flow__step-container,
.flow__destination {
  display: flex;
  justify-content: center;
  gap: 20px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  margin: 0 auto;
  z-index: 3;
}

.flow__step-container {
  max-width: 1000px;
  transform: translate(-50%, -340px);
}

.flow__destination {
  max-width: 750px;
  transform: translate(-50%, 210px);
}

.flow__step-card,
.flow__dest-card {
  width: 32%;
  padding: 20px;
}

.flow__step-card figure {
  margin: 10px auto;
  height: 70px;
  width: auto;
  display: flex;
  align-items: center;
}

.flow__step-num {
  font-weight: bold;
  font-size: 18px;
  display: block;
}

.flow__step-title {
  font-size: 18px;
}

.flow__dest-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.flow__dest-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 15px;
  border: 3px solid #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.flow__dest-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flow__dest-label {
  font-weight: bold;
  color: #00A699;
}

.flow__gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 20px;
  justify-content: space-between;
  margin: 40px auto 80px;
}

.flow__gallery-item {
  width: calc(25% - 15px);
  text-align: center;
}

.flow__gallery-link {
  display: block;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.flow__gallery-link:hover {
  opacity: 0.8;
}

.flow__read_text {
  margin-bottom: 40px;
}

.p-pattaya__title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
}

.p-pattaya__content {
  display: flex;
  gap: 40px;
  align-items: center;
}

.p-pattaya__video {
  width: 50%;
}

.p-pattaya__info {
  width: 50%;
}

.p-pattaya__video-inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.p-pattaya__video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}

@media (max-width: 767px) {
  .flow__map-wrapper {
    padding: 40px 0;
  }
  .flow__map-bg {
    margin: 0;
    width: 100%;
    position: relative;
  }
  .flow__step-container,
  .flow__destination {
    position: absolute;
    transform: none;
    flex-direction: column;
  }
  .flow__step-container {
    top: 0;
    right: 3%;
    left: auto;
    width: 43%;
    gap: 15px;
  }
  .flow__destination {
    top: auto;
    bottom: 0;
    left: 3cqmax;
    width: 50%;
    gap: 10px;
  }
  .flow__step-card,
  .flow__dest-card {
    width: 100%;
    padding: 5px 15px;
    min-height: auto;
  }
  .flow__step-card figure,
  .flow__dest-circle {
    display: none !important;
  }
  .flow__step-title {
    font-size: 14px;
  }
  .flow__step-desc {
    font-size: 10px;
  }
  .flow__gallery-item {
    width: calc(50% - 10px);
  }
  .flow__gallery-caption {
    text-align: center;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 10px;
  }
  .p-pattaya__content {
    flex-direction: column;
    gap: 10px;
  }
  .p-pattaya__video,
  .p-pattaya__info {
    width: 100%;
  }
}

/* ==========================================================================
  お約束 (p-promise) 最終版
   ========================================================================== */

/* セクション全体の親要素 */
.p-promise {
  overflow: visible !important;
}

.p-promise__bg {
  position: relative;
  padding: 120px 0;
  background-image: url('../img/promise_bg.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 1;
}

.p-promise__inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: flex-start; 
  position: relative;
}

.p-promise h2,
.p-promise .c-section-title__en,
.p-promise__message-card h3,
.p-promise__message-card h4,
.p-promise__message-card p,
.p-promise__message-card span:not(.u-text--accent):not(.c-label) {
  color: #ffffff !important;
}

.p-promise__left {
  flex: 0 0 200px;
  position: -webkit-sticky;
  position: sticky;
  top: 100px; 
  z-index: 10;
  height: auto;
  align-self: flex-start;
}

.p-promise__right {
  flex: 1;
}

.p-promise__message-card {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 24px;
  padding: 60px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.p-promise__intro {
  margin-bottom: 40px;
}

.p-promise__info-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 50px 0;
  list-style: none;
  padding: 0;
}

.p-promise__info-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.p-promise__info-icon {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-promise__info-icon img {
  width: 100%;
  height: auto;
}

.p-promise__info-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 4px;
}

.p-promise__info-text {
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.7;
}

.p-promise__footer-text {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 40px;
  margin-top: 20px;
}

@media screen and (max-width: 1100px) {
  .p-promise__info-list {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-promise__bg {
    padding: 60px 0;
    background-position: left center;
  }
  .p-promise__inner {
    display: block;
  }
  .p-promise__left {
    position: static;
  }
  .p-promise__message-card {
    padding: 30px 20px;
    border-radius: 16px;
  }
  .p-promise__info-item {
    padding: 20px;
    gap: 15px;
  }
  .p-promise__info-icon {
    flex: 0 0 50px;
    width: 50px;
  }
}

/* ==========================================================================
不定期でお届け (delivery)
========================================================================== */
.delivery {
  background-color: #FFF5E9;
  padding: 80px 0 120px;
  overflow: hidden;
}

.delivery__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 60px;
}

.delivery__text-box {
  flex: 1;
}

.delivery__title {
  font-size: 24px;
  margin-bottom: 20px;
  color: #5D4037;
}

.delivery__visual {
  flex: 0 0 40%;
  position: relative;
}

.delivery__post-img {
  max-width: 300px;
  margin: 0 auto;
}

.delivery__slider-wrapper {
  position: relative;
  width: 100%;
}

.delivery__slider {
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.delivery__track {
  display: flex;
  width: max-content;
  animation: delivery-loop 60s linear infinite;
}

.delivery__track-img {
  height: 250px;
  width: auto;
  display: block;
}

@keyframes delivery-loop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 767px) {
  .delivery__content {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  .delivery__visual {
    width: 80%;
  }
  .delivery__track-img {
    height: 150px;
  }
}

/* ==========================================================================
ともに活動を推進する団体様 (partner)
========================================================================== */
.partner {
  border-radius: 120px;
}

.partner__group {
  margin: 60px auto 20px;
}

.partner__sub-title {
  margin-bottom: 20px;
}

.partner__intro {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.partner__slider-container {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.partner__slider-track {
  display: flex;
  gap: 20px;
  padding: 10px 0;
  width: max-content;
  transition: transform 0.6s ease;
}

.partner__item {
  width: calc((1000px - (20px * 3)) / 4);
  flex-shrink: 0;
  text-align: center;
}

.partner__item.js-modal-open {
  cursor: pointer;
}

.partner__item-name {
  font-size: 14px;
  line-height: normal;
  text-align: center;
  padding-top: 10px;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 9999;
}

.c-modal.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.c-modal__content {
  position: relative;
  background: #fff;
  padding: 80px;
  border-radius: 30px;
  width: 90%;
  max-width: 850px;
  max-height: 90vh;
  overflow-y: auto;
}

.c-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
  color: #999;
}

.p-modal-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.p-modal-detail__figure {
  width: 100%;
  max-width: 420px;
}

.p-modal-detail__name {
  font-size: 2rem;
  font-weight: bold;
  color: #5D4037;
  border-bottom: 2px solid #FFB7B7;
  padding-bottom: 5px;
  margin-bottom: 0;
}

.p-modal-detail__desc {
  font-size: 1rem;
  line-height: 1.8;
  text-align: left;
}

.u-hidden {
  display: none !important;
}

@media (max-width: 1000px) {
  .partner__item {
    width: calc((100vw - 40px - (20px * 3)) / 4);
  }
}

@media (max-width: 767px) {
  .partner {
    border-radius: 40px;
  }
  .partner__group {
    margin: 40px auto 0px;
  }
  .partner__intro {
    flex-direction: column;
    gap: 20px;
  }
  .partner__slider-track {
    padding-left: calc(50% - (75vw / 2));
    gap: 15px;
  }
  .partner__item {
    width: 75vw !important;
  }
  .partner__item .c-photo-frame {
    width: 100%;
  }
  .c-modal__content {
    padding: 60px 30px 30px;
  }
}

/* ==========================================================================
ご寄付いただけるモノ (items)
========================================================================== */
.items__box {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  color: #fff;
  height: auto;
  padding: 60px 40px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.items__box:not(:last-child) {
  margin: 60px auto;
}

.items__box--welcome {
  background-image: url('../img/top_items_bg_01.webp');
}

.items__box--adjust {
  background-image: url('../img/top_items_bg_02.webp');
}

.items__box--other {
  background-image: url('../img/top_items_bg_03.webp');
}

.items__box-inner {
  max-width: 850px;
  margin: 0 auto;
}

.items__box-title,
.items__box-text {
  color: #ffffff;
}

.c-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.c-tag-list__item {
  background: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  text-align: center;
  min-width: 100px;
  color: #333;
}

.c-tag-list__item--accent {
  color: #ff849c;
}

@media (max-width: 767px) {
  .items__box {
    padding: 40px 20px;
    border-radius: 20px;
  }
  .items__box:not(:last-child) {
    margin: 30px auto;
  }
  .items__box-title {
    font-size: 20px;
  }
  .c-tag-list__item {
    font-size: 12px;
    padding: 6px 12px;
    min-width: auto;
  }
}

/* ==========================================================================
お客様の声 (voice)
========================================================================== */
.voice {
  overflow: hidden;
  background-color: #FFF8F0;
}

.voice__list-body {
  margin: 40px auto;
}

.voice__list {
  display: flex;
  width: 100%;
}

.voice__list--offset {
  padding-left: 100px;
}

.voice__list-track {
  display: flex;
  gap: 24px;
  padding: 10px 0;
  width: max-content;
  will-change: transform;
}

.voice__list--upper .voice__list-track {
  animation: voice-scroll-left 60s linear infinite;
}

.voice__list--lower .voice__list-track {
  animation: voice-scroll-right 60s linear infinite;
}

@keyframes voice-scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes voice-scroll-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.voice .c-glass-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  width: 420px;
  padding: 20px 24px;
}

.c-glass-card__icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #fff;
}

.c-glass-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-glass-card__body {
  flex: 1;
}

.c-glass-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: #4A4A4A;
  margin: 0;
}

.u-text--accent {
  color: #ff849c;
  font-weight: bold;
}

@media (max-width: 767px) {
  .voice__list--offset {
    padding-left: 50px;
  }
  .voice .c-glass-box {
    width: 300px;
    padding: 15px 20px;
    gap: 12px;
  }
  .c-glass-card__icon {
    width: 50px;
    height: 50px;
  }
  .c-glass-card__text {
    font-size: 13px;
  }
}

/* ==========================================================================
お知らせ (news)
========================================================================== */
.news {
  position: relative;
}

.news h2,
.news p,
.news__date,
.news__item-title {
  color: #ffffff;
}

.news__bg {
  position: relative;
  padding: 100px 0;
  background-image: url('../img/top_news_bg.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: #fff;
  z-index: 1;
}

.news__inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}

.news__left {
  flex: 0 0 200px;
}

.news__right {
  flex: 1;
}

.news__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.news__item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.news__link,
.news__link-none {
  display: block;
  padding: 30px 0;
  color: inherit;
  text-decoration: none;
}

.news__link {
  transition: opacity 0.3s;
}

.news__link:hover {
  opacity: 0.7;
}

.news__link-none {
  cursor: default;
}

.news__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 10px;
}

.news__date {
  font-size: 14px;
}

.c-label {
  display: inline-block;
  background: #fff;
  color: #333;
  font-size: 12px;
  padding: 2px 16px;
  border-radius: 20px;
}

.news__item-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

.news__item-text {
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.9;
}

@media (max-width: 767px) {
  .news__bg {
    padding: 60px 0;
  }
  .news__inner {
    flex-direction: column;
    gap: 0;
  }
  .news__left {
    flex: none;
    text-align: left;
  }
  .news__item-title {
    font-size: 18px;
  }
  .news__item-text {
    font-size: 14px;
  }
}

/* ==========================================================================
ベルタをもっと知る (p-learn)
========================================================================= */
.p-learn {
  background-color: #FFF8F0;
}

.p-learn__list {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.c-info-card {
  flex: 1;
  max-width: 350px;
  border-radius: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.c-info-card__img {
  width: 160px;
  height: 160px;
  background-color: #fff;
  border: 1px solid #ff849c;
  border-radius: 50%;
  margin-bottom: 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-info-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-info-card__title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 16px;
  color: #333;
}

.c-info-card__text {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
  text-align: left;
}

@media (max-width: 960px) {
  .p-learn__list {
    flex-direction: column;
    align-items: center;
  }
  .c-info-card {
    width: 100%;
    max-width: 500px;
  }
}

@media (max-width: 767px) {
  .c-info-card__img {
    width: 140px;
    height: 140px;
  }
  .c-info-card__title {
    font-size: 16px;
  }
  .c-info-card__text {
    font-size: 13px;
  }
}

/* 診断 */
.diagnostic_overlay {
  position: fixed;
  bottom: -45%;
  z-index: 9990;
  margin: 0;
  padding: 0;
  transition: .5s all ease;
  overflow-y: hidden;
}

.diagnostic_overlay.show_overlay img {
  height: auto;
}

@media screen and (min-width:768px) {
  .diagnostic_overlay {
    width: calc(100vw / 3);
    right: 10px;
  }
  .diagnostic_overlay.show_overlay {
    width: calc(100vw / 3);
    min-width: 400px;
    max-width: 500px;
    bottom: 10px;
  }
}

@media screen and (max-width:767px) {
  .diagnostic_overlay {
    width: 90%;
    left: 0;
  }
  .diagnostic_overlay.show_overlay {
    width: 90%;
    max-width: 700px;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
}