.p_top_mv {
  position: relative;
  min-height: 720px;
}
.p_top_mv_bg {
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.p_top_mv_heart {
  display: flex;
  align-items: flex-end;
  position: fixed;
  bottom: -8px;
  left: -3px;
  z-index: 4;
  pointer-events: none;
}
.p_top_mv_heart_link {
  pointer-events: all;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  width: 100%;
}
.p_top_mv_heart_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  line-height: 1.25;
  font-size: 1rem;
  margin-top: -11px;
}
.p_top_mv_heart_img {
  display: block;
  width: 141px;
  transition: all 0.5s;
}

.p_top_intro {
  background-color: transparent !important;
  position: relative;
  min-height: 584px;
}
.p_top_intro_main {
  position: relative;
  padding: 55px 0 33px;
}
.p_top_intro .container {
  position: relative;
  z-index: 3;
}
.p_top_intro_txt {
  display: flex;
  flex-direction: column;
  text-align: center;
  margin-top: 25px;
}
.p_top_intro_txt:first-child {
  margin-top: 0;
}
.p_top_intro_txt .wrap {
  line-height: 1.2;
  display: block;
  margin-top: 3px;
}
.p_top_intro_txt .wrap:first-child {
  margin-top: 0;
}
.p_top_intro_txt .txt {
  font-family: "Zen Kaku Gothic New", serif;
  font-size: 1rem;
  letter-spacing: -0.06em;
  font-weight: 700;
  color: #000;
  background: linear-gradient(0deg, #ff789d 15px, transparent 15px) no-repeat;
  background-position-y: -4px;
  padding: 0 3px;
}
.p_top_intro_frame {
  position: relative;
  border-radius: 9px;
  background-color: #000;
  margin-top: 77px;
  padding: 17px 17px 24px;
}
.p_top_intro_frame_questionmark {
  position: absolute;
  left: -1px;
  top: -30px;
  width: 50px;
  height: 50px;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  line-height: 1;
  z-index: 1;
  color: #fff;
}
.p_top_intro_frame_ttl {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  text-align: center;
  color: #fff;
  letter-spacing: 0.2em;
  font-size: 1rem;
}
.p_top_intro_frame_txt {
  margin-top: 11px;
}
.p_top_intro_frame_txt .txt {
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-size: 0.8125rem;
  margin-top: 22px;
}
.p_top_intro_frame_txt .txt:first-child {
  margin-top: 0;
}

.p_top_point {
  background-color: #ff789d;
  padding: 29px 0 23px;
}
.p_top_point .container {
  position: relative;
  padding: 0;
}
.p_top_point_heart {
  position: absolute;
  right: 0;
  top: 30px;
  width: 178px;
}
.p_top_point_imgs {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 23px auto 0;
  padding: 0 11px;
  max-width: 408px;
}
.p_top_point_img {
  position: relative;
}
.p_top_point_img .img {
  position: relative;
  display: block;
}
.p_top_point_img .img img {
  display: block;
  width: 100%;
  height: 100%;
  border: solid 2px #000;
}
.p_top_point_img .txts {
  position: absolute;
  right: 0;
  bottom: 0;
}
.p_top_point_img .txt01,
.p_top_point_img .txt02 {
  display: block;
  text-align: center;
  border: solid 2px #000;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
}
.p_top_point_img .txt01 {
  background-color: #fff;
  letter-spacing: 0.2em;
  font-size: 1rem;
  font-size: clamp(0.75rem, 7.2727272727vw + -0.7045454545rem, 1rem);
  padding: 2px 5px;
  line-height: 1.3;
}
.p_top_point_img .txt02 {
  text-align: left;
  background-color: #000;
  color: #fff;
  padding: 2px 7px;
  line-height: 1.3;
  font-size: 0.75rem;
  font-size: clamp(0.625rem, 3.6363636364vw + -0.1022727273rem, 0.75rem);
}
.p_top_point_img.i01 {
  max-width: clamp(9.3125rem, 72.7272727273vw + -5.2329545455rem, 11.8125rem);
  width: 100%;
}
.p_top_point_img.i01 .txt02 {
  text-align: right;
}
.p_top_point_img.i02 {
  margin-top: clamp(0.1875rem, 23.6363636364vw + -4.5397727273rem, 1rem);
  width: 100%;
  max-width: 139px;
  position: relative;
  right: 4px;
}
.p_top_point_img.i02 .txt01 {
  writing-mode: vertical-lr;
  -webkit-writing-mode: vertical-lr;
  padding: 7px 0;
  letter-spacing: 0.24em;
  width: 25px;
}
.p_top_point_img.i03 {
  width: 100%;
  max-width: clamp(8.75rem, 74.5454545455vw + -6.1590909091rem, 11.3125rem);
  margin-top: clamp(-1.9375rem, 70.9090909091vw + -16.1193181818rem, 0.5rem);
}
.p_top_point_img.i03 .txts {
  top: -6px;
  left: 0;
  right: auto;
  bottom: auto;
  width: calc(100% + clamp(0rem, 21.8181818182vw + -4.3636363636rem, 0.75rem));
}
.p_top_point_img.i03 .txt01 {
  padding: 2px 2px 1px;
}
.p_top_point_img.i03 .txt02 {
  display: inline-block;
  padding: 1px 4px;
}
.p_top_point_img.i04 {
  width: 100%;
  max-width: 150px;
  margin-top: clamp(0.9375rem, 25.4545454545vw + -4.1534090909rem, 1.8125rem);
}
.p_top_point_img.i04 .txts {
  left: 0;
  right: auto;
}
.p_top_point_img.i04 .txt01 {
  padding: 0 4px;
}
.p_top_point_chart {
  margin: 15px auto 0;
  max-width: 355px;
  width: 100%;
  position: relative;
  left: 7px;
}
.p_top_point_recommend {
  margin-top: 45px;
}
.p_top_point_recommend_content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 364px;
  width: 100%;
  margin: -10px auto;
}
.p_top_point_recommend_img01 {
  width: 100%;
  text-align: center;
  width: 100%;
  padding: 0 1px 0 4px;
  max-width: 375px;
  margin: 0 auto -29px;
}
.p_top_point_recommend_txt01 {
  width: 140px;
  position: relative;
  margin-top: 37px;
  right: -7px;
}
.p_top_point_recommend_txt02 {
  width: 113px;
  position: relative;
  left: 6px;
}

