/*
Theme Name: mamanowa
Author: mamanowa
Description: mamanowa
Version: 1.0
*/

/*--------------------------
          共通設定
--------------------------*/
body {
   font-family: 'Noto Sans JP', sans-serif;
   color: #808080;
   background-color: #94BF97;
   margin: 0;
   padding: 0;
   font-size: 18px;
   line-height: 1.8;
}
@media screen and (min-width: 768px) {
  body {
    max-width: 768px;
    margin: 0 auto;
  }
}
main {
   background-color: #FEFCF1;
}
p {
   font-size: 18px;
   margin: 0;
   padding: 0;
}
a {
   text-decoration: none;
   color: inherit;
}
ul {
   padding: 0;
   list-style: none;
}
img {
   max-width: 100%;
   height: auto;
   display: block;
}
h1 {
   font-family: 'Pangolin', cursive;
   font-size: 32px;
}
.main_container {
   padding-left: 24px;
   padding-right: 24px;
}
.c_main {
   color: #94BF97;
}
.c_yellow {
   color: #FFD166;
}
.c_cream {
   color: #FEFCF1;
}
.c_white {
   color: #fff;
}
.bc_cream {
   background: #FEFCF1;
}
.bc_main {
   background: #94BF97;
}
.bc_yellow {
   background: #FFD166;
}
.bc_lightgreen {
   background: #EBF5E5;
}
.section_enttl {
   text-align: center;
   font-family: 'Pangolin', cursive;
}
.section_ttl {
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
}
.section_ttl h2 {
   font-size: 20px;
   padding-left: 16px;
}
.neumorphism-box {
   background: #fefcee;
   border-radius: 16px;
   padding: 16px;
   box-shadow: 3px 3px 3px rgba(229, 227, 217, 0.9), -2px -2px 2px rgba(255, 255, 255, 0.9), 2px -2px 2px rgba(229, 227, 217, 0.2), -2px 2px 2px rgba(229, 227, 217, 0.2);
}
.bold {
   font-weight: bold;
}
.center {
   text-align: center;
}
.text_box .line {
   display: block;
}
/*--------------------------
          HEADER
--------------------------*/
.header {
   padding: 12px 16px;
   position: relative;
}
.header_inner {
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.logo {
   font-weight: bold;
   font-size: 32px;
}
.hamburger {
  background: #fcfbf5;
  border-radius: 50%;
  width: 90px;
  height: 90px;
  border: none;
  box-shadow:
    8px 8px 16px rgba(0, 0, 0, 0.1),
   -8px -8px 16px rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}
.hamburger_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.hamburger_line {
  width: 35px;
  height: 4px;
  background-color: #94BF97;
  border-radius: 4px;
}
.menu_text {
  font-size: 14px;
  font-family: 'Arial', sans-serif;
  color: #76a68b;
  font-weight: bold;
}
.hamburger:hover {
  box-shadow:
    inset 6px 6px 12px rgba(0, 0, 0, 0.05),
    inset -6px -6px 12px rgba(255, 255, 255, 0.6);
  transform: scale(0.97);
}
.nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: rgba(254, 252, 241, 0.9);
  padding: 1em;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  z-index: 100;
}
.nav.open {
  display: block;
}
.nav ul {
   display: flex;
   flex-direction: column;
   gap: 32px;
}
.nav li a {
   color: #35684a;
   font-size: 18px;
   font-weight: bold;
   display: flex;
}
/*--------------------------
         HERO
--------------------------*/
.hero {
   background: url("https://test24.tsujieri.com/wp-content/uploads/2025/05/top_frame.png") no-repeat top center;
   background-size: 100% auto;
   background-position: top center;
   background-repeat: no-repeat;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: flex-start;
   position: relative;
}
.catch_ttl_wrap {
   margin-top: 24px;
}
.catch_ttl_wrap img {
   margin: 0 auto;
}
.catch {
   text-align: center;
   font-size: 20px;
   margin-bottom: 16px;
}
.hero-image {
   border-radius: 12px;
   overflow: hidden;
   position: relative;
}
.hero-image img {
   width: 100%;
   height: auto;
   margin-top: 24px;
}
.btn-center {
  text-align: center;
  margin: 32px 0;
}

