@charset "utf-8";

/*-----------------------------------------------
 *	ペットが亡くなったら（ペット一覧）
-----------------------------------------------*/
#sub_main_pet {
  background: url(../img/pet-type/mv_bg_pc.jpg) no-repeat center;
  background-size: cover;
  margin: 0 40px 0;
  border-radius: 20px;
}

#sub_main_pet .inner {
  width: 90vw;
  max-width: 1300px;
}

#sub_main_pet .main_copy {
  font-size: 48px;
  color: #fff;
  padding: 126px 0 132px;
  width: 50%;

}

#sub_main_pet .main_copy span {
  display: block;
}

#sub_main_pet .main_copy span.serif {
  line-height: 1.45;
  margin-bottom: 24px;
  position: relative;
}

#sub_main_pet .main_copy span.size_small {
  font-size: 19px;
  font-weight: normal;
}

#sub_main_pet .main_copy span.serif::after {
  content: '';
  background: url(../img/pet-type/fukidashi.svg) no-repeat;
  background-size: contain;
  width: 150px;
  height: 49px;
  position: absolute;
  top: -35px;
  right: 26%;
}

.intro_section .content_img-txton .box_wrapper {
  margin-bottom: 30px;
}

#pet_check .bg_white {
  padding: 50px 50px;
  position: relative;
}

#pet_check .bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  top: 80px;
  z-index: initial;
}

#pet_check ul {
  margin-top: 32px;
}

ul.num_list li {
  display: grid;
  grid-template-columns: auto 275px;
  grid-template-rows: auto 1fr;
  column-gap: 30px;
  padding: 40px;
  margin-bottom: 10px;
  position: relative;
}

ul.num_list li:last-child {
  margin: 0;
}

ul.num_list li .photo {
  grid-column: 2;
  grid-row: 1 / -1;
  position: relative;
}

ul.num_list li .photo::after {
  content: '';
  width: 50px;
  height: 50px;
  position: absolute;
  left: 0;
  top: 0;
}

ul.num_list li:nth-child(1) .photo::after {
  background: url(../img/common/icon_num01_large.svg);
}

ul.num_list li:nth-child(2) .photo::after {
  background: url(../img/common/icon_num02_large.svg);
}

ul.num_list li:nth-child(3) .photo::after {
  background: url(../img/common/icon_num03_large.svg);
}

ul.num_list li:nth-child(4) .photo::after {
  background: url(../img/common/icon_num04_large.svg);
}

ul.num_list li .ttl {
  font-size: 27px;
  grid-column: 1;
  grid-row: 1;
  margin: -10px 0 10px;
}

ul.num_list li .txt {
  grid-column: 1;
  grid-row: 2;
}

ul.num_list li .annotation_txt {
  margin: 7px 0 0;
}

#step {
  padding-top: 130px;
  margin-top: -60px;
}

#step .bg_gray {
  padding: 50px 50px;
}

#step .bg_circle_left::before {
  top: 80px;
}

#step .bg_circle_right::before {
  top: 54%;
}

#step .ttl_double_border {
  background: #fff;
}

#step .ttl_double_border .num {
  font-size: 1.3em;
}

#step ul.num_list li {
  display: grid;
  grid-template-columns: 275px auto;
  grid-template-rows: auto 1fr;
  column-gap: 30px;
  padding: 40px;
  margin-bottom: 10px;
  border-radius: 10px;
}

#step ul.num_list li::after {
  content: '';
  background: url(../img/top/icon_flow_down.svg) no-repeat;
  width: 51px;
  height: 28px;
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  z-index: 10;
}

#step ul.num_list li:last-child:after {
  content: none;
}

#step ul.num_list li .photo {
  grid-column: 1;
  grid-row: 1 / -1;
}

#step ul.num_list li .ttl {
  grid-column: 2;
  grid-row: 1;
  margin: -10px 0 10px;
}

#step ul.num_list li .txt {
  grid-column: 2;
  grid-row: 2;
}

.movie_box {
  border: 4px solid var(--site-primary);
  margin-top: 40px;
}

.movie_box h3 {
  font-size: 27px;
  color: #fff;
  background: url(../img/common/bg-lightblue_dot.png) repeat;
  padding: 6px 0 12px;
}

.movie_box h4 {
  font-size: 22px;
  margin-bottom: 20px;
}

.movie_box h4 span {
  position: relative;
}

.movie_box li:first-child h4 span::before {
  content: '';
  background: url(../img/common/icon_youtube01.svg) no-repeat;
  width: 40px;
  height: 39px;
  position: absolute;
  left: -50px;
}

.movie_box li:last-child h4 span::before {
  content: '';
  background: url(../img/common/icon_youtube02.svg) no-repeat;
  width: 33px;
  height: 42px;
  position: absolute;
  left: -50px;
}

.movie_box ul {
  padding: 30px 40px 40px;
  gap: 1.5vw;
}

.movie_box li {
  width: 47.8%;
}

.movie_box .yt_wrapper {
  position: relative;
  width: 100%;
}

.movie_box .yt_wrapper::before {
  content: '';
  display: block;
  padding-top: 62%;
}

.movie_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.under_txt_box {
  display: flex;
  align-items: center;
}

.under_txt_box .under_txt {
  font-size: 30px;
  line-height: 1.55;
  display: inline-block;
  margin: 42px auto -18px;
}

#pet_cate {
  background: #fff2f4;
  position: relative;
}

#pet_cate::before {
  content: '';
  background: url(../img/common/bg-flower03.png) no-repeat bottom center;
  background-size: cover;
  width: 100%;
  height: 380px;
  position: absolute;
  left: 0;
  bottom: 0;
}

#pet_cate h2 .size_small {
  font-size: 27px;
  color: #80b5bb;
  display: block;
  margin-bottom: 7px;
}

.pet_list {
  gap: 19px calc((100% - (23.7% * 4)) / 3);
}

.pet_list li {
  background: #f8e0e3;
  width: 23.7%;
  box-shadow: 0 5px 0 rgb(233 191 196);
  display: flex;
  align-items: center;
  padding: 14px 0 14px 20px;
}

.pet_list li .hover_white {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 0 14px 20px;
}

.pet_list li .hover_white::before {
  content: '';
  background: url(../img/pet-type/icon_sankaku_pink.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.pet_list li img {
  width: 90px;
  margin-right: 10px;
}

.pet_list li div {
  display: flex;
  align-items: center;
}

.pet_list li p {
  font-size: 27px;
  line-height: 1.0;
}

.pet_list li p.size_small {
  font-size: 20px;
  line-height: 1;
}

.pet_list li p.size_more_small {
  font-size: 17px;
  line-height: 1.2;
}

.pet_list li span {
  font-size: 15px;
  color: #e9a8b0;
}

.pet_list li span.size_small {
  font-size: 13px;
  line-height: 1.5;
  display: inline-block;
}

#pet_cate .annotation_txt {
  margin: 28px 0 0;
}


@media only screen and (max-width: 1024px) {
  #sub_main_pet .main_copy {
    font-size: 38px;
    padding: 100px 0 100px 20px;
  }

  #sub_main_pet .main_copy span.serif::after {
    right: 13%;
  }

  #sub_main_pet .main_copy span.size_small {
    font-size: 17px;
  }

  #sub_main_pet .main_copy span.serif {
    margin-bottom: 10px;
  }

  .under_txt_box .under_txt {
    font-size: 24px;
  }

  .pet_list li img {
    width: 80px;
    margin-right: 5%;
  }

  .pet_list li p {
    font-size: 23px;
  }
}

@media only screen and (max-width: 960px) {
  #sub_main_pet {
    margin: 0 2.5vw 1.5vw;
    border-radius: 25px;
  }

  #sub_main_pet .main_copy {
    font-size: 32px;
  }

  #sub_main_pet .main_copy span.serif::after {
    right: 10%;
    top: -50px;
  }

  .content_img-txton .box_wrapper {
    margin-bottom: 6vw;
  }

  #pet_check .bg_white {
    padding: 4vw 4vw;
  }

  ul.num_list li .ttl {
    font-size: 22px;
    top: -8px;
  }

  #step .bg_gray {
    padding: 4vw 4vw;
  }

  .movie_box ul {
    padding: 2vw 3vw 3vw;
  }

  .movie_box h3 {
    font-size: 22px;
  }

  .movie_box h4 {
    font-size: 18px;
  }

  .movie_box ul {
    padding: 2vw 3vw 3vw;
  }

  .movie_box li:first-child h4 span::before {
    width: 30px;
    left: -37px;
  }

  .movie_box li:last-child h4 span::before {
    width: 26px;
    left: -35px;
  }

  .under_txt_box .under_txt {
    font-size: 20px;
    margin: 4vw 0 0;
  }

  #pet_cate h2 .size_small {
    font-size: 23px;
    margin-bottom: 2px;
  }

  .pet_list li {
    padding: 14px 0 14px 1vw;
  }
  .pet_list li .hover_white {
    padding: 14px 0 14px 1vw;
  }

  .pet_list li img {
    width: 60px;
    margin-right: 5%;
  }

  .pet_list li p {
    font-size: 18px;
  }

  .pet_list li p.size_small {
    font-size: 18px;
  }

  .pet_list li span {
    font-size: 11px;
  }

  .pet_list li p.size_more_small {
    font-size: 14px;
    line-height: 1.2;
  }

}

@media only screen and (max-width: 768px) {
  #sub_main_pet {
    margin-top: 12.8vw;
  }
}

@media only screen and (max-width: 568px) {
  #sub_main_pet {
    background: url(../img/pet-type/mv_bg_sp.jpg) no-repeat center;
    background-size: cover;
    border-radius: 0;
    margin: 0 0 -5px;
  }

  #sub_main_pet .inner {
    width: 100%;
  }

  #sub_main_pet .main_copy {
    width: 100%;
    font-size: 29px;
    text-align: center;
    padding: 45vw 0 38.5vw;
  }

  #sub_main_pet .main_copy span.serif {
    margin-bottom: 10px;
    line-height: 1.5;
  }

  #sub_main_pet .main_copy span.size_small {
    font-size: 16px;
    line-height: 1.75;
  }

  #sub_main_pet .main_copy span.serif::after {
    width: 125px;
    right: 12%;
    top: -42px;
  }

  .intro_section.lg_inner_space {
    padding-bottom: 0;
  }

  .intro_section .content_img-txton {
    margin-bottom: -10px;
  }

  #pet_check .bg_white {
    margin: 0 -5.3vw;
    padding: 34px 5.3vw;
    border-radius: 0;
  }

  #pet_check ul {
    margin-top: 20px;
  }

  ul.num_list li,
  #step ul.num_list li {
    grid-template-columns: 47.8% auto;
    grid-template-rows: 1fr auto;
    column-gap: 4.4%;
    margin: 0 -5.3vw 10px;
    border-radius: 0;
    padding: 20px 5.3vw;
  }

  ul.num_list li:last-child {
    margin: 0 -5.3vw;
  }

  ul.num_list li .photo,
  #step ul.num_list li .photo {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    border-radius: 5px;
  }

  ul.num_list li .photo::after {
    width: 40px;
    height: 40px;
  }

  ul.num_list li .ttl,
  #step ul.num_list li .ttl {
    font-size: 19px;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    top: 0;
    margin: 0;
  }

  ul.num_list li .txt,
  #step ul.num_list li .txt {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 14px;
  }

  ul.num_list li .annotation_txt {
    margin: 5px 0 0;
  }

  #step {
    margin-top: -70px;
  }

  #step.lg_inner_space {
    padding: 70px 0 0;
  }

  #step .bg_gray {
    margin: 0 -5.3vw;
    padding: 30px 5.3vw 30px;
    border-radius: 0;
  }

  #step .ttl_double_border {
    margin-bottom: 25px;
  }

  #step ul.num_list li::after {
    width: 37px;
  }

  .movie_box {
    margin-top: 30px;
  }

  .movie_box h3 {
    font-size: 19px;
    padding: 4px 0 8px;
  }

  .movie_box ul {
    padding: 17px 28px 25px;
    gap: 20px 0;
  }

  .movie_box li {
    width: 100%;
  }

  .movie_box h4 {
    font-size: 17px;
    margin-bottom: 16px;
  }

  .movie_box li:first-child h4 span::before {
    width: 36px;
    left: -44px;
  }

  .movie_box li:last-child h4 span::before {
    width: 28px;
    left: -37px;
  }

  .under_txt_box .under_txt {
    font-size: 21px;
    margin: 18px auto 26px;
  }

  #pet_cate::before {
    background: url(../img/common/bg-flower03_sp.png) no-repeat bottom center;
    background-size: cover;
    height: 200px;
  }

  #pet_cate h2 .size_small {
    font-size: 21px;
  }

  #pet_cate .ttl_page_section {
    margin: 0 0 46px;
  }

  .pet_list {
    gap: 15px 0;
    justify-content: space-between;
  }

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

  .pet_list li {
    width: 47.8%;
    display: flex;
    align-items: center;
    padding: 8px 0 8px 8px;
  }

  .pet_list li .hover_white {
    padding: 8px 0 8px 8px;
  }

  .pet_list li img {
    width: 45px;
  }

  .pet_list li span {
    font-size: 12px;
  }

  .pet_list li:nth-child(8) span,
  .pet_list li:nth-child(13) span,
  .pet_list li:nth-child(16) span {
    font-size: 10px;
  }

  .pet_list li p.size_small {
    font-size: 16px;
  }

  .pet_list li .txt_kerning {
    letter-spacing: -0.01px;
    line-height: 1;
    margin-top: 5px;
  }

  .pet_list li .hover_white::before {
    width: 10px;
    height: 10px;
    right: 7px;
    bottom: 6px;
  }

  #pet_cate .annotation_txt {
    margin: 20px 0 0;
  }

  .pet_list li span.size_small {
    font-size: 11px;
  }
}

/*-----------------------------------------------
 *	種別ページ MV
-----------------------------------------------*/
/*#pet_main_type {
  background: url(../img/pet-type/bg_type_mv_pc.jpg) no-repeat center;
  background-size: cover;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#pet_main_type .inner-type {
  width: 88vw;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  padding: min(3.5%, 112px) 0px min(5.8%, 95px);
  aspect-ratio: 152 / 74;
}

#pet_main_type .mv_txt {
  max-width: 60%;
  position: absolute;
  top: 1.5vw;
  right: 8%;
  margin-left: 32%;
}

#pet_main_type .mv_point {
  max-width: 1020px;
  width: 100%;
  position: absolute;
  top: auto;
  bottom: 1.5vw;
  left: 50%;
  transform: translateX(-50%);
}*/

@media only screen and (max-width: 1024px) {
  #pet_main_type .mv_point {
    max-width: 80%;
  }
}

@media only screen and (max-width: 568px) {
  #pet_main_type {
    background: url(../img/pet-type/bg_type_mv_sp.jpg) no-repeat center;
    background-size: cover;
    aspect-ratio: unset;
    margin: 0;
    border-radius: 0;
  }

  #pet_main_type .inner-type {
    aspect-ratio: unset;
    width: 100vw;
  }

  #pet_main_type .mv_txt,
  #pet_main_type .mv_point {
    max-width: 100%;
    position: static;
    margin-left: auto;
  }

  #pet_main_type .mv_txt {
    max-width: 94vw;
    margin: 0 auto;
  }

  #pet_main_type .mv_point {
    transform: none;
    max-width: 210px;
    margin-top: 20px;
  }
}


/*-----------------------------------------------
 *	種別ページ イントロセクション
-----------------------------------------------*/
.hd_box {
  background: url(../img/common/bg_dot_lightgreen.png);
  padding: 18px 0 20px;
  margin-top: 40px;
}

.hd_box h1 {
  font-size: 27px;
  color: #fff;
}

.intro_child {}

.intro_child .intro_txt {
  font-size: 19px;
  margin: -10px 0 46px;
}

.intro_child .menu_btns {
  position: relative;
  z-index: 10;
}

.intro_child .menu_btns li {
  width: 24.2%;
  max-width: 271px;
}

.intro_child .menu_btns li.btn_border a {
  font-size: 20px;
  padding: 17px 0 18px;
}

.intro_child .menu_btns li a::after {
  top: 40%;
  transform: rotate(90deg);
}

.intro_content_box {
  margin: 60px 0 0;
  position: relative;
}

.intro_content_box.bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.intro_content_box .ttl_conent_top {
  border-radius: 10px 10px 0 0;
  position: relative;
}

.intro_content_box .bg_white {
  padding: 40px 50px;
  border: 5px solid #f9f4ea;
  border-top: none;
  border-radius: 0 0 10px 10px;
  position: relative;
}

.intro_content_box img {
  width: 48.1%;
  max-width: 495px;
}

.intro_content_box ul.bg_gray {
  width: 100%;
  padding: 35px 40px;
}

.intro_content_box ul li {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  margin-bottom: 18px;
  padding: 0 0 18px 40px;
}

.intro_content_box ul li::before {
  content: '';
  background: url(../img/common/icon_check.svg) no-repeat;
  background-size: contain;
  width: 30px;
  height: 28px;
  position: absolute;
  left: 0;
  top: 5px;
}

.intro_content_box ul li::after {
  content: '';
  background: url(../img/common/line_dot.png) no-repeat;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.intro_content_box ul li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

.intro_content_box ul li:last-child::after {
  content: none;
}

.sankaku {
  width: 90px;
  display: block;
  margin: 20px auto 10px;
}

.intro_child .under_txt {
  font-size: 30px;
  margin: 0 auto;
}

.pet_child_cv {
  position: relative;
}

.pet_child_cv.bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  top: -95px;
  z-index: initial;
}

.pet_child_cv .cv_area,
.pet_child_cv .cv_area02 {
  margin: 0 0 40px;
  border-radius: 10px;
  overflow: hidden;
}

.pet_child_cv .cv_ttl {
  padding: 20px 40px;
}

.pet_child_cv .cv_ttl h2 {
  font-size: 32px;
}

/*.pet_child_cv .cv_ttl h2 span {
  margin-right: 20px;
}*/

.pet_child_cv .cv_content {
  padding: 0 10px 10px;
}

.pet_child_cv .cv_content .cv_box {
  border-radius: 0;
  padding: 25px 30px;
}

.intro_child.bg_flower_double::before {
  content: none;
}

.intro_cv {
  margin-top: -25px;
}

.intro_cv.lg_inner_space {
  padding-top: 0;
}

@media only screen and (max-width: 1024px) {
  .hd_box h1 {
    font-size: 25px;
  }

  .intro_child .menu_btns li.btn_border a {
    font-size: 18px;
  }

  .intro_content_box ul li {
    font-size: 20px;
    margin-bottom: 14px;
    padding: 0 0 14px 40px;
  }

  .intro_child .under_txt {
    font-size: 24px;
  }

  .pet_child_cv .cv_ttl {
    padding: 20px 2%;
  }

  .pet_child_cv .cv_ttl h2 {
    font-size: 32px;
  }

  .pet_child_cv .cv_content .cv_box.inner {
    width: 100%;
  }
}

@media only screen and (max-width: 960px) {
  .hd_box {
    margin-top: 20px;
  }

  .hd_box h1 {
    font-size: 21px;
  }

  .intro_child .intro_txt {
    font-size: 15px;
  }

  .intro_child .menu_btns li.btn_border a {
    font-size: 16px;
  }

  .intro_child .menu_btns li a::after {
    right: 18px;
  }

  .intro_content_box .bg_white {
    padding: 3vw;
  }

  .intro_content_box ul.bg_gray {
    padding: 2.5vw 2vw;
  }

  .intro_content_box ul li {
    font-size: 17px;
  }

  .intro_child .under_txt {
    font-size: 22px;
  }

  .pet_child_cv .cv_ttl h2 {
    font-size: 24px;
  }

  .pet_child_cv .cv_ttl h2 span {
    font-size: 18px;
    padding: 0.5em 0.5em;
    margin-right: 10px;
  }

  .intro_cv {
    margin-top: 0;
  }
}

@media only screen and (max-width: 568px) {
  .hd_box {
    padding: 13px 0 15px;
    margin: 0;
  }

  .hd_box h1 {
    font-size: 17px;
  }

  .intro_child .intro_txt {
    margin: -5px 0 22px;
  }

  .intro_child .menu_btns {
    flex-direction: column;
    gap: 10px 0;
  }

  .intro_child .menu_btns li {
    width: 76vw;
    max-width: initial;
  }

  .intro_child .menu_btns li.btn_border a {
    font-size: 17px;
    padding: 9px 0 10px;
  }

  .intro_child .menu_btns li a::after {
    top: 35%;
    right: 20px;
  }

  .intro_content_box.bg_circle_left::before {
    content: none;
  }

  .intro_content_box {
    margin-top: 40px;
  }

  .intro_content_box .ttl_content_top {
    border-radius: 10px 10px 0 0;
    font-size: 19px;
    line-height: 1.5;
  }

  .intro_content_box .bg_white {
    padding: 20px 28px 25px;
    border-width: 3px;

  }

  .intro_content_box .row {
    flex-direction: column;
  }

  .intro_content_box img {
    width: 100%;
  }

  .intro_content_box ul.bg_gray {
    padding: 18px 15px 15px;
  }

  .intro_content_box ul li {
    font-size: 15px;
    padding: 0 0 14px 34px;
    margin-bottom: 15px;
  }

  .intro_content_box ul li::before {
    width: 25px;
    top: 2px;
  }

  .sankaku {
    width: 65px;
    margin: 15px auto 8px;
  }

  .intro_child .under_txt {
    font-size: 21px;
    margin-bottom: -10px;
    text-align: center;
  }

  .pet_child_cv {
    margin: 0 -5.3vw;
  }

  .pet_child_cv .cv_area,
  .pet_child_cv .cv_area02 {
    border-radius: 0;
    margin: 0 0 30px;
  }

  .pet_child_cv.bg_circle_right::before {
    content: none;
  }

  .pet_child_cv .cv_ttl {
    padding: 20px 0 14px;
  }

  .pet_child_cv .cv_ttl h2 span {
    font-size: 14px;
    padding: 0.4em 1.25em;
    margin: 0 0 9px;
  }

  .pet_child_cv .cv_content {
    padding: 15px 0 30px;
  }

  .pet_child_cv .cv_content .cv_box.inner {
    width: 89.4%;
    border-radius: 10px;
  }

  .pet_child_cv .cv_content .cv_box {
    padding: 17px;
  }

  .intro_cv {
    background: #fff;
  }

  .intro_child.bg_flower_double::before {
    content: '';
  }

  .intro_cv.bg_flower_double::before {
    content: none;
  }
}

