@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.05rem;
  color: #4E2E2E;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 15px;
    letter-spacing: normal;
    line-height: 1.3rem;
  }
}

/* ヘッダー */
header {
  padding: 10px;
}

.header-logo {
  max-width: 150px;
}
@media screen and (max-width: 768px) {
  .header-logo {
    max-width: none;
    width: 100px;
  }
}

.intro-section {
  background-color: #FEABB3;
  padding: 40px 0;
}

.introduction-ttl-sp {
  width: 100%; /* 親要素の幅に合わせて最大幅を表示 */
  height: auto; /* アスペクト比を維持 */
  display: block; /* 下部の余計な隙間をなくすため */
}

/* 768px以下（SP）での調整（特定の幅に固定したい場合など） */
@media screen and (max-width: 768px) {
  .introduction-ttl-sp {
    width: 100%; /* スマホ画面幅の80%にする */
  }
}
/* 768px以上（PC）での調整（PC画像のサイズを制限したい場合） */
@media screen and (min-width: 768px) {
  .introduction-ttl-sp {
    /* PCでは、SP用のclassがついた<img>タグにPC画像が表示されるため、
       ここに対してサイズ指定を行う必要があります。 */
    width: 550px; /* PC画像は横幅550pxで固定 */
  }
}
.introduction-box {
  margin-top: 20px;
  display: flex;
}
@media screen and (max-width: 640px) {
  .introduction-box {
    flex-direction: column;
  }
}

.introduction-text {
  max-width: 500px;
  line-height: 1.75rem;
}
@media screen and (max-width: 768px) {
  .introduction-text {
    max-width: none;
    width: 100%;
  }
}

.introduction-text > ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pokke {
  max-width: 230px;
  margin-right: -40px;
  margin-top: -20px;
}
@media screen and (max-width: 768px) {
  .pokke {
    max-width: none;
    width: 70%;
    margin: 30px auto 0 auto;
  }
}

.products-section {
  background-color: rgb(255, 225, 230); /* 背景色 */
  background-image: radial-gradient(white 20%, transparent 20%); /* ドット模様 */
  background-size: 20px 20px; /* ドットの間隔（大きさ） */
  background-position: 0 0; /* 配置の基点 */
}

.products-main-ttl {
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .products-main-ttl {
    max-width: none;
    width: 100%;
  }
}

.product-grid {
  padding-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  color: #4E2E2E;
}
@media screen and (max-width: 768px) {
  .product-grid {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    align-items: center; /* 子要素（カード）が水平方向の中央にくる */
    gap: 40px;
  }
}

.product-item {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 30px 20px;
  max-width: 340px;
}
@media screen and (max-width: 768px) {
  .product-item {
    max-width: none;
    width: 70%;
  }
}
@media screen and (max-width: 640px) {
  .product-item {
    max-width: none;
    width: 100%;
  }
}

.product-item-blue {
  border: 1px solid #4E2E2E; /* 暗い色の枠線 */
  box-shadow: 5px 5px 0px 0px #00b3c3; /* 横のずれ, 縦のずれ, ぼかし, 広がり, 色 */
}

.product-item-pink {
  border: 1px solid #4E2E2E; /* 暗い色の枠線 */
  box-shadow: 5px 5px 0px 0px #FF398A; /* 横のずれ, 縦のずれ, ぼかし, 広がり, 色 */
}

.product-item-red {
  border: 1px solid #4E2E2E; /* 暗い色の枠線 */
  box-shadow: 5px 5px 0px 0px #FF5E33; /* 横のずれ, 縦のずれ, ぼかし, 広がり, 色 */
}

.product-item-green {
  border: 1px solid #4E2E2E; /* 暗い色の枠線 */
  box-shadow: 5px 5px 0px 0px #54A856; /* 横のずれ, 縦のずれ, ぼかし, 広がり, 色 */
}

