@charset "utf-8";
/* CSS Document */

.tfz_key{
  height: clamp(120px, 60vw, 480px);/*÷800*/
  max-width: 1442px;
  margin: auto;
}
.tfz_key img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tfz_wrap{
  padding: 0 16px;
}

.tfz_circle{
  position: relative;
  max-width: 1210px;
  width: 100%;
  margin: 24px auto 0;
  background-image: radial-gradient(closest-side, #FFFFFF 0%, #FFFFFF 82.01%, rgba(255, 255, 255, 0) 100%);
  background-size: 1210px 1210px;
  background-position: center top;
  background-repeat: no-repeat;
}
.tfz_gnav{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.8s 0.2s, opacity 0.8s 0.2s;
}
.tfz_gnav.show{
  transform: translateY(0px);
  opacity: 1;
  pointer-events: all;
}
.tfz_gnav li{width: 192px;}
.tfz_gnav li a{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 56px;
  text-align: center;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  color: #777777;
  border-radius: 30px;
  background: linear-gradient(#FFFFFF 0%, #F6F6F6 89.96%, #E6E6E6 100%);
  border: 3px solid #FFFFFF;
  box-shadow: 0px 4px 11px #E8A7B8;
}
.tfz_boxphoto{
  position: absolute;
  width: clamp(190px, 51.84vw, 648px);/*÷1250*/
  top: 34px;
  right: -56px;
  pointer-events: none;
}
.tfz_boxphoto div{
  position: absolute;
  width: clamp(36px, 16.32vw, 204px);/*÷1250*/
  top: clamp(126px, 30.64vw, 383px);/*÷1250*/
  left: 8px;
}
.tfz_catch{
  position: relative;
  z-index: 1;
}
.tfz_txt1{
  width: clamp(240px, 45.04vw, 563px);/*÷1250*/
  padding-top: clamp(8px, 7.04vw, 88px);/*÷1250*/
  margin-left: clamp(0rem, -4.425rem + 16.46vw, 8.438rem);/*0-135 430-1250*/
}
.tfz_txt2{
  max-width: 700px;
  line-height: 2.25;
  margin: clamp(32px, 8.32vw, 104px) auto 0;
  text-align: center;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  color: #777777;
}
.tfz_txt2 span{
  display: block;
}
.tfz_txt3{
  line-height: 2;
  margin-top: clamp(14px, 4.48vw, 56px);/*÷1250*/
  text-align: center;
  font-size: clamp(1.125rem, 0.399rem + 2.7vw, 1.75rem);/*18-28 430-800*/
  font-weight: bold;
  color: #E9527A;
}
.tfz_txt3 span{
  display: block;
}

.tfz_entry a{/*応募ボタンの色味などは共通*/
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  width: 100%;
  text-align: center;
  font-weight: bold;
  color: #FFFFFF;
  border-radius: 70px;
  background: linear-gradient(to right,#FF7497 0%, #FF9453 53.14%, #FFBC00 100%);
  box-shadow: 10px 10px 30px rgba(255, 219, 135, 0.37);
  border: 2px solid #FFFFFF;
}
.tfz_entry.tfz_l{
  margin-top: 92px;
}
.tfz_l a{
  gap: clamp(8px, 2.25vw, 18px);
  max-width: 722px;
  height: clamp(72px, 12.25vw, 98px);
  text-align: center;
  font-size: clamp(1.25rem, -0.057rem + 4.86vw, 2.375rem);/*20-38 430-800*/
  color: #FFFFFF;
  box-shadow: 10px 10px 30px rgba(255, 255, 0, 0.37);
}
.tfz_l a img{
  width: clamp(72px, 10.08vw, 126px);
}
.tfz_s a{
  gap: 12px;
  width: 440px;
  max-width: 73vw;
  height: 60px;
  font-size: clamp(1rem, 0.419rem + 2.16vw, 1.5rem);/*16-24 430-800*/
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.16);
}
.tfz_s a img{
  width: clamp(56px, 9.625vw, 77px);
}

/*はじめてばことは*/
.tfz_abouthajimetebox{
  max-width: 1080px;
  margin: 96px auto 0;
  border-radius: 20px;
  background-color: #FFFFFF;
  filter: drop-shadow(0px 3px 30px #DFACBA);
}
.tfz_inner{padding: clamp(20px, 5.5vw, 44px) 16px clamp(24px, 9vw, 72px);}/*÷800*/
.tfz_ttlred{
  margin-bottom: 24px;
  text-align: center;
  font-size: clamp(1.25rem, 0.524rem + 2.7vw, 1.875rem);/*20-30 430-800*/
  font-weight: bold;
  color: #E9527A;
}
.tfz_txt4{
  max-width: 664px;
  margin: auto;
  line-height: 1.625;
  text-align: center;
  font-size: clamp(0.875rem, 0.584rem + 1.08vw, 1.125rem);/*14-18 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_txt5{
  margin-top: 24px;
  text-align: center;
  font-size: clamp(0.75rem, 0.605rem + 0.54vw, 0.875rem);/*12-14 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_abouthajimetebox h3{
  margin-top: 56px;
  margin-bottom: 40px;
  text-align: center;
}
.tfz_goods{
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(closest-side , #E9F3FF 0%, #E9F3FF 70.71%, #FFFFFF 100%) right center no-repeat;
  background-size: 619px 204px;

}
.tfz_goods:nth-of-type(2){
  flex-flow: row-reverse;
  background-position: center center;
}
.tfz_goods h4{
  font-size: clamp(1rem, 0.274rem + 2.7vw, 1.625rem);/*16-26 430-800*/
  font-weight: bold;
  color: #6A9CDD;
}
.tfz_goods p{
  line-height: 1.75;
  margin: 12px 0;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_goods p .tfz_br{display: block;}
.tfz_goods span{
  font-size: clamp(0.75rem, 0.605rem + 0.54vw, 0.875rem);/*12-14 430-800*/
  color: #777777;
}
.tfz_txt6{
  line-height: 1.625;
  margin-bottom: 10px;
  text-align: center;
  font-size: clamp(0.875rem, 0.584rem + 1.08vw, 1.125rem);/*14-18 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_txt6 span{
  display: block;
}
.tfz_timecapsule{
  display: flex;
  justify-content: center;
  gap: 28px;
  background: radial-gradient(closest-side, #FFFFE9 0%, #FEFFE9 70.71%, #FFFFFF 100%) right bottom no-repeat;
  background-size: 579px 278px;
}
.tfz_timecapsule .tfz_ph img{
  border-radius: 21px;
  box-shadow: 0px 3px 6px rgba(143, 143, 143, 0.65);
}
.tfz_timecapsule .tfz_text img{
  display: block;
  margin: auto 0 auto auto;
}
.tfz_timecapsule .tfz_text p{
  letter-spacing: -0.14em;
  font-size: clamp(1rem, 0.564rem + 1.62vw, 1.375rem);/*16-22 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_timecapsule .tfz_text ul{
  display: flex;
  flex-wrap: wrap;
  max-width: 424px;
}
.tfz_timecapsule .tfz_text ul li{
  width: 50%;
  letter-spacing: -0.12em;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_timecapsule .tfz_text ul li::before{
  content: "・";
  color: #FF9441;
}
.tfz_txt7{
  margin-top: clamp(40px, 10vw, 80px);
  text-align: center;
  font-size: clamp(1rem, 0.709rem + 1.08vw, 1.25rem);
  font-weight: bold;
  color: #E9527A;
}
.tfz_seikyo{
  padding: 40px 16px;
  border-radius: 0px 0px 20px 20px;
  background-color: #E9F3FF;
  border: 4px solid #FFFFFF;
}
.tfz_seikyo > div{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
}
.tfz_seikyo .tfz_ph{
  width: 100px;
  aspect-ratio: 1;
}
.tfz_seikyo p{
  line-height: 1.375;
  font-size: clamp(0.875rem, 0.584rem + 1.08vw, 1.125rem);/*14-18 430-800*/
  font-weight: bold;
  color: #3D6FAE;
}
.tfz_seikyo span{
  display: block;
  margin-top: 8px;
  font-size: 0.625rem;
  font-weight: bold;
  color: #777777;
}

/*セクション間の文章など*/
.tfz_betweensection{
  max-width: 792px;
  margin: auto;
  padding: clamp(56px, 13.75vw, 110px) 16px clamp(64px, 13vw, 104px);/*÷800*/
  background: radial-gradient(closest-side, #FFFFFF 0%, #FFFFFF 54.39%, rgba(255, 255, 255, 0) 100%) center top -48px no-repeat;
  background-size: 760px 760px;
}
.tfz_betweensection > p{
  line-height: 2.25;
  text-align: center;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_betweensection > p span{
  display: block;
}
.tfz_ytb{
  max-width: 640px;
  aspect-ratio: 16/9;
  margin: 126px auto 0;
  border: clamp(2px, 3.625vw, 29px) solid #FFFFFF;
  box-shadow: 0px 3px 37px #FFDB87;
  box-sizing: content-box !important;
}
.tfz_ytb iframe{
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

/*よくある質問*/
.tfz_sectionttl{
  margin-bottom: 36px;
  text-align: center;
}
.tfz_faq{
  padding: 32px 16px 72px;
  background-color: #FFFFFF;
}
.tfz_faq dl{
  max-width: 800px;
  margin: auto;
}
.tfz_faq dl dt,
.tfz_faq dl dd{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_faq dl dt:nth-of-type(n+2){
  margin-top: 32px;
}
.tfz_faq dl dt div,
.tfz_faq dl dd div{width: clamp(24px, 4vw, 32px);}
.tfz_faq dl dt p,
.tfz_faq dl dd p{
  width: calc(100% - clamp(24px, 4vw, 32px));
  padding-top: clamp(2px, 0.375vw, 3px);
}
.tfz_faq dl dd p span{
  font-size: 0.9em;
}

/*マタニティコンサートバナー*/
.tfz_bnr{
  margin:48px auto 0;
  max-width:1000px;
  width:90%;
}
.tfz_bnr img{
  width:100%;
}

/*はじめまして写真館*/
.tfz_syashinkan{
  padding: 100px 0 0;
}
.tfz_syashinkan ul li{
  width: 300px;
  height: 300px;
  border-radius: 20px;
  margin: 0 10px;
  background-color: #F5F5F5;
}
.tfz_syashinkan ul li img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  border: 6px solid #FFFFFF;
  box-shadow: 0px 3px 30px #D6BC9A;
}
.tfz_txt8{
  margin: 32px auto 10px;
  text-align: center;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  font-weight: bold;
  color: #E9527A;
}
.tfz_syashinkan p a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 52px;
  margin: auto;
  text-align: center;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.439rem + 1.62vw, 1.25rem);/*14-20 430-800*/
  color: #E95379;
  border-radius: 26.4px;
  background-color: #FFFFFF;
  border: 2px solid #E95379;
  box-shadow: 0px 4px 11px #E8A7B8;
}



/*アーカイブス*/
.tfz_archives{
  padding: 64px 0 56px;
}
.tfz_txt9{
  padding: 0 16px;
  text-align: center;
  font-size: clamp(0.875rem, 0.584rem + 1.08vw, 1.125rem);/*14-18 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_txt9 span{
  display: block;
}
.tfz_archiveslide{
  margin-top: 32px;
}
.tfz_archiveslide .slick-slide{
  width: 640px;
  margin-right: 30px;
  aspect-ratio: 16/9;
}
.tfz_archiveslide .slick-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  border: 6px solid #FFFFFF;
}
.tfz_backnumber{
  margin-top: 20px;
  text-align: center;
}
.tfz_backnumber a{
  text-decoration: underline;
  font-size: 1rem;
  font-weight: bold;
  color: #4072B0;
}

/* kosodatebook */
.swiper-container {
  overflow-x: hidden;
  cursor: pointer;
}
.tfz_kosodatebook{
  position: relative;
  margin: 0 auto;
  margin-bottom: 56px;
  padding: 0 16px 16px;
  background-color: #760405;
  border-radius: 10px 10px 0 0;
  max-width: 1000px;
}
.tfz_kosodatebook::after{
  content: '';
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 34px;
  background-image: url(../img/index/banner_kosodatebook.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
.tfz_kosodatebooktxt{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 18px 0 0 0;
  margin-bottom: 8px;
}
p.tfz_kosodatebooktxt01 {
  color: #FFFFFF;
  font-size: 1.75rem;
  font-weight: 600;
}
p.tfz_kosodatebooktxt02 {
  color: #FFE287;
  font-family:  "メイリオ", Meiryo,;
  line-height: 1.2;
}

/*協賛社リンク*/
.tfz_sponsor{
  padding: 56px 16px 72px;
  background-color: #FFFFFF;
}
.tfz_sponsor h2{
  margin-bottom: 24px;
  text-align: center;
  font-size: clamp(1rem, 0.274rem + 2.7vw, 1.625rem);/*16-26 430-800*/
  font-weight: bold;
  color: #777777;
}
.tfz_sponsor ul{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  max-width: 1260px;
  margin: auto;
}
.tfz_sponsor ul.tfz_infolist{
  margin-bottom: 32px;
}
.tfz_sponsor ul.tfz_infolist li{
  width: 400px;
  aspect-ratio: 1;
}
.tfz_infolist_s li{
  width: 220px;
  aspect-ratio: 1;
}
.tfz_sponsor ul.tfz_infolist img,
.tfz_sponsor ul.tfz_infolist_s img{
  width: 100%;
  image-rendering: -webkit-optimize-contrast;
}
/*バナー*/
.tfz_sponsorbanner{
  max-width: 1232px;
  padding: 100px 16px 32px;
  margin: auto;
  border-bottom: 2px solid #FFFFFF;
}
.tfz_sponsorbanner ul{
  display: flex;
  justify-content: center;
}
.tfz_sponsorbanner ul:first-of-type{
  gap: clamp(8px, 1.92vw, 24px);/*÷1250*/
  margin-bottom: 40px;
}
.tfz_sponsorbanner ul:last-of-type{
  flex-wrap: wrap;
  gap: clamp(8px, 1.92vw, 24px) 2%;/*÷1250*/
  width: clamp(320px, 71.4vw, 880px);/*÷1200*/
  margin: auto;
  margin-bottom: 24px;
}
.tfz_sponsorbanner ul:first-of-type li{
  width: clamp(160px, 22.32vw, 275px);/*÷1232*/
}
.tfz_sponsorbanner ul:last-of-type li{
  width: 23.5%;
}
.tfz_sponsorbanner ul li{background-color: #FFFFFF;}
.tfz_sponsorbanner ul li img{width: 100%;}
.tfz_sponsorbanner dl{
  display: flex;
  justify-content: center;
  font-size: clamp(0.825rem, 2.25vw, 1.25rem);/*÷800*/
  font-weight: bold;
  color: #777;
}
.tfz_sponsorbanner dd{
  display:flex;
  gap:0 1.5em;
}

.tfz_specialbnr{
  text-align:center;
  padding: 20px 0;
}
.tfz_banner{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 24px;
  max-width: 1200px;
  margin: auto;
  padding-bottom: 56px;
}
.tfz_banner div{width: 410px;}


.tfz_chasebtnwrap{
  position: fixed;
  display: none;
  left: 0;
  bottom: 0;
  width: 100%;
  height: clamp(96px, 20.625vw, 165px);/*÷800*/
  z-index: 100;
}
.tfz_chasebtn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.84) 44.77%, rgb(255, 255, 255, 0.84) 100%);
}





@media (hover: hover) and (pointer: fine) {
  .tfz_archiveslide a:hover{opacity: 0.5;}
  .tfz_banner a:hover{opacity: 0.7;}
  .tfz_sponsor ul li a:hover{opacity: 0.5;}
  .tfz_sponsorbanner ul li a:hover{opacity: 0.5;}
  .tfz_kosodatebooklist div.swiper-slide:hover,
  .tfz_specialbnr img:hover{opacity: 0.7;}
}






@media screen and (max-width:1250px){/*1232+17+おまけ1px*/
  .tfz_circle{
    background-size: calc(100vw - 32px) calc(100vw - 32px);
  }
  .tfz_sponsor{
    padding: 4.48vw 1.25vw 5.76vw;
  }
  .tfz_sponsorbanner{
    padding: 3.8vw 16px 4.4vw;
  }
}
@media screen and (max-width:1017px){
  .tfz_body{padding-top: 17.5vw;}
}
@media screen and (max-width:990px){/*デザイン依存*/
  .slick-next{right: 0;}
  .slick-prev{
    left: auto;
    right: 52px;
  }
  .tfz_archiveslide .slick-dots{right: 102px;}


  .tfz_banner div{width: 41.41vw;}
}
@media screen and (max-width:800px){
  .tfz_gnav{flex-wrap: wrap;}
  .tfz_gnav li{width: calc(50% - 8px);}
  .tfz_gnav li a{height: clamp(48px, 7vw, 56px);/*÷800*/}
  .tfz_boxphoto{top: 124px;}
  .tfz_txt2{
    line-height: 2;
    margin: clamp(40px, 23vw, 180px) auto 0;
    text-align: left;
  }
  .tfz_txt2 span{display: inline;}

  .tfz_txt3{
    line-height: 1.75;
    text-align: left;
  }
  .tfz_txt3 span{display: inline;}


  .tfz_txt4{text-align: left;}
  .tfz_txt5{text-align: left;}
  .tfz_goods,
  .tfz_goods:nth-of-type(2){
    flex-flow: column;
    background-position: center bottom;
    background-size: 100% 200px;
  }
  .tfz_goods:nth-of-type(2){margin-top: 56px;}
  .tfz_goods .tfz_text{display: contents;}
  .tfz_goods h4{order: 1;}
  .tfz_goods .tfz_ph{order: 2;}
  .tfz_goods p{order: 3;}
  .tfz_goods span{order: 4;}
  h4.tfz_ttlred{text-align: left;}
  .tfz_txt6{text-align: left;}
  .tfz_txt6 span{display: inline;}
  .tfz_timecapsule{flex-wrap: wrap;}
  .tfz_timecapsule .tfz_text img{display: none;}
  .tfz_txt7{text-align: left;}


  .tfz_betweensection > p{text-align: left;}
  .tfz_betweensection > p span{display: inline;}

  .tfz_txt9{text-align: left;}
  .tfz_archive{
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 0;
  }
  .tfz_archiveslide{
    width: 100%;
    padding-top:0;
  }
  .tfz_archiveslide .slick-slide,
  .tfz_archiveslide .slick-slide img{width: 240px;}


  .tfz_sponsor{
    margin-bottom: 56px;
    padding: 48px 16px 56px;
  }
  .tfz_sponsor ul.tfz_infolist_s{
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 4%;
  }
  .tfz_sponsor ul.tfz_infolist_s li{width: 30%;}


  .tfz_sponsorbanner ul:first-of-type{gap: 8px;}
  .tfz_sponsorbanner ul:first-of-type li{width: calc(50% - 4px);}



  .tfz_banner div{width:46%;}
  .tfz_specialbnr{
    width:43.75%;
    margin:auto;
  }


  .tfz_chasebtnwrap{bottom: calc(15.4vw + 26px);}
}


@media screen and (max-width:640px){
  .tfz_kosodatebooktxt{
    justify-content: center;
    flex-wrap: wrap;
  }
  p.tfz_kosodatebooktxt01{
    font-size: 1.5rem;
  }
  p.tfz_kosodatebooktxt02{
    font-size: clamp(0.875rem, 0.619rem + 0.95vw, 1rem);
    /* 14-16 430-640 */
  }
  .tfz_sponsorbanner dl{
    flex-wrap:wrap;
  }
  .tfz_sponsorbanner dt{
    width:100%;
    text-align:center;
  }
  .tfz_sponsorbanner dd{
    justify-content:space-between;
    gap:0 1em;
  }
}

@media screen and (max-width:430px){
  .tfz_seikyo > div{flex-wrap: wrap;}


  .tfz_banner {
    padding: 0 16px 56px;
  }

  .tfz_sponsorbanner ul:first-of-type{flex-wrap: wrap;}
  .tfz_sponsorbanner ul:last-of-type li{width: 48%;}
}

@media screen and (max-width:400px){
}

