/* エレねこ紹介ページ：既存テーマの下層FV・フッターを流用 */
.SP {
  display: none;
}
.sec_tit h2 {
  font-size: 30px;
  font-weight: 600;
}
.sec_tit h2 span {
  font-weight: 600;
  color: #e38545;
}
#page.ele_neko_page {
  overflow: hidden
}
#page.ele_neko_page .neko_body {
  position: relative;
  padding-bottom: 50px;
}
#page.ele_neko_page .neko_body:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 0% 14%, #f6d9e7a6 0 60px, transparent 62px), radial-gradient(circle at 100% 25%, #ffdcaaad 0 74px, transparent 76px), radial-gradient(circle at 0% 49%, #bcebf0b8 0 67px, transparent 69px), radial-gradient(circle at 100% 63%, #c2ecdb9c 0 70px, transparent 72px), radial-gradient(circle at 0% 82%, #f6d9e7a6 0 62px, transparent 64px);
  opacity: .7
}
#page.ele_neko_page .neko_body > section {
  position: relative;
  z-index: 1
}
#page.ele_neko_page .inner_wrapp {
  padding: 50px 0;
}
#page.ele_neko_page .neko_welcome .inner_wrapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5%;
}
#page.ele_neko_page .neko_welcome_copy {
  width: 55%;
  max-width: 660px;
}
#page.ele_neko_page .neko_small {
  font-size: 12px;
  letter-spacing: .14em;
  color: #e68a4a;
  font-weight: 700
}
#page.ele_neko_page .neko_welcome h2 {
  font-size: clamp(23px, 2.6vw, 35px);
  line-height: 1.7;
  margin: 20px 0 24px;
  font-weight: 700
}
#page.ele_neko_page .neko_welcome h2 em {
  font-style: normal;
  color: #ef8c4e;
  font-weight: 700;
}
#page.ele_neko_page .neko_welcome p {
  font-size: 15px;
  line-height: 2.1
}
#page.ele_neko_page .neko_welcome_img {
  width: 36%;
  max-width: 350px;
  object-fit: contain;
  filter: drop-shadow(0 12px 0 #b9e9f1a6)
}
#page.ele_neko_page .neko_section_title {
  text-align: center;
  margin-bottom: 62px
}
#page.ele_neko_page .neko_section_title h2 {
  font-size: clamp(25px, 2.8vw, 36px);
  font-weight: 700;
  letter-spacing: .06em
}
#page.ele_neko_page .neko_section_title h2 span {
  color: #e98b4d;
  font-weight: bold;
}
#page.ele_neko_page .neko_section_title i {
  display: block;
  width: 82px;
  margin: 14px auto 0;
  border-bottom: 4px dotted #73d7e8
}
#page.ele_neko_page .neko_profile_layout {
  display: grid;
  grid-template-columns: 28% 28% 44%;
  align-items: center;
  gap: 0;
  min-height: 420px
}
#page.ele_neko_page .neko_profile_lead {
  padding-right: 15px
}
#page.ele_neko_page .neko_profile_lead p:first-child {
  font-size: 15px;
  letter-spacing: .04em;
}
#page.ele_neko_page .neko_profile_lead h3 {
  font-size: clamp(26px, 3vw, 42px);
  margin: 10px 0 30px
}
#page.ele_neko_page .neko_profile_lead p:last-child {
  font-size: 15px;
  line-height: 2.2
}
#page.ele_neko_page .neko_profile_character img {
  width: 100%;
  max-width: 340px;
  filter: drop-shadow(0 10px 0 #b9e9f1a6)
}
#page.ele_neko_page .neko_bubbles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}
#page.ele_neko_page .neko_bubble {
  min-height: 196px;
  border-radius: 48% 52% 48% 52% / 45% 51% 49% 55%;
  padding: 21px 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}
