
@charset "UTF-8";
/* CSS Document */
*,
::after,
::before {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  font-family: "GenJyuu Gothic";
  font-size: 2rem;
  color: #6a3906;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
ul {
  list-style: none;
}
a {
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
}
a:hover {
  opacity: 0.7;
  transition: 0.25s ease-in-out;
}
main {
  overflow: hidden;
}
.sp {
  display: none;
}
.sp2 {
  display: none;
}
.text-center {
  text-align: center;
}
.wrapper {
  max-width: 1008px;
  padding: 0 1%;
  margin: 0 auto;
}
.mb16 {
  margin-bottom: 16px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb28 {
  margin-bottom: 28px;
}
.mb32 {
  margin-bottom: 32px;
}
/* button */
.button {
  margin-bottom: 26px;
}
.lead {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  margin-bottom: 8px;
}
.lead-sub {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.flex {
  display: flex;
  gap: 30px;
  margin-bottom: 60px;
}
/*---- hero ----*/
.hero {
  position: relative;
}
.hero_title {
  padding: 0;
  margin-bottom: 44px;
}
.hero_title img {
  width: 100%;
}
.hero_text {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 136px;
}
.content {
  background-image: url(../images/bg_pc.png);
  background-size: cover;
  background-position: top;
  padding: 400px 0 80px;
}
.dog1 {
  position: absolute;
  bottom: -450px;
  left: 10%;
}
.dog2 {
  position: absolute;
  bottom: -450px;
  right: 10%;
}
/* dog1 fade Left */
.fadeLeft {
  animation-name: fadeAnimeLeft;
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeAnimeLeft {
  from {
    opacity: 0;
    transform: translateX(-500px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeTriggerLeft {
  opacity: 0;
}
/* dog2 fade Right */
.fadeRight {
  animation-name: fadeAnimeRight;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeAnimeRight {
  from {
    opacity: 0;
    transform: translateX(200px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeTriggerRight {
  opacity: 0;
}
.button-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto 50px;
}
.link-btn_content .button-list p {
  width: 100%;
  max-width: 312px;
  margin: 0 10px;
}
/*---- dog run ----*/
.dogrun {
  position: relative;
  display: block;
  width: 534px;
}
.dogrun::after {
  content: "";
  background-image: url(../images/dogrun-illust.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 500px;
  height: 500px;
  display: block;
  position: absolute;
  top: 50%;
  right: -80%;
  transform: translateY(-50%);
}
.dogrun h2 {
  margin-bottom: 28px;
}
.dogrun .text {
  font-weight: bold;
}
.dogrun .text span {
  display: block;
  color: #fff;
  margin-bottom: 16px;
}
.dogrun .text2 {
  position: relative;
  font-size: 1.4rem;
  padding-left: 50px;
  margin-bottom: 32px;
  font-weight: bold;
  left: 60px;
}
.dogrun .text2::before {
  content: "";
  background-image: url(../images/attention.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 60px;
  height: 60px;
  display: block;
  position: absolute;
  top: 5px;
  left: -20px;
}
/* slick */
.content .wrapper .slick-arrow {
  display: none;
}
/*---- map ----*/
.map,
.photospot,
.lunch-steps {
  border-bottom: 3px dashed #fff;
  padding-bottom: 28px;
  margin-bottom: 38px;
}
.map1 {
  margin-bottom: 18px;
}
.map_text_area {
  display: flex;
}
.map_text {
  font-weight: bold;
  width: 70%;
  margin-left: 20px;
  margin-bottom: 50px;
}
.map_text span {
  font-size: 1.4rem;
  display: block;
}
.map .milk {
  color: #fff;
  text-align: center;
  width: 30%;
}
.map .milk span {
  font-size: 1.4rem;
  display: block;
}
/*---- shopping ----*/

.shopping {
  margin-bottom: 30px;
}
.shopping_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 432px;
}
.shopping_inner::after {
  content: "";
  background-image: url(../images/shopping-illust.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 426px;
  height: 860px;
  display: block;
  position: absolute;
  top: 150px;
  right: -110%;
}
.shopping h2 {
  margin-bottom: 36px;
}
.shopping .text {
  font-weight: bold;
  margin-bottom: 16px;
}
.shopping_with-dog {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 4%;
  margin-bottom: 58px;
  background: #c9da87;
  padding: 14px 8%;
  border-radius: 20px;
}
.shopping .text2 {
  color: #426850;
  font-size: 1.8rem;
}
.shopping .text2 span {
  display: block;
  font-size: 1.4rem;
  margin-top: 20px;
}
.shopping .button {
  position: absolute;
  bottom: 80px;
  right: -110%;
  max-width: 465px;
  width: 90%;
}
.shoplist_text {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 900;
  margin-left: 1em;
  margin-bottom: 20px;
}
.shoplist_text span {
  font-size: 1.4rem;
  font-weight: bold;
}
.shoplist_box h4 {
  margin-bottom: 32px;
}
.shopping_shop_text {
  font-size: 1.4rem;
  text-align: right;
}
.shoplist_box_wrapper {
  display: flex;
  justify-content: space-between;
  background: url(../images/pet-paradise_bg.png) no-repeat center/cover;
  padding: 64px 24px 0 24px;
  margin-bottom: 8px;
}
.shoplist_box {
  width: calc((100% - 2%) / 2);
}
.shoplist_box_text {
  text-align: justify;
  margin-bottom: 28px;
}
.shoplist_box p {
  color: #231815;
}
.shopping-cart-topic {
  text-align: center;
}
.shopping-cart-topic p {
  color: #426850;
  font-size: 1.8rem;
  font-weight: bold;
}
.shopping-cart-topic img {
  display: block;
  max-width: 244px;
  margin: 0 auto;
}
.shopping-cart-topic .shopping-cart-text {
  font-size: 1.4rem;
  margin-bottom: 24px;
}
.shopping-cart {
  color: #426850;
  font-size: 1.8rem;
  text-align: left;
  border-collapse: collapse;
  margin-bottom: 10px;
}
.shopping-cart th {
  padding: 10px 0 8px 15px;
}
.shopping-cart td {
  padding: 10px 15px 8px 0;
  text-align: right;
  font-weight: bold;
}
.shopping-cart tr:first-child {
  background-color: #eef4db;
}
.shopping-cart tr:nth-child(2) {
  background-color: #dce7b2;
}
.shopping-cart tr:last-child {
  background-color: #c9da87;
}
.shopping-cart-info {
  color: #426850;
  font-size: 1.4rem;
  margin-bottom: 32px;
}
/*---- elevator ----*/
.elevator {
  border-top: 3px dashed #426850;
  border-bottom: 3px dashed #426850;
  font-size: 2rem;
  font-weight: bold;
  padding: 58px 0;
  margin-bottom: 70px;
  line-height: 1.3;
}
.elevator .lead {
  margin-bottom: 30px;
}
.elevator-info {
  color: #009a3b;
  font-size: 1.8rem;
}
.elevator-with-pet {
  display: flex;
  justify-content: space-between;
}
.elevator-toilet:first-of-type {
  width: 45%;
}
.elevator-toilet:last-of-type {
  width: 50%;
}
.elevator-toilet img {
  margin-bottom: 20px;
}
.elevator-toilet-title {
  font-size: 2.4rem;
}
.toilet_pet-flex {
  letter-spacing: 0.05em;
  display: flex;
  justify-content: space-between;
}
.elevator-toilet .petOK {
  max-width: 132px;
  min-height: initial;
}
.photospot .lead {
  margin-bottom: 32px;
}
/*---- photo spot ----*/
.photospot p {
  font-weight: bold;
}
.photospot-list {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 30px;
}
.photospot-item {
  width: calc((100% - 20px) / 2);
}
.photospot-item-img {
  margin-bottom: 24px;
}
.photospot-item img {
  width: 100%;
}
.photospot-item > p {
}
/*---- lunch ----*/
.lunch_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 466px;
  margin-bottom: 32px;
}
.lunch_inner::after {
  content: "";
  background-image: url(../images/lunch-illust.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 500px;
  height: 500px;
  display: block;
  position: absolute;
  top: 100px;
  right: -114%;
}
.lunch h2 {
  margin-bottom: 36px;
}
.lunch .text {
  font-weight: bold;
  margin-bottom: 30px;
}
.lunch_with-dog {
  display: flex;
  align-items: center;
  gap: 2%;
  max-width: 440px;
  margin: 0 auto 30px;
}
.lunch_with-dog-item {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 0.5fr;
  justify-items: center;
}
.lunch_with-dog-item01 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.lunch_with-dog-item02 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.lunch_with-dog-item03 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.lunch_with-dog-item04 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.lunch_with-dog-item05 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
  max-width: 230px;
}
.lunch_with-dog-item06 {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}
.lunch_terrace {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.lunch_terrace p {
  font-weight: bold;
}
.lunch_img {
  margin-bottom: 20px;
}
.lunch_terrace a {
  text-decoration: none;
  font-weight: bold;
  color: #6a3906;
  border-bottom: 1px solid #6a3906;
  padding-bottom: 3px;
}
.attention-icon {
  width: 24%;
}
.lunch .text2 {
  font-size: 1.4rem;
  font-weight: bold;
}
.lunch_shop_text {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 32px;
}
.lunch_shop_text2 {
  font-weight: bold;
  letter-spacing: -0.04em;
}
.lunch_shop_text2 span {
  font-size: 1.4rem;
}
.lunch_shop_text3 {
  font-size: 1.4rem;
}
small {
  font-size: 1.4rem;
  text-align: center;
  display: block;
}
.lunch-steps .sp {
  display: none;
}
.lunch-steps-bg {
  background-color: #c9da87;
  border-radius: 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3%;
  flex-wrap: wrap;
  padding: 30px 6% 26px 3%;
  margin-bottom: 22px;
}
.lunch-steps-item1 {
  width: 34%;
}
.lunch-steps-item1 img {
  width: 100%;
}
.lunch-steps-item2 {
  color: #426850;
  width: 540px;
}
.lunch-steps-text1 {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: justify;
  margin-bottom: 18px;
}
.lunch-steps-text2 {
  font-size: 1.4rem;
  text-align: justify;
}
/*---- rule ----*/
.rule {
  background-color: #fff;
  padding: 62px 2% 50px;
}
.rule .wrapper {
  padding: 0 10%;
}
.rule h2 {
  font-size: 3.6rem;
  margin-bottom: 38px;
}
.rule_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}
.rule_content ul li {
  margin-bottom: 18px;
  text-indent: -1em;
  padding-left: 1em;
}
.rule_content ul li:last-of-type {
  margin-bottom: 0;
}
.rule .milk {
  color: #d77247;
  text-align: center;
  margin-top: 16px;
}
.rule .milk span {
  font-size: 1.4rem;
  display: block;
}
/* PC small */
@media screen and (max-width: 1265px) {
  /*---- hero ----*/
  .dog1 {
    width: 80%;
    bottom: -450px;
    left: 0%;
  }
  .dog2 {
    width: 80%;
    bottom: -470px;
    right: -43%;
  }
}
/* PC tab */
@media screen and (max-width: 970px) {
  /*---- dog run ----*/
  .dogrun .text2 {
    padding: 0;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
  }
  .dogrun .text2::before {
    display: inline-block;
    top: 5px;
    left: -70px;
  }
  #dogrun .flex {
    margin-bottom: 0;
  }
  /*---- elevator ----*/
  .elevator {
    flex-direction: column;
    align-items: center;
    padding-bottom: 36px;
    margin-bottom: 38px;
    letter-spacing: -0.01em;
  }
  .elevator .elevator-with-pet p {
    width: 100%;
  }
  .elevator .elevator-with-pet p img {
    width: 100%;
  }
  /*---- photo spot ----*/
  .photospot {
    padding-bottom: 40px;
  }
  /*---- lunch ----*/
  .lunch_terrace {
    flex-direction: column;
    padding-bottom: 40px;
    margin-bottom: 0;
  }
  .lunch_terrace div:first-child {
    margin-bottom: 40px;
  }
  .lunch_img img {
    width: 100%;
  }
  .lunch_with-dog-item {
    width: 100%;
  }
  .lunch_with-dog-item:first-child {
    margin-bottom: 36px;
  }
  .lunch_with-dog-item img {
    width: 100%;
  }
  .lunch-steps .pc {
    display: none;
  }
  .lunch-steps .sp {
    display: block;
  }
  .lunch-steps-bg {
    color: #426850;
    padding: 24px 6% 20px;
  }
  .lunch-steps-item1 {
    width: 86%;
    margin: 0 auto;
  }
  .lunch-steps-text2 {
    margin-top: 14px;
  }
}
@media screen and (max-width: 940px) {
  /*---- hero ----*/
  .dog1 {
    width: 50%;
    bottom: -470px;
    left: -1%;
  }
  .dog2 {
    width: 35%;
    bottom: -490px;
    right: 0%;
  }
}
@media screen and (max-width: 875px) {
  .link-btn_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 700px;
    margin: 0 auto 30px;
  }

  .button-list {
    display: block;
    justify-content: space-between;
    align-items: center;
    max-width: 875px;
    margin: 0 auto 30px;
  }
  .link-btn_content .button-list p {
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px;
  }
  .link-btn_content {
    flex-direction: column;
    max-width: 80%;
  }
  .link-btn_content .button-list a {
    display: block;
  }
  .link-btn_content .button-list a img {
    width: 100%;
  }
  .link-btn_content .button-list {
    width: 100%;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .hero_title {
    padding: 20px 0 0;
    margin-bottom: 38px;
  }
  .content {
    background-image: url(../images/bg_sp.png);
    background-size: cover;
    padding: 300px 0 38px;
  }
  .dog1 {
    width: 50%;
    bottom: -400px;
    left: 1%;
  }
  .dog2 {
    width: 33%;
    bottom: -400px;
    right: 1%;
  }
  .link-btn_content .button {
    width: 100%;
    text-align: center;
  }
  .dogrun::after,
  .dogrun::after,
  .shopping_inner::after,
  .lunch_inner::after {
    content: none;
  }
  /*---- hero ----*/
  .hero {
    padding: 0 2%;
  }
  .hero_text {
    font-size: 1.9rem;
  }
  /*---- dogrun ----*/
  .dogrun {
    width: 100%;
    margin-bottom: 0;
  }
  .dogrun .text2::before {
    width: 50px;
    height: 50px;
    left: -55px;
  }
  /*---- map ----*/
  .map,
  .shopping {
    padding-bottom: 0;
  }
  .map_text_area {
    flex-direction: column;
  }
  .map_text {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
    padding: 0 5%;
  }
  .map .milk {
    width: 200px;
    margin-top: 200px;
    margin-left: 50%;
    margin-bottom: 56px;
    position: relative;
  }
  .map .milk::before {
    content: "";
    background-image: url(../images/map_milk1-sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 280px;
    height: 280px;
    display: block;
    position: absolute;
    top: -170px;
    left: -210px;
  }
  .map .milk::after {
    content: "";
    background-image: url(../images/map_milk2-sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 200px;
    height: 200px;
    display: block;
    position: absolute;
    top: -220px;
    right: 0;
  }
  .map > .sp {
    text-align: center;
  }
  /*---- shopping ----*/
  .shopping_inner {
    width: 100%;
    margin-bottom: 28px;
  }
  .shopping_with-dog {
    justify-content: center;
    gap: 2%;
    padding: 14px 2%;
  }
  .shopping_shop_text {
    text-align: left;
    margin-bottom: 18px;
  }
  .shoplist_text {
    text-align: center;
    margin-left: 0;
  }
  .shoplist_text span {
    display: block;
    font-size: 1.3rem;
  }
  .shoplist_box_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: url(../images/pet-paradise_bg.png) no-repeat center/cover;
    padding: 64px 24px 24px;
    margin-bottom: 8px;
  }
  .shoplist_box_text {
    text-align: justify;
    margin-bottom: 28px;
  }
  .shoplist_bg h3 {
    left: 50%;
    transform: translateX(-50%);
  }
  .shoplist_bg .sp {
    margin: 0 auto;
  }
  .shoplist_box {
    width: 100%;
  }
  .shoplist_box .button {
    text-align: center;
  }
  .shoplist_box img {
    width: 100%;
  }
  .elevator-with-pet {
    flex-direction: column;
    gap: 54px;
  }
  .elevator-toilet:first-of-type,
  .elevator-toilet:last-of-type {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    max-width: 466px;
    margin: 0 auto;
  }
  .toilet_pet-flex {
    flex-direction: column;
  }
  .elevator-info {
    margin-bottom: 26px;
  }
  .petOK {
    margin: 0 auto 20px;
  }
  /*---- photo spot ----*/
  .photospot-list {
    flex-direction: column;
  }
  .photospot-item {
    width: 100%;
  }
  /*---- lunch ----*/
  .lunch_inner {
    width: 100%;
  }
  .lunch .button {
    margin-bottom: 28px;
  }
  .lunch_inner > .lunch_with-dog {
    display: flex;
    gap: 2%;
    justify-content: center;
    margin-bottom: 0;
  }
  .lunch .text {
    font-size: 1.8rem;
    margin-bottom: 24px;
  }
  .lunch .text2 {
    font-size: 1.2rem;
  }
  .lunch > .lunch_with-dog {
    flex-direction: column;
  }
  .lunch_shop_text {
    margin-bottom: 18px;
  }
  .lunch .lunch_with-dog .sp {
    display: inline-block;
  }
  .lunch p>small {
    text-align: left;
  }
  .lunch_with-dog-item {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 0.5fr 1fr 0.5fr;
    margin-bottom: 46px;
  }
  .lunch_with-dog-item01 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .lunch_with-dog-item02 {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    margin-bottom: 30px;
  }
  .lunch_with-dog-item03 {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }
  .lunch_with-dog-item04 {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }
  .lunch_with-dog-item05 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .lunch_with-dog-item06 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
  .lunch_shop_text2 {
    letter-spacing: -0.01em;
  }
  /*---- rule ----*/
  .rule {
    padding: 38px 2%;
  }
  .rule .wrapper {
    padding: 0 1%;
  }

  .rule h2 {
    font-size: 2rem;
    text-align: center;
  }
  .rule_content {
    flex-direction: column;
  }
  .rule_content ul li {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 540px) {
  .sp2 {
    display: block;
  }
  /*---- dog run ----*/
  .dogrun .lead,
  .lunch .lead {
    letter-spacing: -0.06em;
  }
  .lead-sub {
    letter-spacing: -0.03em;
  }
  .dogrun .text2 {
    font-size: 1.3rem;
    left: 58%;
  }
  /*---- shopping ----*/
  .shopping-cart {
    font-size: 1.6rem;
  }
  .shopping-cart th {
    padding-left: 6px;
  }
  .shopping-cart td {
    padding-right: 6px;
  }
  .map_text {
    margin-bottom: 40px;
  }
  /*---- photo spot ----*/
  .photospot > p.mb32 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 390px) {
  .dog1 {
    width: 64%;
    bottom: -250px;
    left: -5%;
  }
  .dog2 {
    width: 45%;
    bottom: -267px;
    right: -4%;
  }
  .content {
    padding: 180px 0 38px;
  }
  .map .milk {
    width: 200px;
    margin-top: 160px;
    margin-left: auto;
    margin-bottom: 56px;
    position: relative;
  }
}
.map2 {
  margin-bottom: 20px;
}
.youtube {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 50px;
  padding: 10px;
}
.youtube169 {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-width: 800px;
  display: block;
  margin: auto;
}




