.footer_content{
  margin-top: 0!important;
}

/* ハンバーガーメニュー */
.menu_btn {
  position: fixed;
  top: 1rem;
  right: 1rem;
  display: flex;
  height: 2.6rem;
  width: 2.25rem;
  justify-content: center;
  align-items: center;
  z-index: 90;
}

.menu_btn span,
.menu_btn span:before,
.menu_btn span:after {
  content: "";
  display: block;
  height: 0.2rem;
  width: 2.5rem;
  border-radius: 0.3rem;
  background-color: #ef857d;
  position: absolute;
}
.menu_btn span:before {
  bottom: 0.8rem;
}
.menu_btn span:after {
  top: 0.8rem;
}

#menu_btn_check:checked ~ .menu_btn span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}
#menu_btn_check:checked ~ .menu_btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#menu_btn_check:checked ~ .menu_btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu_btn_check {
  display: none;
}

.hamburger_text {
  position: relative;
  top: 1.7rem;
  color: #ef857d;
}

/* 共通 */
.main {
  max-width: 144rem;
}

.title {
  position: relative;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 6rem;
}

.number {
  color: #ef857d;
  font-size: 2.6rem;
  font-weight: bold;
  margin-right: 1.5rem;
  line-height: 1;
}

.btn {
  display: block;
  margin: 4.5rem auto 0;
  width: 20.5rem;
  height: 4.6rem;
  padding: 1rem;
  background-color: #7ac5d7;
  border-radius: 23rem;
  position: relative;
}

.btn_text {
  text-align: center;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: bold;
}

.pt100 {
  padding-top: 10rem;
}

/* ファーストビュー */
.fv {
  background-color: #fff4f5;
  /* height: 57.6rem; */
  position: relative;
}

.fv_container {
  margin: 0 auto;
  text-align: center;
}

.fv_title_box {
  padding: 9.843rem 0 9.6rem 0;
}

.fv_title {
  display: flex;
  background-color: #ffffff;
  width: 42.2rem;
  /* 角丸の数値 */
  border-radius: 10px;
  margin: 0 auto 6rem auto;
  font-size: 3.6rem;
  font-weight: bold;
  justify-content: center;
  align-items: center;
}

.fv_title_image{
  width: 31rem;
}

.fv_title >span{display: block;}

.fv_text_container {
  display: inline-block;
  margin: 0 auto;
}

.fv_text {
  width: 78.4rem;
  text-align: left;
  font-size: 1.6rem;
  margin-top: 3rem;
  line-height: 2;
  font-weight: 500;
}

.fv_text:first-of-type{
  margin-top: 0;
}

/* デコレーション */
.deco::before,
.deco::after{
  content: '';
  position: absolute;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}

.deco1::before {
  top: 17.1rem;
  left: 14rem;
  width: 4.5rem;
  height: 4.5rem;
  background-image: url('../img/flower1.svg');
  transform: rotate(-15deg);
}

.deco1::after {
  top: 19.8rem;
  left: 17.7rem;
  width: 2.8rem;
  height: 3.1rem;
  background-image: url('../img/flower2.svg');
}

.deco2::before {
  top: 8.6rem;
  right:28.8rem;
  width: 4.5rem;
  height: 4.5rem;
  background-image: url('../img/flower3.svg');
  transform: rotate(-165deg);
}

.deco2::after {
  top: 6.6rem;
  right:23.6rem;
  width: 4rem;
  height: 3.5rem;
  background-image: url('../img/triangle2.svg');
  transform: rotate(-156deg);
}

.deco3::before {
  bottom: 15.6rem;
  right:15.4rem;
  width: 4rem;
  height: 3.5rem;
  background-image: url('../img/triangle2.svg');
  transform: rotate(-53deg);
}

.deco3::after {
  bottom: 12.9rem;
  right:13.8rem;
  width: 2.5rem;
  height: 2.1rem;
  background-image: url('../img/triangle4.svg');
  transform: rotate(-117deg);
}



/* 特徴 */
.features {
  margin: 0 auto;
}

.features_title_box {
  position: relative;
  margin-top: 8.2rem;
}