#page.ele_neko_page .neko_bubble.pink {
  background: #f9e5ed
}
#page.ele_neko_page .neko_bubble.orange {
  background: #fff0d8
}
#page.ele_neko_page .neko_bubble.green {
  background: #e3f4e8
}
#page.ele_neko_page .neko_bubble.blue {
  background: #e0f2fa
}
#page.ele_neko_page .neko_bubble_icon {
  font-size: 27px;
  color: #e68a4a;
  line-height: 1.2
}
#page.ele_neko_page .neko_bubble h4 {
  font-size: 15px;
  margin: 10px 0 9px;
  color: #dc8246;
  line-height: 1.5;
  font-weight: 700;
}
#page.ele_neko_page .neko_bubble p {
  font-size: 12px;
  line-height: 1.7
}
#page.ele_neko_page .neko_story_unit {
  margin-bottom: 95px
}
#page.ele_neko_page .neko_story_heading {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 50px;
  justify-content: center;
}
#page.ele_neko_page .neko_story_number {
  flex: none;
  background: #ed8d4f;
  color: white;
  width: 79px;
  height: 79px;
  border-radius: 50% 50% 50% 18%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 700;
}
#page.ele_neko_page .neko_story_number strong {
  font-size: 30px;
  font-weight: 500
}
#page.ele_neko_page .neko_story_heading h3 {
  font-size: clamp(23px, 2.5vw, 31px);
  line-height: 1.55;
  margin: 3px 0 13px
}
#page.ele_neko_page .neko_story_heading p {
  font-size: 15px;
  line-height: 2;
  max-width: 770px
}
#page.ele_neko_page .neko_original_card {
  background: #fff;
  padding: 20px;
  border-radius: 22px;
  box-shadow: 0 9px 35px #dcbf9c22
}
#page.ele_neko_page .neko_original_card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px
}
#page.ele_neko_page .neko_story_note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 28px 10px
}
#page.ele_neko_page .neko_story_note p {
  font-size: 15px;
  line-height: 2.1;
  max-width: 700px
}
#page.ele_neko_page .neko_quote {
  flex: none;
  transform: rotate(-8deg);
  border: 2px solid #e98b4d;
  border-radius: 50%;
  background: #fffaf2;
  color: #e98b4d;
  text-align: center;
  padding: 26px;
  font-weight: 700;
  line-height: 1.7;
  font-size: 15px
}
#page.ele_neko_page .neko_before_after {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr);
  gap: 18px;
  align-items: center
}
#page.ele_neko_page .neko_before_after figure {
  background: #fff;
  border-radius: 22px;
  padding: 26px 22px 24px;
  min-width: 0;
  position: relative;
  box-shadow: 0 8px 30px #dcbf9c20
}
#page.ele_neko_page .neko_ribbon {
  position: absolute;
  top: 16px;
  left: 14px;
  transform: rotate(-7deg);
  border-radius: 6px;
  padding: 9px 16px;
  color: white;
  font-size: 14px;
  font-weight: 700;
  z-index: 1
}
#page.ele_neko_page .neko_ribbon.before {
  background: #a8a8a8
}
#page.ele_neko_page .neko_ribbon.after {
  background: #ec8b4b
}
#page.ele_neko_page .neko_comparison_image {
  height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 0 5px
}
#page.ele_neko_page .neko_comparison_image img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  object-fit: contain
}
#page.ele_neko_page .neko_before_after figcaption {
  font-size: 15px;
  line-height: 1.9;
  min-height: 56px;
  font-weight: 700;
}
#page.ele_neko_page .neko_arrow {
  color: #ef8d4d;
  font-size: 44px;
  font-weight: 700;
  text-align: center;
  letter-spacing: -.16em
}
#page.ele_neko_page .neko_goodbye .inner_wrapp {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
}
#page.ele_neko_page .neko_goodbye img {
  width: 190px;
  max-width: 35%
}
#page.ele_neko_page .neko_goodbye p {
  font-size: 19px;
  line-height: 1.9
}
#page.ele_neko_page .neko_goodbye strong {
  font-size: 27px;
  color: #e98b4d;
  font-weight: 700;
}
@media(max-width:900px) {
  #page.ele_neko_page .neko_profile_layout {
    grid-template-columns: 34% 66%;
    row-gap: 25px
  }
  #page.ele_neko_page .neko_profile_lead {
    grid-column: 1/-1;
    text-align: center;
    max-width: 560px;
    margin: auto
  }
  #page.ele_neko_page .neko_profile_lead h3 {
    margin-bottom: 12px
  }
  #page.ele_neko_page .neko_bubble {
    min-height: 165px
  }
}
@media(max-width:767px) {
  .neko_bubble h4 .SP {
    display: block;
  }
  .sec_tit h2 .SP {
    display: block;
  }
  #page.ele_neko_page .neko_body {
    padding-bottom: 30px
  }
  #page.ele_neko_page .neko_welcome .inner_wrapp {
    flex-direction: column;
    text-align: center;
    gap: 24px
  }
  #page.ele_neko_page .neko_welcome_copy {
    width: 100%
  }
  #page.ele_neko_page .neko_welcome h2 {
    font-size: clamp(20px, 5.3vw, 27px);
    margin: 15px 0
  }
  #page.ele_neko_page .neko_welcome h2 br {
    display: none
  }
  #page.ele_neko_page .neko_welcome p {
    font-size: 13px
  }
  #page.ele_neko_page .neko_welcome_img {
    width: 62%;
    max-width: 250px
  }
  #page.ele_neko_page .neko_section_title {
    margin-bottom: 30px
  }
  #page.ele_neko_page .neko_section_title h2 {
    font-size: 24px
  }
  #page.ele_neko_page .neko_profile_layout {
    display: flex;
    flex-direction: column;
    gap: 25px
  }
  #page.ele_neko_page .neko_profile_lead {
    padding: 0
  }
  #page.ele_neko_page .neko_profile_lead p:last-child {
    font-size: 13px
  }
  #page.ele_neko_page .neko_profile_character {
    width: 60%;
    max-width: 250px
  }
  #page.ele_neko_page .neko_bubbles {
    width: 100%;
    gap: 10px
  }
  #page.ele_neko_page .neko_bubble {
    min-height: 165px;
    padding: 16px 8px
  }
  #page.ele_neko_page .neko_bubble h4 {
    font-size: 13px
  }
  #page.ele_neko_page .neko_bubble p {
    font-size: 11px
  }
  #page.ele_neko_page .neko_story_unit {
    margin-bottom: 65px
  }
  #page.ele_neko_page .neko_story_heading {
    gap: 13px
  }
  #page.ele_neko_page .neko_story_number {
    width: 59px;
    height: 59px;
    font-size: 10px
  }
  #page.ele_neko_page .neko_story_number strong {
    font-size: 23px
  }
  #page.ele_neko_page .neko_story_heading h3 {
    font-size: 20px
  }
  #page.ele_neko_page .neko_story_heading p {
    font-size: 13px
  }
  #page.ele_neko_page .neko_original_card {
    padding: 9px;
    border-radius: 13px
  }
  #page.ele_neko_page .neko_story_note {
    flex-direction: column;
    margin: 22px 0
  }
  #page.ele_neko_page .neko_story_note p {
    font-size: 13px
  }
  #page.ele_neko_page .neko_quote {
    font-size: 13px
  }
  #page.ele_neko_page .neko_before_after {
    grid-template-columns: 1fr;
    gap: 12px
  }
  #page.ele_neko_page .neko_before_after figure {
    padding: 20px
  }
  #page.ele_neko_page .neko_comparison_image {
    height: 240px
  }
  #page.ele_neko_page .neko_arrow {
    transform: rotate(90deg);
    font-size: 35px
  }
  #page.ele_neko_page .neko_goodbye {
    padding: 15px 20px 45px
  }
  #page.ele_neko_page .neko_goodbye img {
    width: 120px
  }
  #page.ele_neko_page .neko_goodbye p {
    font-size: 14px
  }
  #page.ele_neko_page .neko_goodbye strong {
    font-size: 20px
  }
}

