@charset "UTF-8";
/* aタグ設定
------------------------------------- */
@media (any-hover: hover) {
  a:hover, button:hover {
    opacity: 0.75;
  }
}

a, button {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  text-decoration: none;
}

/* 基本設定
------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-size: 1.4rem; /* =14px */
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #333537;
}

ul {
  list-style: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* デフォルトの三角形アイコンを非表示にする */
summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker,
summary::marker {
  display: none;
}

/* レスポンシブ設定
------------------------------------- */
.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

/* 作業部分
-------------------------------------*/
html {
  scroll-behavior: smooth;
}

/* 共通パーツ */
.mincho {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.section__title {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 1.6rem;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -0.03em;
}
.section__title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 10rem;
  height: 0.2rem;
  background: #a2a6ac;
}
@media screen and (min-width: 769px) {
  .section__title {
    margin-bottom: 3.4rem;
    padding-bottom: 1.6rem;
    font-size: 3.2rem;
  }
}

.bubble-right,
.bubble-left {
  position: relative;
}

.bubble-right::after {
  content: "";
  position: absolute;
  bottom: -0.7rem;
  right: -4.5rem;
  width: 2.8rem;
  height: 3.2rem;
  background: url(../images/bubble-sp.webp);
}

.bubble-left::before {
  content: "";
  position: absolute;
  bottom: -0.7rem;
  left: -4.5rem;
  width: 2.8rem;
  height: 3.2rem;
  background: url(../images/bubble-sp.webp);
}
@media screen and (min-width: 769px) {
  .bubble-right::after {
    bottom: -1.4rem;
    right: -6rem;
    width: 4.3rem;
    height: 4.7rem;
    background: url(../images/bubble-pc.webp);
  }

  .bubble-left::before {
    bottom: -1.4rem;
    left: -6rem;
    width: 4.3rem;
    height: 4.7rem;
    background: url(../images/bubble-pc.webp);
  }
}

/* キービジュアル */
.kv img {
  width: 100%;
  height: auto;
}

.main {
  background: #f3f6f7;
}

.catch {
  padding-top: 2.4rem;
  text-align: center;
}

.catch__main {
  margin-bottom: 1.6rem;
  font-weight: 800;
  font-size: 2.2rem;
  letter-spacing: -0.03em;
}

.catch__sub {
  margin-bottom: 1.4rem;
  font-weight: 500;
  font-size: 1.4rem;
}

.catch__list {
  width: 28rem;
  margin-inline: auto;
  margin-bottom: 5.2rem;
  border: 0.1rem solid #333537;
}
.catch__list dt {
  padding: 0.5rem 0;
  font-weight: 900;
  font-size: 1.4rem;
  color: #ffffff;
  background: #333537;
}
.catch__list dd {
  padding: 1.6rem 0;
  font-weight: 500;
  font-size: 1.4rem;
  background: #ffffff;
}

.catch__button {
  text-align: center;
}
.catch__button a {
  display: inline-block;
  width: 22rem;
  padding: 1.5rem 0;
  font-weight: 900;
  font-size: 1.6rem;
  color: #333537;
  background: #cde1f3;
  border-radius: 3rem;
  filter: drop-shadow(0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 769px) {
  .catch {
    padding-top: 3.3rem;
  }

  .catch__main {
    margin-bottom: 3rem;
    font-size: min(2.86vw, 40px);
  }

  .catch__sub {
    margin-bottom: 3rem;
  }

  .catch__sub,
  .catch__list dt,
  .catch__list dd {
    font-size: min(1.82vw, 20px);
  }

  .catch__list {
    width: min(49.8vw, 520px);
    margin-bottom: 6rem;
  }

  .catch__button a {
    width: 30rem;
    padding: 2rem 0;
    font-size: 2.1rem;
  }
}

/* キャンペーン内容 */
.detail {
  width: 28rem;
  margin-inline: auto;
  padding-top: 5.4rem;
  text-align: center;
}

.detail__text {
  margin-bottom: 1.5rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.57;
  text-align: left;
}

.detail__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}

.detail__list li {
  position: relative;
  width: 100%;
  background: #ffffff;
  border-radius: 2rem;
  padding: 1.5rem 1.5rem 2rem;
}

.detail__list li:first-child {
  padding: 1rem 1.5rem 1.5rem;
}

/* .detail__list li a {
  display: inline-block;
  padding: 1.5rem 1.5rem 2rem;
  width: 100%;
} */

.detail__inner {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-align: left;
}

.detail__award {
  display: grid;
  align-content: center;
  width: 6.3rem;
  height: 6.3rem;
  font-weight: 900;
  font-size: 1.6rem;
  text-align: center;
  background: #cde1f3;
  border-radius: 50%;
  color: #333537;
}

.detail__name--a,
.detail__name--b {
  font-weight: 900;
  font-size: 1.5rem;
  color: #333537;
  line-height: 1.25;
}

.detail__name--a span:nth-child(3),
.detail__name--b span:nth-child(3) {
  font-size: 1.8rem;
}

.detail__name--a span:nth-child(4),
.detail__name--b span:nth-child(4) {
  font-size: 1.2rem;
}

.a__inner {
  display: flex;
  width: 22rem;
  margin-inline: auto;
  margin-top: 1rem;
}

.a__left {
  text-align: justify;
}

.a__text {
  padding-top: 1rem;
  font-weight: 500;
  font-size: 1.1rem;
}

.award-imageb {
  width: 15.5rem;
  margin-inline: auto;
  margin-top: 2.5rem;
}

.button__open {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../images/open-button.svg) no-repeat center;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .detail {
    width: 100%;
    padding-top: 8rem;
  }

  .detail__text {
    margin-bottom: 3rem;
    font-size: min(2.21vw, 2rem);
    text-align: center;
  }

  .detail__list {
    flex-direction: row;
    justify-content: space-between;
    max-width: 79.2rem;
    width: 95%;
    margin-inline: auto;
  }

  .detail__list li {
    max-width: 38rem;
    width: 48%;
    background: #ffffff;
    border-radius: 2rem;
    padding: 1.5rem 1.5rem 2rem;
  }

  .detail__list li:first-child {
    padding: 1.5rem 1.5rem 2rem;
  }

  /* .detail__list li a {
    padding: 1.5rem 1.5rem 2rem;
  } */

  .detail__inner {
    gap: 1.5rem;
  }

  .detail__award {
    display: grid;
    align-content: center;
    width: 8.5rem;
    height: 8.5rem;
    font-weight: 900;
    font-size: 2.1rem;
    text-align: center;
    background: #cde1f3;
    border-radius: 50%;
  }

  .detail__name--a,
  .detail__name--b {
    font-size: min(2.54vw, 2.1rem);
  }

  .detail__name--a span:nth-child(3),
  .detail__name--b span:nth-child(3) {
    font-size: 2.4rem;
  }

  .detail__name--a span:nth-child(4),
  .detail__name--b span:nth-child(4) {
    font-size: 1.6rem;
  }

  .a__inner {
    width: 29.6rem;
    margin-top: 1.4rem;
  }

  .a__text {
    
    line-height: 1.5;
    font-size: 1.4rem;
  }

  .award-imageb {
    width: 21.2rem;
    margin-top: 3.3rem;
  }

  .button__open {
    width: 3rem;
    height: 3rem;
  }
}