.product-img {
  max-width: 250px;
  margin: 0 auto;
  align-items: center;
  display: flex;
}
@media screen and (max-width: 768px) {
  .product-img {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .product-img {
    max-width: none;
    width: 100%;
  }
}

.product-point-box {
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  height: 130px;
}
@media screen and (max-width: 640px) {
  .product-point-box {
    height: auto;
  }
}

.prpduct-point-pokke {
  width: 20%;
  flex-shrink: 0;
  /* ↓ 余計なマージンをすべてゼロにする */
  margin: 0 0 0 20px;
  /* ↓ 縦方向の位置を調整（下揃えにすると画像の状態に近くなります） */
  align-self: flex-end;
}
@media screen and (max-width: 768px) {
  .prpduct-point-pokke {
    max-width: none;
    width: 13%;
  }
}
@media screen and (max-width: 480px) {
  .prpduct-point-pokke {
    max-width: none;
    width: 20%;
  }
}

.product-img {
  justify-content: center;
}

.product-btn {
  position: relative;
  border-radius: 30px;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid #000000;
  padding: 10px;
  gap: 10px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .product-btn {
    font-size: 16px;
    padding: 15px 20px;
  }
}

.product-btn-blue {
  background-color: #A5F0FF;
}

.product-btn-pink {
  background-color: #FFCCE0;
}

.product-btn-red {
  background-color: #FFC4B5;
}

.product-btn-green {
  background-color: #BFFFC0;
}

.arrow-icon {
  width: 30px;
  height: auto;
  position: absolute;
  right: 10px;
}

.product-attention {
  background-color: #ffffff;
  padding: 20px;
  border: 1px solid #E43E32;
  color: #E43E32;
  font-size: 16px;
  margin-top: 40px;
  display: flex;
}
@media screen and (max-width: 768px) {
  .product-attention {
    padding: 10px;
    font-size: 12px;
  }
}

.benefit-section {
  background-image: url(/img/hajimeyou2026/present.webp);
  background-size: cover;
  background-repeat: repeat-y;
}

.deco-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 24px;
  font-weight: bold;
  color: #4A3933;
  text-align: center;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px) {
  .deco-text {
    font-size: 16px;
  }
}

/* 左側の斜線 ＼ */
.deco-text::before {
  content: "";
  display: block;
  width: 2px;
  height: 25px;
  background-color: #4A3933;
  transform: rotate(-25deg);
}
@media screen and (max-width: 768px) {
  .deco-text::before {
    height: 45px;
  }
}

/* 右側の斜線 ／ */
.deco-text::after {
  content: "";
  display: block;
  width: 2px;
  height: 25px;
  background-color: #4A3933;
  transform: rotate(25deg);
}
@media screen and (max-width: 768px) {
  .deco-text::after {
    height: 45px;
  }
}

.benefit-banner {
  margin: 20px auto 0 auto;
  text-align: center;
}

.detail-section {
  background-image: url(/img/hajimeyou2026/campaign.webp);
  background-size: 100%;
}

.detail-container {
  background-color: #FFF0F6;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 5px 5px 0px 0px #FF398A; /* 横のずれ, 縦のずれ, ぼかし, 広がり, 色 */
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .detail-container {
    margin-top: 30px;
  }
}

.detail-main-ttl {
  margin: -60px auto 20px auto;
  max-width: 480px;
}

.campaign-title {
  display: flex; /* 横並びにする */
  align-items: center; /* アイコンを上の位置に固定（中央なら center） */
  gap: 15px; /* アイコンとテキストの間隔 */
  color: #E64C83; /* 画像のようなピンク色 */
}
@media screen and (max-width: 768px) {
  .campaign-title {
    gap: 10px;
  }
}

.icon-sakura {
  width: 40px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .icon-sakura {
    width: 30px;
  }
}

.text-group {
  display: flex;
  flex-direction: column; /* テキストを縦に並べる */
}

.title-main {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  line-height: 1.2;
}

.title-sub {
  font-size: 20px;
  font-weight: bold;
  margin: 0;
  line-height: 1.2;
}

.universal-footer {
  background-color: #ffffff;
  padding-bottom: 10px;
  color: #000000;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

@media only screen and (max-width: 480px) {
  .universal-footer {
    color: rgba(0, 0, 0, 0.45);
    padding-bottom: 20px;
    text-align: center;
  }
}
.universal-footer .br::before {
  content: "\a";
  white-space: pre;
}

@media only screen and (min-width: 481px) {
  .universal-footer .br--sp::before {
    content: "";
  }
}
.universal-footer .universal-footer__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}

@media only screen and (min-width: 481px) {
  .universal-footer .universal-footer__container {
    max-width: 960px;
  }
}
.universal-footer .universal-footer__row {
  margin-left: auto;
  margin-right: auto;
}