/* v4: ELEVAR公式素材のポーズ差し替え・既存サイトの豆型吹き出し */
#page.ele_neko_page .neko_quote {
  width: 230px;
  min-height: 145px;
  display: grid;
  place-items: center;
  transform: rotate(-7deg);
  border: 0;
  border-radius: 0;
  background: transparent url('../img/page/ele_neko/quote_bean.png') center/100% 100% no-repeat;
  color: #dc733c;
  padding: 22px 26px;
  filter: drop-shadow(0 5px 7px #cfa99024)
}
#page.ele_neko_page .neko_quote span {
  display: block;
  transform: rotate(7deg);
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.65;
  letter-spacing: .06em
}
#page.ele_neko_page .neko_story_mascot {
  width: 135px;
  max-width: 18%;
  height: auto;
  object-fit: contain;
  flex: none
}
#page.ele_neko_page .neko_welcome_img {
  max-width: 380px
}
#page.ele_neko_page .neko_profile_character img {
  max-height: 390px;
  object-fit: contain
}
@media(max-width:767px) {
  #page.ele_neko_page .neko_quote {
    width: 200px;
    min-height: 125px
  }
  #page.ele_neko_page .neko_story_mascot {
    max-width: 42%;
    width: 110px
  }
  #page.ele_neko_page .neko_story_note {
    gap: 18px
  }
}

