@charset "UTF-8";
/* init
------------------------------------------------*/
:root {
  --text_color: #543813;
  --main_color: #ffec5c;
  --accent_color: #eb6579;
}
/*remの記述(SP)*/
html {
  font-size: calc(100vw / 75);
  scrollbar-gutter: stable;
}
body {
  padding-right: 0!important;
  overflow-x: hidden;
  background: #fff;
  color: var(--text_color);
  font-family: 'Noto Sans JP', 'Noto Sans', 'Noto Sans CJK JP', 'ヒラギノ角ゴ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic', sans-serif;
  font-size: 1.6rem;
  font-feature-settings: "palt";
  line-height: 1.625;
  letter-spacing: .2rem;
  -webkit-text-size-adjust: 100%;
}
*,
*::before,
*::after {  
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  font-feature-settings: "palt";
  letter-spacing: .2rem;
  cursor: pointer;
  transition: .2s;
}

/*remの記述(PC)*/
@media screen and (min-width: 768px) {
  html {
      font-size: 50%;
    }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 62.5%;
  }
}
/* common
------------------------------------------------*/
h2 {
  clip-path: polygon(.6% 36%, 2% 20%, 16% 6%, 29% 3%, 34% 4%, 46% 1%, 73% 6%, 88% 14%, 94% 21%, 98% 51%,
  97.3% 63%, 94% 74%, 86% 80%, 82% 82%, 49.5% 87%, 46.5% 87%, 39% 86%, 6% 79%, 2% 66%, 0.4% 36%);
  margin: 0 4.5rem;
  padding: 3rem 0 4.5rem;
  background: var(--main_color);
  font-size: 3.4rem;
  font-weight: bold;
}
picture {
  display: block;
}
section {
  position: relative;
}
a {
  color: var(--text_color);
  text-decoration: none;
  transition: .2s;
}
.inner_wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0 3rem;
  text-align: center;
}
.flex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
.pc_br {
  display: none;
}
@media (min-width: 768px) {
  .pc_flex {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }
  h2 {
    max-width: 62rem;
    margin: 0 auto;
    padding: 2.5rem 3rem 4rem;
  }
  .sp_br {
    display: none;
  }
  .pc_br {
    display: block;
  }
}
@media (min-width: 1050px) {
  .inner_wrap {
    max-width: 1020px;
    padding: 0;
  }
}
/* hover
------------------------------------------------*/
@media (hover: hover) {
  a:hover,.modal_follow_item a:hover p {
    opacity: .7;
  }
  h1 a:hover,footer a:hover,.sns_inner a:hover,.btn_wrap a:hover,.modal_follow_item a:hover {
    opacity: 1;
  }
  .follow_btn button:hover {
    background: #ff7185;
  }
  .follow_btn2 a:hover {
    opacity: 1;
    background: #7c531d;
  }
  .header_gnav-list a:hover {
    opacity: 1;
    color: var(--accent_color);
  }
  #prize .btn_wrap a:hover {
    transform: translate(0,.5rem);
    box-shadow: none;
  }
  #method .btn_wrap button:hover,#method .btn_wrap a:hover {
    transform: translate(0,.7rem);
    box-shadow: none;
  }
  #method .terms_btn button:hover {
    opacity: 1;
    background: #7c531d;
  }
  #method .terms_btn button:hover::after {
    background-image: url("/special/ahamo_wanko/assets/images/ic_terms_btn_h.svg");
  }
}
/* loading
------------------------------------------------*/
body.loading_scroll {
  overflow: hidden;
  height: 100dvh;
}
#loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg,rgba(255, 253, 240, 1) 0%, rgba(255, 253, 240, 1) 12%, rgba(255, 236, 92, 1) 13%, rgba(255, 236, 92, 1) 87%, rgba(255, 253, 240, 1) 88%, rgba(255, 253, 240, 1) 100%);
  transition: opacity .5s;
}
#loading::before,#loading::after {
  position: absolute;
  right: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("/special/ahamo_wanko/assets/images/wave_be_sp.svg") no-repeat center bottom/100% auto;
  content: "";
  z-index: -2;
}
#loading::before {
  top: 11%;
  transform: rotate(180deg);
}
#loading::after {
  bottom: 11%;
}
.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.loader_content {
  z-index: 2;
  padding: 0 3rem;
}
.loader_content picture {
  text-align: center;
}
.loader_logo {
  width: 34.1rem;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  #loading {
    background: var(--main_color);
  }
  #loading::before,#loading::after {
    height: 16vw;
    background-image: url("/special/ahamo_wanko/assets/images/wave_be_pc.svg");
  }
  #loading::before {
    top: 0;
  }
  #loading::after {
    bottom: 0;
  }
  .loader_content {
    padding: 0 5rem;
  }
  .loader_content .loader_logo {
    width: 44.9rem;
  }
}
/*-------------- 足跡 アニメーション --------------*/
.footprint {
  position: absolute;
  width: 59%;
  height: 100%;
}
.footprints_inner {
  position: absolute;
  top: 11%;
  width: 100%;
  height: 100vh;
}
.footprints_inner.reverse {
  top: auto;
  bottom: 11%;
  transform: scale(-1, -1);
}
.footprint > span {
  position: absolute;
  opacity: 0;
  aspect-ratio: 1 / 1;
  width: 11%;
  height: auto;
  background: url("/special/ahamo_wanko/assets/images/footprint.webp") no-repeat center center / contain;
  animation: footprint_anime 5s ease-out 0.5s infinite;
}