/* キャンペーン期間 */
.period {
  padding-top: 3.4rem;
  text-align: center;
}

.period__text {
  font-weight: 500;
  font-size: 1.4rem;
}

.period__text span {
  font-size: 1.8rem;
}

.period__attention {
    margin-top: 1.3rem;
    font-size: 1rem;
  }
@media screen and (min-width: 769px) {
  .period {
    padding-top: 7.8rem;
  }

  .period__text {
    font-weight: 500;
    font-size: 2rem;
  }

  .period__text span {
    font-size: 2rem;
  }

  .period__attention {
    margin-top: 3.1rem;
    font-size: 1.2rem;
  }
}

/* 応募方法 */
.method {
  width: 28rem;
  margin-inline: auto;
  padding-top: 6rem;
  text-align: center;
}

.method__list {
  width: 100%;
  text-align: left;
  list-style: "";
}

.method__list li {
  margin-bottom: 2.9rem;
}

.method__label {
  display: inline-block;
  padding: 0.2rem 2.3rem 0.2rem 1.3rem;
  font-weight: 600;
  font-size: 1.4rem;
  background: #cde1f3;
  clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 0 100%);
}

.method__label span {
  font-size: 1.8rem;
}

.method__list-text {
  padding-top: 1.1rem;
  font-weight: 500;
  font-size: 1.4rem;
  border-top: 0.2rem solid #cde1f3;
}

