@charset "UTF-8";
:root{
  --blue: #009EE7;
  --yellow: #FFEE00;
  --green: #2F8B3A;
  --bg_blue: #ADDDFF;
  --bg_yellow: #FBE968;
  --bg_red: #F88C73;
  --bg_green: #C2F4B0;

  --border-radius: 28px;
  --border-radius-small: 10px;
}
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
p {
  text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
#root, #__next {
  isolation: isolate;
}

/* 
  customize
*/
html {
  width: 100%;
}
body {
  background-color: #fff;
  color: #000;
  position: relative;
  font-family: "M PLUS Rounded 1c", "游ゴシック", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.img-responsive{
  width: 100%;
}
p {
  line-height: 1.7;
  letter-spacing: .05em;
  font-weight: bold;
}
a {
  color: inherit;
  cursor: pointer;
  transition-duration: .3s;
  text-decoration: none;
  opacity: 1;
}
body:not(.sp_window) a:not(.nohoveranimate):hover {
  opacity: .7;
}

/* spacer */
.margin-c {
  margin-inline: auto;
}
.mgt150 { margin-top: 150px !important; }
.mgt120 { margin-top: 120px !important; }
.mgt100 { margin-top: 100px !important; }
.mgt95 { margin-top: 95px !important; }
.mgt80 { margin-top: 80px !important; }
.mgt70 { margin-top: 70px !important; }
.mgt60 { margin-top: 60px !important; }
.mgt55 { margin-top: 55px !important; }
.mgt50 { margin-top: 50px !important; }
.mgt45 { margin-top: 45px !important; }
.mgt40 { margin-top: 40px !important; }
.mgt35 { margin-top: 30px !important; }
.mgt30 { margin-top: 30px !important; }
.mgt25 { margin-top: 25px !important; }
.mgt20 { margin-top: 20px !important; }
.mgt15 { margin-top: 15px !important; }
.mgt10 { margin-top: 10px !important; }
.mgt5 { margin-top: 5px !important; }
.mgt0 { margin-top: 0 !important; }
.mgb25 { margin-bottom: 25px !important; }
.mgb20 { margin-bottom: 20px !important; }
.mgb15 { margin-bottom: 15px !important; }
.mgb10 { margin-bottom: 10px !important; }
.mgb5 { margin-bottom: 5px !important; }
.mgb0 { margin-bottom: 0 !important; }
.pdb0{ padding-bottom: 0 !important; }
.pdt30{ padding-top: 30px !important; }
.pdt25{ padding-top: 25px !important; }
.pdt20{ padding-top: 20px !important; }
.pdt15{ padding-top: 15px !important; }
.pdt10{ padding-top: 10px !important; }
.pdt5{ padding-top: 5px !important; }
.pdt0{ padding-top: 0 !important; }
@media screen and (max-width: 767px) {
  .mgt150 { margin-top: 150px !important; }
  .mgt120_sp { margin-top: 120px !important; }
  .mgt100_sp { margin-top: 100px !important; }
  .mgt80_sp { margin-top: 80px !important; }
  .mgt70_sp { margin-top: 70px !important; }
  .mgt65_sp { margin-top: 65px !important; }
  .mgt60_sp { margin-top: 60px !important; }
  .mgt55_sp { margin-top: 55px !important; }
  .mgt50_sp { margin-top: 50px !important; }
  .mgt45_sp { margin-top: 45px !important; }
  .mgt40_sp { margin-top: 40px !important; }
  .mgt35_sp { margin-top: 35px !important; }
  .mgt30_sp { margin-top: 30px !important; }
  .mgt25_sp { margin-top: 25px !important; }
  .mgt20_sp { margin-top: 20px !important; }
  .mgt15_sp { margin-top: 15px !important; }
  .mgt10_sp { margin-top: 10px !important; }
  .mgt5_sp { margin-top: 5px !important; }
  .mgt0_sp { margin-top: 0px !important; }
  .mgb25_sp { margin-bottom: 25px !important; }
  .mgb20_sp { margin-bottom: 20px !important; }
  .mgb15_sp { margin-bottom: 15px !important; }
  .mgb10_sp { margin-bottom: 10px !important; }
  .mgb5_sp { margin-bottom: 5px !important; }
  .mgb0_sp { margin-bottom: 0 !important; }
  .pdt30_sp{ padding-top: 30px !important; }
  .pdt25_sp{ padding-top: 25px !important; }
  .pdt20_sp{ padding-top: 20px !important; }
  .pdt15_sp{ padding-top: 15px !important; }
  .pdt10_sp{ padding-top: 10px !important; }
  .pdt5_sp{ padding-top: 5px !important; }
  .pdt0_sp{ padding-top: 0 !important; }
}

/* dot */
.dot01 {
  position: absolute;
  height: 100%;
  width: 500px;
  left: 50%;
  transform: translate(600px, 0);
  -webkit-transform: translate(600px, 0);
  -ms-transform: translate(600px, 0);
  -moz-transform: translate(600px, 0);
  z-index: 1;
}
.dot01 .dot_right {
  background: url("../../assets/img/common/dot.png");
  background-size: 7px;
  height: 100%;
  display: block;
  z-index: 100;
  position: relative;
}
.dot02 {
  position: absolute;
  height: 100%;
  width: 500px;
  left: 50%;
  transform: translate(-1100px, 0);
  -webkit-transform: translate(-1100px, 0);
  -ms-transform: translate(-1100px, 0);
  -moz-transform: translate(-1100px, 0);
  z-index: 1;
}
.dot02 .dot_left {
  background: url("../../assets/img/common/dot.png");
  background-size: 7px;
  height: 100%;
  display: block;
  z-index: 100;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .dot01, .dot02 {
    display: none;
  }
}

/* block */
.wrapper {
  width: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.section-content {
  padding-block: 140px 152px;
}
.contents_inner {
  margin: 0 auto;
  max-width: 870px;
  width: 90%;
}
.contents_inner02 {
  margin: 0 auto;
  max-width: 740px;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bg-yellow{
  background-color: var(--bg_yellow);
}
.bg-blue{
  background-color: var(--bg_blue);
}
.bg-red{
  background-color: var(--bg_red);
}
.bg-green{
  background-color: var(--bg_green);
}
@media screen and (min-width: 768px) {
  .flex_pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sp{
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper {
    overflow: visible;
  }
}
@media screen and (max-width: 767px) {
  .section-content {
    padding: 60px 0 60px;
  }
  .pc{
    display: none;
  }
}

/* text */
.title-img{
  text-align: center;
}
.align-c {
  text-align: center;
}
.txt-yugo {
  font-family: "游ゴシック", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
}
.txt-B {
  font-weight: 800;
}
.color-blue{
  color: var(--blue);
}
.line-wave{
  position: relative;
  padding-bottom: 9px;
}
.line-wave::after {
  content: "";
  background: url("../img/line_wave.svg") bottom left repeat-x;
  background-size: auto 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 9px;
  width: 100%;
}
.marker-y{
  background-color: var(--yellow);
  padding-inline: .15em;
}
.link-text{
  color: var(--blue);
  text-decoration: underline;
}
.link-text:hover{
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .line-wave {
    padding-bottom: .2em;
  }
  .line-wave::after {
    height: 5px;
  }
}
.note {
  width: 100%;
}
.note-mark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.note-mark-text {
  flex: 1;
}
.fontS-S {
  font-size: .8em;
}
.fontS-SS {
  font-size: .7em;
}
@media screen and (max-width: 767px) {
  .fontS-S_sp {
    font-size: .8em;
  }
}

/* list */
ol, ul{
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
}
.list-disc {
  padding-left: calc(.9em + .5em);
}
.list-disc li {
  list-style-type: none;
  letter-spacing: .05em;
  text-align: left;
  text-indent: calc(-.9em - .5em);
}
.list-disc li:not(:first-child) {
  margin-top: .5em;
}
.list-disc li::before {
  background-color: #000;
  border-radius: 50%;
  content: '';
  display: inline-block;
  margin-right: .5em;
  position: relative;
  top: .2em;
  width: .9em;
  height: .9em;
}
.list-disc.blue li::before {
  background-color: #009FE8;
}
.list-number li {
  display: flex;
}
.list-number_mark {
  font-size: 1.5em;
  font-weight: 800;
  margin-right: .5em;
  line-height: 1.33em;
}
.list-number_txt {
  font-size: 1.3125em;
  font-weight: 700;
  line-height: 1.5em;
}
.list-check{
  display: flex;
  flex-direction: column;
  gap: .8em;
}
.list-check li{
  display: flex;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .05em;
}
.list-check li::before{
  content: "";
  width: 1.3em;
  height: 1.05em;
  margin-right: .4em;
  margin-top: .2em;
  background: url(../img/sec2_ico_check.png) no-repeat;
  background-size: contain;
  vertical-align: top;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .list-disc li{
    text-indent: calc(-.9em - .2em);
  }
  .list-disc li::before{
    margin-right: .2em;
  }
  .list-number_mark {
    font-size: 1.1em;
  }
  .list-number_txt {
    font-size: 1em;
  }
  .list-check li{
    font-size: 1em;
  }
}

/* Anime */
.js-anime{
  transition: all .4s ease-in-out;
}
.js-anime.hide.-slideUp{
  transform: translateY(25px);
  opacity: 0;
}
.js-anime.hide.-slideLeft{
  transform: translateX(-25px);
  opacity: 0;
}
.js-anime.-revealUp{
  overflow: hidden;
  display: inline-block;
}
.js-anime.-revealUp .-revealUp_inner{
  display: inline-block;
  transform: translateY(0);
}
.js-anime:not(.hide).-revealUp .-revealUp_inner{
  transition: all .6s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: .2s;
}
.js-anime.hide.-revealUp .-revealUp_inner{
  transform: translateY(100%);
}
.js-anime:not(.hide).-waveMask::after{
  clip-path: inset(0 100% 0 0);
  animation: wavy-mask .6s ease-out forwards;
}
.js-anime.hide.-waveMask::after{
  clip-path: inset(0 100% 0 0);
}
@keyframes wavy-mask {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
.js-anime:not(.hide).-furiFuri{
  animation: furi-furi 0.8s linear forwards;
}
@keyframes furi-furi {
  /* --- 1往復目 --- */
  0% { transform: rotate(0deg); }
  10% { transform: rotate(-8deg); }
  20% { transform: rotate(8deg); }
  /* --- 2往復目 --- */
  30% { transform: rotate(-8deg); }
  40% { transform: rotate(8deg); }
  /* --- 中央に戻って静止 --- */
  50%, 100% { transform: rotate(0deg);}
}

/* Header */
.section_header {
  padding-top: 15px;
  text-align: left;
  margin-bottom: 5px;
}
.section_header .contents_inner {
  max-width: 1150px;
}
.section_header .header_logo {
  display: inline-block;
  max-width: 180px;
  width: 35%;
}
.section_header .header_logo img {
  display: inline-block;
  vertical-align: middle;
}
.section_header .share_button {
  float: right;
  width: 48px;
}
.section_header .share_button a {
  display: block;
  margin-top: 10px;
  width: 48px;
}
.section_header .share_button a:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .section_header {
    margin-bottom: 33px;
  }
  .section_header .header_logo {
    margin-top: 3px;
    max-width: 135px;
    width: 40%;
  }
  .section_header .share_button {
    width: 35px;
  }
  .section_header .share_button a {
    width: 35px;
    margin-top: 8px;
  }
}

/* Footer,Side */
.side_button {
  position: fixed;
  height: 30vh;
  width: 48px;
  right: 10px;
  z-index: 100;
}
.side_button_top {
  bottom: 0;
}
.side_button a {
  display: block;
  margin-top: 10px;
}
.side_button .top {
  bottom: 10px;
  position: absolute;
}
@media screen and (min-width: 1024px) {
  .side_button {
    left: 50%;
    transform: translate(525px, 0);
    -webkit-transform: translate(525px, 0);
    -ms-transform: translate(525px, 0);
    -moz-transform: translate(525px, 0);
  }
}
@media screen and (max-width: 767px) {
  .side_button {
    height: calc(100vh - 50px);
    width: 38px;
  }
  .side_button_sns {
    top: 50px;
  }
}

/* modal */
.remodal {
  background: none;
  border-radius: 30px;
  color: initial;
  padding: 0;
  padding-top: 60px;
}
.remodal .head{
  background-color: var(--bg_red);
  border-radius: 30px 30px 0 0;
  padding: 60px 25px 50px;
  position: relative;
}
.remodal .head .inner{
  margin-inline: auto;
}
.remodal .head .ico-point{
  filter: none;
  position: absolute;
  bottom: calc(100% - 35px);
  left: calc(50% - 35px);
  padding-top: 75px;
  max-width: initial;
  width: 75px;
}
.remodal .title {
  font-size: 30px;
  font-weight: 900;
}
.remodal .title.triangle {
  display: flex;
  align-items: center;
  gap: .65em;
  font-size: 20px;
  font-weight: 900;
}
.remodal .title.triangle::before {
  content: "";
  display: block;
  width: .9em;
  height: 1.2em;
  background: var(--bg_red);
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.remodal .title.caution {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 20px;
  font-weight: 900;
}
.remodal .title.caution::before {
  background: url(../img/ico_caution.png) center center / contain no-repeat;
  content: "";
  display: block;
  width: 2.2em;
  height: 2em;
}
.remodal .desc{
  font-size: 21px;
  font-weight: 600;
  margin-top: 15px;
}
.remodal .body {
  background-color: #FFF;
  border-radius: 0 0 30px 30px;
  padding: 58px 25px 52px;
}
.remodal .body .inner{
  margin-inline: auto;
  max-width: 600px;
}
.remodal .body .title:not(:first-child) {
  margin-top: 50px;
}
.remodal .lead {
  font-weight: bold;
  font-size: 16px;
  font-family: "游ゴシック", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 2;
  margin-top: 10px;
  text-align: left;
}
.remodal .btn-img {
  margin-top: 80px;
}
.remodal .btn-img img {
  width: 100%;
}
.remodal .btn_close {
  display: block;
  max-width: 230px;
  width: 61%;
  background-color: #000;
  color: #FFF;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  margin: 50px auto 0;
  padding: 13px;
  border-radius: 100px;
  line-height: 1;
}
.remodal .btn_close:hover {
  opacity: .7;
}
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .remodal-wrapper{
    padding: 10px 20px 10px;
  }
  .remodal {
    border-radius: 15px;
    padding: 40px 0 0;
  }
  .remodal .head{
    border-radius: 15px 15px 0 0;
    padding: 40px 15px 20px;
  }
  .remodal .head .ico-point{
    bottom: calc(100% - 22px);
    left: calc(50% - 22px);
    padding-top: 44px;
    width: 44px;
  }
  .remodal .title {
    font-size: 1.4em;
    line-height: 1.6;
  }
  .remodal .title.triangle,
  .remodal .title.caution{
    font-size: 1em;
    gap: .4em;
  }
  .remodal .title.triangle::before{
    width: .8em;
    height: 1em;
  }
  .remodal .title.caution::before{
    width: 1.8em;
    height: 1.7em;
  }
  .remodal .body .title:not(:first-child){
    margin-top: 30px;
  }
  .remodal .desc {
    font-size: 1em;
    margin-top: .5em;
  }
  .remodal .body{
    border-radius: 0 0 15px 15px;
    padding: 30px 25px 28px;
  }
  .remodal .lead {
    font-size: 13px;
    margin-top: .5em;
    line-height: 1.8;
  }
  .remodal .btn_close {
    margin-top: 40px;
    padding: 5px 7px 8px;
    width: 60%;
    font-size: 1.15em;
  }
}

/* MV */
.section_mv {
  margin-bottom: 70px;
}
.section_mv .contents_inner{
  max-width: 702px;
  width: 87%;
}
@media screen and (max-width: 767px) {
  .section_mv {
    margin-bottom: 45px;
  }
}

/* Tab */
.tab_inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.tab_btn {
  background-color: #e6e6e6;
  border-radius: 15px 15px 0 0;
  position: relative;
  margin-bottom: -1px;
  text-align: center;
  width: calc(50% - (20px / 2));
}
.tab_btn.tab-on {
  background-color: var(--bg_yellow);
  z-index: 2;
}
.tab_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: .3em;
  padding: 27px 0 20px;
  cursor: pointer;
}
.tab_btn a::after{
  background: url(../img/tab_icon_dog.png) center center / contain no-repeat;
  content: "";
  display: block;
  height: 39px;
  width: 49px;
}
.tab_btn.tab_cat a::after{
  background-image: url(../img/tab_icon_cat.png);
}
.tab_btn.tab-on a::after{
  background-image: url(../img/tab_icon_dog_active.png);
}
.tab_btn.tab_cat.tab-on a::after{
  background-image: url(../img/tab_icon_cat_active.png);
}
.tab-content {
  position: relative;
}
.tab-content .contents_inner {
  max-width: 870px;
}
@media screen and (max-width: 767px) {
  .tab_inner{
    gap: 10px;
  }
  .tab_btn {
    margin-bottom: -1px;
    width: calc(50% - (10px / 2));
    border-radius: 10px 10px 0 0;
  }
  .tab_btn a {
    gap: 13px;
    font-size: 15px;
    padding: 12px 0;
    gap: 3.466vw;
    font-size: clamp(0.938rem, 0.459rem + 2.04vw, 1.438rem);
    padding: 3.2vw 0;
  }
  .tab_btn a::after{
    height: clamp(1.438rem, 0.899rem + 2.3vw, 2rem);
    width: clamp(1.563rem, 0.486rem + 4.59vw, 2.688rem);
  }
}

/* SEC1 */
.sec1.section-content {
  padding: 95px 0 140px;
}
.sec1_desc{
  margin-bottom: 125px;
}
.sec1_desc p{
  letter-spacing: .08em;
  text-align: center;
}
.sec1_desc .color-blue{
  font-size: 21px;
}
.sec1_desc .num{
  font-size: calc(37 / 21 * 1em);
  line-height: 1.2;
  vertical-align: bottom;
}
.balloon{
  --tail-w: calc(30px / 2);
  --tail-h: 16px;
  background-color: #FFF;
  border-radius: 12px;
  max-width: 100%;
  padding: 20px 34px 18px;
  position: relative;
  width: fit-content;
}
.balloon::after{
  content: "";
  top: 100%;
  left: calc(50% - var(--tail-w));
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: var(--tail-w) solid transparent;
  border-left: var(--tail-w) solid transparent;
  border-top: var(--tail-h) solid #ffffff;
  border-bottom: 0;
}
.balloon .balloon_text{
  color: var(--blue);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
}
.sec1 .balloon{
  margin-top: 62px;
}
.sec1-trouble{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-top: 40px;
  text-align: center;
  position: relative;
}
.sec1-trouble::before,
.sec1-trouble::after{
  content: "";
  display: block;
  height: 116px;
}
.sec1-trouble::before{
  background: url(../img/sec1_img_dog.png) center bottom / contain no-repeat;
  margin-inline: 30px 15px;
  width: 100px;
}
.sec1-trouble::after{
  background: url(../img/sec1_img_human.png) center bottom / contain no-repeat;
  width: 130px;
}
#cat-content .sec1-trouble::before{
  background-image: url(../img/sec1_img_cat.png);
}
.sec1-trouble p{
  font-size: 23px;
  font-weight: 900;
}
.sec1-title2{
  margin-top: 175px;
}
.white-box{
  background: #FFF;
  border-radius: var(--border-radius);
  padding: 46px 25px 44px;
  position: relative;
}
.white-box-m{
  border-radius: calc(var(--border-radius) / 1.4);
}
.white-box-s{
  border-radius: calc(var(--border-radius) / 2);
}
.white-box_inner{
  max-width: 750px;
  margin-inline: auto;
}
.reason-box{
  padding-top: 60px;
  margin-top: 75px;
}
.reason-box > .num{
  background: var(--blue);
  color: #FFF;
  font-size: 37px;
  font-weight: 800;
  --num-w: 70px;
  width: var(--num-w);
  height: var(--num-w);
  border: 4px solid #FFF;
  border-radius: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(var(--num-w) / 2 * -1);
  left: calc(50% - (var(--num-w) / 2));
}
.reason_inner > .title{
  color: var(--blue);
  font-size: 23px;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
}
.reason_inner > .desc{
  font-size: 16px;
  margin-top: 5px;
  text-align: center;
}
.case-wrap{
  display: flex;
  gap: 32px;
  margin-top: 38px;
}
.case-wrap:has(.item.ico){
  margin-top: 13px;
}
.case-wrap .item{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.case-wrap .item.ico::before{
  content: "";
  display: block;
  margin: 0 auto -8px;
  position: relative;
  height: 55px;
  width: 70px;
  z-index: 2;
}
.case-wrap .item.human::before{
  background: url(../img/sec1_ico_human.png) center bottom / contain no-repeat;
}
.case-wrap .item.pet::before{
  background: url(../img/sec1_ico_dog.png) center bottom / contain no-repeat;
}
#cat-content .case-wrap .item.pet::before{
  background-image: url(../img/sec1_ico_cat.png);
  width: 55px;
}
.case-wrap .item .title{
  background: #fff3b5;
  border-radius: 10px;
  display: inline-block;
  font-weight: 900;
  font-size: 20px;
  padding: 8px 25px 10px;
  position: relative;
  text-align: center;
}
.case-wrap .item.ico .title{
  font-size: 18px;
  padding: 18px 36px 10px;
}
.case-wrap .item .case_inner{
  background: #fff3b5;
  border-radius: 10px;
  flex: 1;
  padding: 40px 10px 22px;
  margin-top: -23px;
  text-align: center;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.case-wrap .item.ico .case_inner{
  padding-top: 23px;
}
.case-wrap .item .case_inner .img{
  max-width: 247px;
  margin: 0 auto 15px;
  width: 80%;
  flex: 1;
}
.case-wrap .item .case_inner p{
  display: inline-block;
  text-align: left;
}
.reason_inner .img{
  margin: 22px auto 0;
  max-width: 563px;
}
.reason_inner .conclusion{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 26px;
}
.reason_inner .conclusion figure{
  max-width: 108px;
  width: 22%;
}
.reason_inner .conclusion p{
  font-size: 26px;
  font-weight: 900;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #cat-content .sec1-trouble::before{
    width: 93px;
  }
}
@media screen and (max-width: 767px) {
  .sec1.section-content{
    padding-block: 50px 60px;
  }
  .sec1_desc{
    margin-bottom: 80px;
  }
  .sec1_desc p{
    line-height: 1.5;
  }
  .sec1_desc .num{
    font-size: calc(41 / 30 * 1em);
  }
  .sec1_desc .color-blue{
    font-size: 15px;
  }
  .balloon{
    border-radius: 6px;
    padding: 15px 23px 13px;
  }
  .balloon::after{
    --tail-w: calc(14px / 2);
    --tail-h: 10px;
  }
  .balloon .balloon_text{
    font-size: 1.1em;
    letter-spacing: .15em;
  }
  .sec1 .balloon{
    margin-top: 38px;
  }
  .sec1-trouble{
    padding-bottom: 3.8em;
  }
  .sec1-trouble::before,
  .sec1-trouble::after{
    position: absolute;
    bottom: -1%;
  }
  .sec1-trouble::before{
    left: 0;
    width: 5em;
  }
  #cat-content .sec1-trouble::before{
    width: 4.5em;
  }
  .sec1-trouble::after{
    right: 2em;
    width: 6em;
  }
  .sec1-trouble p{
    font-size: 1.2em;
  }
  .sec1-title2{
    margin-top: 100px;
  }
  .white-box{
    --border-radius: 10px;
    padding-bottom: 30px;
    padding-inline: 20px;
  }
  .reason-box{
    margin-top: 55px;
    padding-top: 40px;
  }
  .reason-box > .num{
    --num-w: 1.8em;
    font-size: 25px;
    border-width: 2px;
  }
  .reason_inner > .title{
    font-size: 1.3em;
  }
  .reason_inner > .desc{
    font-size: 1em;
    text-align: left;
  }
  .case-wrap{
    gap: 25px 10px;
  }
  .case-wrap:not(:has(.item.ico)){
    flex-direction: column;
    margin: 30px auto 0;
    max-width: 260px;
  }
  .case-wrap:has(.item.ico){
    margin-top: 23px;
  }
  .case-wrap .item.ico::before{
    height: 35px;
    margin-bottom: -10px;
  }
  .case-wrap .item.pet::before{
    width: 42px;
  }
  .case-wrap .item .title{
    border-radius: 5px;
    display: inline-block;
    font-size: 1.05em;
    padding-inline: 20px;
    width: fit-content;
  }
  .case-wrap .item.ico .title{
    font-size: 1em;
    padding: 15px 5px 8px;
    width: 100%;
  }
  .case-wrap .item .case_inner{
    border-radius: 5px;
  }
  .case-wrap .item.ico .case_inner{
    padding-bottom: 10px;
  }
  .reason_inner .img{
    margin-top: 27px;
  }
  .reason_inner .conclusion{
    gap: 10px;
    margin-top: 20px;
  }
  .reason_inner .conclusion:has(figure){
    margin-top: 30px;
  }
  .reason_inner .conclusion p{
    font-size: 1.1em;
  }
}


/* SEC2 */
.sec2{
  position: relative;
  padding-bottom: 145px;
}
.sec2::after{
  content: "";
  display: block;
  width: 100%;
  height: 7.2em;
  background: url(../img/sec2_img_doctor2.png) bottom center / contain no-repeat;
  position: absolute;
  bottom: -.15em;
  left: 0;
}
.why-box{
  margin-top: 75px;
}
.why-box.virus{
  margin-top: 120px;
}
.why-box::before{
  content: "";
  display: block;
  width: 13.8%;
  aspect-ratio: 128 / 113;
  position: absolute;
  top: -30px;
  left: 6.5%;
}
.why-box.jagg::before{
  background: url(../img/sec2_ico_jagg.png) center bottom / contain no-repeat;
}
.why-box.virus::before{
  background: url(../img/sec2_ico_virus.png) center bottom / contain no-repeat;
  width: 14.8%;
  top: -20px;
}
.why-box.jagg.js-anime::before{
  animation: tsun-tsun 2.5s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes tsun-tsun {
  /* 1回目のツンツン (0% 〜 10%) */
  0% { transform: translateY(0) translateX(0); }
  5% { transform: translateY(3px) translateX(3px); }
  7% { transform: translateY(1px) translateX(1px); }
  10% { transform: translateY(0) translateX(0); }
  /* 2回目のツンツン (10% 〜 20%) */
  10% { transform: translateY(0) translateX(0); }
  15% { transform: translateY(3px) translateX(3px); }
  17% { transform: translateY(1px) translateX(1px); }
  20% { transform: translateY(0) translateX(0); }
  /* --- 2秒間の静止 (20% 〜 100%まで) --- */
  20.1%, 100% {
    transform: translateY(0) translateX(0);
  }
}
.why-box.virus.js-anime::before{
  animation: fuwa-fuwa 3s ease-in-out infinite;
}
@keyframes fuwa-fuwa {
  0%, 100% {
    transform: translateY(0) translateX(0) rotate(0deg);
  }
  50% {
    transform: translateY(-6px) translateX(-2px) rotate(2deg);
  }
}
.why-box .title{
  font-size: 23px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
}
.why-box .list-box{
  background: #d7f3ff;
  border-radius: calc(var(--border-radius) / 2);
  padding: 27px 38px;
  margin-top: 50px;
}
.why-box .list-disc{
  font-size: 20px;
  font-weight: 500;
}
.why-box .conclusion{
  color: var(--blue);
  font-size: 23px;
  font-weight: 900;
  margin-top: 30px;
  text-align: center;
}
.caution-box{
  position: relative;
  margin: 46px auto 0;
  max-width: 626px;
}
.caution-box_inner{
  background: #FFF;
  border-radius: calc(var(--border-radius) / 2);
  padding: 34px 38px;
}
.js-anime.hide .caution-box_inner{
  opacity: 0;
}
.js-anime:not(.hide) .caution-box_inner{
  animation: pop-in .5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  transform-origin: right bottom;
  animation-delay: .5s;
  opacity: 0;
}
@keyframes pop-in {
  0% {
    opacity: 0;
    transform: scale(0.5) translate(10px, 10px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
.caution-box::after{
  content: "";
  display: block;
  width: 25%;
  aspect-ratio: 158 / 113;
  background: url(../img/sec2_img_doctor.png) right bottom / contain no-repeat;
  position: absolute;
  bottom: -5%;
  left: calc(100% - 5%);
}
.caution-box .title{
  color: var(--blue);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .05em;
  display: flex;
  margin-bottom: .8em;
}
.caution-box .title::before{
  content: "";
  display: block;
  width: 2em;
  aspect-ratio: 43 / 38;
  background: url(../img/sec2_ico_caution.png) center center / contain no-repeat;
  margin-right: .5em;
}
.caution-box .title span{
  flex: 1;
  margin-top: .1em;
}
.caution-box p{
  line-height: 1.8;
}

.text-edge{
  --text-stroke-w: .08em;
  --text-stroke-w-45: calc(var(--text-stroke-w) * sin(45deg));
  --text-stroke-c: #FFF;
  text-shadow:
    0 var(--text-stroke-w) 0 var(--text-stroke-c),
    var(--text-stroke-w-45) var(--text-stroke-w-45) 0 var(--text-stroke-c),
    var(--text-stroke-w) 0 0 var(--text-stroke-c),
    var(--text-stroke-w-45) calc(-1 * var(--text-stroke-w-45)) 0 var(--text-stroke-c),
    0 calc(-1 * var(--text-stroke-w)) 0 var(--text-stroke-c),
    calc(-1 * var(--text-stroke-w-45)) calc(-1 * var(--text-stroke-w-45)) 0 var(--text-stroke-c),
    calc(-1 * var(--text-stroke-w)) 0 0 var(--text-stroke-c),
    calc(-1 * var(--text-stroke-w-45)) var(--text-stroke-w-45) 0 var(--text-stroke-c);
}
.confirm-box{
  margin-top: 180px;
}
.confirm-box .title{
  font-size: 23px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
}
.confirm-box .title-wave{
  position: relative;
  width: fit-content;
  margin-inline: auto;
}
.confirm-box .title-wave::after{
  content: "";
  display: block;
  width: 58px;
  aspect-ratio: 90 / 93;
  background: url(../img/sec2_ico_toothbrush.png) right bottom / contain no-repeat;
  position: absolute;
  bottom: -.7em;
  right: -1.5em;
}
.confirm-box .title-wave.js-anime:not(.hide)::after{
  animation: furi-furi 1.3s ease-in-out forwards;
  animation-delay: .8s;
}
.confirm-box .title .line-wave{
  padding-bottom: .4em;
  display: inline-block;
  letter-spacing: .15em;
}
.confirm-box .title .line-wave::after{
  animation-delay: .2s;
}
.confirm-box .title strong{
  font-size: 32px;
  padding-left: .2em;
}
.confirm-box .white-box{
  max-width: 626px;
  margin-inline: auto;
  position: relative;
}
.confirm-box .white-box::after{
  content: "";
  display: block;
  width: 100%;
  height: 6em;
  background: url(../img/sec2_img_dog.png) bottom right 7% / contain no-repeat;
  position: absolute;
  bottom: -3%;
  left: 0;
}
#cat-content .confirm-box .white-box::after{
  background-image: url(../img/sec2_img_cat.png);
}
.confirm-box .list-check{
  margin-inline: auto;
  max-width: 515px;
}
.confirm-box .white-box.js-anime .list-check li{
  transition: all .3s ease-in-out;
}
.confirm-box .white-box.js-anime.hide .list-check li{
  transform: translateY(5px);
  opacity: 0;
}
.confirm-box .white-box.js-anime .list-check li:nth-child(1) { transition-delay: 0.2s; }
.confirm-box .white-box.js-anime .list-check li:nth-child(2) { transition-delay: 0.4s; }
.confirm-box .white-box.js-anime .list-check li:nth-child(3) { transition-delay: 0.6s; }
.confirm-box .white-box.js-anime .list-check li:nth-child(4) { transition-delay: 0.8s; }
.confirm-box .white-box.js-anime .list-check li:nth-child(5) { transition-delay: 1s; }
.confirm-box .white-box.js-anime .list-check li:nth-child(6) { transition-delay: 1.2s; }
.confirm-box .lead:last-child{
  line-height: 2;
}
@media screen and (min-width: 768px) {
  #cat-content .why-box.virus{
    margin-top: 60px;
  }
  #cat-content .confirm-box .white-box::after{
    height: 5.5em;
  }
}
@media screen and (max-width: 767px) {
  .why-box{
    margin-top: 55px;
    padding-top: 50px;
  }
  #cat-content .why-box.virus{
    margin-top: 80px;
  }
  .why-box::before{
    left: 3.5%;
    width: 20.8%;
  }
  .why-box.virus::before{
    width: 24.8%;
    top: -31px;
    left: 7%;
  }
  .why-box .title{
    font-size: 15px;
    letter-spacing: 0;
  }
  .why-box.virus .title{
    letter-spacing: .05em;
  }
  .why-box .list-box{
    padding: 13px 12px;
    margin-top: 20px;
  }
  .why-box .list-disc{
    font-size: 1em;
  }
  .why-box .conclusion{
    font-size: 1.1em;
    margin-top: 25px;
  }
  .caution-box{
    margin-top: 25px;
  }
  .caution-box_inner{
    --border-radius: 10px;
    border-radius: var(--border-radius);
    padding: 23px 20px;
  }
  .caution-box::after{
    left: inherit;
    right: 6%;
    bottom: inherit;
    top: calc(100% - 25px);
    width: 34%;
  }
  .caution-box .title{
    font-size: 1.05em;
  }
  .caution-box .title::before{
    margin-right: 1em;
    width: 2.3em;
  }
  .caution-box .title span{
    margin-top: .3em;
  }
  .confirm-box{
    margin-top: 90px;
  }
  .confirm-box .title{
    font-size: 1.2em;
  }
  .confirm-box .title strong{
    font-size: 1.5em;
  }
  .confirm-box .title-wave::after{
    bottom: -.7em;
    right: -1.3em;
    width: 40px;
  }
  .confirm-box .title .line-wave{
    padding-bottom: .2em;
  }
  .confirm-box .title.lead{
    font-size: 1.1em;
    line-height: 1.7;
  }
  .confirm-box .white-box{
    padding-block: 28px;
  }
  .confirm-box .white-box::after{
    height: 5em;
    left: 2%;
  }
  #cat-content .confirm-box .white-box::after{
    height: 4.8em;
  }
  .sec2{
    padding-bottom: 90px;
  }
  .sec2::after{
    height: 5.7em;
  }
}