span.nikukyu1 {
  right: 4%;
  bottom: 95%;
}
span.nikukyu2 {
  right: 14.4%;
  bottom: 89%;
  animation-delay: 1s;
}
span.nikukyu3 {
  right: 32.8%;
  bottom: 91.75%;
  animation-delay: 1.5s;
}
span.nikukyu4 {
  right: 43.2%;
  bottom: 86%;
  animation-delay: 2s;
}
span.nikukyu5 {
  right: 61.6%;
  bottom: 89.5%;
  animation-delay: 2.5s;
}
span.nikukyu6 {
  right: 72%;
  bottom: 83%;
  animation-delay: 3s;
}
@media (min-width: 768px) {
  .footprint {
    width: max(29%, 49rem);
  }
  .footprints_inner {
    top: 8%;
    height: 130vh;
  }
  .footprints_inner.reverse {
    bottom: 8%;
  }
  .footprint > span {
    width: 5rem;
  }
}
@keyframes footprint_anime {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  40% {
    opacity: 1;
  }

  60% {
    opacity: 0;
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .footprints_inner {
    top: 2%;
  }
  .footprints_inner.reverse {
    top: auto;
    bottom: 2%;
  }
}
@media screen and (max-width: 1020px) and (orientation: landscape) {
  #loading {
    background: var(--main_color);
  }
  #loading::before {
    top: -14%;
  }
  #loading::after {
    bottom: -14%;
  }
  .footprint {
    width: 36%;
  }
  .footprints_inner {
    top: 0;
  }
  .footprints_inner.reverse {
    top: auto;
    bottom: 0;
  }
  .loader_content {
    padding: 0 16%;
  }
  .footprint > span {
    width: 10%;
  }
}
/* modal_follow_item
------------------------------------------------*/
.remodal-wrapper:has(.modal_follow_item) {
  padding: 1rem 3rem 0;
  background: rgba(235, 101, 121, .6);
}
.remodal:has(.modal_follow_item) {
  box-shadow: 0 0 1.6rem #823b4b;
}
.modal_follow_item {
  padding: 5rem;
}
.modal_follow_item p {
  font-size: 3.1rem;
  font-weight: bold;
  padding-left: 3.9rem;
  transition: .2s;
}
.modal_follow_item img {
  width: 8.9rem;
}
.modal_follow_item .flex {
  justify-content: flex-start;
  padding: 2.8rem 4.4rem 0;
}
.modal_follow_item .flex:first-of-type {
  position: relative;
  padding: 0 4.4rem 2.8rem;
}
.modal_follow_item .flex:first-of-type::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: .2rem;
  border-radius: 99rem;
  background: var(--accent_color);
  content: "";
}
/* follow
------------------------------------------------*/
.follow {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 97;
  width: 100%;
  transition: .2s;
}
.follow.is-fade-out {
  opacity: 0;
  visibility: hidden;
}
.speech-bubble_wrap {
  padding: 0;
}
.follow .speech-bubble {
  position: relative;
  z-index: 2;
  width: 54%;
  height: 5.8rem;
  margin: 0 1rem -2.2rem auto;
  padding-top: 1.4rem;
  filter: drop-shadow(0 .2rem .3rem rgba(84, 56, 19, .3));
  background: url(/special/ahamo_wanko/assets/images/speech_bubble.svg) no-repeat center / contain;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .04rem;
}
.follow_bg {
  padding: 1.2rem 0 calc(env(safe-area-inset-bottom) + 1.2rem);
  background: rgba(255,255,255,.5);
}
.follow .inner_wrap.flex {
  align-items: stretch;
}
.follow_btn {
  width: 48.5%;
}
.follow_btn button,.follow_btn2 a {
  justify-content: center;
  gap: 0 3.5rem;
  width: 100%;
  height: 100%;
  padding: 1rem 0;
  border: none;
  background: var(--accent_color);
  color: #fff;
}
.follow_btn2 a {
  background: var(--text_color);
}
.follow_btn span,.follow_btn p {
  font-size: 3.7rem;
  font-weight: bold;
}
.follow_btn img {
  width: auto;
  height: 5.6rem;
}
@media (min-width: 768px) {
  .follow .speech-bubble {
    width: 48.5%;
    height: 8.2rem;
    margin: 0 1.5rem -3.2rem auto;
    padding-top: 2.2rem;
    font-size: 2.4rem;
  }
  .follow_bg {
    padding: 1.6rem 0 calc(env(safe-area-inset-bottom) + 1.6rem);
  }
  .follow_btn button,.follow_btn2 a {
    padding: 1.3rem 0;
  }
}
@media (min-width: 870px) {
  .follow .speech-bubble {
    height: 6.6rem;
    margin-bottom: -2.6rem;
    padding-top: 1.25rem;
    font-size: 2.6rem;
  }
}
@media (min-width: 1024px) {
  .follow .speech-bubble {
    height: 5rem;
    margin: 0 0 -2.4rem auto;
    padding-top: 1rem;
    font-size: 2rem;
  }
}
/* header
------------------------------------------------*/
#hamburger {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  background: #fff;
  transform: translateY(-19rem);
  transition: .3s;
}
#hamburger.is-active {
  transform: translateY(0);
  box-shadow: 0 .4rem 1rem rgba(0, 0, 0,.15);
  transition: .3s transform;
}
header .inner_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 1.5rem;
}
#overlay {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 97;
  width: 100%;
  height: 100%;
  background: rgba(84, 56, 19, .6);
  visibility: hidden;
  transition: .3s;
}
#overlay.is-open {
  opacity: 1;
  visibility: visible;
}
body.no-scroll {
  overflow: hidden;
}
h1 {
  width: 58%;
  max-width: 38rem;
  font-size: 1rem;
}
.header_btn {
  display: flex;
  align-items: center;
  position: relative;
  width: 10rem;
  height: 10rem;
  padding: 0;
  border: 0;
  background: #fff;
}
.header_btn span {
  color: var(--accent_color);
  font-size: 2.3rem;
  font-weight: 500;
}
.header_gnav {
  display: block;
  align-self: stretch;
  opacity: 0;
  position: fixed;
  top: 10rem;
  right: 0;
  z-index: 99;
  transform: translateX(120%);
  width: 100vw;
  height: calc(100vh - 10rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  overscroll-behavior: contain;
  transition: .3s;
}
.header_gnav-list {
  padding-bottom: 6rem;
  border-top: rgba(84, 56, 19,.5) solid .5rem;
}
.header_gnav-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 2.5rem 3rem;
  font-weight: bold;
  text-decoration: none;
  font-size: 2.8rem;
  line-height: 1;
}
.header_gnav-list a::after {
  display: inline-block;
  transform: rotate(45deg);
  width: .5em;
  height: .5em;
  border: var(--accent_color) solid .5rem;
  border-left: 0;
  border-bottom: 0;
  content: "";
}
#open-btn {
  display: block;
}
#open-btn img {
  width: 6rem;
  padding-top: .25rem;
}
.close_btn {
  display: none;
  padding-top: 1rem;
  background: var(--accent_color);
}
.close_btn img {
  width: 5rem;
  margin: auto;
}
.close_btn span {
  display: block;
  margin-top: .5rem;
  color: #fff;
  font-size: 2.3rem;
}
.close_btn span::before {
  top: 0;
  transform: rotate(45deg);
  height: .25rem;
  background: var(--accent_color);
}
.close_btn span::after {
  top: 0;
  transform: rotate(-45deg);
  height: .25rem;
  background: var(--accent_color);
}
.is-open2 .close_btn {
  display: block;
}
.is-open2 #open-btn {
  display: none;
}
.is-open2 .header_gnav {
  opacity: 1;
  transform: translateX(0);
  transition: .5s;
}
@media (min-width: 500px) {
  .header_gnav {
    top: 6.75rem;
    height: calc(100vh - 6.75rem);
  }
  h1 {
    width: 26rem;
  }
  .header_btn,#open-btn {
    width: 6.75rem;
    height: 6.75rem;
  }
  #open-btn {
    margin-right: 0;
  }
  #open-btn img {
    width: 4rem;
    margin: auto;
  }
  .close_btn img {
    width: 3rem;
  }
  .header_btn span {
    display: block;
    font-size: 1.36rem;
  }
  .close_btn span {
    margin-top: .4rem;
  }
  .header_gnav-list a::after {
    border-width: .4rem;
  }
}
@media (min-width: 768px) {
  h1 {
    width: 24%;
  }
  #hamburger {
    transform: translateY(0);
    background: #fffdf0;
  }
  #open-btn {
    background: #fffdf0;
  }
}
@media (min-width: 1050px) {
  header .inner_wrap {
    max-width: 1020px;
    margin: 0 auto;
    padding-left: 0;
  }
  .header_gnav {
    width: 65rem;
  }
  h1 {
    width: 26.5rem;
  }
  .header_gnav-list {
    border-top-width: .3rem;
  }
}
/* #page_top
------------------------------------------------*/
#page_top {
  padding: .4rem 0 .85rem;
  background: #fffdf0;
}
.top_logo {
  clip-path: none;
  max-width: 24rem;
  margin: 0 auto;
  padding: 0;
  background: none;
  text-align: center;
}
@media (min-width: 768px) {
  #page_top {
    padding-bottom: 0;
  }
  .top_logo {
    display: none;
  }
}
/* main
------------------------------------------------*/
.bg_wrap {
  position: relative;
  padding-bottom: 23.2rem;
  background: linear-gradient(180deg,rgba(255, 253, 240, 1) 0%, rgba(255, 253, 240, 1) 98%, rgba(221, 186, 128, 1) 100%);
  font-size: 2.8rem;
}
.bg_wrap section:first-of-type {
  padding-top: 0;
}
#prize::before {
  position: absolute;
  top: -4rem;
  right: 0;
  left: 0;
  transform: scale(1,-1);
  width: 100%;
  height: 17.7rem;
  background: url("/special/ahamo_wanko/assets/images/wave_yw_sp.svg") no-repeat center bottom/cover;
  content: "";
  
}
#prize::after,#explanation::after,.bg_wrap::after,#method::after {
  position: absolute;
  right: 0;
  bottom: -.2rem;
  left: 0;
  width: 100%;
  height: 17.7rem;
  background: url("/special/ahamo_wanko/assets/images/wave_be_sp.svg") no-repeat center bottom/cover;
  content: "";
}
#prize::after {
  background-image: url("/special/ahamo_wanko/assets/images/wave_yw_sp2.svg");
}
#explanation::after {
  bottom: -2.2rem;
  transform: scale(-1,1);
}
.bg_wrap::after {
  background-image: url("/special/ahamo_wanko/assets/images/wave_bw_sp.svg");
}
#method::after {
  background-image: url("/special/ahamo_wanko/assets/images/wave_wh_sp.svg");
  transform: scale(-1,1);
}
.bg_wrap section {
  padding-top: 7rem;
}
.bg_wrap p {
  font-weight: 500;
  font-size: 2.6rem;
}
.mt2 {
  margin-top: 2.3rem;
}
.mt3 {
  margin-top: 3rem;
}
.mt4 {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .bg_wrap {
    margin-top: -20rem;
    padding-bottom: 27.3rem;
    background: url("/special/ahamo_wanko/assets/images/bg_wrap.webp") no-repeat center top/cover;
  }
  .bg_wrap p {
    font-size: 2.4rem;
  }
  .bg_wrap section:first-of-type {
    padding-top: 23rem;
  }
  #prize::before,#prize::after,.bg_wrap::after,#method::after {
    height: 26rem;
    background-image: url("/special/ahamo_wanko/assets/images/wave_yw_pc.svg");
  }
  #prize::before {
    top: -6rem;
    z-index: 1;
  }
  #explanation::after {
    display: none;
  }
  .bg_wrap::after {
    background-image: url("/special/ahamo_wanko/assets/images/wave_bw_pc.svg");
  }
  #method::after {
    background-image: url("/special/ahamo_wanko/assets/images/wave_wh_pc.svg");
  }
  .btn_wrap {
    width: 48.5%;
    margin: 5rem auto 0;
    font-size: 2.4rem;
  }
}
@media (min-width: 1050px) {
  .bg_wrap p {
    font-size: 2.6rem;
  }
}
@media (min-width: 1921px) {
  #prize::before,#prize::after,#explanation::after,.bg_wrap::after,#method::after {
    height: 44.5rem;
    background-position: center top;
  }
  .bg_wrap {
    margin-top: -50rem;
    padding-bottom: 38.3rem;
  }
  .bg_wrap section:first-of-type {
    padding-top: 30rem;
  }
}
/* modal共通
------------------------------------------------*/
.remodal {
  border-radius: 4rem;
}
.remodal-wrapper {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: rgba(84, 56, 19, .6);
}
.remodal-overlay {
  background: none;
}
.remodal-close::before, .remodal-close::after {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: .3rem;
  height: 5rem;
  border-radius: 99rem;
  background: var(--accent_color);
  content: "";
}
.remodal-close::after {
  transform: rotate(90deg);
}
.remodal-close {
  display: block;
  position: absolute;
  top: 1.8rem;
  right: 2.5rem;
  transform: rotate(45deg);
  width: 5rem;
  height: 5rem;
}
.remodal-wrapper.remodal-is-opening:has(.modal_terms_wrap),
.remodal-wrapper.remodal-is-opened:has(.modal_terms_wrap),
.remodal-wrapper.remodal-is-closing:has(.modal_terms_wrap) {
  padding: 6rem 7.5rem 2rem;
}
/* monthly-dog
------------------------------------------------*/
#monthly-dog {
  z-index: 3;
  padding-bottom: .5rem;
  background: var(--main_color);
  font-size: 2.8rem;
}
#monthly-dog p {
  font-weight: bold;
  line-height: 1;
}
#monthly-dog h2 {
  margin: 4rem 4.5rem 2rem;
  background: #fff;
}
#monthly-dog .h2_logo {
  clip-path: none;
  margin: 0 auto;
  padding: 2.3rem 1.29rem 2.2rem .9rem;
  background: none;
}
.ambassador_wrap {
  justify-content: center;
  gap: 3.2rem;
  margin: 0 3.4rem;
  border-radius: 10rem;
  background: #fffceb;
}
#monthly-dog .ambassador_wrap .emphasis {
  position: relative;
  width: fit-content;
  margin: 0 auto .9rem;
  font-size: 2.4rem;
}
#monthly-dog .ambassador_wrap .emphasis::before,#monthly-dog .ambassador_wrap .emphasis::after {
  position: absolute;
  top: .3rem;
  width: 1.3rem;
  height: 2.2rem;
  background: url("/special/ahamo_wanko/assets/images/ic_emphasis.svg") no-repeat center/contain;
  content: "";
}
#monthly-dog .ambassador_wrap .emphasis::before {
  left: -1.8rem;
}
#monthly-dog .ambassador_wrap .emphasis::after {
  right: -1.8rem;
  transform: scale(-1,1);
}
#monthly-dog .ambassador_wrap .tx_name {
  margin-top: .7rem;
  font-size: 3.1rem;
}
.ambassador_tx_wrap {
  margin-top: .5rem;
}
#monthly-dog .ambassador_wrap>picture {
  width: 11.6rem;
}
#monthly-dog .ambassador_wrap .tx_wrap {
  width: 36.2rem;
  padding: 2.3rem 0 1.8rem;
}
#monthly-dog .chosen>h3 {
  position: relative;
  z-index: 2;
  width: 57rem;
  margin: 2.2rem auto -4.5rem;
  background: none;
}
.chosen {
  margin: 0 .5rem;
  padding-bottom: .8rem;
}
.chosen_border {
  padding: .5rem .6rem;
  border-radius: 4.2rem;
  background: linear-gradient(30deg,rgba(158, 27, 40, 1) 0%, rgba(229, 101, 120, 1) 20%, rgba(158, 27, 40, 1) 50%, rgba(229, 101, 120, 1) 80%, rgba(158, 27, 40, 1) 100%);
}
.chosen_wrawp {
  overflow: hidden;
  border-radius: 4rem;
  background: #fff;
}
.chosen_wrawp img {
  width: 100%;
}
#monthly-dog .chosen_wrawp p {
  margin-bottom: 1.5rem;
  color: #894309;
}
#monthly-dog .tx_wrap {
  padding-bottom: 2rem;
}
#monthly-dog .chosen_wrawp .tx_b {
  position: relative;
  z-index: 2;
  margin-bottom: 1.8rem;
  padding: .8rem 0 .9rem;
  box-shadow: 0 .1rem .5rem #540f19;
  background: #9e1b28;
  color: #fff;
  font-size: 4.5rem;
}
#monthly-dog .chosen_wrawp .tx_b span {
  font-size: 1.22em;
  font-weight: bold;
  vertical-align: -.35rem;
}
#monthly-dog .chosen_wrawp .tx_pk {
  color: #c6223a;
  font-size: 2.1rem;
  letter-spacing: 0;
}
#monthly-dog .chosen_wrawp .tx_mark {
  width: fit-content;
  margin: 1rem auto 0;
  padding: .6rem 1rem .8rem;
  background: #e56578;
  color: #fff;
  font-size: 2.5rem;
}
@media (min-width: 768px) {
  #monthly-dog {
    padding: 12.25rem 0 .3rem;
  }
  #monthly-dog .pc_flex {
    justify-content: space-around;
    gap: 0 2.8rem;
    padding: 0 3rem;
    margin: 0 auto;
  }
  #monthly-dog .flex_wrap {
    width: 46.2rem;
  }
  #monthly-dog .h2_logo {
    padding: 0 0 2.6rem;
  }
  #monthly-dog .h2_logo img {
    width: 553px;
    height: auto;
  }
  .ambassador_wrap {
    gap: 0 1rem;
    margin: 0;
  }
  #monthly-dog .ambassador_wrap .tx_wrap {
    width: 25rem;
    padding: 1.8rem 0;
  }
  #monthly-dog .ambassador_wrap .emphasis {
    margin-bottom: 0;
    font-size: 1.54rem;
  }
  #monthly-dog .ambassador_wrap .emphasis::before,#monthly-dog .ambassador_wrap .emphasis::after {
    top: .2rem;
    width: 1rem;
    height: 1.4rem;
  }
  #monthly-dog .ambassador_wrap .emphasis::before {
    left: -1.3rem;
  }
  #monthly-dog .ambassador_wrap .emphasis::after {
    right: -1.3rem;
  }
  .ambassador_tx_wrap {
    margin-top: 0;
  }
  #monthly-dog .ambassador_wrap>picture {
    width: 10rem;
  }
  #monthly-dog .ambassador_wrap .tx_name {
    margin-top: .5rem;
    font-size: 2.6rem;
  }
  .chosen {
    width: 48.4rem;
    margin: 0;
  }
  #monthly-dog .chosen>h3 {
    width: 45rem;
    margin: 0 auto -3.2rem;
  }
  #monthly-dog .tx_wrap {
    padding-bottom: 1.25rem;
  }
  .chosen_wrawp {
    border-radius: 2.3rem;
  }
  .chosen_border {
    padding: .4rem;
    border-radius: 2.6rem;
  }
  #monthly-dog .chosen_wrawp .tx_b {
    margin-bottom: 1rem;
    padding: .5rem 0 .7rem;
    font-size: 3.06rem;
  }
  #monthly-dog .chosen_wrawp p {
    margin-bottom: .9rem;
    font-size: 1.78rem;
  }
  #monthly-dog .chosen_wrawp .tx_pk {
    margin-bottom: .9rem;
    font-size: 1.34rem;
  }
  #monthly-dog .chosen_wrawp .tx_mark {
    padding: .5rem .4rem;
    font-size: 1.59rem;
  }
}
@media (min-width: 870px) {
  #monthly-dog .flex_wrap {
    width: 55.2rem;
  }
  .ambassador_wrap {
    gap: 0 2.8rem;
  }
  #monthly-dog .ambassador_wrap .emphasis {
    margin-bottom: .2rem;
  }
  #monthly-dog .ambassador_wrap .tx_name {
    margin-top: .7rem;
  }
  #monthly-dog .ambassador_wrap .tx_wrap {
    width: 27.4rem;
    padding: 1.9rem 0 1.6rem;
  }
  .chosen {
    width: 46.2rem;
  }
}
@media (min-width: 1050px) {
  #monthly-dog .pc_flex {
    justify-content: space-between;
    gap: 0;
    padding: 0;
  }
  .ambassador_wrap {
    margin: 0 2.2rem 2.4rem;
  }
  .chosen {
    width: 43.6rem;
  }
  #monthly-dog .chosen>h3 {
    width: 42rem;
  }
}
/* prize
------------------------------------------------*/
#prize {
  padding: 3.4rem 1rem 18.5rem;
  background: url("/special/ahamo_wanko/assets/images/bg_prize.svg") repeat center/2rem 2rem #fffceb;
}
#prize h2 {
  position: relative;
  clip-path: none;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 1.5rem;
  background: none;
}
#prize p {
  color: #6e383c;
}
.about_li {
  margin: 0 auto 4.5rem;
  padding: 2.1rem 4.5rem 2.8rem 1.6rem;
  border: #dd6f0e solid .6rem;
  border-radius: 3.5rem;
  background: #fff;
}
.about_li li+li {
  margin-top: 3rem;
}
.about_li li:nth-of-type(2) {
  margin-top: 2.5rem;
}
.chance_wrap {
  position: relative;
  padding: 2.35rem 0 1.8rem;
  border-radius: 2rem;
  background: #ffe2cf;
}
.chance_ttl {
  position: absolute;
  top: -1.7rem;
  left: -.17rem;
  width: 19.7rem;
}
.chance_wrap .flex {
  justify-content: center;
}
.chance_tx {
  width: 38.9rem;
  padding-top: 1.2rem;
  margin-right: 2.7rem;
}
.chance_wrap .flex>picture {
  width: 13.1rem;
}
.probability_tx {
  margin: 3rem auto 0;
}
#prize .btn_wrap {
  max-width: 61rem;
  margin: 1.8rem auto 1.25rem;
}
#prize .btn_wrap a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 3.5rem 0;
  border: #fff solid .5rem;
  border-radius: 10rem;
  box-shadow: 0 .5rem 0 #ffd41f;
  background: var(--accent_color);
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
}
#prize .btn_wrap a::after {
  position: absolute;
  top: 4.75rem;
  right: 6.65rem;
  width: 2.85rem;
  height: 1.75rem;
  background: url("/special/ahamo_wanko/assets/images/ic_arrow2.svg") no-repeat center / contain;
  content: "";
}
#prize .annotation {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
}
@media (min-width: 768px) {
  #prize {
    padding: 12rem 0 25rem;
  }
  #prize .pc_flex {
    align-items: flex-end;
  }
  .flex_wrap_l {
    width: 49.2%;
  }
  .flex_wrap_r {
    width: 46.5%;
  }
  #prize h2 {
    padding-bottom: 1.2rem;
  }
  .about_li {
    margin: 0;
    padding: 1.5rem 3.4rem 2.1rem 1.2rem;
    border-radius: 2.6rem;
  }
  .about_li li+li {
    margin-top: 2.7rem;
  }
  .about_li li:nth-of-type(2) {
    margin-top: 1.9rem;
  }
  .about_li li:nth-of-type(4) {
    margin-top: 2.5rem;
  }
  .chance_wrap {
    padding: 1.7rem 4rem .9rem 4.6rem;
    border-radius: 1.4rem;
  }
  .chance_ttl {
    top: -1.3rem;
    width: 14.2rem;
  }
  .chance_tx{
    padding-top: .8rem;
    margin-right: 1.9rem;
  }
  .probability_tx {
    margin-top: 2.3rem;
  }
  .probability_tx img {
    width: 438px;
  }
  #prize .btn_wrap {
    width: 100%;
    max-width: 100%;
    margin-top: 1rem;
  }
  #prize .btn_wrap a {
    padding: 2.3rem 0;
    font-size: 2.7rem;
  }
  #prize .btn_wrap a::after {
    top: 3.2rem;
    right: 3.2rem;
    width: 1.9rem;
    height: 1.17rem;
  }
  #prize .annotation {
    margin-bottom: .7rem;
    font-size: 1.88rem;
  }
}
@media (min-width: 1921px) {
  #prize {
    padding: 26rem 0 32rem;
  }
}
/* explanation
------------------------------------------------*/
#explanation {
  margin-top: -.8rem;
  padding: 0 0 21rem;
  background: var(--main_color);
  font-size: 2.8rem;
  font-weight: 500;
}
#explanation h2 {
  clip-path: polygon(.6% 42%, 2% 23%, 20% 8%, 37% 5%, 58% 4%, 49% 2%, 73% 8%, 88% 16%, 93.2% 23%, 98% 51%, 97.3% 65%, 94% 77%, 91% 79%, 87% 82%, 50.5% 89%, 49.5% 100%, 48.5% 89%, 31% 87%, 8% 85%, 2% 71%, .4% 36%);
  margin-bottom: 1.6rem;
  padding-bottom: 3.8rem;
  background: #fff;
}
#explanation p {
  font-weight: 500;
}
@media (min-width: 768px) {
  #explanation {
    padding-top: .5rem;
  }
  #explanation .inner_wrap {
    padding: 0;
  }
  #explanation p {
    font-size: 2.4rem;
  }
}
@media (min-width: 1050px) {
  #explanation p {
    font-size: 2.6rem;
  }
}
@media (min-width: 1921px) {
  #explanation {
    padding-bottom: 47rem;
  }
}
/* calendar
------------------------------------------------*/
#calendar h2 {
  background: #ddba80;
}
.tx_margin {
  margin-top: 3rem;
}
#calendar .tx_s {
  margin: 1.6rem auto 4rem;
  font-size: 2.4rem;
  line-height: 1;
}
#calendar>picture {
  padding: 0 1.5rem;
}
@media (min-width: 768px) {
  #calendar .sp_br {
    display: block;
  }
  .tx_margin {
    margin-top: 2.2rem;
  }
  #calendar .tx_s {
    margin: 1.2rem auto 3.8rem;
    font-size: 2.2rem;
    line-height: 1;
  }
}
@media (min-width: 1024px) {
  #calendar .sp_br {
    display: none;
  }
}
@media (min-width: 1050px) {
  #calendar .tx_s {
    font-size: 2.4rem;
  }
}
/* certificate
------------------------------------------------*/
#certificate {
  margin-bottom: 0;
}
#certificate p {
  margin-top: 2.6rem;
}
#certificate .tx_s {
  margin: 1.6rem auto 4rem;
  font-size: 2.4rem;
  line-height: 1;
}
.certificate_img01 {
  width: 14rem;
  margin-top: 1rem;
}
#certificate .annotation {
  margin: 1.5rem auto 0;
  text-align: right;
  font-size: 2.4rem;
  line-height: 1;
}
#certificate small {
  font-weight: 500;
}
@media (min-width: 768px) {
  #certificate .sp_br {
    display: block;
  }
  #certificate .tx_s {
    margin: 1.2rem auto 4.6rem;
    font-size: 2.2rem;
    line-height: 1;
  }
  .certificate_img01 {
    width: 13rem;
    margin-top: 1.5rem;
  }
  #certificate .annotation {
    width: 690px;
    margin-top: 1.3rem;
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  #certificate .sp_br {
    display: none;
  }
}
@media (min-width: 1050px) {
  #certificate .tx_s {
    font-size: 2.4rem;
  }
}
/* method
------------------------------------------------*/
#method {
  padding-bottom: 22.5rem;
  background: linear-gradient(0,rgba(255, 255, 255, 1) 0%, rgba(221, 186, 128, 1) 1%, rgba(221, 186, 128, 1) 99%, rgba(221, 186, 128, 1) 100%);
  font-size: 2.8rem;
}
#method h2 {
  clip-path: polygon(1.6% 42%, 3% 23%, 20% 8%, 37% 5%, 58% 4%, 48% 2%, 73% 8%, 88% 16%, 94% 23%, 98% 51%, 97.3% 63%, 93% 76%, 89% 78%, 84% 82%, 51.5% 86%, 49.5% 100%, 47.6% 87%, 24% 84%, 8% 80%, 3% 68%, 1.4% 44%);
  position: relative;
  margin: 0;
  padding: 2.7rem 0 4.2rem;
  background: #fff;
  font-size: 3.4rem;
}
.h2_wrap {
  position: relative;
  margin: -2.4rem 12.8rem 2.5rem;
}
.h2_wrap::before {
  position: absolute;
  top: -2rem;
  left: -6rem;
  width: 3.3rem;
  height: 3.3rem;
  background: url("/special/ahamo_wanko/assets/images/method_h2_dec_l.svg") no-repeat center / contain;
  content: "";
}
.h2_wrap::after {
  position: absolute;
  right: -9.7rem;
  bottom: 1rem;
  width: 4.5rem;
  height: 4.73rem;
  background: url("/special/ahamo_wanko/assets/images/method_h2_dec_r.svg") no-repeat center / contain;
  content: "";
}
#method * {
  font-weight: bold;
}
.method_ol>li {
  position: relative;
  margin-top: 2rem;
  padding: 3rem 2.2rem 4.7rem;
  border-radius: 2.8rem;
  background: #fff;
  text-align: left;
}
.method_ol>.method_li2 {
  padding-bottom: 3rem;
}
#method .ic_num {
  width: 7.4rem;
  margin-bottom: 2rem;
}
.method_li p {
  letter-spacing: 0;
}
#method .method_ol .method_li picture {
  position: absolute;
  top: 3.3rem;
  right: 4rem;
  width: 17.9rem;
}
#method .method_ol .method_li2 picture {
  top: 6.6rem;
  right: 2.1rem;
  width: 21.5rem;
}
#method .indMark>li {
  padding-top: 2.3rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