.method__attention-list {
  width: 100%;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .method {
    max-width: 72rem;
    width: 90%;
    padding-top: 8rem;
  }

  .method__list li {
    margin-bottom: 3.5rem;
  }
  .method__list li:last-child {
    margin-bottom: 4rem;
  }

  .method__label {
    padding: 0.3rem 2.3rem 0 1.3rem;
    font-size: 1.8rem;
  }

  .method__label span {
    font-size: 2.3rem;
  }

  .method__list-text {
    padding-top: 1.4rem;
    font-size: 2rem;
  }

  .method__attention-list {
    font-size: 1.2rem;
    line-height: 1.66;
  }
}

/* 応募条件 */
.condition {
  padding-top: 6rem;
  text-align: center;
}

.condition__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 3rem;
  width: 28rem;
  margin-inline: auto;
}

.condition__list li {
  display: grid;
  place-content: center;
  place-items: center;
  width: 45%;
  aspect-ratio: 1;
}

.condition__image {
  margin-inline: auto;
}

.condition__text {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.6;
}

.condition__text span {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
}

.condition01 {
  width: 5.3rem;
  margin-bottom: 1.5rem;
}

.condition02 {
  width: 6rem;
  margin-bottom: 1.6rem;
}

.condition03 {
  width: 5rem;
  margin-bottom: 1.5rem;
}

.condition04 {
  width: 5.4rem;
  margin-bottom: 1.5rem;
  padding-top: 1rem;
}


@media screen and (min-width: 769px) {
  .condition {
    padding-top: 7.8rem;
  }

  .condition__list {
    justify-content: space-between;
    max-width: 100rem;
    width: 95%;
  }

  .condition__list li {
    width: 24%;
  }

  .condition__text {
    font-size: min(2.21vw, 2rem);
  }

  .condition__text span {
    font-size: 1.5rem;
  }

  .condition01 {
    width: 8.9rem;
    margin-bottom: 2.7rem;
    padding-top: 1rem;
  }

  .condition02 {
    width: 9.7rem;
    margin-bottom: 3.3rem;
    padding-top: 1rem;
  }

  .condition03 {
    width: 8.1rem;
    margin-bottom: 2.7rem;
  }

  .condition04 {
    width: 8.7rem;
    padding-top: 1rem;
    margin-bottom: 2.8rem;
  }
}

/* 対象商品 */
.products {
  width: 28rem;
  margin-inline: auto;
  padding-top: 6.2rem;
  text-align: center;
}

.products__list {
  width: 100%;
  text-align: left;
}

.products__list li {
  width: 100%;
}

.products__list li:first-child {
  margin-bottom: 4rem;
}

.products__image-inner {
  width: 100%;
  padding: 1.1rem 0;
  background: #ffffff;
  border-radius: 1.2rem;
}

.products__image-inner img {
  margin-inline: auto;
}

.label__product01,
.label__product02 {
  position: relative;
}

.label__product01::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  width: 8.7rem;
  height: 8.7rem;
  background: url(../images/product-label01-sp.webp);
  background-size: cover;
}

.label__product02::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  width: 8.7rem;
  height: 8.7rem;
  background: url(../images/product-label02-sp.webp);
  background-size: cover;
}

.products__text-inner {
  margin-top: 1.4rem;
}