/* v5: 主役のサイズ・重なり・水彩の立体感を強化 */
#page.ele_neko_page .neko_welcome .inner_wrapp {
  min-height: 470px;
  gap: 2%;
  position: relative;
}
#page.ele_neko_page .neko_welcome_copy {
  width: 58%;
  position: relative;
  z-index: 2
}
#page.ele_neko_page .neko_welcome_img {
  width: 44%;
  max-width: 480px;
  filter: drop-shadow(0 20px 0 #a7e3ee77) drop-shadow(0 18px 18px #b59d8430);
  position: relative;
  z-index: 1
}
#page.ele_neko_page .neko_welcome:after {
  content: "";
  position: absolute;
  right: 3%;
  top: 15%;
  width: 32%;
  aspect-ratio: 1.4;
  border-radius: 54% 46% 55% 45% / 45% 53% 47% 55%;
  background: #ffe7bfa3;
  transform: rotate(-18deg);
  z-index: 0
}
#page.ele_neko_page .neko_welcome h2 {
  font-size: clamp(28px, 3.15vw, 43px);
  line-height: 1.6
}
#page.ele_neko_page .neko_welcome p {
  font-size: clamp(15px, 1.3vw, 18px)
}
#page.ele_neko_page .neko_profile_layout {
  grid-template-columns: 27% 31% 42%;
  min-height: 505px;
  position: relative
}
#page.ele_neko_page .neko_profile_lead {
  position: relative;
  z-index: 2
}
#page.ele_neko_page .neko_profile_lead h3 {
  font-size: clamp(33px, 3.4vw, 48px)
}
#page.ele_neko_page .neko_profile_character {
  position: relative;
  z-index: 3;
  margin-right: -40px;
  margin-left: -18px;
  transform: translateY(20px) rotate(-4deg)
}
#page.ele_neko_page .neko_profile_character img {
  max-width: 400px;
  max-height: none;
  filter: drop-shadow(0 17px 0 #b9e9f1a0) drop-shadow(0 16px 14px #b6a08c33)
}
#page.ele_neko_page .neko_bubbles {
  position: relative;
  z-index: 2;
  gap: 8px;
  transform: translateX(-5px)
}
#page.ele_neko_page .neko_bubble {
  min-height: 222px;
  padding: 28px 17px;
  box-shadow: 0 12px 23px #a58a6b16, inset 0 3px 12px #ffffffa8;
  transition: transform .3s ease, box-shadow .3s ease
}
#page.ele_neko_page .neko_bubble:nth-child(1) {
  transform: translate(7px, -20px) rotate(-7deg)
}
#page.ele_neko_page .neko_bubble:nth-child(2) {
  transform: translate(5px, 7px) rotate(6deg)
}
#page.ele_neko_page .neko_bubble:nth-child(3) {
  transform: translate(-8px, -12px) rotate(5deg)
}
#page.ele_neko_page .neko_bubble:nth-child(4) {
  transform: translate(6px, 16px) rotate(-5deg)
}
#page.ele_neko_page .neko_bubble h4 {
  font-size: clamp(15px, 1.25vw, 18px);
  margin: 12px 0 10px
}
#page.ele_neko_page .neko_bubble p {
  font-size: clamp(12px, 1.05vw, 14px)
}
#page.ele_neko_page .neko_bubble_icon {
  font-size: 34px;
  display: block;
  width: 40px;
}