/*-----------------------------------------------
 *	種別ページ ご遺体の対処方法 ～ ご遺体の葬儀・埋葬・火葬方法
-----------------------------------------------*/
#step.step_child .bg_circle_left::before {
  top: 140px;
}

#step.step_child .bg_circle_right::before {
  top: 76%;
}

.prepare_list {
  counter-reset: number;
}

.prepare_list li {
  padding: 20px 38px 42px;
  border-radius: 10px;
  margin-bottom: 10px;
  position: relative;
}

/*.prepare_list li:nth-child(1) {
  background: #fff url(../img/pet-type/bg_leaf01.jpg) no-repeat top right;
  background-size: cover;
}

.prepare_list li:nth-child(2) {
  background: #fff url(../img/pet-type/bg_leaf02.jpg) no-repeat top right;
  background-size: cover;
}

.prepare_list li:nth-child(3) {
  background: #fff url(../img/pet-type/bg_leaf03.jpg) no-repeat top right;
  background-size: cover;
  margin-bottom: 0;
}*/

.prepare_list li::after {
  content: '';
  background: url(../img/top/icon_flow_down.svg) no-repeat;
  width: 51px;
  height: 28px;
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  z-index: 10;
}

.prepare_list li:nth-child(3)::after {
  content: none;
}

.prepare_list .ttl {
  font-size: 27px;
  /*border-bottom: 1px solid #cdcdcd;*/
  display: flex;
  align-items: center;
  padding-bottom: 5px;
  /*margin-bottom: 24px;*/
  margin-top: -10px;
}

.prepare_list .ttl::before {
  content: '0' counter(number);
  counter-increment: number;
  font-size: 45px;
  font-family: 'Noto Serif JP';
  margin: -2px 18px 0 0;
}

.prepare_list p {
  width: 100%;
}

.ttl_page_section .before_txt {
  font-size: 27px;
  color: #80b5bb;
  display: block;
  margin: -5px auto 6px;
}

.step_child .under_txt {
  margin: 0 auto -18px;
}

#funeral_ttl {
  padding-top: 100px;
  margin-top: -100px;
}

#funeral .bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  bottom: 32%;
  z-index: initial;
}

.funeral_list {
  position: relative;
}

.funeral_list.bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.funeral_list li {
  padding: 40px 40px;
  margin-bottom: 20px;
  position: relative;
}

.funeral_list li .photo {
  width: 39.2%;
  max-width: 400px;
  position: relative;
}

.funeral_list li .txt_box {
  width: 56.9%;
}

.funeral_list li .ttl {
  font-size: 27px;
  margin: -8px 0 10px;
}

.funeral_list li.color {
  border: 5px solid #f4d0d4;
}

.funeral_list li.color .photo {
  width: 100%;
  max-width: initial;
}

.funeral_list li.color .ttl {
  margin: 20px 0 14px;
}

.funeral_list li .photo::after {
  content: '';
  width: 60px;
  height: 60px;
  position: absolute;
  left: 0;
  top: 0;
}

.funeral_list li:nth-child(1) .photo::after {
  background: url(../img/common/icon_num01_large.svg);
}

.funeral_list li:nth-child(2) .photo::after {
  background: url(../img/common/icon_num02_large.svg);
}

.funeral_list li:nth-child(3) .photo::after {
  background: url(../img/common/icon_num03_large_pink.svg);
}

.funeral_list li .txt_box dl {
  margin-top: 15px;
  gap: 10px;
}

.funeral_list li .txt_box dl dt {
  padding: 5px 15px;
  font-size: 18px;
}

.funeral_list li .txt_box dl dd a {
  color: var(--site-primary);
  text-decoration: underline;
}

.funeral_list li .txt_box dl dd a:hover {
  text-decoration: none;
}

@media only screen and (max-width: 1024px) {
  .ttl_page_section .before_txt {
    font-size: 25px;
  }
}

@media only screen and (max-width: 960px) {
  .ttl_page_section .before_txt {
    font-size: 22px;
  }

  .step_child .under_txt {
    margin: 0 auto;
  }

  .prepare_list .ttl {
    font-size: 21px;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }

  .prepare_list .ttl::before {
    font-size: 37px;
    margin: -5px 10px 0 0;
  }

  .prepare_list p {
    width: 100%;
  }

  .funeral_list li .ttl {
    font-size: 21px;
  }
}

@media only screen and (max-width: 568px) {

  #step.step_child .bg_circle_left::before,
  .funeral_list.bg_circle_left::before {
    content: none;
  }

  .step_child .under_txt {
    margin-bottom: 30px;
    text-align: center;
  }

  .prepare_list li {
    padding: 12px 24px 24px;
  }

  /*.prepare_list li:nth-child(1) {
    background: #fff url(../img/pet-type/bg_leaf01_sp.jpg) no-repeat top right;
    background-size: cover;
  }

  .prepare_list li:nth-child(2) {
    background: #fff url(../img/pet-type/bg_leaf02_sp.jpg) no-repeat top right;
    background-size: cover;
  }

  .prepare_list li:nth-child(3) {
    background: #fff url(../img/pet-type/bg_leaf03_sp.jpg) no-repeat top right;
    background-size: cover;
    margin-bottom: 0;
  }*/

  .prepare_list li::after {
    width: 37px;
  }

  .prepare_list .ttl {
    padding-bottom: 3px;
    margin-bottom: 13px;
  }

  .prepare_list .ttl::before {
    font-size: 35px;
    margin: -4px 10px 0 0;
  }

  .ttl_page_section .before_txt {
    font-size: 21px;
    letter-spacing: 0;
  }

  .funeral_list li {
    padding: 25px 25px;
    flex-direction: column;
    margin-bottom: 15px;
  }

  .funeral_list li .photo {
    width: 100%;
  }

  .funeral_list li .photo::after {
    width: 45px;
    height: 45px;
  }

  .funeral_list li .txt_box {
    width: 100%;
  }

  .funeral_list li .ttl {
    text-align: center;
    margin: 12px 0 8px;
  }

  .funeral_list li.color {
    border-width: 4px;
    margin-bottom: 0;
  }

  .funeral_list li.color .ttl {
    margin: 12px 0 8px;
  }
}

/*-----------------------------------------------
 *	種別ページ 一般的な火葬方法
-----------------------------------------------*/
#funeral_select .bg_circle_left::before {
  top: -80px;
}

#funeral_select .bg_circle_right::before {
  bottom: -80px;
}

.howto_list {
  margin-bottom: 60px;
  position: relative;
}

.howto_list li {
  width: 32.2%;
  max-width: 360px;
}

.howto_list li .ttl {
  font-size: 27px;
  color: #fff;
  padding: 6px 0 9px;
}

.howto_list li p {
  padding: 22px 40px 40px;
}

.choice_box {
  position: relative;
}

.choice_box .ttl_content_top {
  background: url(../img/common/bg_dot_pink.png);
}

.choice_box .choice_content {
  border: 5px solid #f4d0d4;
  border-top: none;
  border-radius: 0 0 10px 10px;
  position: relative;
  background: #fff;
}

/* .choice_box .choice_content::before {
  content: '';
  background: url(../img/pet-type/choice_image_pc.jpg) no-repeat center;
  background-size: cover;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 49.2%;
  max-width: 540px;
  height: 100%;
} */
.choice_box .photo {
  width: 49.2%;
  max-width: 540px;
}

.choice_box .photo img {
  object-fit: cover;
}

.choice_box .list_box {
  width: 51.8%;
  max-width: 580px;
  padding: 0 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.choice_box ul {
  padding: 28px 40px;
}

.choice_box ul li {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  margin-bottom: 17px;
  padding: 0 0 18px 40px;
}

.choice_box ul li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.choice_box ul li::before {
  content: '';
  background: url(../img/common/icon_check.svg) no-repeat;
  background-size: contain;
  width: 30px;
  height: 28px;
  position: absolute;
  left: 0;
  top: 5px;
}

.choice_box ul li::after {
  content: '';
  background: url(../img/common/line_dot.png) no-repeat;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.choice_box ul li:last-child::after {
  content: none;
}

#funeral_select .under_txt {
  font-size: 27px;
  margin: 0 auto -18px;
}

#funeral_select .under_txt span {
  font-size: 30px;
}

.funeral_select_cv .bnr {
  padding: 70px 0;
}

.funeral_select_cv .bnr a {
  display: block;
}

.intro_cv .bnr a {
  display: block;
}

@media only screen and (max-width: 1024px) {
  #funeral_select .under_txt {
    font-size: 22px;
  }

  #funeral_select .under_txt span {
    font-size: 26px;
  }

  .choice_box ul li {
    font-size: 18px;
  }
}

@media only screen and (max-width: 960px) {
  .howto_list li .ttl {
    font-size: 22px;
  }

  .choice_box ul {
    padding: 17px 20px 17px 23px;
  }

  .choice_box ul li {
    font-size: 16px;
    padding: 0 0 14px 30px;
    margin-bottom: 14px;
  }

  .choice_box ul li::before {
    width: 25px;
    height: 20px;
  }

  #funeral_select .under_txt {
    font-size: 20px;
    margin: 0 auto;
  }

  #funeral_select .under_txt span {
    font-size: 24px;
  }

  .funeral_select_cv .bnr {
    padding: 5vw 0;
  }
}

@media only screen and (max-width: 568px) {

  #funeral_select .bg_circle_left::before,
  #funeral_select .bg_circle_right::before {
    content: none;
  }

  .howto_list {
    flex-direction: column;
    gap: 20px 0;
    margin-bottom: 30px;
  }

  .howto_list li {
    width: 100%;
  }

  .howto_list li .ttl {
    font-size: 20px;
    padding: 5px 0 7px;
  }

  .howto_list li p {
    padding: 15px 24px 20px;
  }

  .choice_box .ttl_content_top {
    font-size: 19px;
    border-radius: 10px 10px 0 0;
  }

  .choice_box .choice_content {
    flex-direction: column;
    padding: 20px 28px 25px;
    border-width: 3px;
  }

  .choice_box .photo {
    width: 100%;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
  }

  .choice_box .photo img {}

  .choice_box .list_box {
    width: 100%;
  }

  .choice_box ul {
    width: 100%;
    padding: 20px 15px 20px;
    border-radius: 0 0 10px 10px;
  }

  .choice_box ul li {
    font-size: 15px;
    padding: 0 0 16px 34px;
    margin-bottom: 13px;
  }

  .choice_box ul li::before {
    width: 25px;
    top: 2px;
  }

  #funeral_select .under_txt {
    font-size: 19px;
    margin: 0 auto -5px;
    text-align: center;
  }

  #funeral_select .under_txt span {
    font-size: 21px;
  }

  .funeral_select_cv .bnr {
    padding: 30px 0 40px;
  }
}

/*-----------------------------------------------
 *	種別ページ 料金プラン
-----------------------------------------------*/
#price_ttl {
  padding-top: 100px;
  margin-top: -100px;
}

#price .bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: -80px;
  z-index: initial;
}

#price .bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  bottom: 30.5%;
  z-index: initial;
}

.price_list {
  position: relative;
}

.price_list li {
  width: 32.2%;
  max-width: 360px;
  position: relative;
}

.price_list li .ttl {
  padding: 7px 0 8px;
  background: url(../img/common/bg-lightblue_dot.png);
  font-size: 25px;
  color: #fff;
}

.price_list li.single .ttl {
  background: url(../img/common/bg-deepgreen_dot.png);
}

.price_list li.premium .ttl {
  background: url(../img/common/bg-brown_dot.png);
}

.price_list .ttl span {
  position: relative;
}

.price_list .ttl span::before {
  content: '';
  background: url(../img/price/icon_joint.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: -52px;
  transform: translateY(-50%);
}

.price_list .single .ttl span::before {
  background: url(../img/price/icon_single.png) no-repeat;
  background-size: contain;
}

.price_list .premium .ttl span::before {
  background: url(../img/price/icon_premium.png) no-repeat;
  background-size: contain;
}

.price_list .price_content {
  padding: 25px 30px;
}

.price_list .photo {
  position: relative;
}

.price_list .photo .time {
  background: #fffbf5;
  color: var(--site-primary);
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
  padding: 6px 15px 8px 53px;
  border-radius: 0 0 10px 0;
}

.price_list .single .photo .time {
  color: #31865a;
  background: #e8efeb;
}

.price_list .premium .photo .time {
  color: #b98a4a;
  background: #f2ebe3;
}

.price_list .photo .time::before {
  content: '';
  background: url(../img/common/icon_clock.svg) no-repeat;
  width: 26px;
  height: 26px;
  position: absolute;
  left: 17px;
  top: 50%;
  transform: translateY(-50%);
}

.price_list .single .photo .time::before {
  background: url(../img/common/icon_clock_green.svg) no-repeat;
}

.price_list .premium .photo .time::before {
  background: url(../img/common/icon_clock_gold.svg) no-repeat;
}

.price_list .service_list {
  gap: 6px 0;
  margin: 20px 0 15px;
}

.price_list .service_list li {
  color: #fff;
  text-align: center;
  width: 32%;
  background: #afafaf;
  padding: 6px 0;
}

.price_list .service_list li.on {
  background: var(--site-primary);
}

.price_list .single .service_list li.on {
  background: #31865a;
}

.price_list .premium .service_list li.on {
  background: #b98a4a;
}

.price_list .total_price {
  color: var(--site-keycolor);
  margin-top: -2px;
}

.price_list .total_price .num {
  font-size: 35px;
}

.price_list .total_price .yen {
  font-size: 25px;
}

.price_list .total_price img {
  width: 60px;
  height: 60px;
  margin-right: 5px;
  position: relative;
  top: 0;
}

.best_plan {
  background: #fff;
  border: 5px solid #f9f4ea;
  padding: 32px 45px 35px 45px;
  margin: 40px 0 15px;
  position: relative;
  z-index: 10;
}

.best_plan .txt {
  width: 57%;
  max-width: 580px;
}

.best_plan .ttl {
  font-size: 27px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.best_plan img {
  width: 41%;
  max-width: 412px;
}

.pay_box {
  padding: 40px 50px;
  margin-top: 40px;
}

.pay_choice li {
  width: 49%;
  max-width: 495px;
  padding: 10px 20px 20px;
}

.pay_choice li p {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin-bottom: 12px;
}

.pay_choice .credit_card {
  background: #fffbf5;
}

.pay_choice .electronic_money {
  background: #e4b66d;
}

@media only screen and (max-width: 1024px) {
  .price_list li .ttl {
    padding: 11px 0 12px;
    font-size: 21px;
  }

  .price_list .photo .time {
    font-size: 15px;
  }

  .price_list .total_price img {
    width: 50px;
    height: 50px;
    margin-right: 5px;
  }

  .price_list .total_price .num {
    font-size: 26px;
  }

  .pay_box {
    padding: 3vw 3.5vw;
  }

  .pay_choice li {
    padding: 10px 20px 20px;
  }

  .pay_choice li p {
    font-size: 20px;
  }
}

@media only screen and (max-width: 960px) {
  .price_list .ttl span::before {
    width: 30px;
    height: 30px;
    left: -36px;
  }

  .price_list li .ttl {
    font-size: 17px;
  }

  .price_list .premium .ttl {
    padding-left: 15px;
  }

  .price_list .photo .time {
    font-size: 13px;
    padding: 5px 10px 5px 36px;
  }

  .price_list .photo .time::before {
    width: 20px;
    height: 20px;
    left: 10px;
  }

  .price_list .price_content {
    padding: 2vw 2vw;
  }

  .best_plan {
    padding: 3vw 3vw;
  }

  .best_plan .ttl {
    font-size: 22px;
  }

  .pay_choice li p {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 568px) {

  #price .bg_circle_left::before,
  #price .bg_circle_right::before {
    content: none;
  }

  .price_list {
    gap: 30px 0;
  }

  .price_list {
    flex-direction: column;
    margin: 0 -5.3vw;
  }

  .price_list li {
    width: 100%;
    max-width: initial;
    border-radius: 0;
  }

  .price_list li .ttl {
    font-size: 26px;
  }

  .price_list .ttl span::before {
    width: 45px;
    height: 45px;
    left: -55px;
  }

  .price_list .price_content {
    padding: 20px 5.3vw;
  }

  .price_list .photo .time {
    font-size: 15px;
    padding: 7px 18px 7px 48px;
  }

  .price_list .photo .time::before {
    width: 22px;
    height: 22px;
    left: 18px;
  }

  .price_list .service_list {
    margin: 20px 0 12px;
  }

  .price_list .total_price {
    margin-top: -14px;
  }

  .price_list .total_price img {
    top: -12px;
    margin-right: 7px;
  }

  .price_list .total_price .num {
    font-size: 45px;
  }

  .price_list .total_price .yen {
    font-size: 25px;
  }

  .best_plan {
    border: 4px solid #f9f4ea;
    padding: 18px 25px;
    margin: 30px 0 10px;
  }

  .best_plan .ttl {
    font-size: 19px;
    margin-bottom: 10px;
  }

  .best_plan .txt {
    width: 100%;
  }

  .best_plan img {
    width: 78%;
    display: block;
    margin: 14px auto 6px;
  }

  .pay_box {
    padding: 20px 5.3vw;
    margin: 25px -5.3vw;
    border-radius: 0;
  }

  .pay_choice {
    gap: 15px 0;
  }

  .pay_choice li {
    width: 100%;
    padding: 10px 10px 10px;
  }

  .pay_choice li p {
    font-size: 17px;
  }
}


/*-----------------------------------------------
 *	種別ページ 高性能火葬車について
-----------------------------------------------*/
#car .bg_circle_right::before {
  bottom: 26.5%;
}

#car .bg_circle_left::before {
  top: -80px;
}

.car_points {
  gap: 114px 0;
  position: relative;
}

.car_points li {
  width: 48.2%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.car_points li::before {
  content: '';
  border-radius: 10px 0 0 0;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
}

/*.car_points li:first-child::before {
  background: url(../img/common/icon_num01_large.svg) no-repeat;
}
.car_points li:nth-child(2)::before {
  background: url(../img/common/icon_num02_large.svg) no-repeat;
}
.car_points li:nth-child(3)::before {
  background: url(../img/common/icon_num03_large.svg) no-repeat;
}
.car_points li:nth-child(4)::before {
  background: url(../img/common/icon_num04_large.svg) no-repeat;
}*/
.car_points li>div {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.car_points li img {
  border-radius: 10px 10px 0 0;
}

.car_points li .txt {
  padding: 0 42px 52px;
  border: 2px solid #dfdfdf;
  border-top: none;
  background: #fff;
  border-radius: 0 0 10px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 2;
}

.car_points li .ttl_point {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 2;
}

.car_points li .ttl_point span {
  border-radius: 50px;
  background: var(--site-primary);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 17px;
  padding: 10px 14px;
}

.car_points li .ttl_point span em {
  font-size: 32px;
  line-height: 1;
}

.car_points li .serif {
  font-size: 30px;
  line-height: 1.5;
  padding: 20px 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.car_points li p.annotation_txt {
  position: absolute;
  bottom: -4.5em;
  width: 100%;
}

.dioxin_box {
  margin-top: 50px;
}

@media only screen and (max-width: 1024px) {
  .car_points li .serif {
    font-size: 28px;
  }
}

@media only screen and (max-width: 960px) {
  .car_points li .ttl_point span {
    font-size: 15px;
    padding: 10px 12px;
  }

  .car_points li .ttl_point span em {
    font-size: 24px;
    padding: 10px 12px;
  }

  .car_points li .serif {
    font-size: 18px;
  }

  .car_points li .ttl_point {
    font-size: 24px;
  }

  .car_points li .txt {
    padding: 0 3vw 3vw;
  }

  .car_points li p.annotation_txt {
    bottom: -6.0em;
  }
}

@media only screen and (max-width: 568px) {

  #car .bg_circle_left::before,
  #car .bg_circle_right::before {
    content: none;
  }

  .car_points {
    gap: 0;
    margin: 0 -5.3vw;
  }

  .car_points li {
    width: 100%;
    margin-bottom: 30px;
    border-top: 2px solid #dfdfdf;
    border-bottom: 2px solid #dfdfdf;
  }

  .car_points li:first-child {
    border-bottom: none;
  }

  .car_points li:last-child {
    margin: 0;
  }

  .car_points li>div {
    padding: 20px 5.3vw;
  }

  .car_points li p.annotation_txt {
    position: relative;
    bottom: initial;
    padding: 10px 5.3vw 0 calc(5.3vw + 1em);
    margin-bottom: -5px;
    border-top: 2px solid #dfdfdf;
  }

  .car_points li img {
    border-radius: 10px;
  }

  .car_points li::before {
    width: 50px;
    height: 50px;
    left: 5.3vw;
    top: 20px;
  }

  .car_points li .serif {
    font-size: 21px;
    padding: 14px 0 8px;
  }

  .car_points li .txt {
    padding: 0;
    border: none;
  }

  .dioxin_box {
    margin-top: 35px;
  }

  .car_points li .ttl_point span em {
    padding: 0;
  }

  .car_points li .ttl_point span {
    font-size: 12px;
  }
}

/*-----------------------------------------------
 *	種別ページ サービスについて
-----------------------------------------------*/
.service_item .ttl_double_border {
  margin-top: 15px;
}

.service_item .half_box_ttl {
  font-size: 27px;
  margin-bottom: 10px;
}

#compare_box {
  padding-top: 100px;
  margin-top: -100px;
}

.compare.bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: 100px;
  z-index: initial;
}