.products__name {
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.products__name span {
  display: block;
  font-size: 2.2rem;
}

.products__text {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.45;
}

.inbath,
.outbath {
  padding-top: 4.2rem;
}

.inbath__title,
.outbath__title {
  display: flex;
  align-items: center;
  margin-bottom: 1.4rem;
  font-size: 1.6rem;
}

.inbath__title::before,
.inbath__title::after,
.outbath__title::before,
.outbath__title::after {
  background-color: #333537; /* 横線の色 */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 0.1rem; /* 横線の高さ */
}

.inbath__title::before,
.outbath__title::before {
  margin-right: 1.7rem; /* 文字との余白 */
}

.inbath__title::after,
.outbath__title::after {
  margin-left: 1.7rem; /* 文字との余白 */
}

.inbath__list,
.outbath__list {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  justify-content: space-between;
  width: 100%;
  text-align: left;
}

.inbath__list li,
.outbath__list li {
  display: flex;
  gap: 1rem;
  width: 100%;
}

.inbath__image-inner,
.outbath__image-inner {
  display: grid;
  place-content: center;
  place-items: center;
  width: 8.8rem;
  height: 18rem;
  background: #ffffff;
  border-radius: 1.2rem;
}

.inbath__image-inner img {
  width: 7.6rem;
}

.inbath__text-inner,
.outbath__text-inner {
  margin-top: 0;
  padding-top: 1.7rem;
}

.inbath__name,
.outbath__name {
  margin-bottom: 1.1rem;
  font-size: 1rem;
  line-height: 1.6;
}

.inbath__name span,
.outbath__name span {
  display: block;
  font-size: 1.8rem;
}

.inbath__text,
.outbath__text {
  font-size: 1rem;
  line-height: 1.5;
}

.outbath__image-inner img {
  height: 13.9rem;
  object-fit: contain;
}

.products__attention {
  margin-top: 1.5rem;
  font-weight: 500;
  font-size: 0.8rem;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .products {
    padding-top: 8rem;
    max-width: 100rem;
    width: 95%;
  }

  .products__list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    text-align: left;
  }

  .products__list li {
    width: 48%;
  }

  .products__list li:first-child {
    margin-bottom: 0;
  }

  .products__image-inner {
    padding: 1.2rem 0;
  }

  .label__product01::before {
    content: "";
    position: absolute;
    top: 1.1rem;
    right: calc(50% - 15rem);
    width: 10.1rem;
    height: 10.1rem;
    background: url(../images/product-label01-pc.webp);
    background-size: cover;
  }

  .label__product02::before {
    content: "";
    position: absolute;
    top: 1.1rem;
    right: calc(50% - 15rem);
    width: 10.1rem;
    height: 10.1rem;
    background: url(../images/product-label02-pc.webp);
    background-size: cover;
  }

  .products__text-inner {
    margin-top: 2.8rem;
  }

  .products__name {
    margin-bottom: 2.4rem;
    font-size: 1.6rem;
  }

  .products__name span {
    display: inline-block;
    margin-right: 1rem;
    font-size: 2.6rem;
  }

  .products__text {
    font-size: 2rem;
  }

  .inbath,
  .outbath {
    padding-top: 8rem;
  }

  .inbath__title,
  .outbath__title {
    margin-bottom: 2.8rem;
    font-size: 2.4rem;
  }

  .inbath__title::before,
  .outbath__title::before {
    margin-right: 2.4rem; /* 文字との余白 */
  }

  .inbath__title::after,
  .outbath__title::after {
    margin-left: 2.4rem; /* 文字との余白 */
  }

  .inbath__list,
  .outbath__list {
    flex-direction: row;
  }

  .inbath__list li,
  .outbath__list li {
    display: block;
    width: 23%;
  }

  .inbath__image-inner,
  .outbath__image-inner {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .inbath__image-inner img {
    width: 40%;
  }

  .inbath__text-inner,
  .outbath__text-inner {
    margin-top: 3.1rem;
    padding-top: 0;
  }

  .inbath__name,
  .outbath__name {
    margin-bottom: 1.6rem;
    font-size: 1.2rem;
  }

  .inbath__name span,
  .outbath__name span {
    font-size: 2rem;
  }

  .inbath__text,
  .outbath__text {
    font-size: 1.4rem;
    line-height: 1.42;
  }

  .outbath__list {
    justify-content: center;
    gap: 2%;
  }

  .outbath__image-inner img {
    height: 85%;
  }

  .products__attention {
    margin-top: 3.2rem;
    font-size: 1.2rem;
    text-align: center;
  }
}

/* 対象店舗 */
.shop {
  padding-top: 5.8rem;
  text-align: center;
}

.shop__text {
  font-weight: 500;
  font-size: 1.4rem;
}

.shop__attention {
  margin-top: 1.8rem;
  font-weight: 500;
  font-size: 1rem;
  color: #ed1a72;
}
@media screen and (min-width: 769px) {
  .shop {
    padding-top: 8rem;
  }

  .shop__text {
    font-size: 2rem;
  }

  .shop__attention {
    margin-top: 2.4rem;
    font-size: 1.2rem;
  }
}

/* 応募方法(規約部分) */
.terms {
  padding-top: 6rem;
  text-align: center;
}

.terms__text {
  margin-bottom: 1.8rem;
  font-weight: 500;
  font-size: 1.4rem;
}

.terms__container {
  width: 28rem;
  margin-inline: auto;
  position: relative;
}

.terms__wrapper {
  width: 100%;
  height: 16rem;
  padding: 1.7rem 1.5rem 1.7rem 1.5rem;
  border: 0.1rem solid #a2a6ac;
  overflow-x: hidden;
  overflow-y: scroll;
  font-weight: 500;
  font-size: 1rem;
}

.terms__wrapper h3,
.terms__list > li {
  margin-bottom: 1.9rem;
}

.terms__wrapper section {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .terms {
    padding-top: 8rem;
  }

  .terms__text {
    margin-bottom: 3.2rem;
    font-size: min(2.21vw, 2rem);
  }

  .terms__container {
    max-width: 100rem;
    width: 95%;
  }

  .terms__wrapper {
    height: 24rem;
    padding: 3.6rem 4.4rem 3rem 3.9rem;
    font-size: min(2.21vw, 2rem);
  }

  .terms__wrapper h3,
  .terms__list > li {
    margin-bottom: 3.6rem;
  }
}
/* ↓↓スクロールバー装飾 */
/* スクロールボタン共通 */
.scroll-btn {
  position: absolute;
  right: 1rem;
  width: 1.2rem;
  height: 1.2rem;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
}
/* 上ボタン */
.scroll-btn.up {
  top: 1.2rem;
}
/* 下ボタン */
.scroll-btn.down {
  bottom: 1.2rem;
}

/* スクロールバー装飾（Chrome / Edge / Safari） */
.terms__wrapper::-webkit-scrollbar {
  width: 1.5rem;
}

.terms__wrapper::-webkit-scrollbar-track {
  background-color: transparent;
}
/* Firefox対応 */
.scroll-box {
  scrollbar-width: thin;
  scrollbar-color: transparent;
}
@media screen and (min-width: 769px) {
  .scroll-btn {
    width: 1.4rem;
    height: 1.4rem;
  }

  .terms__wrapper::-webkit-scrollbar {
    width: 3rem;
  }
}

/* チェックボックス */
.checkbox__wrap {
  padding-top: 3.8rem;
}

.checkbox__wrap label {
  display: inline-flex; /* 横並び＆中央揃えに便利 */
  align-items: center;  /* 上下中央にそろえる */
  gap: 0.9em;           /* チェックボックスと文字の間隔 */
  font-weight: 500;
  font-size: 1.4rem;
  margin-bottom: 1.6rem;
}

/* デフォルトのチェックボックスを非表示 */
.checkbox {
  visibility: hidden;
}

/* 見た目用のボックス */
.checkbox__box {
  position: relative;
  width: 2rem;
  height: 2rem;
  background: #ffffff;
  border: 0.1rem solid #333537;
  transition: all 0.3s;
}

/*  チェックされたときのスタイル */
.checkbox__input:checked + .checkbox__box {
  background: #ffffff;
  border-color: #333537;
}

/* チェックマーク（擬似要素） */
.checkbox__box::after {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0.6rem;
  width: 0.5rem;
  height: 1rem;
  border-right: 0.2rem solid #333537;
  border-bottom: 0.2rem solid #333537;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s;
}

.checkbox:checked + .checkbox__box::after {
  opacity: 1;
}

.checkbox__button a {
  display: inline-block;
  width: 22rem;
  padding: 1.5rem 0;
  font-weight: 900;
  font-size: 1.6rem;
  color: #e6e6e6;
  background: #c3c5c9;
  border-radius: 3rem;
  filter: drop-shadow(0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.2));
  transition: all 0.3s;
}