/* SEC3 */
.sec3 .title-img{
  position: relative;
}
.sec3 .title-img::before,
.sec3 .title-img::after{
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
}
.sec3 .title-img::before{
  background: url(../img/sec3_ico_toothbrush.png) center center / contain no-repeat;
  top: calc(50% + 15px);
  left: calc(50% - 215px);
  aspect-ratio: 57 / 66;
  width: 57px;
}
.sec3 .title-img::after{
  background: url(../img/sec2_ico_toothsheet.png) center center / contain no-repeat;
  top: calc(50% + 15px);
  left: calc(50% + 215px);
  aspect-ratio: 50 / 71;
  width: 50px;
}
.sec3 .title-img.js-anime.hide::before,
.sec3 .title-img.js-anime.hide::after{
  opacity: 0;
}
.sec3 .title-img.js-anime::before,
.sec3 .title-img.js-anime::after{
  transition: all .6s ease-in-out;
}
.sec3 .title-img.js-anime.hide::before{
  transform: translate(-50%, calc(-50% - 25px)) rotate(-20deg);
}
.sec3 .title-img.js-anime.hide::after{
  transform: translate(-50%, calc(-50% - 25px)) rotate(20deg);
}
.sec3 .title-img.js-anime::before{
  transition-delay: .1s;
}
.sec3 .title-img.js-anime::after{
  transition-delay: .3s;
}
.movie-block {
  max-width: 640px;
  margin-inline: auto;
}
.movie_title{
  display: flex;
  align-items: center;
  gap: .8em;
  font-size: 26px;
  font-weight: 900;
  color: #FFF;
  letter-spacing: .15em;
}
.movie_title::before{
  content: "";
  display: block;
  width: 2.2em;
  aspect-ratio: 86 / 81;
  background: center center / contain no-repeat;
  flex-shrink: 0;
}
.js-anime:not(.hide) .movie_title::before{
  animation: drop-bounce 0.6s ease-in forwards;
  animation-delay: .3s;
}
.js-anime .movie_title::before{
  transform: translateY(-30px);
  opacity: 0;
  animation-delay: .3s;
  transform-origin: bottom center;
}
@keyframes drop-bounce {
  0% {
    opacity: 0;
    transform: translateY(-30px) scaleY(1.1);
  }
  /* 着地の瞬間 (45%付近) */
  45% {
    opacity: 1;
    transform: translateY(0) scaleY(0.9) scaleX(1.1);
  }
  /* 控えめなバウンド (70%付近) */
  70% {
    transform: translateY(-8px) scaleY(1.05) scaleX(0.98); 
  }
  /* 馴染む (85%付近) */
  85% {
    transform: translateY(0) scaleY(0.95) scaleX(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scaleY(1) scaleX(1);
  }
}
.movie-block:nth-of-type(1) .movie_title::before{
  background-image: url(../img/sec3_num1.png);
}
.movie-block:nth-of-type(2) .movie_title::before{
  background-image: url(../img/sec3_num2.png);
}
.movie-block:nth-of-type(3) .movie_title::before{
  background-image: url(../img/sec3_num3.png);
}
.movie-block:nth-of-type(4) .movie_title::before{
  background-image: url(../img/sec3_num4_full.png);
  aspect-ratio: 97 / 91;
  width: 2.4em;
}
.movie-block:nth-of-type(5) .movie_title::before{
  background-image: url(../img/sec3_num5.png);
}
.movie_title small{
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .05em;
  margin-left: .3em;
  vertical-align: middle;
}
.movie_content {
  border-radius: calc(var(--border-radius) / 2);
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden
}

.movie_content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
@media screen and (max-width: 767px) {
  .sec3{
    padding-top: 80px;
  }
  .sec3 .title-img::before{
    top: calc(50% + 12px);
    left: calc(50% - 122px);
    width: 46px;
  }
  .sec3 .title-img::after{
    left: calc(50% + 125px);
    width: 41px;
  }
  .movie_title{
    font-size: 1.35em;
    gap: .5em;
  }
  .movie_title small{
    font-size: .7em;
  }
  .movie_title::before{
    width: 2em;
  }
  .movie_title:nth-of-type(4):before{
    width: 2.3em;
  }
  .movie_content{
    --border-radius: 10px;
    border-radius: var(--border-radius);
  }
  .movie_title5 > span{
    display: flex;
    align-items: center;
  }
  .movie_title5 > span small{
    flex: 1;
    letter-spacing: -.03em;
  }
  .movie_title5 > span small span{
    padding-left: 4em;
  }
}


/* SEC4 */
.sec4 .title-img{
  max-width: 350px;
  text-align: center;
  position: relative;
  width: 58%;
}
.sec4 .title-img::after{
  content: "";
  display: block;
  width: 51.4%;
  aspect-ratio: 276 / 224;
  background: url(../img/sec4_img_doctor.png) center center / contain no-repeat;
  position: absolute;
  bottom: -33%;
  left: 103%;
}
.sec4 .title-img.js-anime.hide:after{
  transform: translateY(25px);
  opacity: 0;
}
.sec4 .title-img.js-anime:not(.hide):after{
  transition: all .4s ease-in-out;
  transition-delay: .4s;
}
.sec4 .title-img .img01{
  width: 75%;
}

.details{
  border-radius: calc(var(--border-radius) / 1.5);
  margin: 120px auto 0;
  max-width: 770px;
  padding: 0;
}
.details + .details{
  margin-top: 20px;
}
.details .summary{
  color: var(--green);
  cursor: pointer;
  font-size: 22px;
  font-weight: 800;
  display: grid;
  grid-template-columns: 1.5em 1fr 2em;
  gap: 1.5em;
  align-items: center;
  list-style-type: none;
  letter-spacing: .05em;
  padding-block: 31px;
  padding-inline: 33px 38px;
}
summary::-webkit-details-marker {
  display: none;
}
.details .summary::before,
.details .summary::after{
  content: "";
  display: block;
}
.details .summary::before{
  width: 1.6em;
  aspect-ratio: 39 / 42;
  background: url(../img/sec4_ico_q.png) center center / contain no-repeat;
}
.details[open] .summary::before{
  background-image: url(../img/sec4_ico_a.png);
}
.details .summary::after{
  width: 2.4em;
  aspect-ratio: 1 / 1;
  background: url(../img/sec4_ico_open.png) center center / contain no-repeat;
  transition: transform .2s, opacity .2s;
}
.details[open] .summary::after{
  background-image: url(../img/sec4_ico_close.png);
}
.details .summary:hover{
  opacity: .8;
}
.details .summary:hover::after{
  transform: scale(1.05);
}
.details .content{
  border-top: 4px dotted #c0f2ae;
  padding-block: 35px 31px;
  margin-inline: 33px 38px;
}
.details .content p{
  font-size: 16px;
  font-family: "游ゴシック", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .sec4{
    padding-top: 80px;
  }
  .sec4 .title-img .img01{
    width: 83%;
  }
  .sec4 .title-img::after{
    background-image: url(../img/sec4_img_doctor_sp.png);
    left: 86%;
  }
  .details{
    border-radius: var(--border-radius);
    margin-top: 75px;
  }
  .details + .details{
    margin-top: 15px;
  }
  .details .summary{
    font-size: 1.1em;
    gap: .5em;
    padding-block: 14px;
    padding-inline: 13px 10px;
  }
  .details .summary::before{
    width: 1.4em;
  }
  .details .summary::after{
    width: 2.1em;
  }
  .details .content{
    border-top-width: 3px;
    padding-block: 15px 25px;
    margin-inline: 25px;
  }
  .details .content p{
    font-size: 1em;
  }
}


/* 監修 */
.consult_vet {
  border: 5px dotted #000;
  border-radius: 24px;
  position: relative;
  padding: 60px
}
.consult_vet .title {
  position: absolute;
  top: -2em;
  left: 50%;
  transform: translateX(-50%);
  width: 100%
}
.consult_vet .title,
.consult_vet .title .title_inner {
  display: flex;
  align-items: center;
  justify-content: center
}
.consult_vet .title .title_inner {
  background-color: #fff;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .2em;
  padding-inline:15px;
  margin-bottom: 0;
  text-align: center;
}
.consult_vet .title .label {
  --consult_vet-label-w: 65px;
  background-color: #000;
  border-radius: 100%;
  color: #fff;
  font-size: 21px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-basis: var(--consult_vet-label-w);
  margin-right: 10px;
  text-align: center;
  height: var(--consult_vet-label-w);
  width: var(--consult_vet-label-w)
}
.consult_vet .inner{
  max-width: 610px;
  margin-inline: auto;
}
.consult_vet .consult_vet_img {
  max-width: 210px;
  width: 45%;
}
.consult_vet p {
  font-size: 21px;
  font-weight: 600;
  line-height: 2;
  margin-top: 5px;
}
.consult_vet .name {
  font-weight: 900;
  letter-spacing: .2em;
}
.consult_vet .name span {
  font-size: 1.25em;
  margin-right: .5em;
}
@media screen and (max-width: 767px) {
  .section_consult_vet{
    padding-top: 100px;
  }
  .consult_vet{
    border-width: 3px;
    padding: 52px 15px 35px;
  }
  .consult_vet .title .label{
    --consult_vet-label-w: 3em;
    font-size: .75em;
    padding-left: .3em;
  }
  .consult_vet .title .title_inner{
    font-size: 1.2em;
  }
  .consult_vet p{
    font-size: 1em;
  }
}


/* メニュー */
.menu-btn {
  position: fixed;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: flex;
  height: 46px;
  width: 46px;
  justify-content: center;
  align-items: center;
  z-index: 110;
  background-color: #FFF;
  border-radius: 5px;
  box-shadow: 0 2px 2px rgba(0,0,0,.2)
}

.menu-btn span,.menu-btn span:after,.menu-btn span:before {
  content: '';
  display: block;
  height: 3px;
  width: 26px;
  border-radius: 3px;
  background-color: #000;
  position: absolute;
  transition: all .3s
}

.menu-btn span:before {
  bottom: 8px
}

.menu-btn span:after {
  top: 8px
}

.menu-btn-check {
  display: none
}

.menu-btn-check:checked~.menu-btn {
  box-shadow: none
}

.menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255,255,255,0)
}

.menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg)
}

.menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg)
}

.menu-content-body,.menu-content-body ul {
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box
}

.menu-btn-check:checked~.menu-content-body {
  opacity: 1;
  visibility: visible
}

.menu-content-body {
  position: fixed;
  border-radius: 20px;
  right: 0;
  align-items: center;
  flex-direction: column;
  display: flex;
  background: #fff;
  border: 3px solid #000;
  width: 470px;
  min-height: 380px;
  z-index: 80;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s,visibility .6s
}

.menu-content-body ul {
  padding: 50px 60px 10px 40px;
  margin-top: 0;
  vertical-align: middle;
  width: 100%;
  position: absolute
}

.menu-content-body ul::before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%)
}

#dog-content .menu-content-body ul::before {
  background: url(../img/00_icon_dog.png) center/contain no-repeat
}

#cat-content .menu-content-body ul::before {
  background: url(../img/00_icon_cat.png) center/contain no-repeat
}

.menu-content-body li {
  list-style: none;
  padding: 12px 0
}

.menu-content-body li a {
  display: block;
  width: 100%;
  font-size: 20px;
  font-weight: 800;
  box-sizing: border-box;
  color: var(--blue);
  text-decoration: underline;
  position: relative
}

.menu-content-body li a:hover,.remodal .btn_close {
  text-decoration: none
}