.universal-footer .universal-footer__row:before {
  box-sizing: border-box;
  content: " ";
  display: table;
}

.universal-footer .universal-footer__row:after {
  clear: both;
}

@media only screen and (min-width: 481px) {
  .universal-footer .universal-footer__row {
    display: table;
    padding-left: 81px;
    position: relative;
  }
}
@media only screen and (min-width: 481px) {
  .universal-footer .universal-footer__col-pmark-image {
    display: block;
    font-size: 0;
    left: 0;
    position: absolute;
    top: 0;
  }
}
@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-pmark-image {
    margin: 20px auto 10px auto;
  }
}
.universal-footer .universal-footer__col-main {
  font-size: 10px;
  line-height: 20px;
  line-height: 15px;
  line-height: 2;
  margin: 0 10px;
  padding-top: 0;
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main {
    line-height: 1.5;
  }
}
@media only screen and (min-width: 481px) {
  .universal-footer .universal-footer__col-main {
    padding-top: 9px;
  }
}
.universal-footer .universal-footer__col-main a {
  color: inherit;
  text-decoration: none;
}

.universal-footer .universal-footer__col-main p {
  margin-top: 10px;
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main p {
    margin-top: 20px;
  }
}
@media only screen and (min-width: 481px) {
  .universal-footer .universal-footer__col-main p {
    margin-top: 0;
  }
}
.universal-footer .universal-footer__col-main .universal-footer__col-main__definition-term {
  display: inline-block;
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main .universal-footer__col-main__definition-term {
    display: block;
    margin-bottom: 5px;
  }
}
.universal-footer .universal-footer__col-main .universal-footer__col-main__definition-description {
  display: inline-block;
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main .universal-footer__col-main__definition-description a {
    line-height: 20px;
  }
}
.universal-footer .universal-footer__col-main .universal-footer__col-main__list {
  display: inline-block;
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main .universal-footer__col-main__list {
    display: inline;
  }
}
.universal-footer .universal-footer__col-main .universal-footer__col-main__list:after {
  content: " | ";
}

.universal-footer .universal-footer__col-main .universal-footer__col-main__list:last-child::after {
  content: "";
}

@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main .universal-footer__col-main__list:nth-child(2)::after {
    content: "";
  }
}
@media only screen and (max-width: 480px) {
  .universal-footer .universal-footer__col-main .universal-footer__col-main__list:nth-of-type(3)::before {
    content: "\a";
    white-space: pre;
  }
}
/* 共通 */
.container {
  max-width: 700px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0.5rem;
  }
}

@media (max-width: 768px) {
  br {
    display: none;
  }
}
.sp-br {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-br {
    display: block;
  }
}
/* 余白 */
.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30xp;
}

.mt-40 {
  margin-top: 40px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-40 {
  padding-top: 40px;
}

.pd-20 {
  padding: 20px;
}

.pd-40 {
  padding: 40px;
}
@media (max-width: 768px) {
  .pd-40 {
    padding: 20px;
  }
}

.pd-60 {
  padding: 60px;
}
@media (max-width: 768px) {
  .pd-60 {
    padding: 30px 10px;
  }
}

.f-24 {
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
}
@media (max-width: 768px) {
  .f-24 {
    font-size: 16px;
    line-height: 22px;
  }
}

.f-20 {
  font-size: 20px;
}
@media (max-width: 768px) {
  .f-20 {
    font-size: 16px;
  }
}

.f-16 {
  font-size: 15px;
  line-height: 20px;
}
@media (max-width: 768px) {
  .f-16 {
    font-size: 11px;
    line-height: 15px;
  }
}

.f-pk {
  color: #FF398A;
}

/* インデント */
.indent-box .indent {
  padding-left: 1em;
  text-indent: -1em;
}

/* 最初は透明で、30px下に下げておく */
.fadeIn {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

/* JSでこのクラスがつくと、透明度が戻り、元の位置にスッと上がる */
.fadeIn.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.m-btn {
  cursor: pointer;
  border-radius: 39px;
  transform: scale(1);
  transition: all 0.4s;
}

.m-btn:hover {
  transform: scale(1.1);
  transition: all 0.4s;
}/*# sourceMappingURL=style.css.map */