#method .method_wrap {
  margin-top: 2rem;
  padding: 2rem 2.2rem .7rem;
  border-radius: 2rem;
  background: #fff6ca;
}
#method .method_wrap p {
  position: relative;
  width: fit-content;
  margin: auto;
  font-size: 2.4rem;
  line-height: 2.4;
  letter-spacing: .1rem;
}
#method .method_wrap p::before, #method .method_wrap p::after {
  position: absolute;
  top: 1.7rem;
  width: 4.35rem;
  height: 4.7rem;
  background: url("/special/ahamo_wanko/assets/images/ic_method_wrap.svg") no-repeat center/contain;
  content: "";
}
#method .method_wrap p::before {
  left: -4rem;
}
#method .method_wrap p::after {
  right: -4rem;
  transform: scale(-1,1);
}
#method .method_wrap .bg_pk {
  display: inline-block;
  margin: 0 .5rem;
  padding: .8rem .5rem .9rem;
  background: var(--accent_color);
  color: #fff;
  font-size: 2.65rem;
  line-height: 1;
}
#method .tx_mark {
  margin: 0 0 0 .25rem;
  padding: 0 .25rem;
  background: var(--main_color);
}
#method .tx_mark2 {
  margin: 0 .25rem 0 0;
}
#method .method_wrap .tx_mark {
  margin: 0;
  background: linear-gradient(0deg,#ffd41f 0%, #ffd41f 33%, transparent 34%, transparent 100%);
}
.btn_inner {
  margin-top: 7rem;
}
#method .tx_emphasis {
  position: relative;
  width: fit-content;
  margin: 8.3rem auto 1.2rem;
  font-size: 2.8rem;
  line-height: 1;
}
#method .tx_emphasis::before,#method .tx_emphasis::after {
  position: absolute;
  top: .3rem;
  width: 1.4rem;
  height: 2.6rem;
  background: url("/special/ahamo_wanko/assets/images/ic_emphasis2.svg") no-repeat center/contain;
  content: "";
}
#method .tx_emphasis::before {
  left: -2.2rem;
}
#method .tx_emphasis::after {
  right: -2.2rem;
  transform: scale(-1,1);
}
#method .tx_emphasis2 {
  line-height: 1.3;
}
#method .tx_emphasis2::before,#method .tx_emphasis2::after {
  top: .7rem;
  width: 3.4rem;
  height: 6.6rem;
  background-image: url("/special/ahamo_wanko/assets/images/ic_emphasis3.svg");
}
#method .tx_emphasis2::before {
  left: -2.6rem;
}
#method .tx_emphasis2::after {
  right: -2.6rem;
}
#method .btn_wrap {
  position: relative;
  margin: 0 4.1rem 0;
}
#method .btn_wrap::before {
  position: absolute;
  top: -2.3rem;
  left: -3rem;
  width: 66.6rem;
  height: 18.7rem;
  background: url("/special/ahamo_wanko/assets/images/btn_dec.webp") no-repeat center/contain;
  content: "";
}
#method .btn_wrap button,#method .btn_wrap a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 3.5rem 0;
  border: #fff solid .5rem;
  border-radius: 10rem;
  box-shadow: 0 .7rem 0 #ffd41f;
  background: var(--accent_color);
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
}
#method .btn_wrap button::after,#method .btn_wrap a::after {
  position: absolute;
  top: 4.75rem;
  right: 4rem;
  transform: rotate(-90deg);
  width: 3.2rem;
  height: 1.7rem;
  background: url("/special/ahamo_wanko/assets/images/ic_arrow.svg") no-repeat center/contain;
  content: "";
}
#method .btn_entry a {
  background: var(--text_color);
}
#method .btn_entry::before {
  display: none;
}
@media (min-width: 768px) {
  #method {
    padding-bottom: 27rem;
  }
  .method_bg {
    background: url("/special/ahamo_wanko/assets/images/bg_method.webp") no-repeat center/cover;
  }
  #method * {
    font-size: 2.25rem;
  }
  .h2_wrap {
    width: 45rem;
    margin: -1.4rem auto 2.3rem;
  }
  .h2_wrap::before {
    left: -10.2rem;
    width: 4rem;
    height: 4rem;
  }
  .h2_wrap::after {
    bottom: 2rem;
    right: -16rem;
    width: 4.25rem;
    height: 4.5rem;
  }
  #method .indMark>li {
    padding-top: 1.5rem;
    text-align: center;
    font-size: 2.4rem;
  }
  .method_ol {
    justify-content: center;
    align-items: flex-start;
    gap: 0 6.4rem;
  }
  .method_ol>li {
    width: 40rem;
    margin: 0 0 0 4rem;
    padding: 0;
    background: none;
  }
  .method_ol>.method_li2 {
    width: 49.2rem;
    margin: 0;
  }
  .bg_wh {
    position: relative;
    height: 30rem;
    margin-bottom: 1.2rem;
    padding: 2rem 2.1rem 3.8rem;
    border-radius: 2.3rem;
    background: #fff;
  }
  .method_li .bg_wh::before {
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    position: absolute;
    top: 12.4rem;
    right: -19%;
    width: 4.65rem;
    height: 5.4rem;
    background: var(--text_color);
    content: "";
  }
  .method_li2 .bg_wh::before {
    display: none;
  }
  .method_li2 .bg_wh {
    width: 40rem;
    margin: 0 auto 1.2rem;
  }
  #method .ic_num {
    width: 7.1rem;
    margin-bottom: -1rem;
  }
  .method_li p {
    text-align: center;
  }
  #method .method_ol .method_li picture {
    position: static;
    width: 22.4rem;
    margin: auto;
    padding-left: 2rem;
  }
  #method .method_ol .method_li2 picture {
    width: 21.4rem;
    padding-left: 1.5rem;
  }
  #method .method_wrap {
    border-radius: 2.3rem;
  }
  #method .method_wrap p,#method .method_wrap .tx_mark {
    font-size: 3.17rem;
  }
  #method .method_wrap p {
    line-height: 2.25;
  }
  #method .method_wrap .bg_pk {
    margin: 0 1rem; 
    padding: 1rem 1rem 1.25rem;
    font-size: 3.7rem;
  }
  #method .method_wrap p::before, #method .method_wrap p::after {
    top: 7rem;
    width: 5.4rem;
    height: 5.5rem;
  }
  #method .method_wrap p::before {
    left: -3rem;
  }
  #method .method_wrap p::after {
    right: -3rem;
  }
  .btn_inner {
    margin-top: 8.6rem;
  }
  #method .btn_wrap {
    width: 71rem;
    margin: 0 auto 0;
  }
  #method .btn_wrap::before {
    top: -3rem;
    left: -4.2rem;
    width: 78.2rem;
    height: 18.9rem;
  }
  #method .tx_emphasis {
    margin-bottom: 1.3rem;
  }
  #method .tx_emphasis::before,#method .tx_emphasis::after {
    width: 1.8rem;
    height: 3.25rem;
  }
  #method .tx_emphasis2 {
    line-height: 1;
  }
  #method .tx_emphasis2::before,#method .tx_emphasis2::after {
    top: .3rem;
    background-image: url("/special/ahamo_wanko/assets/images/ic_emphasis2.svg");
  }
  #method .tx_emphasis2::before {
    left: -2.2rem;
  }
  #method .tx_emphasis2::after {
    right: -2.2rem;
  }
}
@media (min-width: 860px) {
  #method * {
    font-size: 2.6rem;
  }
  #method .indMark>li {
    padding-top: 2rem;
    font-size: 2.7rem;
  }
  .method_li .bg_wh::before {
    right: -7.65rem;
  }
  #method .method_wrap p::before, #method .method_wrap p::after {
    top: 1rem;
    width: 6.4rem;
    height: 7.5rem;
  }
  #method .method_wrap p::before {
    left: -6.5rem;
  }
  #method .method_wrap p::after {
    right: -6.5rem;
  }
  #method .tx_emphasis {
    font-size: 3.15rem;
  }
}
@media (min-width: 1024px) {
  #method * {
    font-size: 2.45rem;
  }
}
@media (min-width: 1050px) {
  #method .method_wrap p::before {
    top: 2.8rem;
    left: -7.5rem;
  }
  #method .method_wrap p::after {
    top: 2.8rem;
    right: -7.5rem;
  }
}
@media (min-width: 1921px) {
  #method {
    padding-bottom: 38rem;
  }
}
/* terms_btn & modal_terms_wrap
------------------------------------------------*/
#method .terms_btn {
  clip-path: none;
  width: 100%;
  max-width: 100%;
  margin-top: 5rem;
  padding: 0;
  background: none;
}
#method .terms_btn button {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  padding: 2.4rem 0;
  border: none;
  border-radius: 1.5rem;
  background: var(--text_color);
  color: #fff;
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 1;
}
#method .terms_btn button::after {
  position: absolute;
  top: 2.1rem;
  right: 5rem;
  width: 4.3rem;
  height: 4.3rem;
  background: url("/special/ahamo_wanko/assets/images/ic_terms_btn.svg") no-repeat center/contain;
  content: "";
}
.modal_terms_wrap {
  padding: 1rem 3.5rem 0;
}
.remodal:has(.modal_terms_wrap) {
  box-shadow: 0 0 1.6rem #3f290f;
}
.modal_terms_wrap>section {
  padding: 4rem 1rem;
  border-bottom: var(--accent_color) solid .3rem;
}
.modal_terms_wrap>section:last-of-type {
  border-bottom: none;
}
.modal_terms_wrap * {
  color: var(--text_color);
  text-align: justify;
  font-weight: 500;
  font-size: 2.7rem;
  line-height: 1.5;
  word-break: break-all;
}
.modal_terms_wrap h3 {
  margin-bottom: 3rem;
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1;
}
.modal_terms_wrap ol>li {
  padding-left: 3.3rem;
  text-indent: -3.3rem;
}
.modal_terms_wrap li+li {
  margin-top: .3rem;
}
.modal_terms_wrap .indMark>li {
  padding-left: 2.95rem;
  text-indent: -2.95rem;
}
@media (min-width: 768px) {
  #method .terms_btn {
    margin-top: 7rem;
  }
  #method .terms_btn button {
    padding: 2.8rem 0;
  }
  #method .terms_btn button::after {
    top: 2.6rem;
    right: 8.2rem;
  }
  .modal_terms_wrap * {
    font-size: 2.2rem;
  }
  .modal_terms_wrap h3 {
    font-size: 3.1rem;
  }
  .modal_terms_wrap .indMark>li {
    padding-left: 2.6rem;
    text-indent: -2.6rem;
  }
  .modal_terms_wrap ol>li {
    padding-left: 3rem;
    text-indent: -3rem;
  }
}
/* sns_wrap
------------------------------------------------*/
.sns_wrap {
  padding: .6rem 0 0;
  font-size: 2.8rem;
  line-height: 1;
}
.sns_inner {
  margin-bottom: 3.8rem;
}
.sns_inner>.flex {
  justify-content: center;
  gap: 0 11.5rem;
  padding: 3rem 0;
  border: #7c5a43 solid .3rem;
  border-bottom: none;
  border-radius: 3.3rem 3.3rem 0 0;
}
.sns_inner p {
  color: #7c5a43;
  font-weight: bold;
  font-size: 3.1rem;
  text-align: left;
}
.sns_inner>.flex ul {
  gap: 0 5rem;
  width: 21rem;
}
.sns_inner .bg_br {
  padding: 1.8rem 0 1.5rem ;
  border: #7c5a43 solid .3rem;
  border-top: none;
  border-radius: 0 0 3.3rem 3.3rem;
  background: #7c5a43;
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  line-height: 1.5;
  letter-spacing: .04rem;
}
.campaign-code {
  font-size: 3.46rem;
}
.campaign-code span {
  padding: 0 1rem;
}
.inquiry {
  margin: 2.4rem 0;
  font-size: 2.85rem;
}
.website a {
  color: #242ee2;
  font-size: 2.67rem;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .sns_wrap {
    padding-top: 3.2rem;
  }
  .sns_inner {
    margin-bottom: 10.8rem;
  }
  .sns_inner>.flex {
    gap: 24rem;
    border-radius: 3rem 3rem 0 0;
  }
  .sns_inner>.flex p {
    font-size: 3.4rem;
  }
  .sns_inner .bg_br {
    padding: 1.5rem 0 1.2rem;
    border-radius: 0 0 3rem 3rem;
    font-size: 2.45rem;
  }
  .campaign-code {
    font-size: 3.85rem;
  }
  .inquiry {
    font-size: 3.25rem;
  }
  .website a {
    font-size: 2.83rem;
  }
}
@media (min-width: 1050px) {
  .sns_inner .bg_br {
    font-size: 2.8rem;
  }
}
/* footer
------------------------------------------------*/
footer {
  position: relative;
  padding: 5.8rem 0 6.5rem;
  text-align: center;
}
.footer_logo {
  max-width: 44rem;
  margin: 0 auto 3rem;
}
footer p:has(small) {
  margin-top: 1rem;
  color: #775739;
  font-size: 2.3rem;
  line-height: 1;
}
@media (min-width: 768px) {
  footer {
    padding: 6.1rem 0 7.5rem;
  }
  .footer_logo {
    max-width: 100%;
    margin-bottom: 4rem;
  }
  footer p:has(small) {
    margin-top: 1.5rem;
    font-size: 1.8rem;
  }
}