.checkbox__button a.is-active {
  color: #333537;
  background: #cde1f3;
}
@media screen and (min-width: 769px) {
  .checkbox__wrap {
    padding-top: 7.7rem;
  }

  .checkbox__wrap label {
    font-size: 2rem;
  }

  .checkbox__button a {
    width: 30rem;
    padding: 2rem 0;
    font-size: 2.1rem;
  }
}

/* お問い合わせ */
.contact {
  padding-top: 5.3rem;
  padding-bottom: 5.6rem;
  text-align: center;
}

.contact__address {
  margin-bottom: 1.8rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.57;
}

.contact__address a {
  color: #333537;
}

.contact__text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .contact {
    padding-top: 7.4rem;
    padding-bottom: 8rem;
  }

  .contact__address {
    margin-bottom: 3.2rem;
    font-size: 2rem;
    line-height: 1.6;
  }

  .contact__text {
    font-size: 1.4rem;
    line-height: 1.74;
  }
}

/* フッター */
.footer {
  padding-top: 3.3rem;
  background: #a2a6ac;
  color: #ffffff;
  text-align: center;
}

.footer__logo {
  width: 21.1rem;
  margin-inline: auto;
}

.sns {
  display: flex;
  justify-content: center;
  gap: 4.6rem;
  margin-top: 3rem;
  margin-bottom: 3.8rem;
}