.compare .bg_white {
  border-radius: 10px 10px 0 0;
  position: relative;
  z-index: 10;
}

.customer_voice.bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  top: -90px;
  z-index: initial;
}

.customer_voice {
  margin-top: 10px;
  position: relative;
}

.customer_voice .bg_white {
  position: relative;
  z-index: 10;
}

.enquete_top {
  color: #fff;
  font-size: 22px;
  text-align: center;
  padding: 6px 0;
  border-radius: 25px;
  margin-bottom: 20px;
  line-height: 1.75;
}

.enquete_top span {
  position: relative;
}

.enquete_top span::before {
  content: '';
  background: url(../img/common/icon_list.png) no-repeat;
  width: 49px;
  height: 59px;
  position: absolute;
  left: -65px;
  top: -14px;
}

.enquete_content .sub_ttl {
  margin-bottom: 36px;
  line-height: 1.6;
}

.enquete_content ul {
  gap: 20px;
}

.enquete_content ul li {
  width: 31%;
  max-width: 316px;
  padding: 20px 20px 12px;
  text-align: center;
  font-weight: bold;
}

.enquete_content ul li a {
  display: block;
  border: 2px solid #dfdfdf;
  margin-bottom: 8px;
  position: relative;
}

.enquete_content ul li a::after {
  content: '';
  background: url(../img/common/icon_zoom.svg) no-repeat;
  width: 40px;
  height: 40px;
  position: absolute;
  right: -2px;
  bottom: -2px;
}

.voice {
  margin-top: 60px;
}

.voice_bnr {
  background: url(../img/top/bg_voice_ttl.png) no-repeat;
  background-size: cover;
  display: grid;
  grid-template-columns: auto 364px auto;
  grid-template-rows: 1fr;
  padding: 24px 40px;
  margin: 40px 0 30px;
}

.voice_bnr .txt {
  grid-column: 2;
  grid-row: 1;
}

.voice_bnr p {
  color: #fff;
  font-size: 19px;
  text-align: center;
}

.voice_bnr_ttl {
  font-size: 40px;
  color: #fff;
  margin: 30px 0 8px;
  padding-left: 20px;
}

.voice_bnr_ttl span {
  font-size: 57px;
  position: relative;
}

.voice_bnr_ttl span::after {
  content: '';
  background: url(../img/top/icon_voice.png) no-repeat;
  background-size: contain;
  width: 85px;
  height: 85px;
  position: absolute;
  right: -100px;
}

.voice_bnr img {
  max-width: 263px;
}

.voice_bnr .voice_image01 {
  grid-column: 1;
  grid-row: 1;
}

.voice_bnr .voice_image02 {
  grid-column: 3;
  grid-row: 1;
  margin-left: auto;
}

.voice_box dl {
  width: 100%;
}

.voice_box dt {
  font-size: 22px;
  color: #fff;
  text-align: center;
  padding: 12px 0;
  border-radius: 10px 10px 0 0;
}

.voice_box dd {
  padding: 30px;
  border-radius: 0 0 10px 10px;
}

.voice_box dd img {
  float: left;
  width: 170px;
  margin: 0 20px 20px 0;
}

.support.bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.support {
  margin-top: 10px;
  position: relative;
}

.support .bg_white {
  position: relative;
  z-index: 10;
}

.support .half_box {
  margin: 35px 0 20px;
}

.support .half_box_ttl {
  font-size: 27px;
}

.support .half_box p span {
  font-size: 15px;
  color: #999;
}

.ttl_after_support {
  font-size: 30px;
  text-align: center;
  position: relative;
  margin-bottom: 12px;
}

.ttl_after_support::before {
  content: '';
  background: #ecb0b8;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
}

.ttl_after_support span:not(.txt_keycolor) {
  padding: 0 20px;
  position: relative;
}

.ttl_after_support span::before {
  content: '';
  background: #fff;
  width: 100%;
  height: 100%;
}

.box_after_support span {
  font-size: 19px;
}

.memorial.bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.memorial {
  margin-top: 10px;
  position: relative;
}

.memorial .bg_white {
  position: relative;
  z-index: 10;
}

.memorial li {
  margin-bottom: 20px;
}

.memorial li:last-child {
  margin: 0;
}

.memorial li a::before {
  content: '';
  background: url(../img/pet-type/icon_sankaku_green.svg) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 15px;
  bottom: 15px;
}

.memorial li a {
  display: grid;
  grid-template-columns: 275px auto;
  grid-template-rows: auto 1fr;
  grid-column-gap: 3.2%;
  padding: 40px 40px;
  border-radius: 10px;
}

.memorial li img {
  grid-column: 1;
  grid-row: 1 / -1;
}

.memorial li .ttl {
  grid-column: 2;
  grid-row: 1;
  font-size: 27px;
  margin: -8px 0 8px;
}

.memorial li p {
  grid-column: 2;
  grid-row: 2;
}

.staff.bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.staff {
  margin-top: 10px;
  position: relative;
}

.staff .bg_white {
  position: relative;
  z-index: 10;
}

.staff .photo {
  position: relative;
}

.staff .photo::after {
  content: '';
  background: url(../img/top/director_small.png) no-repeat;
  background-size: contain;
  width: 200px;
  height: 142px;
  position: absolute;
  right: 20px;
  bottom: -30px;
}

.staff .staff_youtube .photo::after {
  content: none;
}

.staff .photo img {
  border-radius: 10px;
}

.memorial_goods.bg_circle_right::before {
  background: url(../img/common/bg_circle04.png) no-repeat;
  top: -80px;
  z-index: initial;
}

.memorial_goods {
  margin-top: 10px;
  position: relative;
}

.memorial_goods .bg_white {
  border-radius: 0 0 10px 10px;
  position: relative;
  z-index: 10;
}

.goods_list {
  gap: 20px 20px;
}

.goods_list li {
  width: 32%;
  max-width: 326px;
}

.goods_list li.popular {
  position: relative;
}

.goods_list li.popular::after {
  content: '';
  background: url(../img/top/goods_badge_popular.svg) no-repeat;
  width: 64px;
  height: 78px;
  position: absolute;
  left: 10px;
  top: 0;
}

.goods_list li.few {
  position: relative;
}

.goods_list li.few::after {
  content: '';
  background: url(../img/top/goods_badge.svg) no-repeat;
  width: 64px;
  height: 78px;
  position: absolute;
  left: 10px;
  top: 0;
}

.goods_list .item_info {
  text-align: center;
  padding: 25px 0;
}

.goods_list .item_info>span {
  display: block;
}

.goods_list .item_name {
  font-size: 20px;
}

.goods_list .num {
  font-size: 27px;
}

.goods_list .yen {
  font-size: 20px;
}

.goods_list .before_txt {
  font-size: 20px;
}

@media only screen and (max-width: 1024px) {
  .goods_list {
    gap: 20px 2%;
  }
}

@media only screen and (max-width: 960px) {
  .voice .ttl_left_border {
    margin-bottom: 20px;
  }

  .voice_bnr {
    margin: 3vw 0 4vw;
    padding: 3vw 3vw;
  }

  .voice_bnr_ttl {
    font-size: 32px;
    margin: 0px 0 8px;
    padding-left: 17%;
  }

  .voice_bnr_ttl span {
    font-size: 40px;
  }

  .voice_bnr_ttl span::after {
    width: 57px;
    right: -68px;
  }

  .voice_bnr p {
    font-size: 15px;
    margin-bottom: 2vw;
  }

  .voice_box dt {
    font-size: 18px;
  }

  .voice_box dd {
    padding: 3vw;
  }

  .voice_box dd img {
    width: 125px;
  }

  .support .half_box_ttl {
    font-size: 21px;
  }

  .ttl_after_support {
    font-size: 24px;
  }

  .box_after_support {
    padding: 3vw 3vw;
  }

  .box_after_support span {
    font-size: 17px;
  }

  .memorial li a {
    padding: 3vw 3vw;
  }

  .memorial li .ttl {
    font-size: 22px;
  }

  .goods_list li {
    display: flex;
    flex-direction: column;
  }

  .goods_list .item_info {
    padding: 2vw 1vw;
    display: flex;
    flex-direction: column;
    flex: 1;

  }

  .goods_list .item_info .item_name {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 2;
  }

  .goods_list .num {
    font-size: 20px;
  }

  .goods_list li.popular::after {
    width: 6.5vw;
  }

  .goods_list li.few::after {
    width: 6.5vw;
  }

  .staff .photo::after {
    width: calc(200px / 1.5);
    height: calc(142px / 1.5);
  }
}

@media only screen and (max-width: 568px) {

  .service_item.bg_circle_left::before,
  .service_item.bg_circle_right::before {
    content: none;
  }

  .service_item .half_box_ttl {
    font-size: 22px;
  }

  .service_item .ttl_double_border {
    margin-top: 5px;
  }

  #compare_box {
    padding-top: 60px;
    margin-top: -60px;
  }

  .compare .bg_white {
    border-radius: 0;
  }

  .attention_box_gray {
    padding: 16px 20px 20px;
  }

  .attention_box_gray p {
    padding: 0;
  }

  .attention_box_gray p::before {
    width: 35px;
    height: 35px;
    position: relative;
    top: 5px;
    float: left;
    margin: 0 15px 10px 0;
  }

  .enquete_top {
    font-size: 17px;
    line-height: 1.45;
    text-align: left;
    border-radius: 50px;
    margin-bottom: 12px;
    padding: 10px 0;
  }

  .enquete_top span {
    padding-left: 80px;
    display: block;
  }

  .enquete_top span::before {
    background-size: contain;
    width: 40px;
    left: 30px;
    top: 0;
  }

  .enquete_content .sub_ttl {
    font-size: 15px;
    text-align: left;
    margin-bottom: 18px;
  }

  .enquete_content ul {
    justify-content: space-between;
    gap: 0;
    margin-bottom: 25px;
  }

  .enquete_content ul li {
    width: 47.8%;
    padding: 10px 10px 6px;
  }

  .enquete_content ul li:last-child {
    display: none;
  }

  .enquete_content ul li a {
    margin-bottom: 4px
  }

  .enquete_content ul li a::after {
    width: 30px;
    height: 30px;
  }

  /*.service_item_movie{
    margin: 20px -5.3vw 0;
  }*/
  .voice {
    margin-top: 30px;
  }

  .memorial ul {
    margin: 25px 0 0;
  }

  .memorial li {
    margin-bottom: 10px;
  }

  .memorial li:last-child {
    margin: 0;
  }

  .memorial li a {
    grid-template-columns: 47.8% auto;
    grid-template-rows: 1fr auto;
    column-gap: 4.4%;
    border-radius: 0;
    padding: 20px 5.3vw;
  }

  .memorial li img {
    grid-column: 1;
    grid-row: 1;
  }

  .memorial li .ttl {
    grid-column: 2;
    grid-row: 1;
    font-size: 19px;
    display: flex;
    align-items: center;
    margin: 0;
  }

  .memorial li p {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 12px;
  }

  .memorial li a::before {
    width: 20px;
    height: 20px;
    right: 10px;
    bottom: 10px;
  }

  .voice_bnr {
    grid-template-columns: 50% 50%;
    grid-template-rows: 1fr auto;
    padding: 16px 25px;
    margin: 20px 0 20px;
  }

  .voice_bnr .txt {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .voice_bnr .voice_image01 {
    grid-column: 1;
    grid-row: 1;
    padding-right: 4px;
  }

  .voice_bnr .voice_image02 {
    grid-column: 2;
    grid-row: 1;
    padding-left: 6px;
  }

  .voice_bnr_ttl {
    font-size: 23px;
    margin: 0 0 4px;
  }

  .voice_bnr_ttl span {
    font-size: 33px;
  }

  .voice_bnr_ttl span::after {
    width: 43px;
    right: -50px;
    top: 4px;
  }

  .voice_bnr p {
    line-height: 1.5;
  }

  .voice_box {
    gap: 20px 0;
  }

  .voice_box dl {
    width: 100%;
  }

  .voice_box dt {
    padding: 8px 0;
  }

  .voice_box dd {
    padding: 20px 25px;
    display: inline-block;
  }

  .voice_box dd img {
    width: 115px;
    margin: 0 18px 10px 0;
    float: left;
  }

  .support .half_box {
    margin: 25px 0 15px;
  }

  .ttl_after_support {
    font-size: 21px;
  }

  .ttl_after_support span:not(.txt_keycolor) {
    display: inline-block;
    padding: 0 10px;
  }

  .box_after_support {
    padding: 16px 22px;
  }

  .box_after_support span {
    font-size: 16px;
  }

  .memorial_goods .bg_white {
    border-radius: 0;
  }

  .goods_list {
    gap: 15px 0;
    justify-content: space-between;
  }

  .goods_list li {
    width: 47.8%;
  }

  .goods_list .item_info {
    padding: 10px 5px 10px;
  }

  .goods_list li .txt_keycolor {
    font-size: 13px;
  }

  .goods_list li.popular::after {
    width: 40px;
  }

  .goods_list li.few::after {
    width: 40px;
  }

  .goods_list .before_txt {
    font-size: 13px;
  }

  .goods_list .yen {
    font-size: 16px;
  }

  .staff .photo::after {
    background: url(../img/top/director_small_sp.png) no-repeat;
    background-size: contain;
    width: calc(256px / 2);
    height: calc(181px / 2);
    left: 15px;
    bottom: -15px;
  }

  .staff .half_box_ttl {
    margin-top: 25px;
  }
}

/*-----------------------------------------------
 *	種別ページ よくあるご質問
-----------------------------------------------*/
/*#faq.lg_inner_space {
  padding-top: 0;
}*/

#faq dl {
  padding: 47px 50px 47px;
  margin-bottom: 20px;
}

#faq dl dt {
  font-size: 22px;
  color: var(--site-primary);
  border-bottom: 1px solid var(--site-secondary);
  padding: 0 0 18px 47px;
  position: relative;
}

#faq dl dt::before {
  content: '';
  background: url(../img/common/icon_qa_q.svg) no-repeat;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 5px;
}

#faq dl dd {
  padding: 0 0 0 47px;
  margin-top: 16px;
  position: relative;
}

#faq dl dd::after {
  content: '';
  background: url(../img/common/icon_qa_a.svg) no-repeat;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 2px;
}

#faq dl .annotation_txt {
  margin: 10px 0 0;
  padding: 0;
  text-indent: 0;
}

@media only screen and (max-width: 960px) {
  #faq dl {
    padding: 4vw 4vw;
  }

  #faq dl dt {
    font-size: 18px;
  }

  #faq dl dt::before {
    width: 26px;
  }

  #faq dl dd::after {
    width: 26px;
  }
}

@media only screen and (max-width: 568px) {
  #faq dl {
    padding: 20px 25px;
    margin-bottom: 15px;
  }

  #faq dl dt::before {
    width: 21px;
  }

  #faq dl dt {
    font-size: 17px;
    padding: 0 0 13px 33px;
  }

  #faq dl dd::after {
    width: 21px;
    top: 5px;
  }

  #faq dl dd {
    padding: 0 0 0 33px;
    line-height: 1.75;
    margin-top: 10px;
  }

  #faq dl .annotation_txt {
    margin: 5px 0 0;
  }
}

/*----------------------------------
日本動物葬儀霊園協会リンク
-----------------------------------
.nds-link{
  margin: 20px auto;
}
.nds-link img{
  width: 100%;
  max-width: 468px;
}
*/
/*---------------------------------
リピート項目
-----------------------------------*/
.repeat_box {
  padding: 0 50px 50px;
}

.repeat_box dl dt::before {
  left: 26%;
}

.repeat_box dl:last-child dt::before {
  left: 21.5%;
}

@media only screen and (max-width: 568px) {
  .repeat_box {
    padding: 0 20px 30px;
  }

  /*.repeat_box dl dt::before,
  .repeat_box dl:last-child dt::before{
    left: 3%;
  }*/

}

/*--------------------------
cv女性
---------------------------*/
.pet_child_cv .cv_area02 .cv_ttl h2 {
  font-size: 32px;
}

.pet_child_cv .cv_area02 {
  margin: 0 0 40px;
  border-radius: 10px;
  overflow: hidden;
}

@media only screen and (max-width: 960px) {
  .pet_child_cv .cv_area02 .cv_ttl h2 {
    font-size: 24px;
  }
}

@media only screen and (max-width: 568px) {
  .pet_child_cv .cv_area02 {
    border-radius: 0;
  }
}

/*-----------------------------------------------
 *	種別ページ　new_MV 25/02/13
-----------------------------------------------*/
#pet_main_type {
  background: url(../img/pet-type/bg_type_mv_pc.jpg) no-repeat center;
  background-size: cover;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#pet_main_type .inner-type {
  width: 88vw;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  padding: min(3.5%, 112px) 0px min(5.8%, 95px);
  aspect-ratio: 152 / 74;
}

#pet_main_type .mv_txt {
  max-width: 60%;
  position: absolute;
  top: 1.5vw;
  right: 8%;
  margin-left: 32%;
}

#pet_main_type .mv_point {
  max-width: 1020px;
  width: 100%;
  position: absolute;
  top: auto;
  bottom: 1.5vw;
  left: 50%;
  transform: translateX(-50%);
}

ul.plan_btns li a {
  pointer-events: visible;
}

.plan_service .service_content .sub {
  font-size: 27px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}

.plan_joint,
.plan_single,
.plan_memorial,
.plan_premium {
  border-radius: 20px;
}