.features_flower {
  position: relative;
  width: 3.55rem;
  top: 7px;
  margin-right: 1.24rem;
}

.features_flex_box {
  display: flex;
  vertical-align: middle;
  margin: 0 auto;
  margin-bottom: 6rem;
  align-items: center;
}

.flex_container {
  width: 120rem;
  margin: 0 auto;
}

.features_card_image {
  margin-right: 4rem;
}

.features_image {
  width: 50rem;
}

.features_card_text {
  /* width: 48rem; */
}

.features_text {
  font-size: 1.6rem;
  /* width: 66rem; */
  padding-top: 2.4rem;
  line-height: 2;
}

.features_sub_title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 5px dotted #ef857d;
  padding-bottom: 1.15rem;
}

/* イベント */
.event {
  margin-top: 10rem;
  margin-bottom: 8rem;
}

.event_flower {
  position: relative;
  width: 3.55rem;
  top: 7px;
  margin-right: 1.24rem;
}

.event_flex_container {
  width: 120rem;
  margin: 0 auto;
}

.event_flex_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}

.event_flex_card {
  width: 33%;
}

.event_flex_card:nth-child(4) {
  display: none;
}

.event_date {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  display: block;
}

.event_image {
  margin-bottom: 2rem;
  aspect-ratio: 1;
  height: 100%;
  width: 100%;
  border-radius: 2rem;
}

.tag_flex {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.event_tag {
  display: block;
  /* width: 14.5rem; */
  height: 3.2rem;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #cecece;
  border-radius: 1.6rem;
  padding: 0.4rem 2rem 0.6rem;
  gap: 1rem;
}

.event_tag2 {
  display: block;
  width: 9.7rem;
  height: 3.2rem;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #cecece;
  border-radius: 1.6rem;
  padding: 0.6rem;
  margin-right: 1rem;
}

.event_tag:hover {
  cursor: pointer;
}

.event_text {
  font-size: 1.6rem;
  margin-top: 2rem;
  /* margin-bottom: 4.5rem; */
}

/* 質問 */
.question {
  background-color: #fffee5;
  padding-bottom: 10rem;
}

.question_flower {
  /* position: relative; */
  width: 3.55rem;
  /* top: 50%; */
  margin-right: 1.24rem;
  vertical-align: baseline;
}

.question_box {
  width: 120rem;
  margin: 0 auto;
}

.question_card {
  background-color: #fff;
  padding: 4rem 5rem 4rem 15rem;
  margin-bottom: 2rem;
  border-radius: 1rem;
  position: relative;
}

.question_card::before,
.question_card::after{
  content: '';
  position: absolute;
  top: 5.8rem;
  right: 5rem;
  margin: auto;
  height: .5rem;
  width: 2.4rem;
  border-radius: .3rem;
  background-color: #E4ACB1;
}

.question_card::after{
  rotate: 90deg;
  transition: rotate ease .3s;
}

.question_card.active::after{
  rotate: 0deg;
}

.question_card:nth-child(1) {
  /* padding-top: 5.2rem; */
}

.question_title {
  /* align-items: center; */
  width: 81rem;
  font-size: 2rem;
  font-weight: bold;
  /* margin: 0 auto; */
  text-indent: -2em;
  padding-left: 2em;
}

.question_title::before {
  content: "Q.";
  color: #e4acb1;
  margin-right: 1.4rem;
  font-size: 2.6rem;
  line-height: 1;
  vertical-align: top;
}

.question_answer {
  width: 86rem;
  font-size: 1.6rem;
  line-height: 2em;
  margin: 2rem auto 0 4rem;
  display: none;
}

.question_card:last-child {
  margin-bottom: 5.3rem;
}

.btn::after {
  content: "";
  position: absolute;
  left: 3.45rem;
  /* aspect-ratio: 9 / 8; */
  width: 0.9rem;
  background-color: white;
  mask-image: url(../img/arrow.svg);
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/arrow.svg);
  -webkit-mask-repeat: no-repeat;
  transition: easeall .3s;
  top: 50%;
  transform: translateY(-50%);
  height: 1rem;
  mask-size: contain;
}