.neu-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 32px;
  font-size: 18px;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  border-radius: 86px;
  background: #FFD166;
  box-shadow:
    6px 6px 14px #e8be5d,
   -6px -6px 14px #ffe46f;
  transition: all 0.2s ease;
}
.neu-button:hover {
  box-shadow:
    inset 9px 9px 18px #e8be5d,
    inset -9px -9px 18px #ffe46f;
  transform: scale(0.98);
}
.neu-button .arrow {
  background: rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  color: white;
  box-shadow:
    2px 2px 4px rgba(0, 0, 0, 0.08),
   -2px -2px 4px rgba(255, 255, 255, 0.5);
}
/*--------------------------
         INTRO
--------------------------*/
.intro {
   padding: 80px 0;
   text-align: left;
}
.intro-heading {
   margin-bottom: 16px;
   font-weight: bold;
}
.intro-points li {
   margin-bottom: 4px;
   border-radius: 16px;
   display: flex;
   align-items: center;
}
.intro-points img {
   width: 24px;
   height: 24px;
}
.intro-points p {
   margin-left: 16px;
}
.intro_li {
   margin-bottom: 24px;
}
/*--------------------------
         EVENT
--------------------------*/
.event_section .intro-heading {
   border-bottom: 2px solid #94BF97;
}
.event-card {
   background: #fefcee;
   border-radius: 24px;
   padding: 16px;
   margin: 24px 16px;
   position: relative;
   text-align: center;
   max-width: 600px;
   margin-left: auto;
   margin-right: auto;
}
.event-image {
   overflow: hidden;
   border-radius: 16px;
   margin-bottom: 16px;
}
.event-image img {
   width: 100%;
   height: auto;
   display: block;
   border-radius: 20px;
}
.event-number {
   position: absolute;
   top: 0;
   left: 0;
   width: 48px;
   height: 48px;
}
.event-text h3 {
   font-size: 18px;
   margin: 0 0 8px;
}
.event-text .sub {
   margin-bottom: 8px;
}
.event-text .sponsor {
   font-weight: bold;
}
.sponsor_link {
   display: flex;
   justify-content: center;
   gap: 4px;
   align-items: center;
}
.sponsor {
   border-bottom: 2px solid #ffd166;
}
.arrow-img {
   width: 48px;
   height: 48px;
}
.insta-button_wrap {
   text-align: center;
   margin-top: 32px;
}
.insta-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   padding: 12px 24px;
   background: #EBF5E5;
   color: #94BF97;
   font-weight: bold;
   font-size: 16px;
   border-radius: 999px;
   text-decoration: none;
   border: 1px solid rgba(109, 163, 134, 0.3);
   box-shadow: inset 1px 1px 3px rgba(255, 255, 255, 0.7), inset -1px -1px 3px rgba(109, 163, 134, 0.15), 2px 2px 5px rgba(109, 163, 134, 0.2), -2px -2px 4px rgba(255, 255, 255, 0.9);
   transition: all 0.3s ease;
}
.insta-button:hover {
   box-shadow:
   inset 2px 2px 5px rgba(109, 163, 134, 0.2),
   inset -2px -2px 5px rgba(255, 255, 255, 0.7);
   transform: scale(0.97);
}
.insta-icon {
   width: 20px;
   height: 20px;
}
.event_message {
   margin-top: 24px;
}
.event_message p {
   text-align: center;
}
/*--------------------------
         PROFILE
--------------------------*/
.profile_section {
   text-align: center;
   position: relative;
   margin-top: 80px;
}
.profile_section_top_wrap {
   position: relative;
   padding-top: 80px;
   padding-bottom: 40px;
}
.profile_bg_img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: auto;
   z-index: 0;
}
.profile_section_top_wrap > *:not(.profile_bg_img) {
   position: relative;
   z-index: 1;
}
.section_jpttl {
   font-size: 18px;
   margin-bottom: 16px;
   border-top: 1px solid #fff;
   border-bottom: 1px solid #fff;
   display: inline-block;
   padding: 8px 24px;
   font-weight: bold;
}
.profile_top_img {
   margin: 24px auto 16px;
   width: 30%;
   height: auto;
   border-radius: 50%;
   overflow: hidden;
   box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15), -2px -2px 4px rgba(255, 255, 255, 0.6);
}
.profile_top_img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.profile_name {
   background: #FEFCF1;
   color: #6da386;
   display: inline-block;
   padding: 6px 16px;
   border-radius: 999px;
   font-size: 14px;
   font-weight: bold;
   box-shadow: inset 1px 1px 3px rgba(255, 255, 255, 0.6), inset -1px -1px 3px rgba(109, 163, 134, 0.15), 2px 2px 4px rgba(109, 163, 134, 0.2), -2px -2px 4px rgba(255, 255, 255, 0.9);
}
/*--------------------------
       message_section
--------------------------*/
.message_section {
   position: relative;
   overflow: hidden;
   text-align: left;
   margin-top: 0;
   padding-top: 80px;
   padding-left: 32px;
   padding-right: 32px;
   padding-bottom: 60px;
}
.message_inner {
   position: relative;
   max-width: 640px;
   font-size: 16px;
   line-height: 2;
   padding-bottom: 100px;
   border-radius: 30px;
   padding: 16px;
   margin-bottom: 100px;
   background-color: rgba(254, 252, 241, 0.9);
}
.message_inner h3 {
   font-size: 20px;
   font-weight: bold;
}
.message_inner p {
   margin-top: 24px;
}
.message_bg_img {
   position: absolute;
   bottom: -100px;
   right: 0;
   width: 40%;
   height: auto;
}
.message_bg_img2 {
   position: absolute;
   bottom: -150px;
   left: 0;
   width: 45%;
   height: auto;
}
.yurina-name {
   text-align: right;
}
.profile_section .sponsor_link {
   justify-content: flex-end;
}
/*--------------------------
         VOICE
--------------------------*/
.voice_section {
   padding: 60px 24px;
}
.voice_inner {
   max-width: 640px;
   margin: 0 auto;
}
.voice_heading {
   font-size: 18px;
   font-weight: bold;
   text-align: center;
   border-bottom: 2px solid #94BF97;
}
.voice_intro {
   text-align: center;
}
.voice_box {
   margin-top: 48px;
   position: relative;
   display: flex;
   border-radius: 12px;
   padding: 24px;
   margin-bottom: 24px;
   box-shadow: 3px 3px 6px rgba(229, 227, 217, 0.3), -2px -2px 4px rgba(255, 255, 255, 0.6);
}
.voice_comment {
   position: relative;
}
.voice_comment_ttl {
   display: flex;
   gap: 16px;
}
.voice_comment_ttl img {
  width: 24px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  vertical-align: middle;
}
.voice_message {
   margin-top: 16px;
}
.voice_name {
   font-size: 12px;
   color: #888;
   margin-top: 8px;
}
.voice_photo {
   position: absolute;
   bottom: -50px;
   right: -24px;
   width: 100px;
   height: 100px;
   border-radius: 50%;
   object-fit: cover;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.yellow_link {
   display: flex;
   justify-content: center;
   gap: 4px;
   align-items: center;
}
.link_card {
   display: block;
   position: relative;
   z-index: 1;
}
.link_card_ttl {
   display: flex;
}
.link_card_ttl img {
  width: 24px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 14px;
}
/*--------------------------
      line_cv_section
--------------------------*/
.line_cv_section {
   padding: 60px 24px;
}
.line_cv_section .neu-button {
   margin-top: 18px;
}
.line_cv_card {
   padding-top: 32px;
   padding-bottom: 32px;
}
/*--------------------------
         link_section
--------------------------*/
.link_section {
   padding: 60px 24px;
}
.link_section .link_card {
   margin-bottom: 24px;
}
.link_section .yellow_link {
   justify-content: flex-end;
}
/*--------------------------
         FOOTER
--------------------------*/
footer {
   padding: 40px 24px 12px 24px; 
   background: url("https://test24.tsujieri.com/wp-content/uploads/2025/05/footer.png") no-repeat top center;
   background-size: cover;
   background-position: top center;
   background-repeat: no-repeat;
   position: relative;
   background-color: #FEFCF1;
}
footer h1 {
   margin-top: 24px;
}
.footer_nav {
   margin-top: 80px;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: flex-start;
}
.footer_menu li a {
   display: flex;
   line-height: 50px;
}
.circle-icon {
   width: 24px;
   height: auto;
   aspect-ratio: 1 / 1;
   object-fit: contain;
   vertical-align: middle;
   margin-right: 16px;
}
.copy {
   font-size: 12px;
   margin-top: 40px;
}
@media screen and (max-width: 390px) {
   .main_container {
      padding-left: 12px;
      padding-right: 12px;
   }
   .line_cv_section {
      padding: 60px 12px;
   }
   .neu-button {
      font-size: 16px;
   }
}
/*--------------------------
         ABOUT_HERO
--------------------------*/
.about_hero_section {
   background: url("https://test24.tsujieri.com/wp-content/uploads/2025/05/top_frame.png") no-repeat top center;
   background-size: 100% auto;
   background-position: top center;
   background-repeat: no-repeat;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: flex-start;
   position: relative;
   padding-bottom: 60px;
}
.about_hero_inner {
   margin: 0 auto;
}
.about_hero_text_box {
   margin-bottom: 24px;
}
/*--------------------------
         MESSAGE
--------------------------*/
.message_section_inner_ttl {
   display: flex;
}
.message_section .neu-button {
   margin-top: 16px;
}
/*--------------------------
         ABOUT_PROFILE
--------------------------*/
.about_profile_section {
   text-align: center;
   position: relative;
   margin-top: 80px;
}
.about_profile_section_top_wrap {
   position: relative;
   z-index: 0;
   padding-top: 80px;
   padding-bottom: 40px;
}
.about_profile_bg_img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: auto;
   z-index: -1;
}
.about_profile_top_img {
   margin: 24px auto 16px;
   width: 30%;
   height: auto;
   border-radius: 50%;
   overflow: hidden;
   box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15), -2px -2px 4px rgba(255, 255, 255, 0.6);
}
.about_profile_top_img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.about_profile_name {
   background: #FEFCF1;
   color: #6da386;
   display: inline-block;
   padding: 6px 16px;
   border-radius: 999px;
   font-size: 14px;
   font-weight: bold;
   box-shadow: inset 1px 1px 3px rgba(255, 255, 255, 0.6), inset -1px -1px 3px rgba(109, 163, 134, 0.15), 2px 2px 4px rgba(109, 163, 134, 0.2), -2px -2px 4px rgba(255, 255, 255, 0.9);
}
.about_message_section {
   padding-top: 40px;
   text-align: left;
   margin-left: 16px;
   margin-right: 16px;
   padding-left: 24px;
   padding-right: 24px;
   padding-bottom: 48px;
   border: 2px solid #94bf97;
   background-color: rgba(254, 252, 241, 0.9);
   position: relative;
   z-index: 1;
   border-radius: 30px;
}
.about_message_section_inner_ttl {
   display: flex;
}
.about_message_inner .text_box {
   margin-bottom: 16px;
}
.about_message_section .neu-button {
   margin-top: 16px;
}
/*--------------------------
   about_sponsor_section
--------------------------*/
.about_sponsor_section {
   text-align: left;
   margin-left: 16px;
   margin-right: 16px;
   margin-top: 24px;
   padding-left: 24px;
   padding-right: 24px;
   padding-top: 36px;
   padding-bottom: 48px;
   border: 2px solid #94bf97;
   border-radius: 30px;
}
.sponsor_img {
   width: 150px;
   height: 150px;
   margin: 0 auto;
   text-align: center;
}
.sponsor_name {
   color: #94BF97;
   border: 1px solid #94BF97;
   border-radius: 30px;
   text-align: center;
   margin-top: 16px;
   margin-bottom: 24px;
}
.about_sponsor_wrap {
   margin-top: 24px;
}
.about_sponsor_wrap .section_ttl {
   text-align: left;
   font-size: 18px;
   justify-content: flex-start;
}
.about_sponsor_wrap .text_box {
   margin-bottom: 32px;
}
.about_book_wrap {
   margin-top: 60px;
}
.about_book_wrap .text_box {
   margin-bottom: 32px;
}
.book_pr_wrap {
   display: flex;
   gap: 24px;
   justify-content: center;
   margin-bottom: 24px;
}
.book_pr_wrap img {
   width: 50%;
   height: auto;
}
.book_pr_wrap .text_box {
}
.sponsor_sns {
   border-bottom: solid 2px #FFD166;
}

.cv_before_img {
   margin-top: -100px;
   position: relative;
   z-index: 0;
}
/*--------------------------
         faq_section
--------------------------*/
.faq_section {
   padding-left: 24px;
   padding-right: 24px;
}
.faq_card {
   margin-bottom: 24px;
}
.q_box, .a_box {
   display: flex;
   align-items: flex-start;
   margin-bottom: 8px;
}
.faq_q_a {
   width: 3rem;
   height: 3rem;
   margin-right: 16px;
}








.privacy_hero {
  background-color: #FEFCF1;
  padding: 80px 24px 40px;
  text-align: center;
}

.privacy_hero_inner .section_label {
  color: #D4AF37;
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 10px;
}

.privacy_title {
  font-size: 28px;
  margin-bottom: 16px;
  color: #333;
}

.privacy_intro {
  font-size: 16px;
  line-height: 1.8;
  color: #666;
}

.privacy_section {
  padding: 40px 24px;
  background-color: #fefcf1;
}

.privacy_block {
  margin-bottom: 40px;
}

.privacy_block h3 {
  font-size: 18px;
  color: #444;
  margin-bottom: 12px;
}

.privacy_block p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

.privacy_return {
  padding: 40px 0;
  text-align: center;
}