.plan_joint h5,
.plan_single h5,
.plan_memorial h5,
.plan_premium h5 {
  font-size: 34px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.plan_ttl {
  padding: 26px 50px 22px;
  border-radius: 10px 10px 0 0;
  position: relative;
}

.plan_ttl h5 span {
  padding-left: 65px;
}

.plan_joint h5 span::before {
  content: '';
  background: url(../img/top/icon_joint.png) no-repeat;
  background-size: contain;
  width: 55px;
  height: 44px;
  position: absolute;
  left: 0;
  top: 3px;
}

.plan_joint .plan_flow ul li.flow01:before {
  background: url(../img/common/icon_num01.svg) no-repeat;
}

.plan_joint .plan_flow ul li.flow02:before {
  background: url(../img/common/icon_num02.svg) no-repeat;
}

.plan_joint .plan_flow ul li.flow03:before {
  background: url(../img/common/icon_num03.svg) no-repeat;
}

.plan_single h5 span::before {
  content: '';
  background: url(../img/top/icon_single.png) no-repeat;
  background-size: contain;
  width: 44px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 6px;
}

.plan_single .service_content .sub {
  color: #31865a;
}

.plan_single .plan_flow ul li.flow01:before {
  background: url(../img/common/icon_num01_green.svg) no-repeat;
}

.plan_single .plan_flow ul li.flow02:before {
  background: url(../img/common/icon_num02_green.svg) no-repeat;
}

.plan_single .plan_flow ul li.flow03:before {
  background: url(../img/common/icon_num03_green.svg) no-repeat;
}

.plan_single .plan_flow ul li.flow04:before {
  background: url(../img/common/icon_num04_green.svg) no-repeat;
}

.plan_premium h5 span::before {
  content: '';
  background: url(../img/top/icon_tachiai.png) no-repeat;
  background-size: contain;
  width: 44px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 6px;
}

.plan_premium .plan_flow ul li.flow01:before {
  background: url(../img/common/icon_num01_gold.svg) no-repeat;
}

.plan_premium .plan_flow ul li.flow02:before {
  background: url(../img/common/icon_num02_gold.svg) no-repeat;
}

.plan_premium .plan_flow ul li.flow03:before {
  background: url(../img/common/icon_num03_gold.svg) no-repeat;
}

.plan_premium .plan_flow ul li.flow04:before {
  background: url(../img/common/icon_num04_gold.svg) no-repeat;
}

.plan_premium .plan_flow ul li.flow05:before {
  background: url(../img/common/icon_num05_gold.svg) no-repeat;
}

.plan_premium .service_content .sub {
  color: #b98a4a;
}

.plan_memorial h5 span::before {
  content: '';
  background: url(../img/top/icon_premium.png) no-repeat;
  background-size: contain;
  width: 44px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 6px;
}

.plan_memorial .plan_service .service_content .sub {
  color: #f05848;
}

.plan_memorial .plan_flow ul li.flow01:before {
  background: url(../img/common/icon_num01_pink.svg) no-repeat;
}

.plan_memorial .plan_flow ul li.flow02:before {
  background: url(../img/common/icon_num02_pink.svg) no-repeat;
}

.plan_memorial .plan_flow ul li.flow03:before {
  background: url(../img/common/icon_num03_pink.svg) no-repeat;
}

.plan_memorial .plan_flow ul li.flow04:before {
  background: url(../img/common/icon_num04_pink.svg) no-repeat;
}

.plan_memorial .plan_flow ul li.flow05:before {
  background: url(../img/common/icon_num05_pink.svg) no-repeat;
}

/*.reason01_content.plan01,
.reason01_content.plan02,
.reason01_content.plan03,
.reason01_content.plan04{
  margin: -84px 0 50px;
  padding-top: 84px;
}*/

.box_ttl h3 {
  font-size: 34px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.box_ttl .time {
  margin-left: auto;
  font-size: 19px;
  font-weight: bold;
  padding-bottom: 5px;
  color: #fff;
}

.box_ttl .time span {
  position: relative;
}

.box_ttl .time span::before {
  content: '';
  background: url(../img/common/icon_clock_white.svg) no-repeat;
  width: 26px;
  height: 26px;
  position: absolute;
  left: -38px;
  top: 2px;
}

.plan_flow ul {
  gap: 0 20px;
  position: relative;
  z-index: 10;
}

.plan_flow ul li.arrow img {
  position: relative;
  top: 140px;
}

.plan_flow ul li:not(.arrow) {
  width: 19%;
  max-width: 188px;
  background: #f5f5f5;
  position: relative;
}

.plan_flow ul li:not(.arrow) img {
  max-height: 133px;
  object-fit: cover;
}

.plan_flow ul li p {
  font-size: 16px;
  padding: 20px 25px 30px;
}

.plan_flow ul li:not(.arrow):before {
  content: '';
  width: 37px;
  height: 41px;
  position: absolute;
  top: 0;
  left: 0;
}

.plan_premium .plan_flow ul,
.plan_memorial .plan_flow ul {
  gap: 0;
  flex-wrap: nowrap;
}

/*ul.plan_btns li {
  width: 25%;
  max-width: 269px;
  margin-bottom: 40px;
}*/

@media only screen and (max-width: 1024px) {
  #pet_main_type .mv_point {
    max-width: 80%;
  }

  /*ul.plan_btns li {
    width: 23%;
  }*/
}

@media only screen and (max-width: 960px) {
  .plan_service .plan_txt {
    width: 47%;
  }

  .plan_flow ul {
    gap: 0 15px;
  }

  .plan_flow ul li p {
    font-size: 16px;
    padding: 10px;
  }

  .plan_ttl .time {
    font-size: 16px;
  }
}

@media only screen and (max-width: 568px) {
  #pet_main_type {
    background: url(../img/pet-type/bg_type_mv_sp.jpg) no-repeat center;
    background-size: cover;
    aspect-ratio: unset;
    margin: 0;
    border-radius: 0;
  }

  #pet_main_type .inner-type {
    aspect-ratio: unset;
    width: 100vw;
  }

  #pet_main_type .mv_txt,
  #pet_main_type .mv_point {
    max-width: 100%;
    position: static;
    margin-left: auto;
  }

  #pet_main_type .mv_txt {
    max-width: 94vw;
    margin: 0 auto;
  }

  #pet_main_type .mv_point {
    transform: none;
    max-width: 210px;
    margin-top: 20px;
  }

  .plan_joint,
  .plan_single,
  .plan_memorial,
  .plan_premium {
    border-radius: 0px;
    margin: 0 -5.3vw;
  }

  .plan_joint h5,
  .plan_single h5,
  .plan_memorial h5,
  .plan_premium h5 {
    position: static;
    transform: none;
  }

  .plan_joint h5,
  .plan_single h5,
  .plan_memorial h5,
  .plan_premium h5 {
    font-size: 26px;
    width: 100%;
  }

  .plan_joint h5 span::before {
    left: -20px;
    top: -2px;
  }

  .plan_single h5 span::before {
    left: -14px;
    top: 0;
  }

  .plan_premium h5 span::before {
    left: -14px;
    top: -2px;
  }

  .plan_memorial h5 span::before {
    left: -14px;
    top: 0px;
  }

  .reason01_content .md_inner_space {
    padding-top: 10px;
  }

  .plan_ttl {
    background: none !important;
    flex-direction: column;
    padding: 0;
    align-items: center;
  }

  .plan_ttl h5 {
    font-size: 25px;
    display: block;
    margin: 0 0 10px;
    width: 100%;
    padding: 8px 0 10px;
    text-align: center;
  }

  .plan_ttl span {
    position: relative;
    display: inline-block;
    text-align: center;
  }

  .plan_ttl h5 span {
    padding-left: 40px;
  }

  .plan_ttl .time {
    margin: 0;
    width: 89.4vw;
    text-align: center;
    padding: 1px 0 3px;
  }

  .plan_joint .time {
    border: 1px solid var(--site-primary);
    color: var(--site-primary);
  }

  .plan_ttl .time span::before {
    width: 20px;
    left: -27px;
    top: 5px;
  }

  .plan_joint .time span::before {
    background: url(../img/common/icon_clock.svg) no-repeat;
  }

  #goudou .plan_ttl h5 {
    background: url(../img/common/bg-lightblue_dot.png);
  }

  #single .plan_ttl h5 {
    background: url(../img/common/bg-deepgreen_dot.png);
  }

  #premium .plan_ttl h5 {
    background: url(../img/common/bg-brown_dot.png);
  }

  #memorial .plan_ttl h5 {
    background: url(../img/common/bg_dot_orange.png);
  }

  .plan_service .plan_txt {
    width: 100%;
    margin-bottom: 20px;
  }

  .plan_box:nth-last-of-type(1) {
    margin: 0 0 20px !important;
  }

  #goudou .plan_box img {
    max-width: 232px !important;
  }

  .plan_service .service_content .sub {
    font-size: 18px;
    text-align: center;
  }

  .plan_flow ul {
    display: block;
  }

  .plan_flow ul li:not(.arrow) img {
    object-fit: cover;
    height: 100%;
    max-height: initial;
  }

  .plan_flow ul li:not(.arrow) div {
    width: 50%;
  }

  .plan_flow ul li p {
    width: 50%;
    padding: 13px 18px;
  }

  .plan_flow ul li.arrow {
    margin: 4px 0 10px;
  }

  .plan_flow ul li:not(.arrow) {
    width: 100%;
    max-width: 100%;
    display: flex;
  }

  .plan_flow ul li.arrow img {
    width: 32px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .plan_single .time {
    border: 1px solid #31865a;
    color: #31865a;
  }

  .plan_single .plan_ttl .time span::before {
    background: url(../img/common/icon_clock_green.svg) no-repeat;
  }

  .plan_premium .time {
    border: 1px solid #b98a4a;
    color: #b98a4a;
  }

  .plan_premium .plan_ttl .time span::before {
    background: url(../img/common/icon_clock_gold.svg) no-repeat;
  }

  .plan_memorial .time {
    border: 1px solid #f05848;
    color: #f05848;
  }

  .plan_memorial .plan_ttl .time span::before {
    background: url(../img/common/icon_clock_orange.svg) no-repeat;
  }

  .plan_ttl .time span {
    margin-left: 9%;
  }

}

/*===============================================
 *	インスタグラム slider
===============================================*/
.voice-slider {
  margin: 70px 0 20px;
}

.voice-slider h5 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 30px;
}

.voice-slider>p {
  margin-bottom: 30px;
}

.voice-slider h5 span {
  position: relative;
}

.voice-slider h5 span::before {
  content: '';
  position: absolute;
  background: url(../img/top/icon-instagram.png)no-repeat;
  width: 70px;
  height: 71px;
  left: -85px;
  top: -14px;
}

.instagram-slider {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.instagram-slider .slider-img {
  height: auto;
  opacity: .3;
  transform: scale(.9);
  transition: opacity .5s, transform .5s;
  width: 100%;
}

.instagram-slider .slider-img img {
  margin-bottom: 20px;
}

/* 中央のスライド */
.instagram-slider .slick-center {
  opacity: 1;
  transform: scale(1);
  max-width: 1120px;
}

.instagram-slider .slide-arrow {
  width: 40px;
  height: 40px;
}

.instagram-slider button.arrow-common {
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 5;
}


.instagram-slider button.arrow-next {
  background: url(../img/top/slide-btn-r.svg)no-repeat !important;
  background-size: contain !important;
  position: absolute;
  top: 45%;
  right: 29%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 10;
}

.instagram-slider button.arrow-prev {
  background: url(../img/top/slide-btn-l.svg)no-repeat !important;
  background-size: contain !important;
  position: absolute;
  top: 45%;
  left: 29%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 10;
}

.instagram-slider button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.instagram-slider button:focus {
  outline: none;
}

.instagram-slider .slick-dots li.slick-active button::before {
  color: #da6272;
}

.slick-dots {
  bottom: -40px !important;
}

.instagram-btn {
  margin-top: 80px;
}

.instagram-btn .btn {
  background: #fff9df;
  box-shadow: 0px 5px 1px #c5bd41;
}

.instagram-btn .btn:hover {
  background: #fff6cc;
  box-shadow: 0px 5px 1px #ada535;
  transition: all 0.5s;
}

.instagram-btn .btn a {
  color: #43649f;
}

.instagram-btn .btn a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_blue.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 10px;
  height: 16px;
  top: 50%;
  right: 30px;
  transform: translate(0px, -50%);
}

.reason03_content.enquete .pb-10 {
  padding: 50px 50px 10px 50px;
}



@media only screen and (max-width: 960px) {
  .instagram-slider button.arrow-next {
    right: 5%;
  }

  .instagram-slider button.arrow-prev {
    left: 5%;
  }

}

@media only screen and (max-width: 568px) {
  .voice-slider h5 {
    font-size: 20px;
    text-align: left;
    margin-bottom: 20px;
  }

  .voice-slider>p {
    text-align: left;
  }

  .voice-slider h5 span::before {
    left: 0;
    width: 50px;
    height: 51px;
    background-size: contain;
    top: 25px;
  }

  .voice-slider h5 span {
    padding-left: 60px;
    display: block;
  }

  .instagram-slider .slider-img {
    opacity: .5;
    transform: scale(.9);
  }

  .instagram-slider .slider-img p {
    font-size: 17px;
  }

  .instagram-slider button.arrow-common {
    width: 30px;
  }

  .instagram-slider button.arrow-next {
    right: -2%;
  }

  .instagram-slider button.arrow-prev {
    left: -2%;
  }

  .reason03_content.enquete .pb-10 {
    padding: 35px 5.3vw 1px;
  }

  .instagram-slider .slick-center {
    opacity: 1;
    transform: scale(1);
    max-width: 330px;
  }

  .instagram-slider .slick-list {
    margin: 0 -5.7vw;
  }

  .instagram-btn {
    margin-top: 60px;
  }

  .instagram-btn .btn a {
    font-size: 15px;
  }

  .instagram-btn .btn a::after {
    width: 8px;
    height: 13px;
    right: 16px;
    top: 52%;
  }
}

/*--ペットちゃんのご遺骨の供養方法動画--*/
.service_item_movie {
  margin-top: 40px;
}

.service_item_movie h4 {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  font-size: 30px;
  padding: 15px 0;
}

.service_item_thumbnail {
  background: #fffbf5;
  border: 4px solid #edb5bd;
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 40px;
}

.service_item_thumbnail a {
  max-width: 442px;
  margin: 0 auto;
  display: block;
}

@media only screen and (max-width: 1024px) {
  .service_item_movie h4 {
    font-size: 28px;
  }
}

@media only screen and (max-width: 960px) {
  .service_item_movie h4 {
    font-size: 24px;
  }
}

@media only screen and (max-width: 568px) {
  .service_item_movie {
    margin: 20px -5.3vw;
  }

  .service_item_movie h4 {
    font-size: 24px;
    border-radius: 0;
  }

  .service_item_thumbnail {
    border-radius: 0;
    padding: 20px;
    border-left: none;
    border-right: none;
  }
}

/*----1級動物葬祭ディレクター----*/
.nds-link {
  margin-top: 20px;
}

/*1級動物葬祭ディレクター在籍[動画項目部分]*/
.reason03_content.expert .staff_introduction {
  margin-top: 40px;
}

.reason03_content.expert .staff_introduction .photo::after {
  content: none;
}

.staff_introduction h5 {
  font-size: 36px;
  line-height: 1.3;
  margin: 30px 0;
}

.staff_introduction h5 .small {
  font-size: 24px;
}