.p_top_work {
  background-color: #fed6e1;
  padding: 25px 0 48px;
}
.p_top_work .container {
  position: relative;
  padding: 0;
}
.p_top_work .c_ttl01_en {
  right: -5px;
  margin-bottom: -2px;
}
.p_top_work .c_ttl01_jp .bg {
  padding-left: 21px;
}
.p_top_work_heart {
  position: absolute;
  right: 0;
  top: 58px;
  width: 164px;
}
.p_top_work_heart img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p_top_work_txt01 {
  position: relative;
  padding: 0 26px;
  margin-top: 21px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
  font-size: 0.8125rem;
}
.p_top_work_slide {
  position: relative;
  overflow: hidden;
  padding: 30px 0 0;
  margin-top: 25px;
}
.p_top_work_slide_wrapper {
  opacity: 0;
  margin: 0 auto;
  flex-shrink: 0;
  width: 305px;
}
.p_top_work_slide_wrapper.show {
  opacity: 1;
}
.p_top_work_slide .slick-list {
  overflow: visible !important;
}
.p_top_work_slide .slick-track {
  display: flex !important;
}
.p_top_work_slide .slick-current {
  height: 100% !important;
}
.p_top_work_slide .slick-slide {
  width: 100%;
  position: relative;
  height: inherit !important;
  transition: transform 0.7s ease-in-out;
  transition-delay: 0ms;
  border-radius: 14.9px;
  margin: 0 11px;
}
.p_top_work_slide .slick-slide::after {
  content: "";
  border-radius: 14.9px;
  position: absolute;
  left: 10px;
  top: 10px;
  height: 10px;
  width: calc(100% - 10px);
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: all 0.5s;
  z-index: -1;
}
.p_top_work_slide .slick-slide > div {
  height: 100%;
}
.p_top_work_slide .slick-slide.slick-current.slick-active {
  transform: translateY(-30px);
  transition-delay: 500ms;
}
.p_top_work_slide .slick-slide.slick-current.slick-active::after {
  opacity: 1;
}
.p_top_work_slide .slick-slide.slick-current.slick-active .p_top_work_slide_item {
  max-width: calc(100% - 10px);
}
.p_top_work_slide .slick-dots {
  text-align: center;
  margin-top: 18px;
}
.p_top_work_slide .slick-dots li {
  display: inline-block;
  width: 9px;
  height: 9px;
  border: solid 1px #1c1b1f;
  background-color: transparent;
  color: transparent;
  transition: all 0.5s;
  border-radius: 50%;
  margin: 0 2px;
}
.p_top_work_slide .slick-dots li button {
  width: 100%;
  height: 100%;
  display: block;
}
.p_top_work_slide .slick-dots li button:focus {
  outline: 0;
}
.p_top_work_slide .slick-dots li.slick-active {
  background-color: #000;
}
.p_top_work_slide .slick-arrow {
  position: absolute;
  z-index: 1;
  background: url(../images/common/icon_arrow_01.svg) no-repeat center/contain;
  width: 30px;
  height: 30px;
  top: 148px;
}
.p_top_work_slide .slick-arrow.slick-prev {
  left: -10px;
  transform: scaleX(-1);
}
.p_top_work_slide .slick-arrow.slick-next {
  right: -14px;
}
.p_top_work_slide_item {
  width: calc(100% - 10px);
  position: relative;
  display: block;
  z-index: 1;
  height: 100%;
  border-radius: 14.9px;
  border: solid 2px #000;
  background-color: #fff;
  transition: 300ms linear;
  margin: 0 auto;
  transition: max-width 500ms ease-out;
}
.p_top_work_slide_item_link {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  z-index: 1;
}
.p_top_work_slide_item_head {
  padding: 7px 19px;
  margin-bottom: 11px;
}
.p_top_work_slide_item_number {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  font-style: italic;
  line-height: 1;
  font-size: 1.845625rem;
  margin-left: -37px;
}
.p_top_work_slide_item_number .txt_sharp {
  display: inline-block;
  font-size: 1.476875rem;
}
.p_top_work_slide_item_ttl {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  font-size: 1.28125rem;
  letter-spacing: 0.15em;
  color: #000;
  line-height: 1.5;
  margin-top: 5px;
}
.p_top_work_slide_item_txt {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-top: 6px;
}
.p_top_work_slide_item_txt .icon {
  display: inline-block;
  width: 12px;
  height: 12px;
}
.p_top_work_slide_item_labels {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 3px;
  margin-top: 15px;
}
.p_top_work_slide_item_label {
  display: inline-block;
  background-color: #fed6e1;
  border-radius: 4px;
  padding: 5px 8px 3px;
  font-family: "Zen Kaku Gothic New", serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.p_top_work_slide_item_label .txt {
  display: inline-block;
}
.p_top_work_slide_item_label .icon {
  display: inline-block;
  position: relative;
  line-height: 1;
  top: 1px;
  width: 12px;
  height: 12px;
}
.p_top_work_slide_item_img {
  border-top: 2px solid #000;
  margin-top: auto;
}
.p_top_work_slide_item_img img {
  border-radius: 0 0 13px 13px;
}
.p_top_work_frame {
  padding: 0 22px 0 18px;
  margin-top: 35px;
}

.p_top_faq {
  background-color: #ff789d;
  padding: 22px 0 55px;
}
.p_top_faq .container {
  position: relative;
  padding: 0;
}
.p_top_faq .c_ttl01_en {
  left: 6px;
  width: calc(100% - 6px);
  margin-bottom: clamp(-0.875rem, -34.5454545455vw + 7.2215909091rem, 0.3125rem);
}
.p_top_faq .c_ttl01_jp .bg {
  padding: 0 10px;
}
.p_top_faq_heart {
  position: absolute;
  right: -5px;
  top: 22px;
  width: 175px;
}
.p_top_faq_heart.i02 {
  top: 431px;
  width: 175px;
  right: 2px;
}
.p_top_faq_main {
  padding: 0 14px 0 11px;
  margin-top: 16px;
}
.p_top_faq_item {
  position: relative;
  background-color: #fff;
  z-index: 1;
  box-shadow: 0 4.42px 4.42px rgba(0, 0, 0, 0.25);
  transition: all 0.5s;
  margin-top: 35px;
}
.p_top_faq_item::after {
  position: absolute;
  content: "";
  left: 5px;
  top: 4px;
  background-color: #fff;
  width: 100%;
  height: 100%;
  z-index: -1;
  border: solid 1px #000;
}
.p_top_faq_item.active {
  margin-bottom: -15px;
}
.p_top_faq_item.is_open {
  box-shadow: none;
}
.p_top_faq_item.is_open::after {
  left: 0;
  top: 0;
}
.p_top_faq_item:first-child {
  margin-top: 0;
}
.p_top_faq_item_head {
  border: solid 1px #000;
  position: relative;
  display: flex;
  background-color: #000;
  padding: 14px clamp(1.625rem, 29.0909090909vw + -4.1931818182rem, 2.625rem) 14px 16px;
  color: #fff;
}
.p_top_faq_item_head .ttl_q,
.p_top_faq_item_head .ttl {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.12;
}
.p_top_faq_item_head .ttl_q {
  margin-right: 7px;
}
.p_top_faq_item_head::after, .p_top_faq_item_head::before {
  position: absolute;
  content: "";
  background-color: #fff;
  transition: all 0.5s;
}
.p_top_faq_item_head::before {
  right: clamp(1.25rem, 14.5454545455vw + -1.6590909091rem, 1.75rem);
  top: 16px;
  height: 14px;
  width: 1px;
}
.p_top_faq_item_head::after {
  right: clamp(0.8125rem, 14.5454545455vw + -2.0965909091rem, 1.3125rem);
  top: 22px;
  width: 14px;
  height: 1px;
}
.p_top_faq_item_body {
  border: solid 1px #000;
  border-top: 0;
  display: none;
  background-color: #fff;
  padding: 20px 12px 18px;
}
.p_top_faq_item_content .txt {
  display: inline-block;
  font-size: 0.8125rem;
  padding: 9px 14px 6px 16px;
  border-radius: 13px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.p_top_faq_item_content .icon {
  width: 15px;
  height: 15px;
  display: inline-block;
}
.p_top_faq_item_content .icon img {
  display: block;
  width: 100%;
}
.p_top_faq_item_content .icon02 {
  margin-right: 3px;
}
.p_top_faq_item_content .icon05,
.p_top_faq_item_content .icon08,
.p_top_faq_item_content .icon09 {
  width: 13px;
  height: 13px;
}
.p_top_faq_item_content_txt01 {
  text-align: right;
}
.p_top_faq_item_content_txt01 .txt {
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 9px 8px 8px 16px;
}
.p_top_faq_item_content_txt02 .txt, .p_top_faq_item_content_txt03 .txt, .p_top_faq_item_content_txt04 .txt {
  background-color: #eff1f5;
  color: #000;
}
.p_top_faq_item_content_group01 {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
}
.p_top_faq_item_content_group01 .p_top_faq_item_content_txt03 {
  flex-shrink: 0;
  width: 216px;
  margin-right: 30px;
}
.p_top_faq_item_content_img01 {
  position: absolute;
  left: calc(100% - 16px);
  top: -21px;
  width: 104px;
}
.p_top_faq_item_content_bottom {
  border-top: dashed 1px #000;
  margin-top: 28px;
  padding-top: 14px;
}
.p_top_faq_item_content_group02 {
  display: flex;
  align-items: flex-start;
}
.p_top_faq_item_content_group02 .img {
  width: 81px;
  margin: -25px 15px 0 clamp(1.25rem, 12.7272727273vw + -1.2954545455rem, 1.6875rem);
}
.p_top_faq_item_content_group02 .mess {
  position: relative;
  border: solid 1px #000;
  padding: 5px 10px 10px 10px;
}
.p_top_faq_item_content_group02 .mess::after, .p_top_faq_item_content_group02 .mess::before {
  position: absolute;
  content: "";
}
.p_top_faq_item_content_group02 .mess::after {
  left: -1px;
  top: 100%;
  border-right: solid 15px transparent;
  border-top: solid 15px #000;
}
.p_top_faq_item_content_group02 .mess::before {
  left: 0;
  top: 100%;
  border-right: solid 13px transparent;
  border-top: solid 13px #fff;
  z-index: 1;
}
.p_top_faq_item_content_group02 .mess_txt {
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #000;
  font-size: 0.8125rem;
}
.p_top_faq_item_content_group03 {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
}
.p_top_faq_item_content_group03 .img {
  position: absolute;
  top: -19px;
  left: calc(100% - clamp(2.5625rem, -154.5454545455vw + 38.7840909091rem, 7.875rem));
  width: clamp(7.5rem, 12.7272727273vw + 4.9545454545rem, 7.9375rem);
}
.p_top_faq_item_content_group03 .txt {
  padding-right: clamp(0rem, -203.6363636364vw + 47.7272727273rem, 7rem);
}
.p_top_faq_item01 .p_top_faq_item_content_txt02 {
  margin-top: 22px;
  width: clamp(15.625rem, 60vw + 3.625rem, 17.6875rem);
}
.p_top_faq_item01 .p_top_faq_item_content_txt03 {
  width: clamp(10.9375rem, 74.5454545455vw + -3.9715909091rem, 13.5rem);
  margin-top: 10px;
}
.p_top_faq_item01 .p_top_faq_item_content_txt03 .txt {
  padding: 9px 12px 6px 16px;
}
.p_top_faq_item01 .p_top_faq_item_content_txt04 {
  margin-top: 30px;
  width: clamp(16.875rem, 81.8181818182vw + 0.5113636364rem, 19.6875rem);
}
.p_top_faq_item02 .p_top_faq_item_content_txt01 .txt {
  padding: 9px 15px 8px 17px;
}
.p_top_faq_item02 .p_top_faq_item_content_txt02 {
  margin-top: 20px;
  width: clamp(16.25rem, 41.8181818182vw + 7.8863636364rem, 17.6875rem);
}
.p_top_faq_item02 .p_top_faq_item_content_txt03 {
  margin-top: 10px;
}
.p_top_faq_item03 .p_top_faq_item_content_txt01 .txt {
  padding: 9px 15px 8px 32px;
}
.p_top_faq_item03 .p_top_faq_item_content_txt02 {
  margin-top: 20px;
  width: clamp(16.25rem, 41.8181818182vw + 7.8863636364rem, 17.6875rem);
}
.p_top_faq_item03 .p_top_faq_item_content_txt03 {
  margin-top: 10px;
  width: clamp(16.875rem, 45.4545454545vw + 7.7840909091rem, 18.4375rem);
}
.p_top_faq_item03 .p_top_faq_item_content_bottom {
  margin-top: 31px;
}

.p_top_map {
  position: relative;
  padding: 9px 0 66px;
  background: #fff url(../images/top/bg_map_01.png) repeat;
}
.p_top_map .container {
  position: relative;
  padding: 0;
}
.p_top_map_heart {
  position: absolute;
  right: -11px;
  top: 22px;
  width: 175px;
}
.p_top_map .c_ttl01_en {
  color: #f16c87;
  margin-bottom: -3px;
  right: -3px;
}
.p_top_map .c_ttl01_jp .bg {
  padding-left: 20px;
}
.p_top_map_main {
  padding: 0 12px;
  margin-top: 17px;
}
.p_top_map_box {
  position: absolute;
  right: 10px;
  bottom: -28px;
  display: flex;
  align-items: flex-end;
}
.p_top_map_box_icon {
  width: 22px;
  position: absolute;
  right: 3px;
  bottom: 11px;
  transform: rotate(-11.19deg);
}
.p_top_map .c_map_img_sp.c_map_img {
  max-width: 348px;
  width: 100%;
  margin: 0 auto;
}
.p_top_map .c_map_img_sp.c_map_img svg {
  width: 100%;
}
.p_top_map #c_map_heart08_sp {
  right: 17px;
  top: clamp(0rem, -30.9090909091vw + 7.2443181818rem, 1.0625rem);
}
.p_top_map #c_map_heart03_sp {
  right: 18px;
  top: clamp(-1.875rem, -36.3636363636vw + 6.6477272727rem, -0.625rem);
}
.p_top_map #c_map_heart01_sp {
  left: -9px;
  top: clamp(-4.0625rem, -36.3636363636vw + 4.4602272727rem, -2.8125rem);
}
.p_top_map #c_map_heart01_sp.c_map_popup::after {
  left: calc(50% + clamp(1.875rem, 72.7272727273vw + -12.6704545455rem, 4.375rem));
}
.p_top_map #c_map_heart02_sp {
  left: -3px;
  top: -33px;
}
.p_top_map #c_map_heart02_sp.c_map_popup::after {
  left: calc(50% + clamp(3.5rem, 43.6363636364vw + -5.2272727273rem, 5rem));
}
.p_top_map #c_map_heart04_sp {
  left: -9px;
  top: clamp(-0.9375rem, -12.7272727273vw + 1.6079545455rem, -1.375rem);
}
.p_top_map #c_map_heart04_sp.c_map_popup::after {
  left: calc(50% + clamp(2.25rem, 61.8181818182vw + -10.1136363636rem, 4.375rem));
}
.p_top_map #c_map_heart07_sp {
  right: clamp(1.5625rem, 38.1818181818vw + -6.0738636364rem, 2.875rem);
  top: 17px;
}
.p_top_map #c_map_heart07_sp.c_map_popup::after {
  left: calc(50% + 55px);
}
.p_top_map #c_map_heart05_sp {
  left: -10px;
  top: clamp(-0.5625rem, -25.4545454545vw + 5.4034090909rem, 0.3125rem);
}
.p_top_map #c_map_heart05_sp.c_map_popup::after {
  left: calc(50% + clamp(0.9375rem, 36.3636363636vw + -6.3352272727rem, 2.1875rem));
}
.p_top_map #c_map_heart06_sp {
  left: 37px;
  top: clamp(-0.3125rem, -27.2727272727vw + 6.0795454545rem, 0.625rem);
}
.p_top_map #c_map_heart06_sp.c_map_popup::after {
  left: calc(50% + clamp(0.9375rem, 36.3636363636vw + -6.3352272727rem, 2.1875rem));
}
.p_top_map #c_map_heart09_sp {
  left: -5px;
  top: clamp(1.25rem, -27.2727272727vw + 7.6420454545rem, 2.1875rem);
}
.p_top_map #c_map_heart09_sp.c_map_popup::after {
  left: calc(50% + clamp(1.875rem, 36.3636363636vw + -5.3977272727rem, 3.125rem));
}
.p_top_map #c_map_heart10_sp {
  left: 35px;
  top: clamp(0.625rem, -18.1818181818vw + 4.8863636364rem, 1.25rem);
}
.p_top_map #c_map_heart10_sp.c_map_popup::after {
  left: calc(50% + clamp(-4.0625rem, 9.0909090909vw + -5.8806818182rem, -3.75rem));
}
.p_top_map #c_map_heart11_sp {
  left: -5px;
  top: clamp(0.625rem, -18.1818181818vw + 4.8863636364rem, 1.25rem);
}
.p_top_map #c_map_heart11_sp.c_map_popup::after {
  left: calc(50% + clamp(0.125rem, 36.3636363636vw + -7.1477272727rem, 1.375rem));
}
.p_top_map #c_map_heart12_sp {
  left: 6px;
  top: 71px;
}
.p_top_map #c_map_heart12_sp.c_map_popup::after {
  left: calc(50% + clamp(0.9375rem, 27.2727272727vw + -4.5170454545rem, 1.875rem));
}
.p_top_map #c_map_heart14_sp {
  left: 0;
  top: 80px;
}
.p_top_map #c_map_heart14_sp.c_map_popup::after {
  left: calc(50% + clamp(2.5rem, 45.4545454545vw + -6.5909090909rem, 4.0625rem));
}
.p_top_map #c_map_heart13_sp {
  right: clamp(2.5rem, 32.7272727273vw + -4.0454545455rem, 3.625rem);
  top: 70px;
}
.p_top_map #c_map_heart15_sp {
  left: clamp(-0.5rem, 50.9090909091vw + -10.6818181818rem, 1.25rem);
  top: clamp(6.25rem, 10.9090909091vw + 4.0681818182rem, 6.625rem);
}
.p_top_map #c_map_heart16_sp {
  left: -6px;
  top: 120px;
}
.p_top_map #c_map_heart16_sp.c_map_popup::after {
  left: calc(50% + clamp(1.375rem, 50.9090909091vw + -8.8068181818rem, 3.125rem));
}
.p_top_map #c_map_heart17_sp {
  left: 20px;
  top: 128px;
}
.p_top_map #c_map_heart17_sp.c_map_popup::after {
  left: calc(50% + clamp(1.875rem, 63.6363636364vw + -10.8522727273rem, 4.0625rem));
}
.p_top_map #c_map_heart18_sp {
  left: 41px;
  top: 124px;
}
.p_top_map #c_map_heart18_sp.c_map_popup::after {
  left: calc(50% + clamp(1.875rem, 63.6363636364vw + -10.8522727273rem, 4.0625rem));
}
.p_top_map #c_map_heart21_sp {
  left: 7px;
  top: clamp(9.6875rem, 18.1818181818vw + 6.0511363636rem, 10.3125rem);
}
.p_top_map #c_map_heart21_sp.c_map_popup::after {
  left: calc(50% + clamp(0.9375rem, 52.7272727273vw + -9.6079545455rem, 2.75rem));
}
.p_top_map #c_map_heart19_sp {
  left: clamp(-0.3125rem, 63.6363636364vw + -13.0397727273rem, 1.875rem);
  top: clamp(11.25rem, 18.1818181818vw + 7.6136363636rem, 11.875rem);
}
.p_top_map #c_map_heart20_sp {
  left: clamp(-0.625rem, -9.0909090909vw + 1.5056818182rem, -0.3125rem);
  top: clamp(11.25rem, 27.2727272727vw + 5.7954545455rem, 12.1875rem);
}
.p_top_map #c_map_heart20_sp.c_map_popup::after {
  left: calc(50% - clamp(1.875rem, -45.4545454545vw + 12.5284090909rem, 3.4375rem));
}