#page.ele_neko_page .neko_story_number {
  width: 88px;
  height: 88px;
  box-shadow: 0 10px 18px #df9d7255;
  transform: rotate(-6deg)
}
#page.ele_neko_page .neko_original_card {
  padding: 24px;
  border-radius: 30px;
  box-shadow: 0 20px 35px #c9b0962b;
  max-width: 90%;
  margin: 0 auto;
}
#page.ele_neko_page .neko_story_note {
  margin: 45px 8px 65px;
  gap: 26px
}
#page.ele_neko_page .neko_story_mascot {
  width: 175px;
  max-width: 20%;
  transform: rotate(-10deg);
  filter: drop-shadow(0 9px 0 #c5ebf19c)
}
#page.ele_neko_page .neko_quote {
  width: 265px;
  min-height: 168px;
  transform: rotate(-9deg);
  filter: drop-shadow(0 14px 15px #b88b8b25)
}
#page.ele_neko_page .neko_before_after {
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr)
}
#page.ele_neko_page .neko_before_after figure {
  padding: 34px 28px 28px;
  border-radius: 28px;
  box-shadow: 0 18px 35px #c9b0962c
}
#page.ele_neko_page .neko_before_after figure:first-child {
  transform: rotate(-2deg)
}
#page.ele_neko_page .neko_before_after figure:last-child {
  transform: rotate(2deg)
}
#page.ele_neko_page .neko_comparison_image {
  height: 365px
}
#page.ele_neko_page .neko_goodbye {
  gap: 45px;
}
#page.ele_neko_page .neko_goodbye img {
  width: 235px;
  filter: drop-shadow(0 10px 0 #b9e9f1a0);
  transform: rotate(-7deg)
}
@media(max-width:900px) {
  #page.ele_neko_page .neko_profile_layout {
    grid-template-columns: 40% 60%;
    row-gap: 30px
  }
  #page.ele_neko_page .neko_profile_lead {
    grid-column: 1/-1
  }
  #page.ele_neko_page .neko_profile_character {
    margin: 0;
    transform: rotate(-4deg)
  }
  #page.ele_neko_page .neko_bubble {
    min-height: 180px
  }
}
@media(max-width:767px) {
  #page.ele_neko_page .neko_welcome .inner_wrapp {
    min-height: 0;
    gap: 25px;
  }
  #page.ele_neko_page .neko_welcome_copy {
    width: 100%
  }
  #page.ele_neko_page .neko_welcome h2 {
    font-size: clamp(23px, 6vw, 30px)
  }
  #page.ele_neko_page .neko_welcome p {
    font-size: 14px
  }
  #page.ele_neko_page .neko_welcome_img {
    width: 77%;
    max-width: 320px;
    transform: rotate(-5deg)
  }
  #page.ele_neko_page .neko_welcome:after {
    width: 68%;
    right: 10%;
    top: auto;
    bottom: 7%
  }
  #page.ele_neko_page .neko_profile_layout {
    display: flex;
    gap: 20px
  }
  #page.ele_neko_page .neko_profile_character {
    width: 78%;
    max-width: 330px;
    margin: 0;
    transform: rotate(-4deg)
  }
  #page.ele_neko_page .neko_bubbles {
    gap: 8px;
    transform: none;
    margin-top: 5px
  }
  #page.ele_neko_page .neko_bubble {
    min-height: 165px;
    padding: 15px 9px
  }
  #page.ele_neko_page .neko_bubble:nth-child(n) {
    transform: none
  }
  #page.ele_neko_page .neko_bubble:nth-child(odd) {
    transform: rotate(-4deg)
  }
  #page.ele_neko_page .neko_bubble:nth-child(even) {
    transform: rotate(4deg)
  }
  #page.ele_neko_page .neko_bubble h4 {
    font-size: 15px;
  }
  #page.ele_neko_page .neko_bubble p {
    font-size: 11px
  }
  #page.ele_neko_page .neko_story_number {
    width: 64px;
    height: 64px
  }
  #page.ele_neko_page .neko_original_card {
    padding: 10px;
    border-radius: 18px;
    transform: none
  }
  #page.ele_neko_page .neko_story_note {
    margin: 26px 0 45px;
    gap: 15px
  }
  #page.ele_neko_page .neko_story_mascot {
    width: 135px;
    max-width: 45%
  }
  #page.ele_neko_page .neko_quote {
    width: 220px;
    min-height: 140px
  }
  #page.ele_neko_page .neko_before_after {
    grid-template-columns: 1fr;
    gap: 15px
  }
  #page.ele_neko_page .neko_before_after figure {
    padding: 22px
  }
  #page.ele_neko_page .neko_before_after figure:first-child {
    transform: rotate(-1deg)
  }
  #page.ele_neko_page .neko_before_after figure:last-child {
    transform: rotate(1deg)
  }
  #page.ele_neko_page .neko_comparison_image {
    height: 250px
  }
  #page.ele_neko_page .neko_goodbye {
    gap: 15px;
  }
  #page.ele_neko_page .neko_goodbye img {
    width: 135px
  }
}
@media(prefers-reduced-motion:reduce) {
  #page.ele_neko_page .neko_bubble {
    transition: none
  }
}