.staff_introduction h5 .under_yellow {
  background: linear-gradient(transparent 70%, #fcff10 70%);
}

.staff_introduction p {
  margin: 30px 0;
}

.staff_introduction p .txt_keycolor {
  font-weight: bold;
}

.staff_introduction .staff_youtube {
  background: var(--site-primary);
  gap: 1.3vw;
  align-items: center;
}

.staff_introduction .staff_youtube .txt {
  background: #fff;
  margin: 20px 0;
  padding: 20px 0;
}

.staff_introduction .staff_youtube .txt h6 {
  font-size: 26px;
  line-height: 1.3;
  margin-bottom: 20px;
}

.staff_introduction .staff_youtube .txt h6 .txt_keycolor {
  font-size: 32px;
}

.staff_introduction .movie_btn {
  display: block;
  text-align: center;
}

.staff_introduction .movie_btn a img {
  width: 100%;
  max-width: 200px;
}

.staff .staff_youtube .photo::after {
  content: none;
}

@media only screen and (max-width: 1024px) {
  .staff_introduction .staff_youtube {
    gap: 1vw;
  }

  .staff_introduction .staff_youtube .txt h6 {
    font-size: 24px;
  }

  .staff_introduction .staff_youtube .txt h6 .txt_keycolor {
    font-size: 28px;
  }

  .staff_introduction .staff_youtube .txt {
    margin: 10px 0;
    padding: 15px 0;
  }
}

@media only screen and (max-width: 960px) {
  .reason03_content.expert .staff_introduction {
    margin-top: 30px;
  }

  .staff_introduction h5 {
    font-size: 28px;
  }

  .staff_introduction h5 .small {
    font-size: 20px;
  }

  .staff_introduction .staff_youtube .txt {
    margin: 7px 0;
  }

  .staff_introduction .staff_youtube .txt h6 {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .staff_introduction .staff_youtube .txt h6 .txt_keycolor {
    font-size: 24px;
  }

  .staff_introduction .movie_btn a img {
    max-width: 140px;
  }

  .staff_introduction .staff_youtube {
    gap: 2vw;
  }
}

@media only screen and (max-width: 568px) {
  .reason03_content.expert .staff_introduction {
    margin-top: 10px;
  }

  .staff_introduction h5 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .staff_introduction h5 .small {
    font-size: 18px;
  }

  .staff_introduction .sp_full {
    border-radius: 0;
    margin: 0 -5.3vw;
    width: 100vw;
  }

  .staff_introduction p {
    margin: 20px 0;
  }

  .staff_introduction .staff_youtube .txt {
    margin: 7px 0px 15px;
    width: 90%;
  }

  .staff_introduction .staff_youtube .txt h6 .txt_keycolor {
    font-size: 22px;
  }
}

/*メモリアルグッズ*/
.new {
  background: #fffebf;
  margin-top: 30px;
}

.new .md_inner_space {
  padding: 30px;
  gap: 20px;
}

.new .felt .bg_gold {
  background: #ab8a5b;
  border-radius: 50px;
  font-size: 24px;
  margin-bottom: 10px;
}

.new .felt h6 {
  font-size: 28px;
}

.new-neme {
  position: relative;
  padding-left: 100px;
  margin-bottom: 20px;
}

.new-neme p {
  font-size: 40px;
  line-height: 1.3;
}

.new-neme .btn_wrapper {
  margin-top: 10px;
}

.new-neme .btn_wrapper .btn {
  max-width: 246px;
  background: var(--site-keycolor);
  box-shadow: 0px 3px 1px #bd5d6a;
}

.new-neme .btn_wrapper .btn:hover {
  background: #dd7785;
  box-shadow: 0px 3px 1px #c06874;
  transition: all 0.5s;
}

.new-neme .btn_wrapper .btn a {
  font-size: 18px;
  padding: 7px 0 5px;
}

.new-neme .btn_wrapper .btn a::after {
  right: 15px;
}

.new-neme::before {
  content: '';
  background: url(../img/top/icon_pic.svg)no-repeat;
  width: 91px;
  height: 87px;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.new .felt {
  max-width: 360px;
}

.new .felt .bg_white {
  padding: 10px 15px;
}

.new .felt p.annotation {
  font-size: 15px;
  color: #999;
  text-indent: -1em;
  padding-left: 1em;
}

.goods_list {
  margin-top: 30px;
}

@media only screen and (max-width: 960px) {
  .new .felt {
    width: 100%;
  }

  .new .felt .bg_gold {
    font-size: 20px;
  }

  .new .felt h6 {
    font-size: 23px;
  }

  .new-neme::before {
    width: 71px;
    height: 67px;
  }

  .new-neme {
    padding-left: 85px;
  }

  .new-neme p {
    font-size: 32px;
  }

  .new-neme .btn_wrapper .btn a {
    font-size: 15px;
  }

  .new .felt p.annotation {
    font-size: 13px;
  }
}

@media only screen and (max-width: 568px) {
  .new .md_inner_space {
    flex-direction: column;
    padding: 20px 15px;
  }

  .new {
    margin-top: 20px;
  }
}


#readMoreBlock {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  gap: 35px;
}

.readMoreInner {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.readMoreContainer {
  position: relative;
  height: auto;
  max-height: 400px;
  overflow: hidden;
  transition: max-height 0.6s;
  padding-bottom: 10px;
}

.readMoreInner .readMoreContainer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: 1s;
  background: linear-gradient(to bottom, transparent 40%, #fff2f4 100%);
  pointer-events: none;
}

.readMoreContainer.show:after {
  z-index: -1;
  opacity: 0;
}

.readMoreBtn {
  display: block;
  padding: 15px;
  border: 0;
  color: #ffffff;
  background-color: #db6777;
  cursor: pointer;
  box-shadow: 0px 5px 1px #af525f;
  max-width: 400px;
  width: 100%;
  border-radius: 100px;
  margin: 20px auto 4px;
  font-weight: bold;
  font-size: 20px;
  border-radius: 50px;
  position: relative;
}

.readMoreBtn span.open::after {
  content: '▼';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.readMoreBtn span.close::after {
  content: '▲';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.readMoreContainer p:last-child {
  margin-bottom: 10px;
}

@media only screen and (max-width: 568px) {
  .readMoreContainer {
    max-height: 300px;
  }

  .readMoreBtn {
    width: 80%;
    font-size: 18px;
  }
}

/*250414*/
.certificate_box {
  border: 4px solid var(--site-primary);
  padding: 36px 46px 26px;
  background: #f2feff;
  margin-top: 40px;
}

/*.certificate_box .txt {
  width: 82%;
}*/

.certificate_box h5 {
  color: var(--site-primary);
  font-size: 30px;
  margin-bottom: 12px;
}

.certificate_box h5 .bg_green {
  color: #fff;
  font-size: 22px;
  background: var(--site-primary);
  border-radius: 25px;
  padding: 10px 30px;
  margin-right: 20px;
  position: relative;
  top: -10px;
}

.certificate_box h5 .dot {
  font-size: 40px;
  padding-top: .4em;
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(rgba(40, 151, 159, 1) 9%, rgba(40, 151, 159, 0) 12%),
    radial-gradient(rgba(40, 151, 159, 1) 9%, rgba(40, 151, 159, 0) 12%);
  background-position: top -5px left -2px;
  background-size: 1.03em 1.03em;
  background-repeat: repeat-x;
  /* background-position: top 10px left -2px;
  background-repeat: repeat-x;
  background-size: 1.03em .3em;
  background-image: radial-gradient(rgba(40, 151, 159, 1),rgba(40, 151, 159, 1) 100%,rgba(40, 151, 159, 0)); */
}

.certificate_box a {
  position: relative;
  box-shadow: 0px 3px 0px 0px #ddd;
}

.certificate_box a::after {
  content: '';
  background: url(../img/common/icon_zoom.svg) no-repeat;
  width: 40px;
  height: 40px;
  position: absolute;
  right: -2px;
  bottom: -2px;
}

.voice_box dt.bg_dot_yellow {
  color: #333;
}

.memorial_goods .half_box_ttl {
  font-size: 30px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 568px) {
  .reason02_content {
    padding-bottom: 20px;
  }

  .reason02_content .grid_box {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto auto auto;
    gap: 10px;
  }

  .reason02_content .grid_box h4 {
    font-size: 26px;
  }

  .reason02_content .grid_box h4 span {
    font-size: 34px;
  }

  .reason02_content .grid_box img {
    grid-column: 1;
    grid-row: 2;
  }

  .reason02_content .grid_box p {
    grid-column: 1;
    grid-row: 3;
    margin-bottom: 15px;
  }

  .reason02_content .grid_box .car-content {
    grid-column: 1;
    grid-row: 4;
  }

  .reason02_content .grid_box .car-sale {
    grid-column: 1;
    grid-row: 5;
  }

  .reason03_content .reason_top_ttl span::before {
    width: 50px;
    height: 37px;
  }

  .compare .bg_arrow {
    height: 70px;
    margin: 20px auto;
  }

  .compare .bg_gold {
    margin: 20px -5.3vw;
  }

  .compare .bg_gold h4 {
    font-size: 24px;
    padding: 15px 0 20px;
    margin-bottom: 20px;
  }

  .compare .bg_keycolor {
    margin: 30px -5.3vw;
  }

  .compare .bg_keycolor h4 {
    font-size: 22px;
  }

  .voice_title01,
  .voice_title02 {
    margin: 20px -5.7vw;
  }

  .voice_title01 span,
  .voice_title02 span {
    font-size: 22px;
  }

  .memorial_goods .half_box_ttl {
    font-size: 21px;
  }

  .certificate_box {
    padding: 22px 29px 26px;
    margin-top: 25px;
  }

  .certificate_box .txt {
    width: 100%;
    margin-bottom: 8px;
  }

  .certificate_box h5 {
    font-size: 21px;
    text-align: center;
    line-height: 1.0;
  }

  .certificate_box h5 .bg_green {
    font-size: 18px;
    display: block;
    margin: 0 0 0;
    top: 4px;
  }

  .certificate_box h5 .dot {
    font-size: 28px;
    background-position: top -3px left 0px;
  }

  .certificate_box a {
    display: inline-block;
    width: 50%;
    margin: 0 auto;
    box-shadow: 0px 2px 0px 0px #ddd;
  }

  .certificate_box a::after {
    width: 30px;
    height: 30px;
  }

}


/*-----------------------------------------------
 *	種別ページ　new_MV 25/08/12
-----------------------------------------------*/
section:nth-child(odd) {
  background: #fffbf5;
  z-index: 0;
}

#dog {
  background: url(../img/pet-type/bg_type_dog.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#cat {
  background: url(../img/pet-type/bg_type_cat.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#hamster {
  background: url(../img/pet-type/bg_type_hamster.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#parakeet {
  background: url(../img/pet-type/bg_type_parakeet.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#bird {
  background: url(../img/pet-type/bg_type_bird.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#rabbits {
  background: url(../img/pet-type/bg_type_rabbits.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#guinea_pig {
  background: url(../img/pet-type/bg_type_guinea_pig.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#ferret {
  background: url(../img/pet-type/bg_type_ferret.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#hedgehog {
  background: url(../img/pet-type/bg_type_hedgehog.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#degu {
  background: url(../img/pet-type/bg_type_degu.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#chinchilla {
  background: url(../img/pet-type/bg_type_chinchilla.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#fancy-rat {
  background: url(../img/pet-type/bg_type_fancy-rat.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#momonga {
  background: url(../img/pet-type/bg_type_momonga.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#squirrel {
  background: url(../img/pet-type/bg_type_squirrel.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#monkey {
  background: url(../img/pet-type/bg_type_monkey.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#meerkat {
  background: url(../img/pet-type/bg_type_meerkat.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#java-sparrow {
  background: url(../img/pet-type/bg_type_java-sparrow.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#owl {
  background: url(../img/pet-type/bg_type_owl.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#fish {
  background: url(../img/pet-type/bg_type_fish.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#goldfish {
  background: url(../img/pet-type/bg_type_goldfish.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#turtle {
  background: url(../img/pet-type/bg_type_turtle.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#frog {
  background: url(../img/pet-type/bg_type_frog.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#snake {
  background: url(../img/pet-type/bg_type_snake.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#axolotl {
  background: url(../img/pet-type/bg_type_axolotl.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#lizard,
#reptiles {
  background: url(../img/pet-type/bg_type_lizard.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#gecko {
  background: url(../img/pet-type/bg_type_gecko.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#newt {
  background: url(../img/pet-type/bg_type_newt.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#iguana {
  background: url(../img/pet-type/bg_type_iguana.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#chameleon {
  background: url(../img/pet-type/bg_type_chameleon.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#duck {
  background: url(../img/pet-type/duck/bg_type_duck.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#minipig {
  background: url(../img/pet-type/minipig/bg_type_minipig.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

#insect {
  background: url(../img/pet-type/insect/bg_type_insect.jpg) no-repeat center;
  background-position: center top;
  margin: 0 40px 0;
  border-radius: 20px;
  position: relative;
  aspect-ratio: 183 / 64;
}

.inner-type {
  width: 88vw;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  padding: 60px 0 50px;
}

.main_txt {
  max-width: 840px;
  margin-left: auto;
  margin-bottom: 40px;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px, 7px 7px 3px rgba(0, 0, 0, 0.35);
}

.main_txt img {
  max-width: 575px;
  margin: 0 auto -50px;
  display: block;
}

.main_txt .large_txt {
  font-size: 48px;
  line-height: 1.3;
}

.main_txt .large_s_txt {
  font-size: 34px;
  line-height: 1.3;
}

.main_txt .large_s_txt span {
  font-size: 40px;
}

.main_txt .large_sm_txt {
  font-size: 30px;
  line-height: 1.3;
}

.main_txt .large_sm_txt span {
  font-size: 36px;
}

.main_txt .middle_txt {
  font-size: 38px;
}

.main_txt .small_txt {
  font-size: 22px;
  position: relative;
}

.main_txt .small_txt::before,
.main_txt .small_txt::after {
  content: '';
  background: url(../img/pet-type/wave.png)no-repeat;
  background-size: contain;
  width: 100px;
  height: 32px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.main_txt .small_txt::before {
  left: 0;
}

.main_txt .small_txt::after {
  right: 0;
}

.main_txt .txt_gold {
  color: #b98a4a;
}

.page-link ul li {
  width: 23%;
}

.page-link ul li .btn {
  border-radius: 10px;
  font-size: 21px;
}

.page-link ul li .btn span {
  font-size: 16px;
}

.page-link .btn a {
  text-align: left;
  line-height: 1.5;
}


.page-link .btn a::after {
  background: url(../img/pet-type/icon-bottom.png)no-repeat;
  width: 23px;
  height: 23px;
  right: 20px;
}

.page-link ul li:nth-child(odd) .btn {
  background-color: var(--site-primary);
  cursor: pointer;
  box-shadow: 0px 5px 1px #0b757d;
}

.page-link ul li:nth-child(even) .btn {
  background-color: #db6777;
  cursor: pointer;
  box-shadow: 0px 5px 1px #af525f;
}

.page-link ul li:hover {
  opacity: 0.8;
  transition: 0.5s;
}

.small_cta {
  background: #d8ecee;
  border-radius: 0 0 20px 20px;
}

.cta_ttl {
  background: var(--site-primary);
  color: #fff;
  font-size: 24px;
  padding: 8px 0 12px;
}

.cta_ttl .txt_yellow {
  font-size: 32px;
}

.cta_medal {
  position: relative;
  padding-left: 45px;
  display: inline-block;
}

.cta_medal::before {
  content: '';
  background: url(../img/common/icon-cv.png) no-repeat;
  width: 32px;
  height: 42px;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.small_cta .cta_ttl p {
  padding-left: 61%;
}

.small_cta_content {
  gap: 2vw;
  align-items: center;
}

.cta_comment {
  margin-top: -60px;
}

.cta_comment .comment_box {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: #058fb134 0px 2px 0px;
  padding: 25px 5px 30px 30px;
  position: relative;
}

.cta_comment .comment_box::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 0px;
  border-style: solid;
  border-width: 10px 16px 0 0;
  border-color: transparent #fff transparent transparent;
  translate: -100% calc(-50% - 0.4px);
}

.cta_comment .comment_box::after {
  content: "";
  background: url(../img/pet-type/bg_logo_sp.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: 119px;
}

.cta_comment .comment_box p {
  font-size: 24px;
  line-height: 1.5;
}

.cta_comment .comment_box .txt_keycolor {
  font-size: 28px;
}

.cta_comment img {
  max-width: 191px;
}

.example-list .memorial {
  margin-top: 0;
}

@media only screen and (max-width: 1024px) {
  .main_txt {
    max-width: 65%;
  }

  .main_txt img {
    max-width: 475px;
  }

  .main_txt .large_txt {
    font-size: 36px;
  }

  .main_txt .large_s_txt {
    font-size: 26px;
    line-height: 1.3;
  }

  .main_txt .large_s_txt span {
    font-size: 32px;
  }

  .main_txt .large_sm_txt {
    font-size: 24px;
    line-height: 1.3;
  }

  .main_txt .large_sm_txt span {
    font-size: 30px;
  }

  .main_txt .middle_txt {
    font-size: 26px;
  }

  .main_txt .small_txt {
    font-size: 16px;
    position: relative;
  }

  .main_txt .small_txt::before,
  .main_txt .small_txt::after {
    width: 55px;
    height: 18px;
  }

  .page-link ul li .btn span {
    font-size: 10px;
  }

  .page-link .btn a {
    font-size: 13px;
  }

  #dog,
  #guinea_pig,
  #ferret,
  #hedgehog,
  #degu,
  #chinchilla,
  #fancy-rat,
  #guinea_pig,
  #momonga,
  #squirrel,
  #monkey,
  #meerkat,
  #java-sparrow,
  #owl,
  #fish,
  #goldfish,
  #turtle,
  #frog,
  #snake,
  #axolotl,
  #lizard,
  #reptiles,
  #gecko,
  #newt,
  #iguana,
  #chameleon {
    background-position: left 35% top;
  }

  #cat,
  #hamster,
  #bird,
  #rabbits {
    background-position: left 25% top;
  }



  .page-link .btn a::after {
    right: 10px;
  }

  .cta_comment {
    margin-top: -100px;
  }

  .cta_comment .comment_box {
    padding: 10px 8px 13px 15px;
  }

  .cta_comment .comment_box p {
    font-size: 18px;
  }

  .cta_comment .comment_box .txt_keycolor {
    font-size: 20px;
  }

  .cta_medal {
    line-height: 1.2;
  }
}

@media only screen and (max-width: 960px) {

  #dog,
  #cat,
  #hamstar {
    margin: 100px 20px 0;
  }

  .inner-type {
    padding: 30px 0 40px;
  }

  .main_txt {
    max-width: 60%;
  }

  .main_txt .large_txt {
    font-size: 32px;
    margin-bottom: 10px;
  }

  .page-link .btn a {
    padding: 10px;
  }

  .page-link .btn a::after {
    width: 18px;
    height: 18px;
    right: 10px;
    background-size: contain;
  }

  .cta_ttl {
    padding: 8px 0 5px;
  }

  .cta_ttl p {
    padding-left: 63%;
  }

  .cta_ttl .txt_yellow {
    font-size: 28px;
  }

  .cta_medal {
    font-size: 18px;
  }

  .cta_comment img {
    max-width: 171px;
  }
}

@media only screen and (max-width: 568px) {
  #dog {
    background: url(../img/pet-type/bg_type_dog_sp.jpg)no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #cat {
    background: url(../img/pet-type/bg_type_cat_sp.jpg)no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #hamster {
    background: url(../img/pet-type/bg_type_hamster_sp.jpg)no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #parakeet {
    background: url(../img/pet-type/bg_type_parakeet_sp.jpg)no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #bird {
    background: url(../img/pet-type/bg_type_bird_sp.jpg)no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #rabbits {
    background: url(../img/pet-type/bg_type_rabbits_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #guinea_pig {
    background: url(../img/pet-type/bg_type_guinea_pig_sp.jpg) no-repeatr;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #ferret {
    background: url(../img/pet-type/bg_type_ferret_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #hedgehog {
    background: url(../img/pet-type/bg_type_hedgehog_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #degu {
    background: url(../img/pet-type/bg_type_degu_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #chinchilla {
    background: url(../img/pet-type/bg_type_chinchilla_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #fancy-rat {
    background: url(../img/pet-type/bg_type_fancy-rat_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: cover;
    background-position: left 35% top;
  }

  #guinea_pig {
    background: url(../img/pet-type/bg_type_guinea_pig_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #momonga {
    background: url(../img/pet-type/bg_type_momonga_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #squirrel {
    background: url(../img/pet-type/bg_type_squirrel_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #monkey {
    background: url(../img/pet-type/bg_type_monkey_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #meerkat {
    background: url(../img/pet-type/bg_type_meerkat_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: cover;
    background-position: left 35% top;
  }

  #java-sparrow {
    background: url(../img/pet-type/bg_type_java-sparrow_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #owl {
    background: url(../img/pet-type/bg_type_owl_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #fish {
    background: url(../img/pet-type/bg_type_fish_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #goldfish {
    background: url(../img/pet-type/bg_type_goldfish_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #turtle {
    background: url(../img/pet-type/bg_type_turtle_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #frog {
    background: url(../img/pet-type/bg_type_frog_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #snake {
    background: url(../img/pet-type/bg_type_snake_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #axolotl {
    background: url(../img/pet-type/bg_type_axolotl_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: 110%;
    background-position: left 35% top;
  }

  #lizard,
  #reptiles {
    background: url(../img/pet-type/bg_type_lizard_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #gecko {
    background: url(../img/pet-type/bg_type_gecko_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #newt {
    background: url(../img/pet-type/bg_type_newt_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #iguana {
    background: url(../img/pet-type/bg_type_iguana_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #chameleon {
    background: url(../img/pet-type/bg_type_chameleon_sp.jpg) no-repeat;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #duck {
    background: url(../img/pet-type/duck/bg_type_duck_sp.jpg) no-repeat center;
    margin: 0;
    border-radius: 0;
    background-size: 110%;
    background-position: left 35% top;
  }

  #minipig {
    background: url(../img/pet-type/minipig/bg_type_minipig_sp.jpg) no-repeat center;
    margin: 0;
    border-radius: 0;
    background-size: contain;
  }

  #insect {
    background: url(../img/pet-type/insect/bg_type_insect_sp.jpg) no-repeat center;
    margin: 0;
    border-radius: 0;
    background-size: 110%;
    background-position: left 35% top;
  }

  .main_txt {
    max-width: 100%;
    margin-bottom: 10px;
  }

  .inner-type {
    padding: 30px 0 14px;
    width: 90vw;
  }

  .main_txt .large_txt span {
    font-size: 27px;
  }

  .main_txt .large_txt {
    font-size: 24px;
  }

  .main_txt .large_s_txt {
    font-size: 16px;
    line-height: 1.75;
  }

  .main_txt .large_s_txt span {
    font-size: 18px;
  }

  .main_txt .large_s_txt em {
    font-size: 29px;
  }

  .main_txt .large_sm_txt {
    font-size: 15px;
    line-height: 1.5;
  }

  .main_txt .large_sm_txt span {
    font-size: 17px;
  }

  .main_txt .middle_txt {
    font-size: 26px;
  }

  .main_txt .middle_txt {
    font-size: 17px;
    margin-left: 40%;
    text-align: center;
  }

  .main_txt .small_txt {
    font-size: 12px;
    letter-spacing: 0;
    margin-bottom: 10px;
  }

  .page-link {
    margin-left: 40%;
  }

  .page-link ul {
    flex-direction: column;
    gap: 5px;
  }

  .page-link ul li {
    width: 100%;
  }

  .page-link ul li .btn {
    max-width: 100%;
  }

  .page-link .btn a {
    padding: 5px 10px;
    line-height: 1.3;
  }

  .main_txt img {
    max-width: 266px;
    margin: 0 auto -90px;
  }

  .main_txt .small_txt::before,
  .main_txt .small_txt::after {
    content: none;
  }

  .cta_ttl {
    background: #058fb1;
    padding: 0 0 5px;
  }

  .small_cta .cta_ttl p {
    padding-left: 0;
    text-align: center;
  }

  .cta_medal .txt_yellow {
    font-size: 19px;
  }

  .cta_medal {
    padding-left: 20px;
    font-size: 13px;
  }

  .cta_medal::before {
    width: 15px;
    height: 20px;
  }

  .cta_medal .sp {
    display: inline-block;
  }

  .page-link ul li:nth-child(odd) .btn {
    background-color: var(--site-primary);
    cursor: pointer;
    box-shadow: 0px 3px 1px #0b757d;
  }

  .page-link ul li:nth-child(even) .btn {
    background-color: #b98a4a;
    cursor: pointer;
    box-shadow: 0px 3px 1px #9b6822;
  }

  .tel_btn_pc {
    display: none;
  }

  .small_cta {
    border-radius: 0;
  }

  .small_cta_content {}

  .cta_comment {
    margin: 0;
    position: relative;
    width: 100%;
    margin-top: -5px;
  }

  .cta_comment .cta_staff {
    max-width: 84px;
    position: absolute;
    left: -30px;
    bottom: 0;
  }

  .cta_comment img {
    max-width: 90px;
  }

  .cta_comment .comment_box {
    display: flex;
    margin-left: 13%;
    margin-bottom: 10px;
    align-items: center;
  }

  .cta_comment .comment_box .txt_keycolor {
    font-size: 15px;
  }

  .cta_comment .comment_box p {
    font-size: 13px;
  }

  .cta_comment .comment_box::before {
    top: 27%;
    border-width: 10px 10px 0 0;
  }

  .cta_comment .comment_box::after {
    right: 40%;
    width: 60px;
    height: 59px;
  }
}

.hd_box h1 .txt_small {
  font-size: 24px;
}

@media only screen and (max-width: 1024px) {
  .hd_box h1 .txt_small {
    font-size: 21px;
  }
}

@media only screen and (max-width: 568px) {
  .hd_box h1 .txt_small {
    font-size: 17px;
  }
}


/*-----------------------------------
種別バナーエリア
-------------------------------------*/

.bnr-dog {
  background: url(../img/pet-type/bnr_dog.jpg)no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-cat {
  background: url(../img/pet-type/bnr_cat.jpg)no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-hamster {
  background: url(../img/pet-type/bnr_hamster.jpg)no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-parakeet {
  background: url(../img/pet-type/bnr_parakeet.jpg)no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-bird {
  background: url(../img/pet-type/bnr_bird.jpg)no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-rabbits {
  background: url(../img/pet-type/bnr_rabbits.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-guinea_pig {
  background: url(../img/pet-type/bnr_guinea_pig.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-ferret {
  background: url(../img/pet-type/bnr_ferret.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-hedgehog {
  background: url(../img/pet-type/bnr_hedgehog.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-degu {
  background: url(../img/pet-type/bnr_degu.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-chinchilla {
  background: url(../img/pet-type/bnr_chinchilla.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-fancy-rat {
  background: url(../img/pet-type/bnr_fancy-rat.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-momonga {
  background: url(../img/pet-type/bnr_momonga.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-squirrel {
  background: url(../img/pet-type/bnr_squirrel.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-monkey {
  background: url(../img/pet-type/bnr_monkey.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-meerkat {
  background: url(../img/pet-type/bnr_meerkat.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-java-sparrow {
  background: url(../img/pet-type/bnr_java-sparrow.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-owl {
  background: url(../img/pet-type/bnr_owl.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-fish {
  background: url(../img/pet-type/bnr_fish.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-goldfish {
  background: url(../img/pet-type/bnr_goldfish.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-turtle {
  background: url(../img/pet-type/bnr_turtle.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-frog {
  background: url(../img/pet-type/bnr_frog.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-snake {
  background: url(../img/pet-type/bnr_snake.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-axolotl {
  background: url(../img/pet-type/bnr_axolotl.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-lizard,
.bnr-reptiles {
  background: url(../img/pet-type/bnr_lizard.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-gecko {
  background: url(../img/pet-type/bnr_gecko.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-newt {
  background: url(../img/pet-type/bnr_newt.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-iguana {
  background: url(../img/pet-type/bnr_iguana.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-chameleon {
  background: url(../img/pet-type/bnr_chameleon.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-duck {
  background: url(../img/pet-type/duck/bnr_duck.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-minipig {
  background: url(../img/pet-type/minipig/bnr_minipig.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}

.bnr-insect {
  background: url(../img/pet-type/insect/bnr_insect.jpg) no-repeat;
  background-position: center top;
  background-size: cover;
}



.intro_bnr {
  padding-top: 0;
  position: relative;
}

.intro_bnr::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  border: 70px solid transparent;
  border-top: 30px solid #fff;
}


.type-intro {
  padding: 40px 50px;
}

.type-intro h2 {
  font-size: 40px;
  line-height: 1.5;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px, 7px 7px 3px rgba(0, 0, 0, 0.35);
  margin-bottom: 20px;
  max-width: 716px;
  text-align: center;
}

.type-intro h2 .txt_keycolor {
  font-size: 44px;
}

.type-intro p {
  font-size: 19px;
  background: #ffffffa2;
  padding: 25px 30px;
  max-width: 716px;
  border-radius: 5px;
}

@media only screen and (max-width: 960px) {
  .bnr-dog {
    background-size: 100% 100%;
  }

  .type-intro {
    padding: 20px 30px;
  }

  .type-intro h2 {
    font-size: 28px;
    width: 70%;
  }

  .type-intro h2 .txt_keycolor {
    font-size: 32px;
  }

  .type-intro p {
    font-size: 15px;
    max-width: 70%;
    padding: 10px 15px;
  }
}

@media only screen and (max-width: 568px) {

  .type-intro {
    padding: 20px;
    margin: 0 -5.3vw;
    border-radius: 0;
  }

  .bnr-dog {
    background: url(../img/pet-type/bnr_dog_sp.jpg)no-repeat;
    background-size: cover;
  }

  .bnr-cat {
    background: url(../img/pet-type/bnr_cat_sp.jpg)no-repeat;
    background-size: cover;
  }

  .bnr-hamster {
    background: url(../img/pet-type/bnr_hamster_sp.jpg)no-repeat;
    background-size: cover;
  }

  .bnr-parakeet {
    background: url(../img/pet-type/bnr_parakeet_sp.jpg)no-repeat;
    background-size: cover;
  }

  .bnr-bird {
    background: url(../img/pet-type/bnr_bird_sp.jpg)no-repeat;
    background-size: cover;
  }

  .bnr-rabbits {
    background: url(../img/pet-type/bnr_rabbits_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-guinea_pig {
    background: url(../img/pet-type/bnr_guinea_pig_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-ferret {
    background: url(../img/pet-type/bnr_ferret_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-hedgehog {
    background: url(../img/pet-type/bnr_hedgehog_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-degu {
    background: url(../img/pet-type/bnr_degu_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-chinchilla {
    background: url(../img/pet-type/bnr_chinchilla_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-fancy-rat {
    background: url(../img/pet-type/bnr_fancy-rat_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-momonga {
    background: url(../img/pet-type/bnr_momonga_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-squirrel {
    background: url(../img/pet-type/bnr_squirrel_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-monkey {
    background: url(../img/pet-type/bnr_monkey_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-meerkat {
    background: url(../img/pet-type/bnr_meerkat_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-java-sparrow {
    background: url(../img/pet-type/bnr_java-sparrow_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-owl {
    background: url(../img/pet-type/bnr_owl_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-fish {
    background: url(../img/pet-type/bnr_fish_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-goldfish {
    background: url(../img/pet-type/bnr_goldfish_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-turtle {
    background: url(../img/pet-type/bnr_turtle_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-frog {
    background: url(../img/pet-type/bnr_frog_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-snake {
    background: url(../img/pet-type/bnr_snake_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-axolotl {
    background: url(../img/pet-type/bnr_axolotl_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-lizard,
  .bnr-reptiles {
    background: url(../img/pet-type/bnr_lizard_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-gecko {
    background: url(../img/pet-type/bnr_gecko_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-newt {
    background: url(../img/pet-type/bnr_newt_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-iguana {
    background: url(../img/pet-type/bnr_iguana_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-chameleon {
    background: url(../img/pet-type/bnr_chameleon_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-duck {
    background: url(../img/pet-type/duck/bnr_duck_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-minipig {
    background: url(../img/pet-type/minipig/bnr_minipig_sp.jpg) no-repeat;
    background-size: cover;
  }

  .bnr-insect {
    background: url(../img/pet-type/insect/bnr_insect_sp.jpg) no-repeat;
    background-size: cover;
  }


  .type-intro h2 {
    font-size: 24px;
    width: 100%;
  }

  .type-intro h2 .txt_keycolor {
    font-size: 26px;
  }

  .type-intro p {
    max-width: 100%;
  }

  .intro_child {
    padding: 0;
  }

  .intro_bnr {
    padding-bottom: 0;
  }
}

/*-------------------------------
準備
----------------------------------*/
.ttl_page_section {
  position: relative;
}

.ttl_page_section .before_txt::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care.png)no-repeat;
  background-size: contain;
  width: 132px;
  height: 65px;
  right: 17%;
}

.ttl_page_section .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  left: 17%;
}

.dog_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_dog.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 80px;
  left: 17%;
}

.cat_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_cat.png)no-repeat;
  background-size: contain;
  width: 136px;
  height: 68px;
  left: 17%;
}

.hamster_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_hamster.png)no-repeat;
  background-size: contain;
  width: 126px;
  height: 74px;
  left: 13%;
}

.hamster_icon .before_txt::after {
  right: 13%;
}

.parakeet_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_parakeet.png)no-repeat;
  background-size: contain;
  width: 85px;
  height: 85px;
  left: 17%;
}

.rabbits_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_rabbits.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 80px;
  left: 18%;
}

.ferret_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_ferret.png)no-repeat;
  background-size: contain;
  width: 137px;
  height: 85px;
  left: 13%;
}

.ferret_icon .before_txt::after {
  right: 13%;
}

.chinchilla_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_chinchilla.png)no-repeat;
  background-size: contain;
  width: 144px;
  height: 103px;
  left: 14%;
}

.chinchilla_icon .before_txt::after {
  right: 15%;
}

.guinea_pig_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_guinea_pig.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 80px;
  left: 14%;
}

.guinea_pig_icon .before_txt::after {
  right: 13%;
}

.hedgehog_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_hedgehog.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 13%;
}

.hedgehog_icon .before_txt::after {
  right: 13%;
}

.degu_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_degu.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 16%;
}

.degu_icon .before_txt::after {
  right: 16%;
}

.momonga_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_momonga.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 14%;
}

.momonga_icon .before_txt::after {
  right: 13%;
}

.squirrel_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_squirrel.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 17%;
}

.squirrel_icon .before_txt::after {
  right: 16%;
}

.fancy-rat_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_fancy-rat.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 8%;
}

.fancy-rat_icon .before_txt::after {
  right: 8%;
}

.monkey_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_monkey.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 19%;
}

.monkey_icon .before_txt::after {
  right: 17%;
}

.meerkat_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_meerkat.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 10%;
}

.meerkat_icon .before_txt::after {
  right: 10%;
}

.java-sparrow_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_java-sparrow.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 20%;
}


.owl_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_owl.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 103px;
  left: 18%;
}

.owl_icon .before_txt::after {
  right: 14%;
}

.lizard_icon .before_txt::before,
.reptiles_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_lizard.png)no-repeat;
  background-size: contain;
  width: 151px;
  height: 70px;
  left: 15%;
}

.lizard_icon .before_txt::after,
.reptiles_icon .before_txt::after {
  right: 16%;
}

.gecko_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_gecko.png)no-repeat;
  background-size: contain;
  width: 150px;
  height: 76px;
  left: 15%;
}

.gecko_icon .before_txt::after {
  right: 16%;
}

.turtle_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_turtle.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 89px;
  left: 18%;
}

.turtle_icon .before_txt::after {
  right: 18%;
}

.snake_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_snake.png)no-repeat;
  background-size: contain;
  width: 72px;
  height: 103px;
  left: 21%;
}

.snake_icon .before_txt::after {
  right: 16%;
}

.newt_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_newt.png)no-repeat;
  background-size: contain;
  width: 150px;
  height: 41px;
  left: 15%;
}

.newt_icon .before_txt::after {
  right: 16%;
}

.axolotl_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_axolotl.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 80px;
  left: 8%;
}

.axolotl_icon .before_txt::after {
  right: 8%;
}

.frog_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_frog.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 83px;
  left: 16%;
}

.frog_icon .before_txt::after {
  right: 15%;
}

.chameleon_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_chameleon.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 77px;
  left: 13%;
}

.chameleon_icon .before_txt::after {
  right: 13%;
}

.iguana_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_iguana.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 84px;
  left: 15%;
}

.iguana_icon .before_txt::after {
  right: 14%;
}

.goldfish_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_goldfish.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 82px;
  left: 13%;
}

.goldfish_icon .before_txt::after {
  right: 13%;
}

.fish_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/care_fish.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 68px;
  left: 18%;
}

.fish_icon .before_txt::after {
  right: 18%;
}

.duck_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/duck/care_duck.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 68px;
  left: 6%;
}

.duck_icon .before_txt::after {
  right: 4%;
}

.minipig_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/minipig/care_minipig.png)no-repeat;
  background-size: contain;
  width: 127px;
  height: 68px;
  left: 18%;
}

.minipig_icon .before_txt::after {
  right: 15%;
}

.insect_icon .before_txt::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/pet-type/insect/care_insect.png)no-repeat;
  background-size: contain;
  width: 99px;
  height: 76px;
  left: 11%;
}

.insect_icon .before_txt::after {
  right: 8%;
}

.care-flow {
  border-radius: 10px;
  padding-bottom: 1px;
}

.prepare_list {
  padding: 40px;
}

.prepare_list li {
  gap: 2vw;
  padding: 40px;
  border-radius: 10px;
  position: relative;
}

.prepare_list li::after {
  content: "";
  position: absolute;
  bottom: -48px;
  left: 50%;
  transform: translateX(-50%);
  border: 20px solid transparent;
  border-top: 0px solid #e4b66d;
}

.prepare_list li:last-child::after {
  content: none;
}

.prepare_list img {
  max-width: 400px;
  border-radius: 5px;
}

.sudden {
  border: 4px solid var(--site-keycolor);
  padding: 30px 40px 40px;
  margin: 0 40px 40px;
  position: relative;
}

.sudden::after {
  content: '';
  background: url(../img/common/icon_exclamation.svg) no-repeat center;
  width: 300px;
  height: 300px;
  position: absolute;
  right: -20px;
  top: -20px;
  opacity: .2;
  z-index: 0;
}


.sudden h3 {
  font-size: 27px;
  margin-bottom: 15px;
}

.sudden p {
  margin-bottom: 10px;
}

.sudden dl {
  gap: 10px;
}

.sudden dl dt {
  background: var(--site-keycolor);
  color: #fff;
  padding: 5px 15px 7px;
}

.sudden dl dd a {
  color: var(--site-keycolor);
  text-decoration: underline;
}

.sudden dl dd a:hover {
  text-decoration: none;
}

#angel-care .movie_box {
  margin: 0 40px 40px;
}


@media only screen and (max-width: 960px) {
  .dog_icon .before_txt::before {
    width: 90px;
    height: 57px;
    left: 14%;
  }

  .dog_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 14%;
  }

  .cat_icon .before_txt::before {
    width: 90px;
    height: 57px;
    left: 14%;
  }

  .cat_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 14%;
  }

  .hamster_icon .before_txt::before {
    width: 90px;
    height: 57px;
    left: 9%;
  }

  .hamster_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 7%;
  }

  .parakeet_icon .before_txt::before,
  .bird_icon .before_txt::before {
    width: 70px;
    height: 70px;
    left: 13%;
  }

  .parakeet .before_txt::after,
  .bird_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 7%;
  }

  .rabbits_icon .before_txt::before {
    width: 90px;
    height: 57px;
    left: 13%;
  }

  .rabbits_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 11%;
  }

  .guinea_pig_icon .before_txt::before {
    width: 100px;
    height: 63px;
    left: 8%;
  }

  .guinea_pig_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 3%;
  }

  .ferret_icon .before_txt::before {
    width: 100px;
    height: 63px;
    left: 8%;
  }

  .ferret_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 7%;
  }

  .hedgehog_icon .before_txt::before {
    width: 90px;
    height: 73px;
    left: 8%;
  }

  .hedgehog_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 3%;
  }

  .chinchilla_icon .before_txt::before {
    width: 94px;
    height: 67px;
    left: 10%;
  }

  .chinchilla_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 9%;
  }

  .degu_icon .before_txt::before {
    width: 94px;
    height: 72px;
    left: 11%;
  }

  .degu_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 10%;
  }

  .fancy-rat_icon .before_txt::before {
    width: 94px;
    height: 69px;
    left: 1%;
  }

  .fancy-rat_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 1%;
  }

  .momonga_icon .before_txt::before {
    width: 94px;
    height: 64px;
    left: 10%;
  }

  .momonga_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 9%;
  }

  .squirrel_icon .before_txt::before {
    width: 94px;
    height: 64px;
    left: 13%;
  }

  .squirrel_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .monkey_icon .before_txt::before {
    width: 94px;
    height: 86px;
    left: 13%;
  }

  .monkey_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .meerkat_icon .before_txt::before {
    width: 94px;
    height: 86px;
    left: 4%;
  }

  .meerkat_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 2%;
  }

  .java-sparrow_icon .before_txt::before {
    width: 94px;
    height: 86px;
    left: 13%;
  }

  .java-sparrow_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .owl_icon .before_txt::before {
    width: 94px;
    height: 86px;
    left: 12%;
  }

  .owl_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 10%;
  }

  .fish_icon .before_txt::before {
    width: 107px;
    height: 58px;
    left: 13%;
  }

  .fish_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 13%;
  }

  .goldfish_icon .before_txt::before {
    width: 107px;
    height: 58px;
    left: 8%;
  }

  .goldfish_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 8%;
  }

  .turtle_icon .before_txt::before {
    width: 107px;
    height: 75px;
    left: 11%;
  }

  .turtle_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .frog_icon .before_txt::before {
    width: 107px;
    height: 75px;
    left: 11%;
  }

  .frog_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .snake_icon .before_txt::before {
    width: 65px;
    height: 94px;
    left: 16%;
  }

  .snake_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .axolotl_icon .before_txt::before {
    width: 94px;
    height: 86px;
    left: 1%;
  }

  .axolotl_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 1%;
  }

  .lizard_icon .before_txt::before,
  .reptiles_icon .before_txt::before {
    width: 107px;
    height: 50px;
    left: 11%;
  }

  .lizard_icon .before_txt::after,
  .reptiles_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .gecko_icon .before_txt::before {
    width: 107px;
    height: 50px;
    left: 11%;
  }

  .gecko_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .newt_icon .before_txt::before {
    width: 107px;
    height: 50px;
    left: 11%;
  }

  .newt_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 12%;
  }

  .iguana_icon .before_txt::before {
    width: 107px;
    height: 71px;
    left: 9%;
  }

  .iguana_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 10%;
  }

  .chameleon_icon .before_txt::before {
    width: 107px;
    height: 65px;
    left: 6%;
  }

  .chameleon_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 7%;
  }

  .duck_icon .before_txt::before {
    width: 107px;
    height: 65px;
    left: 0%;
  }

  .duck_icon .before_txt::after {
    width: 80px;
    height: 40px;
    right: 0%;
  }

  .minipig_icon .before_txt::before {
    width: 87px;
    height: 55px;
    left: 11%;
  }

  .minipig_icon .before_txt::after {
    width: 100px;
    height: 49px;
    right: 9%;
  }

  .insect_icon .before_txt::before {
    width: 70px;
    height: 65px;
    left: 5%;
  }

  .insect_icon .before_txt::after {
    width: 100px;
    height: 63px;
    right: 1%;
  }

  .care-flow {
    border-radius: 10px;
  }

  .prepare_list img {
    max-width: 50%;
  }

  .prepare_list li {
    padding: 30px;
  }

  .prepare_list {
    padding: 30px;
  }

  .sudden {
    border: 4px solid var(--site-keycolor);
    padding: 15px 20px 20px;
    margin: 0 30px 40px;
    position: relative;
  }

  .sudden h3 {
    font-size: 24px;
  }

  .movie_box {
    margin: 0 30px 30px;
  }

}

@media only screen and (max-width: 568px) {
  .dog_icon .before_txt::before {
    top: auto;
    bottom: -75px;
    width: 66px;
    height: 40px;
    left: 22%;
  }

  .dog_icon .before_txt::after {
    top: auto;
    bottom: -75px;
    width: 66px;
    height: 33px;
    right: 22%;
  }

  .cat_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    left: 22%;
  }

  .cat_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    left: 22%;
  }

  .hamster_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    left: 22%;
  }

  .hamster_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .parakeet_icon .before_txt::before,
  .bird_icon .before_txt::before {
    top: auto;
    bottom: -95px;
    width: 60px;
    height: 60px;
    left: 22%;
  }

  .parakeet_icon .before_txt::after,
  .bird_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .rabbits_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .rabbits_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .guinea_pig_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .guinea_pig_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .ferret_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 70px;
    height: 44px;
    left: 15%;
  }

  .ferret_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .hedgehog_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .hedgehog_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .chinchilla_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .chinchilla_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .degu_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .degu_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .fancy-rat_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .fancy-rat_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .momonga_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .momonga_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .squirrel_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .squirrel_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .monkey_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .monkey_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .meerkat_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .meerkat_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .java-sparrow_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .java-sparrow_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .owl_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 50px;
    left: 22%;
  }

  .owl_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .fish_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    left: 22%;
  }

  .fish_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .goldfish_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 62px;
    height: 40px;
    left: 22%;
  }

  .goldfish_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .turtle_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .turtle_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .frog_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .frog_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .snake_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .snake_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .axolotl_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .axolotl_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .lizard_icon .before_txt::before,
  .reptiles_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .lizard_icon .before_txt::after,
  .reptiles_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .gecko_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .gecko_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .newt_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .newt_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .iguana_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .iguana_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .chameleon_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .chameleon_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .duck_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .duck_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .minipig_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .minipig_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }

  .insect_icon .before_txt::before {
    top: auto;
    bottom: -85px;
    width: 60px;
    height: 40px;
    left: 22%;
  }

  .insect_icon .before_txt::after {
    top: auto;
    bottom: -85px;
    width: 66px;
    height: 40px;
    right: 22%;
  }




  .care-flow {
    border-radius: 0;
    margin: 0 -5.3vw;
  }

  .prepare_list {
    padding: 30px 20px 20px;
  }

  .prepare_list li {
    flex-direction: column;
    padding: 20px;
    gap: 4vw;
  }

  .prepare_list .ttl {
    margin-bottom: 0;
  }

  #angel-care .movie_box {
    margin: 0 20px 20px;
  }

  /*#angel-care .movie_box .yt_wrapper::before {
    padding-top: 0;
  }*/

  .prepare_list img {
    max-width: 100%;
  }

  .sudden {
    padding: 15px 20px 20px;
    margin: 0 20px 20px;
  }

  .sudden dl dt {
    width: 140px;
    text-align: center;
  }

  .sudden h3 {
    font-size: 20px;
  }
}

/*----cv----*/
/*.type_cv {
  margin-top: 50px;
}

.type_cv .pet_child_cv .cv_content {
  padding: 10px;
}

.type_cv .cv_ttl {
  background: #058fb1;
  position: relative;
}

.type_cv .cv_ttl::before {
  content: '';
  background: url(../img/pet-type/bg_logo.png)no-repeat;
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 164px;
  height: 122px;
  background-size: contain;
}

.type_cv .cv_ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 14%;
  border-style: solid;
  border-width: 21px 21px 0 0;
  border-color: #058fb1 transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
  z-index: 2;
}

.type_cv .cv_box_inner::after {
  background: url(../img/pet-type/cv_mens.png)no-repeat;
  width: 224px;
  height: 312px;
  right: 8%;
}

.type_cv:nth-of-type(odd) .cv_box_inner::after {
  background: url(../img/pet-type/cv_ladys.png)no-repeat;
  width: 232px;
  height: 305px;
  right: 8%;
}

.type_cv:nth-of-type(4) .cv_box_inner::after {
  background: url(../img/pet-type/cv_ladys.png)no-repeat;
  width: 232px;
  height: 305px;
  right: 8%;
}

#angel-care .movie_box {
  margin: 0 40px 40px;
}

@media only screen and (max-width: 960px) {

  .type_cv .cv_box_inner::after {
    width: 124px;
    height: 172px;
    right: 8%;
    background-size: contain;
  }

  .pet_child_cv .cv_ttl h2 span {
    font-size: 24px;
    margin: 0;
    padding: 0;
  }

  .type_cv:nth-child(odd) .cv_box_inner::after {
    width: 152px;
    height: 200px;
    right: 7%;
    background-size: contain;
  }

  .type_cv {
    margin-top: 30px;
  }


}

@media only screen and (max-width: 568px) {
  .type_cv .cv_ttl::before {
    background: none;
  }

  .type_cv .cv_box::before {
    background: url(../img/pet-type/cv_mens_sp.png)no-repeat;
    width: 88px;
    height: 122px;
    background-size: contain;
    right: -18px;
    top: -142px;
  }

  .type_cv:nth-of-type(odd) .cv_box::before {
    background: url(../img/pet-type/cv_ladys_sp.png)no-repeat;
    width: 93px;
    height: 122px;
    background-size: contain;
    right: -18px;
    top: -142px;
  }

  .type_cv:nth-of-type(4) .cv_box::before {
    background: url(../img/pet-type/cv_ladys_sp.png)no-repeat;
    width: 93px;
    height: 122px;
    background-size: contain;
    right: -18px;
    top: -142px;
  }

  .pet_child_cv {
    border-radius: 0;
    overflow: visible;
  }

  .pet_child_cv .cv_ttl {
    padding: 8px 0 10px;
  }

  .pet_child_cv .cv_ttl h2 {
    font-size: 18px;
    text-align: left;
  }

  .pet_child_cv .cv_ttl h2 span {
    font-size: 20px;
  }

  .type_cv .cv_ttl::after {
    content: none;
  }

  .pet_child_cv .cv_content .cv_box.inner {
    width: 95.4%;
  }

  .btn_box .mail {
    display: none;
  }

  .btn_box .tel {
    margin: 0px 0 10px;
  }

  .type_cv .pet_child_cv .cv_content {
    padding: 20px 10px;
  }

  .type_cv {
    margin-top: 0;
  }

  #angel-care {
    padding-bottom: 0;
  }
}*/

/*------------------------*/

.type_cv {
  margin-top: 50px;
}

.op-cv .cv_box_inner02 {
  position: relative;
  background: url(../img/pet-type/cv_bg.png)no-repeat #E9F5F5;
  background-size: contain;
  background-position: top right;
}

.op-cv .cv_box_inner02 .btn_box_wrapper {
  background: none;
  padding: 25px 40px;
}

.op-cv .cv_box_inner02 .btn_box {
  max-width: 730px;
}

.op-cv .cv_box_inner02 .btn_box a {
  display: block;
}

.op-cv .cv_box_inner02 .btn_box a .tel {
  width: 94%;
  margin: 0 auto;
  display: block;
}


.op-cv .cv_content .cv_box_inner02 p {
  background: none;
  color: #333;
  font-size: 30px;
  text-align: center;
  max-width: 730px;
  padding: 0;
  margin-bottom: 10px;
}

.op-cv .cv_content .cv_box_inner02 p::before {
  content: none;
}

.op-cv .cv-point {
  font-size: 22px;
  line-height: 1.3;
  font-weight: bold;
  gap: 20px;
  margin-bottom: 25px;
  margin-top: 15px;
}

#type-plan .op-cv .cv-point li,
.op-cv .cv-point li {
  background: linear-gradient(transparent 70%, #f7f81f 70%);
  font-weight: bold;
  color: #333;
}

#type-plan .op-cv ul {
  background: none;
  padding: 0px;
  border-radius: none;
  margin-bottom: 10px;
}

#type-plan .op-cv ul li {
  width: auto;
}

.op-cv .cv_content .cv_box_inner02 .btn_box .tel {
  margin: 5px auto 10px;
  display: block;
  text-align: center;
}


.op-cv .day_time {
  position: relative;
  text-align: right;
}

.op-cv .cv_content .cv_box_inner02 p.day_time span {
  position: relative;
  padding: 0 20px;
}

.op-cv .cv_content .cv_box_inner02 p.day_time span::after {
  content: '';
  background: url(../img/pet-type/right-pc.png)no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 15px;
  height: 30px;
}

.op-cv .cv_content .cv_box_inner02 p.day_time span::before {
  content: '';
  background: url(../img/pet-type/left-pc.png)no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 15px;
  height: 30px;
}

.op-cv .day_time>span {
  position: relative;
  display: inline-block;
  padding: 0 8px;
  z-index: 2;
}

.op-cv .cv_content .cv_box_inner02 p em {
  font-size: 32px;
  line-height: 1.3;
}

.op-cv .cv_content .cv_box_inner02 p em.txt_keycolor {
  color: var(--site-keycolor);
}

.op-cv .cv_content .cv_box_inner02 p em.txt_primarycolor {
  color: var(--site-primary);
}

.op-cv .cv_ttl::after {
  content: none;
}

.op-cv .cv_ttl {
  border-radius: 10px;
  margin-bottom: 40px;
  position: relative;
}

.op-cv .cv_ttl::after {
  content: '';
  background: url(../img/pet-type/bg_logo_right.png)no-repeat;
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 133px;
  height: 132px;
  background-size: contain;
}

.op-cv .cv_ttl::before {
  content: "";
  background: url(../img/pet-type/staff-man_pc.png)no-repeat;
  position: absolute;
  bottom: 0;
  left: 2%;
  width: 207px;
  height: 190px;
}

.type_cv .op-cv.lady .cv_ttl::before {
  content: "";
  background: url(../img/pet-type/staff-woman_pc.png)no-repeat;
  position: absolute;
  bottom: 0;
  left: 2%;
  width: 192px;
  height: 187px;
}

.type_cv .op-cv .cv_ttl {
  background: url(../img/common/bg-lightblue_dot.png) repeat;
}

.type_cv .op-cv.pet_child_cv .cv_content {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
  padding: 10px;
}

@media only screen and (max-width: 1024px) {

  .op-cv .cv_box_inner02 .btn_box,
  .op-cv .cv_content .cv_box_inner02 p {
    max-width: 610px;
  }

  .op-cv .cv_content .cv_box_inner02 p,
  .op-cv .cv_content .cv_box_inner02 p em {
    font-size: 20px;
  }

  .op-cv .cv-point {
    font-size: 18px;
  }

  .op-cv .cv_box_inner02 .btn_box {
    padding: 3px 1vw;
  }

  .pet_child_cv.op-cv .cv_ttl h2 {
    font-size: 28px;
  }
}

@media only screen and (max-width: 960px) {
  .op-cv .cv_box_inner02 .btn_box_wrapper {
    padding: 25px;
  }

  .op-cv .cv_box_inner02 .btn_box,
  .op-cv .cv_content .cv_box_inner02 p {
    max-width: 72%;
  }

  .op-cv .cv_content .cv_box_inner02 p,
  .op-cv .cv_content .cv_box_inner02 p em {
    font-size: 18px;
  }

  .op-cv .cv-point {
    font-size: 14px;
  }

  .op-cv .cv_ttl::before {
    background-size: contain;
    width: 144px;
    height: 132px;
  }

  .type_cv .op-cv.lady .cv_ttl::before {
    background-size: contain;
    width: 144px;
    height: 130px;
  }

  .op-cv .cv_ttl::after {
    background-size: contain;
    width: 100px;
    height: 103px;
  }

  .pet_child_cv.op-cv .cv_ttl h2 {
    font-size: 20px;
  }

  .pet_child_cv.op-cv .cv_ttl h2 span {
    font-size: 22px;
    width: 93px;
    height: 100px;
  }

  .op-cv .cv_content .cv_box_inner02 p.day_time span::before,
  .op-cv .cv_content .cv_box_inner02 p.day_time span::after {
    width: 10px;
    height: 20px;
  }

  .op-cv .cv_content .cv_box_inner02 p.day_time span {
    padding: 0px 15px;
  }
}

@media only screen and (max-width: 568px) {
  .type_cv {
    margin-top: 30px;
  }

  .pet_child_cv.op-cv {
    margin: 0 auto;
  }

  .op-cv .cv_box_inner02 {
    background: #fff;
  }

  .op-cv .cv_box_inner02 .btn_box,
  .op-cv .cv_content .cv_box_inner02 p {
    max-width: 100%;

  }

  .op-cv .cv_content .cv_box_inner02 p.day_time span::before {
    background: url(../img/pet-type/left-sp.png) no-repeat;
    background-size: contain;
    width: 22px;
    height: 45px;
  }

  .op-cv .cv_content .cv_box_inner02 p.day_time span::after {
    background: url(../img/pet-type/right-sp.png) no-repeat;
    background-size: contain;
    width: 22px;
    height: 45px;
  }

  .op-cv .cv_content .cv_box_inner02 p.day_time span {
    padding: 0px 25px;
  }

  .op-cv .cv_box_inner02 .btn_box_wrapper {
    padding: 0;
  }

  .pet_child_cv .cv_content .cv_box.inner {
    background: #fff;
    width: 100%;
  }

  .type_cv .op-cv.pet_child_cv .cv_content {
    padding: 2px;
  }

  .op-cv .cv-point {
    display: none;
  }

  .op-cv .cv_box_inner02 .btn_box a.mail,
  .op-cv .cv_box_inner02 .btn_box a.line {
    width: 48%;
  }

  .op-cv .cv_box_inner02 .btn_box>div {
    flex-direction: row;
    gap: 10px;
  }

  .op-cv .cv_content .cv_box_inner02 .btn_box .tel {
    width: 100%;
  }

  .op-cv .cv_content .cv_box_inner02 p {
    display: block;
    text-align: center;
    padding-right: 0;
    margin-bottom: 0;
  }

  .op-cv .btn_box .mail,
  .op-cv .btn_box .line {
    margin-bottom: 0;
  }

  .op-cv .cv_ttl::before,
  .op-cv.lady .cv_ttl::before {
    left: auto;
    right: 0;
  }

  .type_cv .op-cv.lady .cv_ttl::before {
    left: auto;
    right: 0;
    width: 124px;
    height: 112px;
  }

  .type_cv .op-cv .cv_ttl {
    background: #058fb1;
    border-radius: 0;
    margin: 0 -5.3vw 30px;
  }

  .op-cv .cv_ttl::after {
    content: none;
  }

  .pet_child_cv.op-cv .cv_ttl h2 {
    background: #fff;
    border-radius: 10px;
    font-size: 16px;
    color: #058fb1;
    display: inline-block;
    position: relative;
    padding: 5px 10px;
    width: 67%;
    text-align: left;
  }

  .pet_child_cv.op-cv .cv_ttl h2::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    border-style: solid;
    border-width: 0 0 16px 16px;
    border-color: transparent transparent transparent #ffffff;
    translate: 100% calc(-50% - 0.4px);
  }

  .pet_child_cv.op-cv .cv_ttl h2 span {
    color: #058fb1;
    font-size: 16px;
    background-image: linear-gradient(0deg, #f7f81f 0.5em, transparent 0.5em);
    padding: 0;
  }

  .pet_child_cv.op-cv .cv_box::before {
    content: none;
  }
}

/*------------------------*/
#funeral .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/method01.png)no-repeat;
  width: 57px;
  height: 80px;
  left: 25%;
  top: 80%;
}

#funeral .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/method02.png)no-repeat;
  width: 49px;
  height: 90px;
  top: 80%;
  right: 25%;
}

#funeral .ttl_page_section .over_txt_hamster::before {
  left: 20%;
}

#funeral .ttl_page_section .over_txt_hamster::after {
  right: 20%;
}

.funeral_list {
  padding: 40px;
  border-radius: 10px;
}

.funeral_list li:last-child {
  margin-bottom: 0;
}

.funeral_list.bg_circle_left::before {
  z-index: -1;
}

.bg_check_pink {
  background: #fffafb;
  background-image: linear-gradient(45deg, #fde6e980 25%, transparent 25%, transparent 75%, #fde6e980 75%), linear-gradient(45deg, #fde6e980 25%, transparent 25%, transparent 75%, #fde6e980 75%);
  background-position: 10px 10px, 12px 12px;
  background-size: 4px 4px;
  padding: 20px 20px 25px;
  margin-top: 20px;
}

.bg_check_pink .btn_wrapper {
  margin-top: 0;
}

.btn_wrapper p {
  position: relative;
  width: 47%;
  margin: 0 auto 10px;
}

.btn_wrapper p::before,
.btn_wrapper p::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  width: 21px;
  height: 25px;
}

.btn_wrapper p::before {
  background: url(../img/pet-type/icon-left.png)no-repeat;
  left: 0;
}

.btn_wrapper p::after {
  background: url(../img/pet-type/icon-right.png)no-repeat;
  right: 0;
}


@media only screen and (max-width: 960px) {
  #funeral .ttl_page_section .before_txt::before {
    left: 19%;
  }

  #funeral .ttl_page_section .before_txt::after {
    right: 20%;
  }

  .btn_wrapper p {
    width: 60%;
  }
}

@media only screen and (max-width: 568px) {
  #funeral.lg_inner_space {
    padding-bottom: 0;
  }

  #funeral .ttl_page_section .before_txt::before {
    width: 28px;
    height: 40px;
    background-size: contain;
    top: auto;
    bottom: -37%;
    z-index: 2;
    left: 30%;
  }

  #funeral .ttl_page_section .before_txt::after {
    width: 24px;
    height: 45px;
    background-size: contain;
    top: auto;
    bottom: -40%;
    z-index: 2;
    right: 30%;
  }

  .funeral_list {
    margin: 0 -5.3vw;
    border-radius: 0;
    padding: 20px;
  }

  .bg_check_pink .btn {
    max-width: 100%;
  }

  .bg_check_pink .btn_wrapper p {
    font-size: 12px;
    width: 100%;
  }

  .btn_wrapper p::before {
    left: -10px;
  }

  .btn_wrapper p::after {
    right: -10px;
  }

}



/*---各種手続き----*/

#procedures .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/procedure01.png)no-repeat;
  width: 84px;
  height: 87px;
  left: 20%;
  top: 80%;
}

#procedures .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/procedure02.png)no-repeat;
  width: 66px;
  height: 88px;
  top: 80%;
  right: 22%;
}

.procedures-contetnt {
  padding: 40px;
  border-radius: 10px;
}

.procedures-contetnt li {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 40px;
  margin-bottom: 20px;
  gap: 2vw;
}

.procedures-contetnt li:last-child {
  margin-bottom: 0;
}

.procedures-contetnt li img {
  border-radius: 5px;
  max-width: 400px;
  overflow: hidden;
}

.procedures_txt h3 {
  font-size: 27px;
  margin-bottom: 10px;
}

.procedures_grid {
  display: grid;
  grid-template-columns: 65% 35%;
  grid-template-rows: auto auto;
  gap: 0 !important;
}

.procedures_grid .procedures_photo {
  grid-column: 2;
  grid-row: 1;
}

.procedures_grid .procedures_photo img {
  max-width: 400px;
}

.procedures_grid .procedures_txt {
  grid-column: 1;
  grid-row: 1;
  margin-right: 2vw;
}

.procedures_grid .certificate_box {
  grid-column: 1 / 3;
  grid-row: 2;
}

.certificate_box {
  display: grid;
  grid-template-columns: 80% 18%;
  grid-template-rows: auto auto;
  gap: 0 2%;
}

.certificate_box h4 .bg_green {
  color: #fff;
  font-size: 22px;
  background: var(--site-primary);
  border-radius: 25px;
  padding: 10px 30px;
  margin-right: 20px;
  position: relative;
  top: -10px;
}

.certificate_box h4 {
  color: var(--site-primary);
  font-size: 30px;
  grid-column: 1;
  grid-row: 1;
}

.certificate_box .txt {
  grid-column: 1;
  grid-row: 2;
}

.certificate_box a {
  grid-column: 2;
  grid-row: 1 / 3;
}

.certificate_box h4 .dot {
  font-size: 40px;
  padding-top: .4em;
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(rgba(40, 151, 159, 1) 9%, rgba(40, 151, 159, 0) 12%), radial-gradient(rgba(40, 151, 159, 1) 9%, rgba(40, 151, 159, 0) 12%);
  background-position: top -5px left -2px;
  background-size: 1.03em 1.03em;
  background-repeat: repeat-x;
}


/*.bl_accordionTitle02+.bl_accordionContent02 {
  display: none;
}*/

.accordion_ttl {
  background: #755246;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: 26px;
  padding: 15px 0 18px;
  font-weight: bold;
  position: relative;
  cursor: pointer;
  margin-top: 30px;
}

/*.accordion_ttl:hover {
  opacity: .7;
  transform: .2ms;
}*/

.accordion_ttl span {
  /*background: #fff;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 40px;
  height: 40px;*/
  display: none;
}

.accordion_ttl span::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  background: #755246;
  transition: .2s;
}

.accordion_ttl span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  background-color: #755246;
  transform: rotate(90deg);
}

.accordion_ttl.active span::before {
  transform: translateX(-10px);
  opacity: 0;
}

.accordion_ttl span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  top: 48%;
  left: 28%;
  margin: auto;
  background-color: #755246;
  transform: rotate(90deg);
  transition: .2s;
}

.accordion_ttl.active span::after {
  transform: rotate(0deg);
}

.bl_accordionContent02 {
  border-radius: 0 0 10px 10px;
  background: url(../img/common/bg-lightblue_dot.png);
  padding: 0 10px 10px;
}

.bl_accordionContent02 .hidden-contetnt {
  padding: 40px;
  position: relative;
}

.bl_accordionContent02 dl {
  margin-bottom: 20px;
}

.bl_accordionContent02 dt {
  font-size: 26px;
  color: #755246;
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.bl_accordionContent02 dt::before {
  content: '■';
  font-size: 12px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.bl_accordionContent02 .bg_white {
  position: relative;
}

.bl_accordionContent02 .dog_bg::after {
  content: '';
  background: url(../img/pet-type/img_dogs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 371px;
  height: 264px;
}

.bl_accordionContent02 .cat_bg::after {
  content: '';
  background: url(../img/pet-type/img_cats.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 403px;
  height: 200px;
}

.bl_accordionContent02 .hamster_bg::after {
  content: '';
  background: url(../img/pet-type/img_hamsters.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 80px;
  width: 346px;
  height: 150px;
}

.bl_accordionContent02 .parakeet_bg::after {
  content: '';
  background: url(../img/pet-type/img_parakeets.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 363px;
  height: 170px;
}

.bl_accordionContent02 .rabbits_bg::after {
  content: '';
  background: url(../img/pet-type/img_rabbits.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 379px;
  height: 160px;
}

.bl_accordionContent02 .ferret_bg::after {
  content: '';
  background: url(../img/pet-type/img_ferrets.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 323px;
  height: 127px;
}

.bl_accordionContent02 .guinea_pig_bg::after {
  content: '';
  background: url(../img/pet-type/img_guinea_pig.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 386px;
  height: 163px;
}

.bl_accordionContent02 .hedgehog_bg::after {
  content: '';
  background: url(../img/pet-type/img_hedgehogs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 402px;
  height: 160px;
}

.bl_accordionContent02 .chinchilla_bg::after {
  content: '';
  background: url(../img/pet-type/img_chinchillas.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 383px;
  height: 127px;
}

.bl_accordionContent02 .momonga_bg::after {
  content: '';
  background: url(../img/pet-type/img_momongas.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 393px;
  height: 139px;
}

.bl_accordionContent02 .squirrel_bg::after {
  content: '';
  background: url(../img/pet-type/img_squirrels.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 413px;
  height: 164px;
}

.bl_accordionContent02 .monkey_bg::after {
  content: '';
  background: url(../img/pet-type/img_monkeys.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 353px;
  height: 177px;
}

.bl_accordionContent02 .java-sparrow_bg::after {
  content: '';
  background: url(../img/pet-type/img_birds.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 263px;
  height: 110px;
}

.bl_accordionContent02 .bird_bg::after {
  content: '';
  background: url(../img/pet-type/img_birds.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 413px;
  height: 199px;
}

.bl_accordionContent02 .owl_bg::after {
  content: '';
  background: url(../img/pet-type/img_owls.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 354px;
  height: 191px;
}

.bl_accordionContent02 .goldfish_bg::after {
  content: '';
  background: url(../img/pet-type/img_goldfishs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 278px;
  height: 138px;
}

.bl_accordionContent02 .fish_bg::after {
  content: '';
  background: url(../img/pet-type/img_fishs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 343px;
  height: 186px;
}

.bl_accordionContent02 .lizard_bg::after {
  content: '';
  background: url(../img/pet-type/img_lizards.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 293px;
  height: 85px;
}

.bl_accordionContent02 .reptiles_bg::after {
  content: '';
  background: url(../img/pet-type/img_reptiles.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 293px;
  height: 120px;
}

.bl_accordionContent02 .turtle_bg::after {
  content: '';
  background: url(../img/pet-type/img_turtles.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 393px;
  height: 182px;
}

.bl_accordionContent02 .frog_bg::after {
  content: '';
  background: url(../img/pet-type/img_frogs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 373px;
  height: 136px;
}

.bl_accordionContent02 .snake_bg::after {
  content: '';
  background: url(../img/pet-type/img_snakes.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 330px;
  height: 190px;
}

.bl_accordionContent02 .gecko_bg::after {
  content: '';
  background: url(../img/pet-type/img_geckos.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 383px;
  height: 147px;
}

.bl_accordionContent02 .newt_bg::after {
  content: '';
  background: url(../img/pet-type/img_newts.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 410px;
  height: 152px;
}

.bl_accordionContent02 .iguana_bg::after {
  content: '';
  background: url(../img/pet-type/img_iguanas.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 20px;
  width: 353px;
  height: 170px;
}

.bl_accordionContent02 .chameleon_bg::after {
  content: '';
  background: url(../img/pet-type/img_chameleons.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 293px;
  height: 141px;
}

.bl_accordionContent02 .axolotl_bg::after {
  content: '';
  background: url(../img/pet-type/img_axolotls.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 403px;
  height: 130px;
}

.bl_accordionContent02 .duck_bg::after {
  content: '';
  background: url(../img/pet-type/duck/img_ducks.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 313px;
  height: 202px;
}

.bl_accordionContent02 .minipig_bg::after {
  content: '';
  background: url(../img/pet-type/minipig/img_minipigs.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 403px;
  height: 181px;
}

.bl_accordionContent02 .insect_bg::after {
  content: '';
  background: url(../img/pet-type/insect/img_insects.png)no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 353px;
  height: 180px;
}





@media only screen and (max-width: 960px) {
  #procedures .ttl_page_section .before_txt::before {
    left: 12%;
  }

  #procedures .ttl_page_section .before_txt::after {
    right: 14%;
  }

  .procedures-contetnt {
    padding: 30px;
  }

  .procedures-contetnt li {
    padding: 30px;
  }

  .procedures_txt {
    width: 100%;
  }

  .procedures_txt h3 {
    font-size: 20px;
  }

  .procedures_grid {
    grid-template-columns: 47% 47%;
    grid-template-rows: auto auto;
    gap: 0 4vw !important;
  }

  .certificate_box {
    padding: 30px 26px 26px;
    grid-template-columns: 65% 30%;
  }

  .certificate_box h4 .dot {
    font-size: 36px;
  }

  .certificate_box a {
    height: fit-content;
  }

  .bl_accordionContent02 .dog_bg {
    padding: 30px;
  }

  .bl_accordionContent02 .dog_bg::after {
    width: 181px;
    height: 236px;
  }

  .bl_accordionContent02 .cat_bg::after {
    width: 153px;
    height: 140px;
  }

  .bl_accordionContent02 .hamster_bg::after {
    width: 144px;
    height: 70px;
  }

  .bl_accordionContent02 .parakeet_bg::after {
    width: 183px;
    height: 200px;
  }
}

@media only screen and (max-width: 568px) {
  #procedures .ttl_page_section .before_txt::before {
    left: 30%;
    background-size: contain;
    top: auto;
    bottom: -80px;
    width: 42px;
    height: 43px;
  }

  #procedures .ttl_page_section .before_txt::after {
    right: 29%;
    background-size: contain;
    top: auto;
    bottom: -80px;
    width: 33px;
    height: 44px;
  }

  .procedures-contetnt {
    padding: 20px;
    margin: 0 -5.3vw;
    border-radius: 0;
  }

  .procedures-contetnt li {
    padding: 20px;
    flex-direction: column;
    display: flex;
  }

  .procedures_txt h3 {
    text-align: center;
    margin-top: 5px;
    letter-spacing: 0;
  }

  .procedures_grid .certificate_box {
    display: block;
    padding: 25px 15px 20px;
  }

  .certificate_box .txt {
    width: 100%;
  }

  .certificate_box h4 .bg_green {
    font-size: 18px;
    margin-right: 0;
    text-align: center;
    display: block;
    padding: 10px;
  }

  .certificate_box h4 {
    font-size: 21px;
    grid-column: 1 / 3;
    grid-row: 1;
    text-align: center;
  }

  .certificate_box h4 .dot {
    font-size: 28px;
  }

  .certificate_box a {
    float: left;
    float: left;
    margin: 10px 10px 10px 0;
  }

  #procedures .type_cv {
    margin-top: 30px;
  }

  #procedures .btn_wrapper p {
    width: 100%;
    letter-spacing: 0;
  }

  .accordion_ttl {
    font-size: 17px;
    padding: 5px 0;
  }

  .accordion_ttl span {
    width: 30px;
    height: 30px;
    right: 20px;
  }

  .accordion_ttl span::after {
    left: 21%;
  }

  .bl_accordionContent02 .hidden-contetnt {
    padding: 15px 20px 220px;
  }

  .bl_accordionContent02 dt {
    font-size: 17px;
  }

  .bl_accordionContent02 dd {
    font-size: 12px;
  }

  #type-list {
    margin-bottom: 20px;
  }

  .bl_accordionContent02 .dog_bg::after {
    width: 230px;
    height: 164px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
  }

  .bl_accordionContent02 .cat_bg::after {
    width: 250px;
    height: 124px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
  }

  .bl_accordionContent02 .hamster_bg::after {
    width: 244px;
    height: 106px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
  }

  .bl_accordionContent02 .hidden-contetnt.hamster_bg {
    padding: 15px 20px 140px;
  }

  .bl_accordionContent02 .parakeet_bg::after {
    width: 298px;
    height: 120px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.parakeet_bg {
    padding: 15px 20px 140px;
  }

  .bl_accordionContent02 .rabbits_bg::after {
    width: 300px;
    height: 127px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.rabbits_bg {
    padding: 15px 20px 160px;
  }

  .bl_accordionContent02 .ferret_bg::after {
    width: 300px;
    height: 118px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.ferret_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .guinea_pig_bg::after {
    width: 300px;
    height: 127px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.guinea_pig_bg {
    padding: 15px 20px 160px;
  }

  .bl_accordionContent02 .hedgehog_bg::after {
    width: 300px;
    height: 127px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.hedgehog_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .chinchilla_bg::after {
    width: 300px;
    height: 100px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.chinchilla_bg {
    padding: 15px 20px 135px;
  }

  .bl_accordionContent02 .momonga_bg::after {
    width: 300px;
    height: 106px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.momonga_bg {
    padding: 15px 20px 145px;
  }

  .bl_accordionContent02 .squirrel_bg::after {
    width: 300px;
    height: 119px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.squirrel_bg {
    padding: 15px 20px 145px;
  }

  .bl_accordionContent02 .monkey_bg::after {
    width: 300px;
    height: 151px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.monkey_bg {
    padding: 15px 20px 185px;
  }

  .bl_accordionContent02 .java-sparrow_bg::after {
    width: 300px;
    height: 127px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .bird_bg::after {
    width: 300px;
    height: 145px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.bird_bg {
    padding: 15px 20px 185px;
  }

  .bl_accordionContent02 .hidden-contetnt.java-sparrow_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .owl_bg::after {
    width: 300px;
    height: 154px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.owl_bg {
    padding: 15px 20px 185px;
  }

  .bl_accordionContent02 .goldfish_bg::after {
    width: 300px;
    height: 149px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.goldfish_bg {
    padding: 15px 20px 180px;
  }

  .bl_accordionContent02 .fish_bg::after {
    width: 300px;
    height: 164px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.fish_bg {
    padding: 15px 20px 180px;
  }

  .bl_accordionContent02 .lizard_bg::after {
    width: 300px;
    height: 87px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .reptiles_bg::after {
    width: 300px;
    height: 114px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.lizard_bg {
    padding: 15px 20px 120px;
  }

  .bl_accordionContent02 .hidden-contetnt.reptiles_bg {
    padding: 15px 20px 140px;
  }

  .bl_accordionContent02 .turtle_bg::after {
    width: 300px;
    height: 107px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.turtle_bg {
    padding: 15px 20px 135px;
  }

  .bl_accordionContent02 .frog_bg::after {
    width: 300px;
    height: 110px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.frog_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .snake_bg::after {
    width: 300px;
    height: 159px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.snake_bg {
    padding: 15px 20px 195px;
  }

  .bl_accordionContent02 .gecko_bg::after {
    width: 300px;
    height: 113px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
  }

  .bl_accordionContent02 .hidden-contetnt.gecko_bg {
    padding: 15px 20px 125px;
  }

  .bl_accordionContent02 .newt_bg::after {
    width: 300px;
    height: 108px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.newt_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .iguana_bg::after {
    width: 300px;
    height: 145px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.iguana_bg {
    padding: 15px 20px 171px;
  }

  .bl_accordionContent02 .chameleon_bg::after {
    width: 300px;
    height: 145px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
  }

  .bl_accordionContent02 .hidden-contetnt.chameleon_bg {
    padding: 15px 20px 185px;
  }

  .bl_accordionContent02 .axolotl_bg::after {
    width: 300px;
    height: 97px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.axolotl_bg {
    padding: 15px 20px 155px;
  }

  .bl_accordionContent02 .duck_bg::after {
    width: 220px;
    height: 142px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.duck_bg {
    padding: 15px 20px 200px;
  }

  .bl_accordionContent02 .minipig_bg::after {
    width: 243px;
    height: 109px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.minipig_bg {
    padding: 15px 20px 160px;
  }

  .bl_accordionContent02 .insect_bg::after {
    width: 243px;
    height: 124px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bl_accordionContent02 .hidden-contetnt.insect_bg {
    padding: 15px 20px 180px;
  }

}

/*---事例----*/
#example .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/case01.png)no-repeat;
  width: 114px;
  height: 81px;
  left: 20%;
  top: 68%;
}

#example .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/case02.png)no-repeat;
  width: 55px;
  height: 90px;
  top: 68%;
  right: 22%;
}

/*.movie_box {
  margin: 40px 0 0;
}*/

.example-list {
  margin: 40px 0 0;
}

#example .plan_case {
  background: #f5f5f5;
  border-radius: 10px;
}

#example .movie_box {
  margin: 60px 0 0;
}

@media only screen and (max-width: 960px) {
  #example .ttl_page_section .before_txt::before {
    left: 0%;
    background-size: contain;
  }

  #example .ttl_page_section .before_txt::after {
    right: 3%;
    background-size: contain;
  }
}

@media only screen and (max-width: 568px) {
  #example {
    padding: 40px 0 20px;
  }

  #example .ttl_page_section .before_txt::before {
    left: 8%;
    top: auto;
    bottom: -43px;
    width: 57px;
    height: 40px;
  }

  #example .ttl_page_section .before_txt::after {
    right: 14%;
    top: auto;
    width: 27px;
    height: 45px;
    bottom: -43px;
  }

  .example-list {
    margin: 0 -5.3vw;
  }

  .plan_case .ttl_content_top {
    margin: 0;
  }

  #example .plan_case .md_inner_space {
    margin: 0;
    padding: 20px;
  }

  #example .plan_case dl {
    align-items: center;
    margin-bottom: 0;
  }

  #example .example_plice {
    padding-bottom: 0;
  }

  #example .plan_case dl:last-of-type {
    margin-bottom: 15px;
  }

  .slick-slider {
    margin-bottom: 10px;
  }

  .btn a {
    font-size: 15px;
  }

  #example .movie_box {
    margin-bottom: 30px;
  }

  #example .btn {
    max-width: 100%;
  }

}

/*--4つのプラン---*/
#type-plan {
  background: #fff8ef;
  position: relative;
  z-index: 0;
}

#type-plan .ttl_page_section {
  position: relative;
  padding-left: 140px;
}

#type-plan .ttl_page_section em {
  font-size: 44px;
}

#type-plan .ttl_page_section::before {
  content: '';
  background: url(../img/pet-type/calculator.png)no-repeat;
  background-size: contain;
  width: 58px;
  height: 80px;
  position: absolute;
  left: 28%;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 60px;
}

#type-plan ul {
  background: #fff2f4;
  padding: 40px;
  border-radius: 10px;
  gap: 2vw 1vw;
  margin-bottom: 40px;
}

#type-plan ul li {
  width: 48%;

}

#type-plan ul li {
  
  background: #fb8b7f;
  color: #fff;
}

#type-plan ul li:nth-child(2) {
  
  background: #b98a4a;
}

#type-plan ul li:nth-child(3) {
  background: #31865a;
}

#type-plan ul li:nth-child(4) {
  background: var(--site-primary);
}

.type-plantxt {
  padding: 25px 30px;
}

.type-plantxt h3 {
  font-size: 27px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 960px) {
  #type-plan .ttl_page_section::before {
    left: 25%;
  }

  #type-plan ul {
    padding: 30px;
  }

  .type-plantxt h3 {
    font-size: 24px;
  }
}


@media only screen and (max-width: 568px) {
  #type-plan .md_inner_space {
    margin: 0 -5.3vw;
    border-radius: 0;
  }

  #type-plan .ttl_page_section {
    padding-left: 0;
    text-indent: 1em;
  }

  #type-plan .ttl_page_section::before {
    width: 29px;
    height: 40px;
  }

  #type-plan .ttl_page_section em {
    font-size: 33px;
  }

  #type-plan .ttl_page_section::before {
    left: 10px;
    top: 58px;
  }

  #type-plan ul {
    padding: 20px;
  }

  #type-plan ul li {
    padding: 20px;
    width: 100%;
  }

  .type-plantxt {
    padding: 0;
  }

  #type-plan ul {
    gap: 4vw;
  }

  #type-plan ul li img {
    float: left;
    width: 50%;
    border-radius: 6px;
    margin-bottom: 10px;
  }

  .type-plantxt h3 {
    font-size: 18px;
    margin-top: 20px;
  }

  #type-plan ul li:nth-child(3) h3,
  #type-plan ul li:nth-child(4) h3 {
    margin-top: 10px;
  }

  .type-plantxt p {
    clear: both;
  }

  .plan_table {
    margin: 0 0 10px;
  }
}

/*--orizuru--*/
.orizuru_content {
  margin-top: 50px;
  padding: 15px 40px 60px;
  position: relative;
}

.orizuru_content::after {
  content: '';
  position: absolute;
  background: url(../img/pet-type/crane.svg)no-repeat;
  background-size: contain;
  right: -90px;
  top: -23px;
  width: 287px;
  height: 182px;
  opacity: 0.1;
}

.orizuru_content h3 {
  position: relative;
  font-size: 30px;
  margin-bottom: 20px;
}

.orizuru_content h3::before {
  content: '';
  background: url(../img/pet-type/type_label.png)no-repeat;
  background-size: contain;
  width: 90px;
  height: 115px;
  position: absolute;
  top: -15px;
  left: 6%;
}

.orizuru_content .box_wrapper {
  display: flex;
  position: relative;
  height: 300px;
}

.orizuru_content .photo_box {
  margin-right: auto;
  position: absolute;
  left: 0;
  top: 0;
}

.orizuru_content h4 {
  font-size: 28px;
}

.orizuru_content h4 span {
  position: relative;
  display: block;
  padding: 15px 0 30px;
}

.orizuru_content h4 span::before {
  content: '';
  background: url(../img/top/illust-free.png)no-repeat;
  background-size: contain;
  width: 105px;
  height: 75px;
  position: absolute;
  left: 0;
  top: 0;
}

.orizuru_content .box_wrapper .txt_box {
  max-width: 626px;
  padding: 20px 25px 40px;
  margin-left: auto;
  z-index: 1;
  position: absolute;
  top: 12%;
  right: 0;
}

.orizuru_content .box_wrapper .txt_box h5 {
  font-size: 28px;
  margin-bottom: 25px;
}

@media only screen and (max-width: 960px) {
  .orizuru_content h3 {
    font-size: 24px;
  }

  .orizuru_content h3::before {
    left: 0;
    width: 67px;
    height: 85px;
  }

  .orizuru_content {
    padding: 15px 30px 30px;
  }

  .orizuru_content .photo_box {
    max-width: 65%;
  }

  .orizuru_content .box_wrapper .txt_box {
    max-width: 55%;
    padding: 20px 25px 25px;
  }
}

@media only screen and (max-width: 568px) {
  .orizuru_content {
    padding: 15px 20px 20px;
    margin-bottom: 30px;
  }

  .orizuru_content h3 {
    font-size: 19px;
    padding-left: 70px;
  }

  .orizuru_content h3::before {
    left: 0;
    width: 60px;
    height: 77px;
  }

  .orizuru_content::after {
    right: -130px;
    top: -63px;
  }

  .orizuru_content .photo_box {
    max-width: 100%;
    position: static;
    height: fit-content;
  }

  .orizuru_content .box_wrapper {
    display: block;
    height: auto;
  }

  .orizuru_content .box_wrapper .txt_box {
    position: static;
    max-width: 90%;
    margin: -15px auto 0;
    padding: 20px;
  }

  .orizuru_content h4 {
    font-size: 18px;
  }
}

.options .ttl_page_section .before_txt::after {
  content: none;
}

#type-plan .options {
  margin-top: 50px;
}

#type-plan .options .ttl_page_section {
  text-align: left;
  padding-left: 27%;
}

#type-plan .options .ttl_page_section::before {
  background: url(../img/pet-type/memorial.png)no-repeat;
  background-size: contain;
  width: 110px;
  height: 121px;
  margin-top: 0;
  left: 15%;
}

.options ol {
  padding: 0 40px;
}

.options ol li {
  padding: 40px 0;
  gap: 2vw;
}

.options ol li:first-child {
  border-bottom: 3px dotted #d7d7d7;
}

.option_txt h3 {
  font-size: 27px;
}

#type-plan.bg_flower_double::before {
  background: url(../img/common/bg-flower04.png)no-repeat bottom center;
  background-size: cover;
}

@media only screen and (max-width: 960px) {
  #type-plan .options .ttl_page_section {
    padding-left: 22%;
  }

  #type-plan .options .ttl_page_section::before {
    width: 85px;
    height: 94px;
    margin-top: 0;
    left: 6%;
  }
}

@media only screen and (max-width: 568px) {
  #type-plan .options .ttl_page_section::before {
    background-size: contain;
    width: 87px;
    height: 95px;
    margin-top: 0;
    left: 0;
  }

  #type-plan .options .ttl_page_section {
    text-indent: 0;
    font-size: 20px;
    padding-left: 27%;
  }

  #type-plan .options .ttl_page_section .before_txt {
    font-size: 16px;
  }

  .options ol {
    padding: 0 20px;
  }

  .options ol li {
    padding: 20px 0;
    display: block;
  }

  .options ol li img {
    width: 50%;
    border-radius: 6px;
    float: left;
    margin: 0 10px 10px 0;
  }

  .option_txt h3 {
    font-size: 18px;
    text-align: center;
    margin-top: 20px;
  }

  .option_txt p {
    clear: both;
  }

  .options .btn {
    max-width: 100%;
  }

  #type-plan.bg_flower_double::before {
    background: url(../img/common/bg-flower04_sp.png) no-repeat bottom center;
    background-size: cover;
  }
}

/*----ペット葬儀士----*/
#sougishi {
  background: url(../img/pet-type/sougishi_bg.jpg)no-repeat;
  background-size: cover;
  background-position: center top;
}

#sougishi .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/kindness.png)no-repeat;
  width: 90px;
  height: 84px;
  left: 20%;
  top: 68%;
}

#sougishi .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/best-employee.png)no-repeat;
  width: 84px;
  height: 88px;
  top: 68%;
  right: 22%;
}

#sougishi .half_box {
  position: relative;
  background: #fff;
  border: 5px solid #f4d0d4;
  border-radius: 10px;
  padding: 40px;
}

#sougishi .half_box::after {
  content: '';
  background: url(../img/pet-type/bg_logo_sp.png)no-repeat;
  background-size: contain;
  width: 278px;
  height: 275px;
  position: absolute;
  left: 30%;
  top: 50%;
  transform: translateY(-50%);
}

#sougishi .half_box img {
  max-width: 400px;
}

#sougishi .half_box .txt {
  width: 57%;
  max-width: 590px;
}

#sougishi .half_box .txt h3 {
  font-size: 27px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 960px) {
  #sougishi .ttl_page_section .before_txt::before {
    left: 17%;
  }

  #sougishi .ttl_page_section .before_txt::after {
    right: 19%;
  }

  #sougishi .half_box::after {
    width: 22%;
    height: 38%;
    left: 30%;
  }
}

@media only screen and (max-width: 568px) {
  #sougishi {
    background: url(../img/pet-type/sougishi_bg_sp.jpg)no-repeat;
    background-size: cover;
    background-position: center top;
  }

  #sougishi .ttl_page_section .before_txt::before {
    width: 45px;
    height: 42px;
    background-size: contain;
    top: auto;
    bottom: -81px;
    left: 27%;
    background-size: contain;
    z-index: 2;
  }

  #sougishi .ttl_page_section .before_txt::after {
    width: 42px;
    height: 44px;
    background-size: contain;
    top: auto;
    bottom: -81px;
    right: 27%;
    background-size: contain;
    z-index: 2;
  }

  #sougishi .half_box {
    padding: 20px;
  }

  #sougishi .half_box .txt {
    width: 100%;
  }

  #sougishi .half_box {
    gap: 10px;
    margin-bottom: 20px;
  }

  #sougishi .half_box::after {
    width: 190px;
    height: 188px;
    left: 30%;
    top: auto;
    transform: none;
    bottom: 15%;
  }

  #sougishi .half_box .txt h3 {
    font-size: 21px;
    margin-bottom: 10px;
  }

  #sougishi .btn {
    max-width: 100%;
  }

  #sougishi .type_cv .cv_box::before {
    width: 68px;
    height: 94px;
    background-size: contain;
    right: -18px;
    top: -114px;
  }
}

/*---火葬車項目---*/
.crematorium {
  margin-top: 50px;
  gap: 2vw;
}

.crematorium h3 {
  font-size: 27px;
  margin-bottom: 15px;
}

.crematorium p {
  margin-bottom: 20px;
}

@media only screen and (max-width: 568px) {
  .crematorium {
    margin-top: 30px;
    flex-direction: column;
  }

  .crematorium h3 {
    font-size: 21px;
    text-align: center;
  }
}

/*-----faq-----*/
#faq .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/faq01.png)no-repeat;
  background-size: contain;
  width: 90px;
  height: 90px;
  top: 66%;
  left: 22%;
}

#faq .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/faq02.png)no-repeat;
  background-size: contain;
  width: 88px;
  height: 78px;
  top: 66%;
  right: 22%;
}

@media only screen and (max-width: 960px) {
  #faq .ttl_page_section .before_txt::before {
    width: 60px;
    height: 60px;
  }

  #faq .ttl_page_section .before_txt::after {
    background: url(../img/pet-type/faq02.png)no-repeat;
    background-size: contain;
    width: 66px;
    height: 56px;
    right: 18%;
  }
}

@media only screen and (max-width: 568px) {
  #faq .ttl_page_section .before_txt::before {
    width: 45px;
    height: 45px;
    left: 0;
    top: auto;
    bottom: -40px;
  }

  #faq .ttl_page_section .before_txt::after {
    width: 44px;
    height: 39px;
    right: 0;
    top: auto;
    bottom: -40px;
  }
}


/*---ボランティア--*/
#volunteer .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/volunteer_ttl01.png)no-repeat;
  background-size: contain;
  width: 90px;
  height: 86px;
  top: 66%;
  left: 20%;
}

#volunteer .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/volunteer_ttl02.png)no-repeat;
  background-size: contain;
  width: 82px;
  height: 82px;
  top: 66%;
  right: 22%;
}

#volunteer {
  background: url(../img/pet-type/volunteer_bg.png)no-repeat center top;
  background-size: cover;
  border-bottom: none;
}

#volunteer .sm_txt {
  font-size: 32px;
}

.volunteer-box {
  border: none;
  margin-bottom: 0;
}

.volunteer-grid {
  padding: 40px;
  margin-bottom: 0;
}

.volunteer-grid:first-child {
  margin-bottom: 30px;
}

.volunteer-grid .box_ttl {
  text-align: left;
  font-size: 27px;
  line-height: normal;
}

.volunteer-grid:first-child .volunteer-photo {
  width: 100%;
  grid-column: 2;
  grid-row: 1 / 4;
}

.volunteer-grid:first-child .box_ttl {
  grid-column: 1;
  grid-row: 1;
}

.volunteer-grid:first-child .volunteer-txt {
  grid-column: 1;
  grid-row: 2;
}

.volunteer-grid .volunteer-txt {
  grid-column: 2;
  grid-row: 2;
  margin-bottom: 20px;
}

.volunteer-grid .protection-link {
  grid-column: 2;
  grid-row: 3;
  gap: 1vw;
}

@media only screen and (max-width: 960px) {
  #volunteer .ttl_page_section .before_txt::before {
    width: 60px;
    height: 57px;
    left: 17%;
  }

  #volunteer .ttl_page_section .before_txt::after {
    width: 60px;
    height: 57px;
    right: 17%;
  }

  .volunteer-grid {
    padding: 30px;
    grid-template-columns: 50% 50%;
  }

}

@media only screen and (max-width: 568px) {
  #volunteer {
    background: url(../img/pet-type/volunteer_bg_sp.png)no-repeat center top;
    background-size: cover;
    background-position: center top;
  }

  #volunteer .ttl_page_section .before_txt::before {
    width: 45px;
    height: 43px;
    left: 25%;
    top: auto;
    bottom: -86px;
  }

  #volunteer .ttl_page_section .before_txt::after {
    width: 41px;
    height: 41px;
    right: 25%;
    top: auto;
    bottom: -86px;
  }

  #volunteer .sm_txt {
    font-size: 22px;
  }

  .volunteer-box {
    padding: 30px 5.3vw 20px;
  }

  .volunteer-grid {
    padding: 20px;
    display: block;
  }

  .volunteer-grid .box_ttl {
    font-size: 18px;
    width: 50%;
    text-align: center;
    padding: 0;
    display: inline-block;
    margin: 15px auto;
  }

  .volunteer-grid:first-child .box_ttl {
    margin: 0 auto;
  }

  .volunteer-grid .volunteer-photo,
  .volunteer-grid:first-child .volunteer-photo {
    width: 50%;
  }

  .volunteer-grid:first-child .volunteer-photo {
    float: right;
    margin-bottom: 10px;
  }

  .volunteer-grid:first-child .volunteer-txt {
    margin-bottom: 0;
  }

  .volunteer-grid .volunteer-photo {
    float: left;
    margin-bottom: 10px;
  }

  .volunteer-grid:first-child .volunteer-txt {
    clear: both;
    margin-bottom: 0;
  }

  .volunteer-grid .protection-link {
    flex-direction: column;
    width: 50%;
    float: right;
    clear: both;
    margin: 0 0 0 10px;
  }


}

/*---種類別項目---*/
#pet_cate .ttl_page_section .before_txt::before {
  background: url(../img/pet-type/type01.png)no-repeat;
  background-size: contain;
  width: 81px;
  height: 96px;
  top: 66%;
  left: 20%;
}

#pet_cate .ttl_page_section .before_txt::after {
  background: url(../img/pet-type/type02.png)no-repeat;
  background-size: contain;
  width: 83px;
  height: 83px;
  top: 66%;
  right: 20%;
}

@media only screen and (max-width: 960px) {

  #pet_cate .ttl_page_section .before_txt::before {
    width: 61px;
    height: 72px;
    left: 17%;
  }

  #pet_cate .ttl_page_section .before_txt::after {
    width: 63px;
    height: 63px;
    right: 13%;
  }
}

@media only screen and (max-width: 568px) {
  #pet_cate .ttl_page_section .before_txt::before {
    width: 40px;
    height: 48px;
    left: 15%;
    top: auto;
    bottom: -43px;
  }

  #pet_cate .ttl_page_section .before_txt::after {
    width: 41px;
    height: 41px;
    right: 13%;
    top: auto;
    bottom: -40px;
  }
}

footer {
  padding: 60px 0 68px;
}

.bg_circle_left02::before {
  content: '';
  background: url('../img/pet-type/bg_circle_b01.png') no-repeat;
  background-size: contain;
  width: 293px;
  height: 292px;
  position: absolute;
  left: -88px;
  z-index: -1;
  margin-top: -88px;
}

.bg_circle_right02::before {
  content: '';
  background: url('../img/pet-type/bg_circle_b02.png') no-repeat;
  background-size: contain;
  width: 293px;
  height: 292px;
  position: absolute;
  right: -88px;
  z-index: -1;
  margin-top: -88px;
}

.bg_circle_left::before {
  content: '';
  background: url('../img/common/bg_circle03.png') no-repeat;
  background-size: contain;
  width: 293px;
  height: 292px;
  position: absolute;
  left: -88px;
  margin-top: -88px;
  z-index: -1;
}

.bg_circle_right::before {
  content: '';
  background: url('../img/common/bg_circle04.png') no-repeat;
  background-size: contain;
  width: 293px;
  height: 292px;
  position: absolute;
  right: -88px;
  margin-top: -88px;
  z-index: -1;
}

@media only screen and (max-width: 568px) {

  .bg_circle_left02::before,
  .bg_circle_right02::before,
  .bg_circle_left::before,
  .bg_circle_right::before {
    content: none;

  }


  .copy {
    margin: 0 0 29px;
  }

}

.short-mv iframe {
  width: 100%;
  height: 284px;
  margin: 0 auto;
  position: relative;
}

