main.ikimono-zukan {
  background-color: #F8F3EC;
  margin: 0;
  padding: 0;
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-optical-sizing: auto;
  font-weight: 700;
  position: relative;
  color: #493d1f;
  margin-bottom: -80px;
}
@media screen and (min-width: 768px), (min-width: 897px) and (orientation: landscape) {
  main.ikimono-zukan {
    margin-bottom: -12rem;
  }
  main.ikimono-zukan .sp-only {
    display: none !important;
  }
}
main.ikimono-zukan a, main.ikimono-zukan button, main.ikimono-zukan summary {
  color: #fff;
  -webkit-tap-highlight-color: transparent;
}
main.ikimono-zukan img {
  width: 100%;
  vertical-align: middle;
}
main.ikimono-zukan .en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
}
main.ikimono-zukan .fadein,
main.ikimono-zukan .fadein.delay {
  opacity: 0;
  transform: translate(0, 80px);
}
main.ikimono-zukan .fadein.scrollin,
main.ikimono-zukan .fadein.delay.scrollin {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}
main.ikimono-zukan .fadein {
  transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
main.ikimono-zukan .fadein.delay {
  transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1) 0.2s, opacity 0.8s cubic-bezier(0.65, 0, 0.35, 1) 0.2s;
}

@media screen and (min-width: 768px) {
  main.ikimono-zukan #mv {
    position: relative;
    width: 100%;
    aspect-ratio: 1920/1336;
    background-image: url(../images/lp/organism/ikimono-mv-bg-pc.jpg);
    background-position: bottom left;
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding-top: 13.75dvw;
  }
  main.ikimono-zukan #mv.active .mv__bg {
    opacity: 1;
    scale: 1;
  }
  main.ikimono-zukan #mv.active .mv__book {
    opacity: 1;
    scale: 1;
  }
  main.ikimono-zukan #mv.active .mv__front {
    opacity: 1;
    translate: 0 0;
  }
  main.ikimono-zukan .mv__main {
    aspect-ratio: 1000/678;
    height: auto;
    width: 52.083dvw;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }
  main.ikimono-zukan .mv__bg {
    position: absolute;
    inset: 0;
    top: 1.823dvw;
    background-image: url(../images/lp/organism/ikimono-mv-book-bg.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: 0.4s;
    opacity: 0;
    z-index: 0;
    scale: 0.884;
    mix-blend-mode: multiply;
  }
  main.ikimono-zukan .mv__book {
    position: absolute;
    inset: 0;
    background-image: url(../images/lp/organism/ikimono-mv-book.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: 0.4s;
    opacity: 0;
    scale: 0.884;
  }
  main.ikimono-zukan .mv__front {
    position: relative;
    z-index: 1;
    top: 7.552dvw;
    width: 35.417dvw;
    margin-left: auto;
    margin-right: auto;
    transition: 0.4s 0.6s;
    opacity: 0;
    translate: 0 0.677dvw;
  }
  main.ikimono-zukan #lede {
    position: relative;
    z-index: 1;
    background-image: url(../images/lp/organism/ikimono-lede-bg-pc.png);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    margin-top: -13.125dvw;
    padding-top: 302px;
    padding-bottom: 200px;
  }
  main.ikimono-zukan .inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  main.ikimono-zukan .lede-main {
    position: relative;
    padding-bottom: min(22.5vw, 270px);
  }
  main.ikimono-zukan .lede__catch {
    width: min(17.6666666667vw, 212px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: min(8vw, 96px);
  }
  main.ikimono-zukan .lede__message {
    width: min(62.4166666667vw, 749px);
    margin-left: auto;
    margin-right: auto;
    font-weight: 700;
    font-size: min(1.3333333333vw, 16px);
    letter-spacing: 0.04em;
    line-height: 2.2;
    text-align: left;
    color: #493d1f;
  }
  main.ikimono-zukan .kumo, main.ikimono-zukan .tori {
    position: absolute;
  }
  main.ikimono-zukan .kumo1 {
    width: min(14.1666666667vw, 170px);
    top: 87px;
    left: min(4.6666666667vw, 56px);
    animation: kumo1Move 3s steps(1, end) infinite;
  }
  @keyframes kumo1Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(-14px, -9px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo2 {
    width: min(10.5vw, 126px);
    top: -10px;
    right: min(10.1666666667vw, 122px);
    animation: kumo2Move 4.5s steps(1, end) infinite;
  }
  @keyframes kumo2Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(12px, 10px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo3 {
    width: min(12.25vw, 147px);
    left: 0;
    bottom: 127px;
    animation: kumo3Move 5s steps(1, end) infinite;
  }
  @keyframes kumo3Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(9px, 11px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo4 {
    width: min(15.75vw, 189px);
    right: 0;
    bottom: 180px;
    animation: kumo4Move 3.5s steps(1, end) infinite;
  }
  @keyframes kumo4Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(17px, -25px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .tori1 {
    width: min(4.75vw, 57px);
    top: -126px;
    left: min(12.5vw, 150px);
  }
  main.ikimono-zukan .tori2 {
    width: min(3.8333333333vw, 46px);
    top: -176px;
    left: min(8.3333333333vw, 100px);
  }
  main.ikimono-zukan .tori3 {
    width: min(3.8333333333vw, 46px);
    right: min(12.0833333333vw, 145px);
    bottom: 93px;
  }
  main.ikimono-zukan .lede-kanshu {
    width: min(60.9166666667vw, 731px);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  main.ikimono-zukan .kanshu__head {
    background-color: #fff;
    border-top-left-radius: min(6.6666666667vw, 80px);
    border-top-right-radius: min(6.6666666667vw, 80px);
    width: min(28.8333333333vw, 346px);
    padding-top: 35px;
    padding-bottom: 28px;
    text-align: center;
    position: relative;
  }
  main.ikimono-zukan .kanshu__head img {
    width: min(9.0833333333vw, 109px);
  }
  main.ikimono-zukan .tori4 {
    width: min(4.8333333333vw, 58px);
    height: min(2.9166666667vw, 35px);
    position: absolute;
    top: -30px;
    right: min(4vw, 48px);
  }
  main.ikimono-zukan .kanshu__body {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url(../images/lp/organism/ikimono-kanshu-bg-pc.png);
    width: min(60.9166666667vw, 731px);
    height: min(13.5833333333vw, 163px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(4.75vw, 57px);
    padding-left: min(1.6666666667vw, 20px);
    margin-top: -3px;
    margin-bottom: 54px;
  }
  main.ikimono-zukan .kanshu__body .name {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: min(2.5vw, 30px);
    letter-spacing: 0.04em;
  }
  main.ikimono-zukan .kanshu__body .name small {
    font-weight: 600;
    font-size: min(1.1666666667vw, 14px);
  }
  main.ikimono-zukan .kanshu__body .prof {
    display: flex;
    align-items: center;
    gap: min(1.1666666667vw, 14px);
  }
  main.ikimono-zukan .kanshu__body .label {
    border-radius: 9999px;
    background-color: #493D1F;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 5px min(1.8333333333vw, 22px) 7px;
    font-size: min(1.3333333333vw, 16px);
    letter-spacing: 0.16em;
  }
  main.ikimono-zukan .kanshu__body .summary {
    font-size: min(1.5vw, 18px);
    letter-spacing: 0.08em;
  }
  main.ikimono-zukan .kanshu__link {
    text-align: center;
  }
  main.ikimono-zukan .kanshu__link a {
    display: inline-flex;
    align-items: center;
    background-image: url(../images/lp/organism/ikimono-button-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 343/76;
    width: min(28.5833333333vw, 343px);
    transition: unset;
    padding-left: min(5.4166666667vw, 65px);
  }
  main.ikimono-zukan .kanshu__link a .label {
    display: flex;
    gap: min(2vw, 24px);
    color: #fff;
    font-size: min(1.6666666667vw, 20px);
    letter-spacing: 0.08em;
  }
  main.ikimono-zukan .kanshu__link a .label::after {
    content: "";
    width: min(1.75vw, 21px);
    background-image: url(../images/lp/organism/ikimono-button-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  main.ikimono-zukan .kanshu__link a:hover {
    opacity: 1;
  }
  main.ikimono-zukan .kanshu__link a:hover .label {
    rotate: -3deg;
  }
  main.ikimono-zukan #map {
    background-image: url(../images/lp/organism/ikimono-map-bg-pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    position: relative;
    z-index: 1;
    margin-top: -150px;
    padding-top: 268px;
    padding-bottom: 160px;
  }
  main.ikimono-zukan .map__head {
    text-align: center;
    margin-bottom: 81px;
  }
  main.ikimono-zukan .map__head .head {
    margin-bottom: 49px;
  }
  main.ikimono-zukan .map__head .head img {
    width: min(22.75vw, 273px);
  }
  main.ikimono-zukan .map__head .note {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: min(1.6666666667vw, 20px);
    letter-spacing: 0.08em;
    color: #275c35;
  }
  main.ikimono-zukan .map__head .note img {
    width: min(4vw, 48px);
    margin-left: min(0.75vw, 9px);
    margin-right: min(0.75vw, 9px);
  }
  main.ikimono-zukan .map__wrapper {
    aspect-ratio: 1020/683;
    width: min(85vw, 1020px);
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }
  main.ikimono-zukan .map__inner {
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/organism/ikimono-map-pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
  }
  main.ikimono-zukan .map__inner a {
    position: absolute;
    aspect-ratio: 1/1;
    width: min(8.3333333333vw, 100px);
    height: auto;
  }
  main.ikimono-zukan .map__inner a:hover {
    opacity: 1;
  }
  main.ikimono-zukan .map__inner a:hover .map__icon {
    translate: 0 min(0.4166666667vw, 5px);
  }
  main.ikimono-zukan .map__inner a:hover .map__tip {
    opacity: 1;
  }
  main.ikimono-zukan .map__inner .map__icon {
    position: absolute;
    inset: 0;
    background-image: url(../images/lp/organism/ikimono-icon-search.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: min(4vw, 48px) auto;
    transition: translate 0.2s;
  }
  main.ikimono-zukan .map__inner .map__tip {
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 72px;
    border-radius: 9999px;
    padding: 23px min(3.25vw, 39px);
    background: #fff6e0;
    border: min(0.4166666667vw, 5px) solid #ffe5a6;
    font-size: 18px;
    letter-spacing: 0.08em;
    color: #493d1f;
    white-space: nowrap;
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    translate: -50% 0;
    opacity: 0;
    transition: opacity 0.3s;
    box-shadow: 0 min(0.5vw, 6px) 0 rgba(73, 61, 31, 0.24);
  }
  main.ikimono-zukan .map__inner .map__tip::before, main.ikimono-zukan .map__inner .map__tip::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    aspect-ratio: 14/12;
    width: min(1.1666666667vw, 14px);
    margin-left: auto;
    margin-right: auto;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  main.ikimono-zukan .map__inner .map__tip::before {
    z-index: 1;
    top: calc(100% + min(0.3333333333vw, 4px));
    background-color: #FFE5A6;
    box-shadow: 0 min(0.5vw, 6px) 0 rgba(73, 61, 31, 0.24);
  }
  main.ikimono-zukan .map__inner .map__tip::after {
    top: calc(100% + min(0.9583333333vw, 11.5px));
    background: rgba(73, 61, 31, 0.24);
  }
  main.ikimono-zukan .map__inner .link1 {
    left: min(37vw, 444px);
    top: 0;
  }
  main.ikimono-zukan .map__inner .link2 {
    top: min(16.75vw, 201px);
    left: min(4.8333333333vw, 58px);
  }
  main.ikimono-zukan .map__inner .link3 {
    top: min(13.0833333333vw, 157px);
    left: min(15.75vw, 189px);
  }
  main.ikimono-zukan .map__inner .link4 {
    top: min(13.4166666667vw, 161px);
    left: min(27.3333333333vw, 328px);
  }
  main.ikimono-zukan .map__inner .link5 {
    top: min(8.3333333333vw, 100px);
    left: min(38.9166666667vw, 467px);
  }
  main.ikimono-zukan .map__inner .link6 {
    top: min(9.4166666667vw, 113px);
    left: min(57.0833333333vw, 685px);
  }
  main.ikimono-zukan .map__inner .link7 {
    top: min(9.4166666667vw, 113px);
    left: min(72.1666666667vw, 866px);
  }
  main.ikimono-zukan .map__inner .link8 {
    top: min(18vw, 216px);
    left: min(39.0833333333vw, 469px);
  }
  main.ikimono-zukan .map__inner .link9 {
    top: min(23.9166666667vw, 287px);
    left: min(21.5vw, 258px);
  }
  main.ikimono-zukan .map__inner .link10 {
    top: min(21.5vw, 258px);
    left: min(50.5833333333vw, 607px);
  }
  main.ikimono-zukan .map__inner .link11 {
    top: min(21.5vw, 258px);
    left: min(61.1666666667vw, 734px);
  }
  main.ikimono-zukan .map__inner .link12 {
    top: min(30.6666666667vw, 368px);
    left: min(29.4166666667vw, 353px);
  }
  main.ikimono-zukan .map__inner .link13 {
    top: min(31.0833333333vw, 373px);
    left: min(48.3333333333vw, 580px);
  }
  main.ikimono-zukan .map__inner .link14 {
    top: min(33.6666666667vw, 404px);
    left: min(64vw, 768px);
  }
  main.ikimono-zukan .map__inner .link15 {
    top: min(43.5833333333vw, 523px);
    left: min(25.3333333333vw, 304px);
  }
  main.ikimono-zukan #footer .section-links {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  main.ikimono-zukan #mv {
    position: relative;
    width: 100%;
    aspect-ratio: 375/565;
    background-image: url(../images/lp/organism/ikimono-mv-bg-mb.jpg);
    background-position: top left;
    background-size: 100% auto;
    background-repeat: no-repeat;
    margin-top: 14.4dvw;
    padding-top: 30.4dvw;
  }
  main.ikimono-zukan #mv.active .mv__bg {
    opacity: 1;
    scale: 1;
  }
  main.ikimono-zukan #mv.active .mv__book {
    opacity: 1;
    scale: 1;
  }
  main.ikimono-zukan #mv.active .mv__front {
    opacity: 1;
    translate: 0 0;
  }
  main.ikimono-zukan .mv__main {
    aspect-ratio: 347/238;
    height: auto;
    width: 100%;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }
  main.ikimono-zukan .mv__bg {
    position: absolute;
    inset: 0;
    top: 3.733dvw;
    background-image: url(../images/lp/organism/ikimono-mv-book-bg.png);
    background-size: 102.667dvw auto;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.4s;
    opacity: 0;
    scale: 0.884;
    mix-blend-mode: multiply;
  }
  main.ikimono-zukan .mv__book {
    position: absolute;
    inset: 0;
    background-image: url(../images/lp/organism/ikimono-mv-book.png);
    background-size: 102.667dvw auto;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.4s;
    opacity: 0;
    scale: 0.884;
  }
  main.ikimono-zukan .mv__front {
    position: relative;
    z-index: 1;
    top: 15.2dvw;
    width: 74.4dvw;
    margin-left: auto;
    margin-right: auto;
    transition: 0.4s 0.6s;
    opacity: 0;
    translate: 0 3.467dvw;
  }
  main.ikimono-zukan #lede {
    position: relative;
    z-index: 1;
    background-image: url(../images/lp/organism/ikimono-lede-bg-mb.png);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    margin-top: -10.133dvw;
    padding-top: 36.267dvw;
    padding-bottom: 30.667dvw;
  }
  main.ikimono-zukan .lede-main {
    position: relative;
    padding-bottom: 30.4dvw;
  }
  main.ikimono-zukan .lede__catch {
    width: 35.467dvw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 11.733dvw;
  }
  main.ikimono-zukan .lede__message {
    width: 81.333dvw;
    margin-left: auto;
    margin-right: auto;
    font-weight: 700;
    font-size: 3.6dvw;
    letter-spacing: 0.04em;
    line-height: 8.533dvw;
    text-align: left;
    color: #493d1f;
  }
  main.ikimono-zukan .kumo, main.ikimono-zukan .tori {
    position: absolute;
  }
  main.ikimono-zukan .kumo1 {
    width: 35.733dvw;
    top: 10.133dvw;
    left: -12.8dvw;
    animation: kumo1Move 3s steps(1, end) infinite;
  }
  @keyframes kumo1Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(-14px, -9px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo2 {
    width: 26.667dvw;
    top: -15.467dvw;
    left: 75.2dvw;
    animation: kumo2Move 4.5s steps(1, end) infinite;
  }
  @keyframes kumo2Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(12px, 10px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo3 {
    width: 30.933dvw;
    left: -18.133dvw;
    bottom: 14.133dvw;
    animation: kumo3Move 5s steps(1, end) infinite;
  }
  @keyframes kumo3Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(9px, 11px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .kumo4 {
    width: 40dvw;
    right: -20dvw;
    bottom: 4dvw;
    animation: kumo4Move 3.5s steps(1, end) infinite;
  }
  @keyframes kumo4Move {
    0% {
      transform: translate(0, 0);
    }
    50% {
      transform: translate(17px, -25px);
    }
    100% {
      transform: translate(0, 0);
    }
  }
  main.ikimono-zukan .tori1 {
    width: 8.533dvw;
    top: -18.4dvw;
    left: 20.533dvw;
  }
  main.ikimono-zukan .tori2 {
    width: 6.933dvw;
    top: -21.333dvw;
    left: 9.333dvw;
  }
  main.ikimono-zukan .tori3 {
    width: 6.4dvw;
    right: 8dvw;
    bottom: 13.333dvw;
  }
  main.ikimono-zukan .lede-kanshu {
    width: min(60.9166666667vw, 731px);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  main.ikimono-zukan .kanshu__head {
    background-color: #fff;
    border-top-left-radius: 17.333dvw;
    border-top-right-radius: 17.333dvw;
    width: 67.733dvw;
    padding-top: 5.333dvw;
    padding-bottom: 4.8dvw;
    text-align: center;
    position: relative;
  }
  main.ikimono-zukan .kanshu__head img {
    width: 21.867dvw;
  }
  main.ikimono-zukan .tori4 {
    width: 12dvw;
    height: 7.2dvw;
    position: absolute;
    top: -6.133dvw;
    right: 8.267dvw;
  }
  main.ikimono-zukan .kanshu__body {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url(../images/lp/organism/ikimono-kanshu-bg-mb.png);
    width: 82.667dvw;
    height: 61.333dvw;
    display: flex;
    flex-direction: column;
    gap: 7.733dvw;
    justify-content: center;
    align-items: center;
    margin-top: -2.4dvw;
    margin-bottom: 7.467dvw;
  }
  main.ikimono-zukan .kanshu__body .name {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 6.933dvw;
    letter-spacing: 0.04em;
  }
  main.ikimono-zukan .kanshu__body .name small {
    font-weight: 600;
    font-size: 3.467dvw;
    letter-spacing: 0.04em;
  }
  main.ikimono-zukan .kanshu__body .prof {
    display: flex;
    width: 66.133dvw;
    flex-direction: column;
    align-items: center;
    gap: 2.133dvw;
  }
  main.ikimono-zukan .kanshu__body .label {
    border-radius: 9999px;
    background-color: #493D1F;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 1.067dvw 1.067dvw 1.867dvw;
    font-weight: 700;
    font-size: 3.733dvw;
    letter-spacing: 0.16em;
  }
  main.ikimono-zukan .kanshu__body .summary {
    font-size: 3.733dvw;
    letter-spacing: 0.08em;
  }
  main.ikimono-zukan .kanshu__link {
    text-align: center;
  }
  main.ikimono-zukan .kanshu__link a {
    display: inline-flex;
    align-items: center;
    background-image: url(../images/lp/organism/ikimono-button-bg-mb.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 303/56;
    width: 80.8dvw;
    padding-left: 18.133dvw;
    transition: unset;
  }
  main.ikimono-zukan .kanshu__link a .label {
    display: flex;
    gap: 6.4dvw;
    color: #fff;
    font-size: 4.267dvw;
    letter-spacing: 0.08em;
  }
  main.ikimono-zukan .kanshu__link a .label::after {
    content: "";
    width: 5.6dvw;
    background-image: url(../images/lp/organism/ikimono-button-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  main.ikimono-zukan #map {
    background-image: url(../images/lp/organism/ikimono-map-bg-mb.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    position: relative;
    z-index: 1;
    margin-top: -20.533dvw;
    padding-top: 35.733dvw;
    padding-bottom: 38.133dvw;
  }
  main.ikimono-zukan .map__head {
    text-align: center;
    margin-bottom: 10.667dvw;
  }
  main.ikimono-zukan .map__head .head {
    margin-bottom: 8dvw;
  }
  main.ikimono-zukan .map__head .head img {
    width: 52dvw;
  }
  main.ikimono-zukan .map__head .note {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4dvw;
    letter-spacing: 0.08em;
    color: #275c35;
  }
  main.ikimono-zukan .map__head .note img {
    width: 10.667dvw;
    margin-left: 1.867dvw;
    margin-right: 1.067dvw;
  }
  main.ikimono-zukan .map__wrapper {
    height: 124.533dvw;
    overflow: auto;
    padding-left: 12.533dvw;
    padding-left: 15.2dvw;
    padding-bottom: 6.933dvw;
    position: relative;
  }
  main.ikimono-zukan .map__inner {
    width: 176dvw;
    height: 117.6dvw;
    background-image: url(../images/lp/organism/ikimono-map-pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
  }
  main.ikimono-zukan .map__inner::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    display: inline-block;
    margin: auto;
    aspect-ratio: 1/1;
    background-image: url(../images/lp/organism/ikimono-swipe.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: opacity 0.2s;
    width: 23.467dvw;
  }
  main.ikimono-zukan .map__inner.scrolled::before {
    opacity: 0;
  }
  main.ikimono-zukan .map__inner a {
    position: absolute;
    aspect-ratio: 1/1;
    width: 13.333dvw;
    height: auto;
  }
  main.ikimono-zukan .map__inner a:hover, main.ikimono-zukan .map__inner a .is-active {
    opacity: 1;
  }
  main.ikimono-zukan .map__inner a:hover .map__icon, main.ikimono-zukan .map__inner a .is-active .map__icon {
    translate: 0 min(0.4166666667vw, 5px);
  }
  main.ikimono-zukan .map__inner a:hover .map__tip, main.ikimono-zukan .map__inner a .is-active .map__tip {
    opacity: 1;
  }
  main.ikimono-zukan .map__inner .map__icon {
    position: absolute;
    inset: 0;
    background-image: url(../images/lp/organism/ikimono-icon-search.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8.533dvw auto;
    transition: translate 0.2s;
  }
  main.ikimono-zukan .map__inner .map__tip {
    position: relative;
    background-color: #fff;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 14.933dvw;
    border-radius: 9999px;
    padding: 4.8dvw 8.533dvw;
    background: #fff6e0;
    border: 1.333dvw solid #ffe5a6;
    font-size: 3.733dvw;
    letter-spacing: 0.08em;
    color: #493d1f;
    white-space: nowrap;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 50%;
    translate: -50% 0;
    opacity: 0;
    transition: opacity 0.3s;
    box-shadow: 0 1.6dvw 0 rgba(73, 61, 31, 0.24);
    /*
            &::before {
              content: '';
              position: absolute;
              z-index: -2;
              top: 0;
              left: 0;
              right: 0;
              width: 100%;
              height: px2vw(56, 375);
              border-radius: 9999px;
              background-color: rgba(#493d1f, 0.24);
            }
    */
  }
  main.ikimono-zukan .map__inner .map__tip::after {
    content: "";
    position: absolute;
    bottom: calc(100% + 1.067dvw);
    aspect-ratio: 14/12;
    width: 3.733dvw;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    background-color: #FFE5A6;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }
  main.ikimono-zukan .map__inner .link1 {
    top: 1.867dvw;
    left: 80.533dvw;
  }
  main.ikimono-zukan .map__inner .link2 {
    top: 40.267dvw;
    left: 10.667dvw;
  }
  main.ikimono-zukan .map__inner .link3 {
    top: 28.8dvw;
    left: 34.667dvw;
  }
  main.ikimono-zukan .map__inner .link4 {
    top: 28.8dvw;
    left: 57.6dvw;
  }
  main.ikimono-zukan .map__inner .link5 {
    top: 18.667dvw;
    left: 81.867dvw;
  }
  main.ikimono-zukan .map__inner .link6 {
    top: 20.267dvw;
    left: 118.933dvw;
  }
  main.ikimono-zukan .map__inner .link7 {
    top: 20.267dvw;
    left: 150.667dvw;
  }
  main.ikimono-zukan .map__inner .link8 {
    top: 38.933dvw;
    left: 81.867dvw;
  }
  main.ikimono-zukan .map__inner .link9 {
    top: 50.667dvw;
    left: 45.333dvw;
  }
  main.ikimono-zukan .map__inner .link10 {
    top: 45.333dvw;
    left: 105.333dvw;
  }
  main.ikimono-zukan .map__inner .link11 {
    top: 45.333dvw;
    left: 129.067dvw;
  }
  main.ikimono-zukan .map__inner .link12 {
    top: 64.8dvw;
    left: 62.4dvw;
  }
  main.ikimono-zukan .map__inner .link13 {
    top: 65.6dvw;
    left: 101.867dvw;
  }
  main.ikimono-zukan .map__inner .link14 {
    top: 70.933dvw;
    left: 133.867dvw;
  }
  main.ikimono-zukan .map__inner .link15 {
    top: 91.2dvw;
    left: 54.133dvw;
  }
}
/*
@media screen and (min-width: 768px) {
  main.ikimono-zukan {
    .linkbtn {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      position: relative;
      border-radius: minpx2vw(8, 1200);
      background: #353c53;
      min-height: minpx2vw(60, 1200);
      padding: minpx2vw(15, 1200) minpx2vw(14, 1200) minpx2vw(21, 1200);
      font-size: minpx2vw(14, 1200);
      line-height: 1;
      letter-spacing: 0.06em;
      font-weight: $font-weight-bold;
      &::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: minpx2vw(14, 1200);
        margin: auto;
        background-image: url(../images/lp/organism/national_dual-linkbtn-pc.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        aspect-ratio: 1/1;
        background-color: #fff;
        border-radius: 9999px;
        width: minpx2vw(34, 1200);
        height: minpx2vw(34, 1200);
        display: none;
      }
      .icon {
        position: absolute;
        top: 0;
        bottom: 0;
        right: minpx2vw(14, 1200);
        margin: auto;
        aspect-ratio: 1/1;
        background-color: #fff;
        border-radius: 9999px;
        width: minpx2vw(34, 1200);
        height: minpx2vw(34, 1200);
        &::before {
          content: '';
          position: absolute;
          inset: 0;
          margin: auto;
          aspect-ratio: 10/13.5;
          width: minpx2vw(13.5, 1200);
          height: minpx2vw(10, 1200);
          background-image: url(../images/lp/organism/national_dual-linkbtn-pc.svg);
          background-repeat: no-repeat;
          background-size: minpx2vw(27, 1200) auto;
          background-position: right center;
          transition: 0.3s;
        }
      }
      &:hover {
        opacity: 1;
        .icon::before {
          background-position: left center;
        }
      }
    }
    .points__images {
      gap: minpx2vw(40, 1200);
      margin-top: maxpx2vw(-27, 1200);
      padding-left: minpx2vw(25, 1200);
      padding-right: minpx2vw(25, 1200);
      margin-bottom: minpx2vw(38, 1200);
      li {
        width: minpx2vw(151, 1200);
        height: minpx2vw(186, 1200);
        flex: unset;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: minpx2vw(17, 1200);
        border-radius: minpx2vw(10, 1200);
        padding: minpx2vw(23, 1200) minpx2vw(10, 1200) minpx2vw(26, 1200) ;
        .img {
          flex: 1;
          display: flex;
          justify-content: center;
          align-items: center;
          height: minpx2vw(79, 1200);
        }
        .label {
          font-weight: $font-weight-bold;
          font-size: minpx2vw(18, 1200);
          letter-spacing: 0.06em;
        }
      }
    }
    #mv {
      margin-bottom: 0;
      &::after {
        background-image: url(../images/lp/organism/national_dual-mv-foot-pc.svg);
        bottom: -1px
      }
    }
    #application {
      margin-bottom: minpx2vw(107, 1200);
      img {
        width: minpx2vw(800, 1200);
      }
    }
    .section__head {
      font-size: minpx2vw(24, 1200);
      border-radius: minpx2vw(8, 1200);
      padding-top: minpx2vw(9, 1200);
      padding-bottom: minpx2vw(12, 1200);
    }
    #points {
      width: minpx2vw(1200, 1200);
      margin-left: auto;
      margin-right: auto;
      padding-left: minpx2vw(100, 1200);
      padding-right: minpx2vw(100, 1200);
      padding-bottom: minpx2vw(104, 1200);
    }
    .points__item {
      background-color: #fff;
      border-radius: minpx2vw(28, 1200);
      margin-bottom: minpx2vw(93, 1200);
      padding-bottom: minpx2vw(40, 1200);
      &:last-of-type {
        margin-bottom: 0;
      }
      .section__head {
        width: minpx2vw(800, 1920);
        margin-left: auto;
        margin-right: auto;
        translate: 0 maxpx2vw(-27, 1200);
        margin-bottom: minpx2vw(37, 1200);
      }
      .points__head {
        text-align: center;
        margin-top: maxpx2vw(-27, 1200);
        margin-bottom: minpx2vw(37, 1200);
        padding-left: minpx2vw(8, 1200);
        padding-right: minpx2vw(8, 1200);
        font-size: minpx2vw(27, 1200);
        .num {
          font-size: minpx2vw(42, 1200);
          margin-right: minpx2vw(5, 1200);
        }
        .en {
          margin-left: minpx2vw(5, 1200);
          font-size: minpx2vw(38, 1200);
        }
      }
      .points__list {
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        gap: minpx2vw(16, 1200);
        padding-left: minpx2vw(56, 1200);
        padding-right: minpx2vw(56, 1200);
        margin-bottom: minpx2vw(37, 1200);
        li {
          flex: 1;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: minpx2vw(8, 1200);
          background: linear-gradient(rgba(#449be3, 0.15) 0%, rgba(#61c9e8, 0.15) 100%);
          padding: minpx2vw(18, 1200) minpx2vw(18, 1200) minpx2vw(22, 1200);
          font-weight: $font-weight-semibold;
          letter-spacing: 0.06em;
          line-height: 1.8;
          font-size: minpx2vw(18, 1200);
          text-align: center;
          min-height: minpx2vw(136, 1200);
          strong {
            font-weight: $font-weight-semibold;
            background-color: #3792DD;
            color: #fff;
            padding-left: minpx2vw(6, 1200);
            padding-right: minpx2vw(4, 1200);
            padding-bottom: minpx2vw(2, 1200);
            margin-right: minpx2vw(3, 1200);
          }
        }
      }
      .linkbtn {
        width: minpx2vw(280, 1200);
        margin-left: auto;
        margin-right: auto;
        .icon {
          rotate: 90deg;
        }
      }
    }
    #details {
      .details__item {
        padding-top: minpx2vw(104, 1200);
        padding-left: minpx2vw(23, 1200);
        padding-right: minpx2vw(23, 1200);
        padding-bottom: minpx2vw(104, 1200);
        &.reason {
          .points__images {
            margin-bottom: minpx2vw(64, 1200);
          }
          .details__section {
            padding-left: minpx2vw(120, 1200);
            padding-right: minpx2vw(120, 1200);
            .head {
              margin-bottom: minpx2vw(40, 1200);
            }
            .wrap {
              align-items: start;
            }
          }
          .section__head {
            margin-bottom: minpx2vw(48, 1200);
          }
          .section {
            margin-bottom: minpx2vw(64, 1200);
          }
          .section {
            & > dt {
              gap: minpx2vw(22, 1200);
              font-size: minpx2vw(22, 1200);
              margin-bottom: minpx2vw(32, 1200);
              &::after {
                height: minpx2vw(5, 1200);
              }
            }
            & > dd {
              font-size: minpx2vw(16, 1200);
              &.small {
                font-size: minpx2vw(14, 1200);
                line-height: 1.71;
              }
              &.image {
                margin-bottom: minpx2vw(24, 1200);
              }
            }
            &:has(.condition) {
              & > dt {
                margin-bottom: minpx2vw(46, 1200);
              }
            }
            &:has(.image) {
              display: grid;
              column-gap: minpx2vw(40, 1200);
              align-items: center;
              dt {
                grid-column: 1/3;
                grid-row: 1;
              }
              dd.image {
                grid-column: 1/2;
                grid-row: 2;
                width: minpx2vw(364, 1200);
                margin-bottom: 0;
              }
              dd:not(.image) {
                grid-column: 2/3;
                grid-row: 2;
                line-height: 1.87;
              }
            }
          }
          .condition {
            padding-bottom: minpx2vw(7, 1200);
            &:not(:has(.note)) {
              padding-bottom: minpx2vw(7, 1200);
            }
            dt {
              width: minpx2vw(282, 1200);
            }
          }
          .num {
            font-size: minpx2vw(81, 1200);
            em {
              font-size: minpx2vw(128, 1200);
            }
            small {
              font-size: minpx2vw(69, 1200);
            }
          }
          .option {
            padding-top: minpx2vw(0, 1200);
            font-size: minpx2vw(14, 1200);
            padding-bottom: 0;
          }
          .note {
            margin-top: minpx2vw(5, 1200);
            font-size: minpx2vw(13, 1200);
            line-height: 1.53;
            padding-bottom: minpx2vw(21, 1200);
          }
        }
        .inner {
          width: minpx2vw(1000, 1200);
          margin-left: auto;
          margin-right: auto;
        }
      }
      .quota {
        border-radius: minpx2vw(16, 1200) minpx2vw(16, 1200) 0px 0px;
        padding: minpx2vw(7, 1200) minpx2vw(42, 1200) minpx2vw(6, 1200);
        font-size: minpx2vw(16, 1200);
      }
      .details__head {
        width: minpx2vw(800, 1200);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: minpx2vw(48, 1200);
      }
      .details__summary {
        gap: minpx2vw(10, 1200);
        margin-bottom: minpx2vw(64, 1200);
        li {
          min-height: unset;
          .label {
            padding: minpx2vw(18, 1200);
            width: minpx2vw(150, 1200);
            font-size: minpx2vw(18, 1200);
          }
          .summary {
            padding: minpx2vw(18, 1200) minpx2vw(24, 1200);
            font-size: minpx2vw(18, 1200);
          }
        }
      }
      .details__section {
        border-radius: minpx2vw(28, 1200);
        margin-bottom: minpx2vw(64, 1200);
        padding-left: minpx2vw(75, 1200);
        padding-right: minpx2vw(75, 1200);
        padding-bottom: minpx2vw(56, 1200);
        &:last-of-type {
          margin-bottom: minpx2vw(40, 1200);
        }
        .head {
          width: minpx2vw(433, 1200);
          margin-left: auto;
          margin-right: auto;
          border-radius: 0px 0px minpx2vw(8, 1200) minpx2vw(8, 1200);
          padding-top: minpx2vw(9, 1200);
          padding-bottom: minpx2vw(13, 1200);
          font-size: minpx2vw(24, 1200);
          letter-spacing: 0.08em;
          margin-bottom: minpx2vw(40, 1200);
        }
        ul.detail {
          gap: minpx2vw(22, 1200);
          width: max-content;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: minpx2vw(8, 1200);
          li {
            background-position: left top minpx2vw(2, 1200);
            background-size: minpx2vw(25, 1200);
            padding-left: minpx2vw(29, 1200);
            font-size: minpx2vw(16, 1200);
          }
        }
        div.detail {
          font-size: minpx2vw(16, 1200);
          line-height: 1.87;
          & + .note {
            margin-top: minpx2vw(9, 1200);
            margin-bottom: minpx2vw(56, 1200);
          }
          & + .element {
            margin-top: minpx2vw(30, 1200);
          }
        }
        .note {
          font-size: minpx2vw(14, 1200);
        }
        .wrap {
          display: flex;
          justify-content: space-evenly;
          gap: minpx2vw(23, 1200);
        }
        .condition {
          order: 2;
          flex: 1;
          border-radius: minpx2vw(8, 1200);
          padding: minpx2vw(0, 1200) minpx2vw(25, 1200) minpx2vw(32, 1200);
          margin-bottom: 0;
          width: minpx2vw(280, 1200);
          & + .condition {
            margin-top: 0;
          }
          dt {
            width: minpx2vw(140, 1200);
            height: minpx2vw(32, 1200);
            font-size: minpx2vw(18, 1200);
            translate: 0 maxpx2vw(-14, 1200);
            margin-bottom: minpx2vw(16, 1200);
            padding-bottom: minpx2vw(1, 1200);
          }
          dd {
            margin-top: maxpx2vw(-14, 1200);
            font-size: minpx2vw(14, 1200);
            line-height: 1.85;
          }
        }
        .appeal {
          margin-bottom: 0;
          order: 1;
          display: flex;
          flex-direction: column;
          gap: minpx2vw(10, 1200);
          justify-content: center;
          width: minpx2vw(261, 1200);
//          padding-top: minpx2vw(10, 1200);
          em {
            justify-content: space-between;
            gap: minpx2vw(0, 1200);
            font-size: minpx2vw(18, 1200);
            &::before, &::after {
              width: minpx2vw(15, 1200);
            }
          }
          .note {
            font-size: minpx2vw(13, 1200);
            line-height: 1.53;
          }
        }
        .element {
          margin-bottom: minpx2vw(40, 1200);
          & > dt {
            min-height: minpx2vw(25, 1200);
            background-size: minpx2vw(25, 1200);
            padding-top: minpx2vw(0, 1200);
            padding-left: minpx2vw(30, 1200);
            font-size: minpx2vw(18, 1200);
            margin-bottom: minpx2vw(6, 1200);
          }
          dd {
            font-size: minpx2vw(16, 1200);
            line-height: 1.87;
            & > table {
              width: unset;
              th, td {
                padding: minpx2vw(10, 1200) minpx2vw(12, 1200);
              }
              thead {
                th {
                  padding: minpx2vw(5, 1200) minpx2vw(12, 1200);
                }
              }
            }
          }
        }
        .notes.list {
          gap: minpx2vw(6, 1200);
          margin-bottom: minpx2vw(32, 1200);
          li {
            gap: minpx2vw(7, 1200);
            font-size: minpx2vw(16, 1200);
            &::before {
              width: minpx2vw(6, 1200);
              margin-top: minpx2vw(8, 1200);
            }
          }
        }
        dl.note {
          dt {
            font-size: minpx2vw(16, 1200);
            margin-bottom: minpx2vw(4, 1200);
          }
          dd {
            font-size: minpx2vw(16, 1200);
          }
        }
        table, .table__wrap {
          margin-top: minpx2vw(18, 1200);
          margin-bottom: minpx2vw(18, 1200);
          table {
            margin-top: 0;
            margin-bottom: 0;
          }
        }
        .table__wrap {
          &::before {
            display: none;
          }
        }
        table {
          width: max-content;
          &.full {
            width: 100%;
          }
          &:has(.sticky-col) {
            border-collapse: separate;
            border-spacing: 0;
            border-top: 1px solid #A2A2A2;
            position: relative;
            &::after {
              display: none;
            }
          }
          th, td {
            padding: minpx2vw(13, 1200) minpx2vw(12, 1200);
            font-size: minpx2vw(14, 1200);
          }
          thead {
            th {
              padding: minpx2vw(5, 1200) minpx2vw(12, 1200);
            }
          }
          tbody {
            th, td {
              padding: minpx2vw(23, 1200) minpx2vw(12, 1200);
            }
          }
        }
        .table__wrap {
          table {
            tr, td {
            }
          }
        }

      }
      .linkbtn {
        width: minpx2vw(500, 1200);
        margin-left: auto;
        margin-right: auto;
        font-size: minpx2vw(16, 1200);
      }
    }
    .link-interview {
      width: minpx2vw(500, 1200);
      margin-left: auto;
      margin-right: auto;
      gap: minpx2vw(60, 1200);
      border-radius: minpx2vw(8, 1200);
      margin-bottom: minpx2vw(29, 1200);
      padding: minpx2vw(15, 1200);
      &::before {
        right: minpx2vw(14, 1200);
        width: minpx2vw(34, 1200);
      }
      .img {
        border-radius: minpx2vw(8, 1200);
        width: minpx2vw(142, 1200);
      }
      img {
        transition: scale 0.3s;
      }
      .label {
        font-size: minpx2vw(18, 1200);
      }
      .icon {
        position: absolute;
        top: 0;
        bottom: 0;
        right: minpx2vw(14, 1200);
        margin: auto;
        aspect-ratio: 1/1;
        background-color: #353C53;
        border-radius: 9999px;
        width: minpx2vw(34, 1200);
        height: minpx2vw(34, 1200);
        &::before {
          content: '';
          position: absolute;
          inset: 0;
          margin: auto;
          aspect-ratio: 10/13.5;
          width: minpx2vw(13.5, 1200);
          height: minpx2vw(10, 1200);
          background-image: url(../images/lp/organism/national_dual-linkbtn2-pc.svg);
          background-repeat: no-repeat;
          background-size: minpx2vw(27, 1200) auto;
          background-position: right center;
          transition: 0.3s;
        }
      }
      &:hover {
        opacity: 1;
        img {
          scale: 1.1;
        }
        .icon::before {
          background-position: left center;
        }
      }
    }

  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) , (min-width: 897px) and (max-width: 1100px) and (orientation: landscape) {
  main.national_dual {
  }
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  main.national_dual {
    .pc-only {
      display: none;
    }
    a, button, summary {
      &:hover {
        opacity: 1;
      }
    }
    margin-top: 14.4vw;
    .fixedlinks {
      bottom: px2vw(78, 375);
      right: px2vw(12, 375);
      width: px2vw(45, 375);
    }
  }
}
*/