@media screen and (min-width: 1024px) {
  .menu-btn {
    left:50%;
    transform: translate(525px,-50%);
    -webkit-transform: translate(525px,-50%);
    -ms-transform: translate(525px,-50%);
    -moz-transform: translate(525px,-50%)
  }

  .menu-content-body {
    left: 50%;
    right: inherit;
    transform: translate(110px,-50%)
  }
}

@media screen and (min-width: 768px) {
  .menu-btn:hover {
    cursor:pointer
  }

  .menu-btn:hover span:before {
    bottom: 10px
  }

  .menu-btn:hover span:after {
    top: 10px
  }
}

@media screen and (max-width: 767px) {
  .menu-btn {
    top:10px;
    right: 10px;
    transform: translateY(0);
    height: 40px;
    width: 40px
  }

  .menu-btn span,.menu-btn span:after,.menu-btn span:before {
    height: 2px;
    width: 19px
  }

  .menu-content-body {
    border-radius: 0;
    transform: translateX(0);
    top: 0;
    width: 100%;
    height: 100%;
    transition: opacity .5s,visibility .5s
  }

  .menu-content-body ul {
    padding: 60px 20px 20px
  }

  .menu-content-body ul::before {
    width: 45px;
    height: 45px
  }

  .menu-content-body li a {
    font-size: 18px
  }
}