.sns li {
  width: 3.3rem;
}

.footer__text,
.copyright small {
  font-weight: 500;
  font-size: 1rem;
  line-height: 2.1;
}
@media screen and (min-width: 769px) {
  .footer {
    padding-top: 4.9rem;
  }

  .footer__logo {
    width: 30.3rem;
  }

  .sns {
    gap: 6.6rem;
    margin-top: 5rem;
    margin-bottom: 6.5rem;
  }

  .sns li {
    width: 4.8rem;
  }

  .footer__text,
  .copyright small {
    font-size: 1.4rem;
    line-height: 2.28;
  }
}

.protected-photo{
  -webkit-user-drag: none;
  -webkit-user-select: none; user-select: none;
  -webkit-touch-callout: none;
}

/* 画像クリックを必要としないなら有効（強力） */
.protected-photo { pointer-events: none; }

/* 印刷用：非表示にする */
@media print {
  .protected-photo {
    display: none !important;
  }
}

/* モーダル */
/* .modal {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(130, 139, 146, 0.8);
  padding: calc(56 / 1366 * 100vw);
  z-index: 999;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
} */

/* .modal.is-active {
  opacity: 1;
  visibility: visible;
} */

/* .modal__container {
  width: 38rem;
  height: 38rem;
  padding: 1.5rem 1.5rem 2rem;
  background: #ffffff;
  border-radius: 2rem;
} */

/* .modal__container .award-imagea {
  width: 33rem;
  margin-inline: auto;
  margin-top: 1rem;
} */

/* .modal__container .award-imageb {
  width: 25rem;
  margin-inline: auto;
  margin-top: 2.5rem;
} */

/* .modal__close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 2rem;
  right: calc(24 / 1366 * 100vw);
  width: 3rem;
  height: 3rem;
  cursor: pointer;
} */

/* .modal__close::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 0.2rem;
  background: #fff;
  rotate: 45deg;
} */

/* .modal__close::after {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 0.2rem;
  background: #fff;
  rotate: -45deg;
} */

/* モバイルのタップ時ハイライトを消す */
/* .js-modal-open {
  -webkit-tap-highlight-color: transparent;
} */
/* @media screen and (min-width: 768px) {
  .modal__container {
    width: 60rem;
    height: 60rem;
    padding: 2.4rem 2.4rem 3.2rem;
  }

  .modal__container .detail__inner {
    gap: 2.4rem;
  }

  .modal__container .detail__award {
    display: grid;
    align-content: center;
    width: 13.6rem;
    height: 13.6rem;
    font-weight: 900;
    font-size: 3.36rem;
    text-align: center;
    background: #cde1f3;
    border-radius: 50%;
  }

  .modal__container .detail__name--a {
    font-size: 4.32rem;
  }

  .modal__container .detail__name--a span:nth-child(3),
  .modal__container .detail__name--b span:nth-child(4) {
    font-size: 1.92rem;
  }

  .modal__container .detail__name--a span:first-child,
  .modal__container .detail__name--b span:nth-child(3) {
    font-size: 3.84rem;
  }

  .modal__container .award-imagea {
    width: 47.2rem;
    margin-top: 1.6rem;
  }

  .modal__container .detail__name--b {
    font-weight: 900;
    font-size: 3.36rem;
    color: #333537;
  }

  .modal__container .award-imageb {
    width: 33.9rem;
    margin-top: 5.3rem;
  }

  .modal__close::before {
    width: 3rem;
  }

  .modal__close::after {
    width: 3rem;
  }
} */