.p_top_costume {
  background-color: #ff789d;
  padding: 28px 0 0;
}
.p_top_costume .container {
  position: relative;
  padding: 0;
}
.p_top_costume_heart {
  position: absolute;
  right: 0;
  top: 14px;
  width: 165px;
}
.p_top_costume .c_ttl01_en {
  right: -8px;
  margin-bottom: clamp(-0.4375rem, -21.8181818182vw + 4.6761363636rem, 0.3125rem);
}
.p_top_costume .c_ttl01_jp .bg {
  padding: 0 7px 0 11px;
}
.p_top_costume_content {
  position: relative;
  max-width: 375px;
  width: 100%;
  margin: 14px auto 0;
}
.p_top_costume_txt01 {
  position: absolute;
  right: 10px;
  top: -42px;
  width: 156px;
}

.p_top_movie {
  position: relative;
  background: #ff789d url(../images/top/bg_movie_01.png) repeat;
  padding: 49px 0 62px;
}
.p_top_movie .container {
  position: relative;
}
.p_top_movie_frame {
  display: block;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  padding: 3px;
  width: 285px;
}
.p_top_movie_frame_inner {
  background-color: #000;
  border-radius: 20px;
  padding: 17px 20px 14px;
}
.p_top_movie_frame_ttl {
  position: relative;
  text-align: center;
  color: #fff;
  font-family: "Bigshot One", serif;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
  font-size: 2rem;
  left: 5px;
}
.p_top_movie_frame_txt {
  position: relative;
  left: 3px;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  margin-top: 16px;
  font-size: 0.8125rem;
}
.p_top_movie_frame_icon {
  margin: 9px auto 0;
  width: 41px;
}
.p_top_movie_frame_icon .link {
  position: relative;
  overflow: hidden;
  display: inline-block;
}
.p_top_movie_frame_icon .link img {
  transition: all 0.5s;
}
.p_top_movie_frame_box {
  position: absolute;
  content: "";
  right: 1px;
  bottom: -44px;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
}
.p_top_movie_frame_box .c_circle {
  margin: 0 -30px 0 0;
}
.p_top_movie_frame_box_icon {
  position: relative;
  display: inline-block;
  width: 41px;
  bottom: 11px;
  left: -4px;
}
.p_top_movie_frame_box_icon img {
  transform: rotate(-11deg);
}

