@charset "UTF-8";
html{
 overflow:auto;
 /* scroll-behavior: smooth; */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  overflow-x:hidden;
  background-color: #FFF9FB;
  display: flex;
  flex-direction: column;
  align-items: center;
}

a{
  color: #415A9E;
}

a:hover{
  text-decoration: none;
}

a:visited{
  color: #415A9E;
}

p{
  font-size: 13px;
  text-align: justify;
}

img{
  width: 100%;
}

.img_link{
  margin-bottom: 14px;
}

.img_link:hover{
  opacity: 0.8;
  transition-duration: 0.4s;
}

.pc{
  display: none !important;
}
.sp{
  display: block !important;
}

.btn_box{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.btn {
  display: block;
  width: 160px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 16px 0;
  box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .15);
  border-radius: 100px;
  color: #fbfbfb;
  text-align: center;
  overflow: hidden;
  line-height: 20px;
}

.btn:hover{
  opacity: 0.8;
  transition-duration: 0.4s;
  text-decoration: none;
}

.btn:visited{
  color: #fff
}

.btn_opening{
  background: linear-gradient(#FF933A, #FF5E3A);
}

.btn_apply{
  background: linear-gradient(#FF7FA2, #FF3A70);
}


h2{
  color: #FE5B88;
  border-bottom: 1px solid #FE5B88;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  width: 100%;
}

.box{
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 90%;
}

.apply{
  display: flex;
  gap: 8px;
}

.apply_number{
  font-size: 16px;
  font-weight: bold;
  color: #FE5B88;
}

.megami{
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  margin: 20px;
  background-color: #FFF0F4;
}

.megami_detail{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background-color: rgba(255, 255, 255, .7);
  border: 1px solid #FE5B88;
  padding: 20px;
  border-radius: 20px;
}

.megami_detail_content{
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.megami_detail_content_ttl{
  color: #fff;
  font-weight: bold;
  background-color: #FE5B88;
  padding: 6px;
  width: 70px;
  display: flex;
  justify-content: center;
  text-align: center;
}

.megami_detail_content_txt{
  font-size: 20px;
  font-weight: bold;
  color: #930046;
}

.megami_detail_box{
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: flex-start;
}

.btn_megami {
  display: inline-block;
  position: relative;
  min-width: 200px;
  padding: 14px 30px 14px 8px;
  background-color: #fff;
  border: 1px solid #FF3A70;
  border-radius: 50px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #FF3A70;
  box-sizing: border-box;
  margin-top: 14px;
}

.btn_megami::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #FF3A70;
  border-right: 2px solid #FF3A70;
  transform: translateY(-50%) rotate(45deg);
}

.btn_megami:hover::before,
.btn_megami:hover::after {
  background-color: #fff;
}

.btn_megami:hover{
  background-color: #fff6f9;
}

.btn_megami:visited{
  color: #FF3A70;
}

.megami_banner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}


/*　注意事項 */

.accordion_container {
  text-align: left !important;
}

.accordion_container, 
details {
  display: block !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100% !important;
}

summary {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
}

summary {
  display: flex;
  align-items: center;
  justify-content: flex-start; 
  cursor: pointer;
  color: #FF3A70;
  font-weight: bold;
  font-size: 14px;
  list-style: none;
  padding: 10px 0;
}

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

summary::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #FF3A70;
  border-right: 2px solid #FF3A70;
  transform-origin: center center;
  transform: translateY(-20%) rotate(135deg);
  transition: transform 0.2s;
}

details[open] summary::after {
  transform: translateY(30%) rotate(-45deg);
}

.content {
  background-color: #fff;
  padding: 20px;
  padding-left: 28px;
}

.content p {
  margin: 0 0 10px 0;
  text-indent: -13px;
}

.content p:last-child {
  margin-bottom: 0;
}


/* コンタクト */

.contact{
  background-color: #FFF0F4;
  padding-bottom: 120px;
}

.pink{
  color: #FF3A70;
  font-weight: bold;
}

.contact_top{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}

.contact_top p{
  font-size: 16px;
}

.contact_box{
  width: 100%;
}

.contact_box_ttl{
  border-bottom: 1px solid #FF3A70;
  padding-bottom: 8px;
  margin-bottom: 8px;
  font-weight: bold;
}

.contact_dial{
  text-decoration: none;
  color: #000;
}


/* 固定ボタン */

.btn_floting {
  display: block;
  width: 300px;
  line-height: 60px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: linear-gradient(#ff8d2f, #ff5f00);
  box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .15);
  border-radius: 50px;
  color: #fbfbfb;
  text-align: center;
  overflow: hidden;
}

.btn_floting:hover{
  opacity: 0.8;
  transition-duration: 0.4s;
}

.btn_floting:visited{
  color: #fff
}

.btn_floting{
  text-align: center;
  height: 60px;
}

.btn_floting_box{
  display: flex;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

#btn-fixed-wrap {
  opacity: 0; /* 初期は透明 */
  pointer-events: none; /* 非表示時はクリック不可 */
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  margin: 0 auto;
  z-index: 2000;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 14px;
  transition: opacity 0.5s ease; /* フェードインのアニメーション */
  width: 430px;
}

#btn-fixed-wrap.active {
  opacity: 1; /* 表示 */
  pointer-events: auto; /* クリック可能 */
}

.btn-fixed {
  display: flex;
  justify-content: space-around;
  align-items: center;
  }

/* 固定ボタンここまで */

.footer_copyright{
  color: #fff;
  background-color: #AD97A1;
  padding: 8px;
  width: 100%;
}

.footer_copyright p{
  font-size: 10px;
  text-align: center;
}


@media screen and (min-width:451px) {
  html{
    background-color: #FFF9FB;
  }

  body{
    max-width:450px;
    margin: 0 auto;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .1);
  }

  .sp{
    display: none !important;
  }
  .pc{
    display: block !important;
  }

  .btn{
    width: 190px;
  }
}