/* スマホ表示 */
@media screen and (max-width: 699.98px) {
  /* 共通 */
  html,
  body {
    /* max-width: 35.5rem; */
  }

  .menu_btn {
    right: 3rem;
  }

  .main {
    /* max-width: 35.5rem; */
  }

  .title {
    margin-bottom: 3rem;
    font-size: 2.8rem;
    /* text-align: left; */
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* ファーストビュー */
  .fv {
    padding: 0 2rem;
    /* height: 73.4rem; */
  }

  .fv_title {
    width: 100%;
    text-align: center;
    margin: 0 auto 3.8rem;
    font-size: 2.8rem;
    padding: 0.7rem;
  }

  .fv_text {
    width: 31.5rem;
    font-size: 1.5rem;
  }

  .fv_title_image {
    display: inline-block;
    margin: 0 -1rem 0 0;
    text-align: center;
    width: 26.9rem;
  }

  /* 特徴 */
  .features {
    padding: 0 2rem;
  }

  .flex_container {
    width: 33.5rem;
    margin: 0;
  }

  .features_flex_box {
    flex-direction: column;
    /* width幅確認 */
    /* width: 32rem; */
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  .features_card_image {
    display: inline-block;
    margin: 0 auto;
    text-align: center;
    /* width: 30rem; */
  }

  .features_image {
    width: 100%;
  }

  .features_text {
    width: 100%;
    /* height: 44rem; */
    /* margin-bottom: 3.05rem; */
    font-size: 1.5rem;
    width: 31.5rem;
    margin: auto;
  }

  .features_card_text {
    /* width: 29.5rem; */
  }

  .features_sub_title {
    margin-top: 3rem;
    display: flex;
    align-items: baseline;
    padding-bottom: 1rem;
  }

  /* イベント */
  .event {
    padding: 0 2rem;
    margin-top: 4rem;
    margin-bottom: 7rem;
  }

  .event_flex_container {
    width: 100%;
  }

  .event_flex_box {
    /* width: 33.4rem; */
    flex-wrap: wrap;
    gap: 2rem 1rem;
  }

  .event_flex_card {
    width: 50%;
    width: calc(50% - 0.5rem);
    width: 16.2rem;
  }

  .event_flex_card:nth-child(4) {
    display: block;
  }

  .tag_flex {
    /* flex-direction: column; */
  }

  .event_date{
    font-size: 1.2rem;
  }

  .event_image{
    margin-bottom: 1rem;
  }

  .event_tag{
    font-size: 1.2rem;
    padding: 0.15rem 1rem;
    height: auto;
  }

  .event_text{
    margin-top: 1rem;
  }

  /* 質問 */
  .question_box {
    width: 33.5rem;
  }

  .question_title,
  .question_answer {
    font-size: 1.6rem;
    text-align: left;
  }

  .question_title {
    width: 26rem;
    height: auto;
    font-size: 1.6rem;
    /* margin-bottom: 3rem; */
    text-indent: -2.5em;
    padding-left: 2.5em;
  }

  .question_answer {
    width: 29.6rem;
    margin: 3rem 0 0;
  }

  .pt50 {
    padding-top: 5rem;
    margin-bottom: 7rem;
  }


  .question_card{
    padding: 2.7rem 2rem 3.7rem;
  }

  .question_card::before, .question_card::after{
    top: 3.9rem;
    right: 1rem;
    width: 2rem;
    height: 0.4rem;
  }

  .deco1::before {
    top: auto;
    left: 2rem;
    bottom: -0.6rem;
  }
  
  .deco1::after {
    top: auto;
    left: 5.4rem;
    bottom: -1.8rem;
  }
  
  .deco2::before {
  display: none;
  }
  
  .deco2::after {
  display: none;
  }
  
  .deco3::before {
    bottom: 3.6rem;
    right: 3.6rem;
  }
  
  .deco3::after {
    bottom: 1rem;
    right: 2rem;
  }

  .fv_title_box{
    padding: 7rem 0;
  }

  .features_title_box{
    margin-top: 7rem;
  }

  .features_title_box > .title{
    text-align: left;
  }

  .question_flower{
    width: 1.86rem;
  }

  .question{
    padding-bottom: 5rem;
  }
  
}