.p_top_career {
  background-color: #fed6e1;
  padding: 33px 0 48px;
}
.p_top_career .container {
  position: relative;
  padding: 0 15px 0 19px;
}
.p_top_career_main {
  position: relative;
  border: solid 1px #000;
  border-radius: 20px;
  background-color: #fff;
  padding: 18px 0 46px;
}
.p_top_career_heart {
  position: absolute;
  right: 0;
  top: 38px;
  width: 141px;
}
.p_top_career_heart img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p_top_career .c_ttl01_en {
  color: #fed6e1;
  right: -6px;
  margin-bottom: clamp(-0.25rem, -16.3636363636vw + 3.5852272727rem, 0.3125rem);
}
.p_top_career .c_ttl01_jp .bg {
  padding: 0 5px 0 13px;
}
.p_top_career_content {
  position: relative;
  margin-top: 19px;
  padding: 0 17px 0 21px;
  z-index: 1;
}
.p_top_career_txt01 {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-size: 0.8125rem;
}
.p_top_career_rating {
  margin-top: 27px;
}
.p_top_career_rating_list {
  padding: 0 30px 0 15px;
}
.p_top_career_rating_item {
  display: flex;
  align-items: flex-end;
  position: relative;
  padding-bottom: 6px;
  margin-top: 30px;
}
.p_top_career_rating_item:first-child {
  margin-top: 0;
}
.p_top_career_rating_item::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background: url(../images/top/img_career_line.png) repeat-x center;
  width: 100%;
  height: 2px;
}
.p_top_career_rating_stars {
  position: relative;
  display: flex;
  gap: 3px 1px;
  bottom: 3px;
  width: 90px;
}
.p_top_career_rating_star {
  width: 11px;
  height: 11px;
}
.p_top_career_rating_star svg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p_top_career_rating_ttl {
  width: calc(100% - 90px);
  padding-left: 3px;
}
.p_top_career_rating_ttl .ttl {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.3;
  font-size: 0.9875rem;
}
.p_top_career_img {
  width: 84px;
  position: absolute;
  right: -12px;
  top: 254px;
}
.p_top_career_frame {
  margin-top: 51px;
}

.p_top_frame {
  padding: 20px 16px 16px;
  position: relative;
  border: solid 1px #000;
  background-color: #fff;
}
.p_top_frame_inner {
  position: relative;
}
.p_top_frame_icon {
  position: absolute;
  right: clamp(-0.625rem, 32.7272727273vw + -7.1704545455rem, 0.5rem);
  top: -29px;
  width: 37px;
}
.p_top_frame_icon img {
  transform: rotate(-11deg);
}
.p_top_frame_ttl {
  position: absolute;
  left: -7px;
  top: -37px;
  width: 100%;
  z-index: 1;
}
.p_top_frame_ttl .ttl {
  position: relative;
  display: inline-block;
  color: #fff;
  background-color: #000;
  padding: 5px 10px 4px;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 900;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.p_top_frame_ttl .ttl::after {
  position: absolute;
  content: "";
  left: 0;
  top: 100%;
  border-right: solid 9px transparent;
  border-top: solid 9px #000;
}
.p_top_frame_txts .txt {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 791px) {
  .p_top_mv {
    min-height: 774px;
  }
  .p_top_mv_heart {
    top: 0;
    bottom: auto;
    left: calc(50% + clamp(-9.0625rem, 49.8777506112vw + -33.7208129584rem, 3.6875rem));
    height: calc(100vh - 39px);
  }
  .p_top_mv_heart_link {
    transition: all 0.5s;
  }
  .p_top_mv_heart_link:hover .p_top_mv_heart_img {
    transform: scale(1.05);
  }
  .p_top_intro {
    min-height: 644px;
  }
  .p_top_intro_main {
    padding: 61px 0 36px;
  }
  .p_top_intro_txt {
    margin-top: 28px;
  }
  .p_top_intro_txt .txt {
    background: linear-gradient(0deg, #ff789d 17px, transparent 17px) no-repeat;
    background-position-y: -3px;
    font-size: 1.10625rem;
  }
  .p_top_intro_frame {
    padding: 17px 18px 30px;
    margin-top: 88px;
  }
  .p_top_intro_frame_questionmark {
    top: -33px;
    left: -3px;
    width: 56px;
    height: 56px;
  }
  .p_top_intro_frame_ttl {
    font-size: 1.10625rem;
  }
  .p_top_intro_frame_txt {
    margin-top: 13px;
  }
  .p_top_intro_frame_txt .txt {
    font-size: 0.89875rem;
    margin-top: 22px;
  }
  .p_top_point {
    overflow: hidden;
    padding: 33px 0 20px;
  }
  .p_top_point_heart {
    width: 192px;
    top: 34px;
  }
  .p_top_point_imgs {
    padding: 0 12px;
    margin: 26px 0 0;
    max-width: 100%;
  }
  .p_top_point_img .txt01 {
    padding: 5px;
    font-size: 1.10625rem;
  }
  .p_top_point_img .txt02 {
    padding: 2px 11px;
    font-size: 0.829375rem;
  }
  .p_top_point_img.i01 {
    width: 209px;
    max-width: 100%;
  }
  .p_top_point_img.i01 .txt01 {
    padding: 3px 2px;
  }
  .p_top_point_img.i02 {
    margin-top: 16px;
    right: 0;
    width: 156px;
    max-width: 100%;
  }
  .p_top_point_img.i02 .txt01 {
    letter-spacing: 0.284em;
    padding: 5px 2px;
    width: auto;
  }
  .p_top_point_img.i03 {
    width: 200px;
    margin-top: 4px;
    max-width: 100%;
  }
  .p_top_point_img.i03 .txts {
    width: calc(100% + 13px);
  }
  .p_top_point_img.i03 .txt01 {
    padding: 2px;
  }
  .p_top_point_img.i04 {
    margin-top: 28px;
    width: 166px;
    max-width: 100%;
  }
  .p_top_point_img.i04 .txt01 {
    padding: 0 2px 0 6px;
  }
  .p_top_point_chart {
    left: 0;
    max-width: 100%;
    padding: 0 0 0 18px;
    margin: 17px 0 0;
  }
  .p_top_point_recommend {
    margin-top: 51px;
  }
  .p_top_point_recommend_content {
    max-width: 100%;
    margin: 22px 0 0;
  }
  .p_top_point_recommend_img01 {
    max-width: 100%;
    padding: 0 34px 0 17px;
    margin: 0 auto -30px;
  }
  .p_top_point_recommend_txt01 {
    margin-top: 42px;
    right: 6px;
  }
  .p_top_point_recommend_txt02 {
    left: 19px;
  }
  .p_top_work {
    overflow: hidden;
    padding: 28px 0 53px;
  }
  .p_top_work .c_ttl01 {
    right: clamp(-0.625rem, -4.1666666667vw + 3.125rem, 0rem);
  }
  .p_top_work .c_ttl01_en {
    right: 0;
    margin-bottom: -3px;
  }
  .p_top_work .c_ttl01_jp {
    left: -10px;
  }
  .p_top_work .c_ttl01_jp .bg {
    padding-left: 23px;
  }
  .p_top_work_heart {
    top: -10px;
    width: 183px;
  }
  .p_top_work_txt01 {
    padding: 0 29px;
    margin-top: 23px;
    font-size: 0.89875rem;
  }
  .p_top_work_slide {
    padding: 35px 0 0;
    margin-top: 27px;
  }
  .p_top_work_slide_wrapper {
    width: 334px;
  }
  .p_top_work_slide .slick-slide {
    margin: 0 10px;
  }
  .p_top_work_slide .slick-slide:hover::after {
    opacity: 1;
  }
  .p_top_work_slide .slick-slide.slick-current.slick-active {
    transform: translateY(-32px);
  }
  .p_top_work_slide .slick-dots {
    margin-top: 20px;
  }
  .p_top_work_slide .slick-dots li {
    margin: 0 3px;
    width: 10px;
    height: 10px;
    transition: all 0.5s;
  }
  .p_top_work_slide .slick-dots li:hover {
    cursor: pointer;
    background-color: #1c1b1f;
  }
  .p_top_work_slide .slick-arrow {
    top: 164px;
    width: 33px;
    height: 33px;
    cursor: pointer;
    transition: all 0.5s;
  }
  .p_top_work_slide .slick-arrow.slick-prev:hover {
    transform: scaleX(-1) scale(1.1);
  }
  .p_top_work_slide .slick-arrow.slick-next:hover {
    transform: scale(1.1);
  }
  .p_top_work_slide_item_link {
    transition: all 0.5s;
  }
  .p_top_work_slide_item_head {
    margin-bottom: 10px;
    padding: 8px clamp(0.9375rem, 1.2195121951vw + 0.3346036585rem, 1.25rem) 12px clamp(0.9375rem, 2.9268292683vw + -0.5094512195rem, 1.6875rem);
  }
  .p_top_work_slide_item_number {
    margin-left: -40px;
    font-size: 2.041875rem;
  }
  .p_top_work_slide_item_number .txt_sharp {
    font-size: 1.63375rem;
  }
  .p_top_work_slide_item_ttl {
    font-size: 1.4175rem;
    margin-top: 4px;
  }
  .p_top_work_slide_item_txt {
    margin-top: 6px;
    font-size: 0.89875rem;
  }
  .p_top_work_slide_item_txt .icon {
    width: 14px;
    height: 14px;
  }
  .p_top_work_slide_item_labels {
    gap: 5px;
    margin-top: 19px;
  }
  .p_top_work_slide_item_label {
    font-size: 0.829375rem;
  }
  .p_top_work_slide_item_label .icon {
    width: 14px;
    height: 14px;
  }
  .p_top_work_frame {
    padding: 0 20px;
    margin-top: 38px;
  }
  .p_top_faq {
    padding: 25px 0;
    overflow: hidden;
  }
  .p_top_faq .c_ttl01_en {
    margin-bottom: -15px;
  }
  .p_top_faq .c_ttl01_jp .bg {
    padding: 0 9px;
  }
  .p_top_faq_heart {
    top: 6px;
    width: 181px;
    right: 0;
  }
  .p_top_faq_heart.i02 {
    right: 0;
    top: 485px;
    width: 187px;
  }
  .p_top_faq_main {
    padding: 0 12px;
    margin-top: 17px;
  }
  .p_top_faq_item {
    margin-top: 40px;
  }
  .p_top_faq_item.active {
    margin-bottom: -21px;
  }
  .p_top_faq_item_head {
    padding: 14px 42px 18px 18px;
    transition: all 0.5s;
  }
  .p_top_faq_item_head:hover {
    background-color: #fed6e1;
    cursor: pointer;
    color: #000;
  }
  .p_top_faq_item_head:hover::after, .p_top_faq_item_head:hover::before {
    background-color: #000;
  }
  .p_top_faq_item_head .ttl_q,
  .p_top_faq_item_head .ttl {
    font-size: 0.968125rem;
  }
  .p_top_faq_item_body {
    padding: 22px 14px 19px;
  }
  .p_top_faq_item_content .txt {
    font-size: 0.89875rem;
    padding: 9px 10px 9px 17px;
  }
  .p_top_faq_item_content_txt01 .txt {
    padding: 9px 10px 9px 17px;
  }
  .p_top_faq_item_content_txt04 {
    width: 348px;
    margin-top: 32px;
  }
  .p_top_faq_item_content_group01 .p_top_faq_item_content_txt03 {
    width: 239px;
    margin-right: 30px;
  }
  .p_top_faq_item_content_img01 {
    left: calc(100% - 15px);
    top: -21px;
    width: 114px;
  }
  .p_top_faq_item_content_bottom {
    margin-top: 32px;
    padding-top: 15px;
  }
  .p_top_faq_item_content_group02 .img {
    width: 89px;
    margin: -25px 17px 0 30px;
  }
  .p_top_faq_item_content_group02 .mess {
    padding: 5px 13px 10px 16px;
  }
  .p_top_faq_item_content_group02 .mess_txt {
    font-size: 0.89875rem;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt02 {
    width: 313px;
    margin-top: 22px;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt02 .txt {
    padding-right: 14px;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt03 {
    width: 239px;
    margin-top: 10px;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt03 .txt {
    padding: 9px 10px 9px 17px;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt04 {
    margin-top: 34px;
    width: auto;
  }
  .p_top_faq_item01 .p_top_faq_item_content_txt04 .txt {
    padding-right: 28px;
  }
  .p_top_map {
    display: none;
  }
  .p_top_map_heart {
    top: 6px;
    width: 181px;
    right: 0;
  }
  .p_top_map_box {
    right: 0;
  }
  .p_top_costume {
    padding: 39px 0 0;
    overflow: hidden;
  }
  .p_top_costume_heart {
    top: 16px;
    width: 181px;
  }
  .p_top_costume .c_ttl01_en {
    right: clamp(-0.75rem, -16.2162162162vw + 13.8445945946rem, 0rem);
  }
  .p_top_costume .c_ttl01_jp .bg {
    padding: 0 9px;
  }
  .p_top_costume_content {
    max-width: 100%;
    margin-top: 16px;
  }
  .p_top_costume_txt01 {
    width: 172px;
    right: 8px;
    top: -47px;
  }
  .p_top_movie {
    overflow: hidden;
    padding: 55px 0 69px;
  }
  .p_top_movie_frame {
    box-shadow: 0 4.42px 4.42px rgba(0, 0, 0, 0.25);
    border-radius: 22px;
    width: 316px;
    transition: all 0.5s;
  }
  .p_top_movie_frame_inner {
    border-radius: 22px;
    padding: 19px 20px 15px;
  }
  .p_top_movie_frame_ttl {
    font-size: 2.2125rem;
  }
  .p_top_movie_frame_txt {
    left: 0;
    margin-top: 17px;
    font-size: 0.89875rem;
  }
  .p_top_movie_frame_icon {
    width: 45px;
    margin-top: 11px;
  }
  .p_top_movie_frame_icon .link:hover img {
    transform: scale(1.05);
  }
  .p_top_movie_frame_box {
    right: 0;
    bottom: -50px;
  }
  .p_top_career {
    overflow: hidden;
    padding: 37px 0 52px;
  }
  .p_top_career_main {
    padding: 18px 0 53px;
    border-radius: 22px;
  }
  .p_top_career_heart {
    top: 44px;
    width: 156px;
  }
  .p_top_career .c_ttl01_en {
    right: -5px;
    margin-bottom: -2px;
  }
  .p_top_career .c_ttl01_jp .bg {
    padding: 0 6px 0 15px;
  }
  .p_top_career_content {
    padding: 0 19px 0 24px;
    margin-top: 20px;
  }
  .p_top_career_txt01 {
    font-size: 0.89875rem;
  }
  .p_top_career_rating {
    margin-top: 30px;
  }
  .p_top_career_rating_list {
    padding: 0 33px 0 17px;
  }
  .p_top_career_rating_item {
    padding-bottom: 9px;
    margin-top: 30px;
  }
  .p_top_career_rating_stars {
    gap: 3px;
    bottom: 1px;
    width: 102px;
  }
  .p_top_career_rating_ttl {
    width: calc(100% - 102px);
    padding-left: 1px;
  }
  .p_top_career_rating_ttl .ttl {
    font-size: 1.0925rem;
  }
  .p_top_career_img {
    width: 92px;
    right: clamp(-0.875rem, -5.8333333333vw + 4.375rem, 0rem);
    top: 281px;
  }
  .p_top_career_frame {
    margin-top: 58px;
  }
  .p_top_career_frame .p_top_frame {
    padding: 20px 15px 19px;
  }
  .p_top_career_frame .p_top_frame_ttl {
    left: -3px;
    top: -41px;
  }
  .p_top_frame {
    padding: 21px 11px 19px;
  }
  .p_top_frame_icon {
    right: 9px;
    width: 41px;
  }
  .p_top_frame_ttl {
    left: 0;
    top: -39px;
  }
  .p_top_frame_ttl .ttl {
    font-size: 0.89875rem;
  }
  .p_top_frame_txts {
    padding: 0 0 0 8px;
  }
  .p_top_frame_txts .txt {
    font-size: 0.89875rem;
  }
}
@media screen and (min-width: 1201px) {
  .p_top_mv_heart {
    left: calc(50% - clamp(17.75rem, -1.4583333333vw + 19.5rem, 18.1875rem));
  }
  .p_top_costume_heart {
    right: clamp(-0.3125rem, -6.7567567568vw + 5.7685810811rem, 0rem);
  }
}
/*# sourceMappingURL=maps/top.css.map */

/* add */
