@charset "UTF-8";

/* reset */
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
}

/* 
| Figma 表記                          | CSS `font-weight` |
| --------------------------------- | ----------------- |
| Thin                              | **100**           |
| Extra Light / Ultra Light         | **200**           |
| Light                             | **300**           |
| Regular / Normal / Book           | **400**           |
| Medium                            | **500**           |
| Semi Bold / Demi Bold             | **600**           |
| Bold                              | **700**           |
| Extra Bold / Heavy / Ultra Bold   | **800**           |
| Black / Extra Black / Ultra Black | **900**           | */



@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');




#pet_hotel .pc {
  display: block;
}

#pet_hotel .sp {
  display: none;
}

#pet_hotel a {
  text-decoration: none;
  transition: all 0.2s ease;
}

#pet_hotel a:hover {
  opacity: 0.8;
  cursor: pointer;
}

#pet_hotel *,
#pet_hotel *::before,
#pet_hotel *::after {
  box-sizing: border-box;
  color: #6A5843;
}

body#pet_hotel {
  background: #fff;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  color: #6A5843;
  font-size: 16px;
}

#pet_hotel .no-scroll {
  overflow: hidden;
}

#pet_hotel main {
  overflow: hidden;
}

#pet_hotel section {
  position: relative;
}

#pet_hotel img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

#pet_hotel .container {
  max-width: 1016px;
  margin: auto;
  width: 100%;
  height: 100%;
  position: relative;
}

#pet_hotel .fade_in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .5s ease-out, transform .5s ease-out;
}

#pet_hotel .fade_in.show {
  opacity: 1;
  transform: translateY(0);
}

#pet_hotel .sec_title {
  font-size: 36px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  line-height: 110%;
  margin-bottom: 32px;
  position: relative;
  width: fit-content;
  text-wrap: nowrap;
}

#pet_hotel .sec_title_sub {
  font-size: 24px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  line-height: 110%;
  color: #F39487;
  position: relative;
  width: fit-content;
  text-align: center;
  margin: 0 auto 9px;
}

#pet_hotel .under_line1 {
  position: relative;
  z-index: 2;
}

#pet_hotel .under_line1::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 21px;
  background: #FDD9CB;
  z-index: -1;
}

#pet_hotel .color1 {
  color: #F39487;
  font-weight: bold;
}

#pet_hotel .js_scroll .scroll-hint-text {
  color: #fff;
}

@media (max-width: 1080px) {
  #pet_hotel .container {
    width: 95vw;
  }
}

@media (max-width: 768px) {
  #pet_hotel .pc {
    display: none;
  }

  #pet_hotel .sp {
    display: block;
  }

  #pet_hotel .container {
    width: 95vw;
    max-width: 345px;
  }

  #pet_hotel .sec_title_sub {
    font-size: 18px;
  }

  #pet_hotel .sec_title {
    font-size: 24px;
    margin-bottom: 24px;
    line-height: 130%;
  }
}

/*============================================================
header
============================================================*/
#pet_hotel header {
  background: #fff;
  font-weight: bold;
}

#pet_hotel .header_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 32px;
}

#pet_hotel .header_logo {
  display: flex;
  align-items: center;
  gap: 15px;
  line-height: 140%;
  font-size: calc(16 / 1440 * 100vw);
}

#pet_hotel .header_logo1 {
  width: 48px;
}

#pet_hotel .header_buttons {
  display: flex;
  align-items: center;
  gap: calc(24 / 1440 * 100vw);
}

#pet_hotel .header_buttons.sp {
  display: none;
}

#pet_hotel .header_buttons a {
  font-size: calc(16 / 1440 * 100vw);
  width: calc(160 / 1440 * 100vw);
  height: 54px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#pet_hotel .header_button_tel {
  background: #FBF8F2;
  flex-direction: column;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: 0.05em;
}

#pet_hotel .header_button_tel_top {
  display: flex;
  align-items: center;
  gap: 10px;
}

#pet_hotel .header_button_tel_top img {
  width: 16px;
}

#pet_hotel .header_button_tel_bottom {
  font-size: calc(10 / 1440 * 100vw);
  line-height: 140%;
  letter-spacing: 0.05em;
}

#pet_hotel .header_button_tel_bottom span {
  font-size: 12px;
}

#pet_hotel .header_button_contact {
  background: #FFA600;
  color: #fff;
}

#pet_hotel .header_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(28 / 1440 * 100vw);
  list-style: none;
  padding: 12px 0px;
  position: relative;
}

#pet_hotel .header_nav li {
  position: relative;
  font-size: calc(15 / 1440 * 100vw);
  line-height: 140%;
}

#pet_hotel .header_nav li a img {
  width: 16px;
}

#pet_hotel .header_nav::before {
  position: absolute;
  content: '';
  width: 1px;
  height: 62px;
  background: #D9D9D9;
  top: 50%;
  transform: translateY(-50%);
  right: calc(-20 / 1440 * 100vw);
}

#pet_hotel .header_nav::after {
  position: absolute;
  content: '';
  width: 1px;
  height: 62px;
  background: #D9D9D9;
  top: 50%;
  transform: translateY(-50%);
  left: calc(-20 / 1440 * 100vw);
}

@media (max-width: 768px) {
  #pet_hotel header {
    height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #pet_hotel .header_top {
    padding: 18px 12px;
  }

  #pet_hotel header nav.pc {
    display: none;
  }

  #pet_hotel .header_logo {
    font-size: 14px;
  }

  #pet_hotel .header_logo1 {
    width: 36px;
  }

  #pet_hotel .header_logo2 {
    width: 160px;
  }

  #pet_hotel .header_buttons.pc {
    display: none;
  }

  #pet_hotel .header_nav_sp {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-right: 24px;
    position: relative;
    z-index: 20;
  }

  #pet_hotel .header_nav_sp>div {
    height: 2px;
    width: 32px;
    background: #000;
    transition: transform 0.3s ease;
  }

  #pet_hotel .no-scroll .header_nav_sp>div:nth-child(1) {
    transform: rotate(45deg) translateY(10px) translateX(4px);
    transform-origin: center;
  }

  #pet_hotel .no-scroll .header_nav_sp>div:nth-child(2) {
    transform: scale(0);
    transform-origin: center;
    transition: transform 0.3s ease;
  }

  #pet_hotel .no-scroll .header_nav_sp>div:nth-child(3) {
    transform: rotate(-45deg) translateY(-10px) translateX(4px);
    transform-origin: center;
  }

  #pet_hotel .header_menu_container {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100vw;
    max-width: 430px;
    height: 100vh;
    background: #fff;
    transition: right 0.3s ease;
    z-index: 10;
    padding: 40px;
    padding-top: 100px;
    font-size: 16px;
  }

  #pet_hotel .header_menu_container.is-open {
    right: 0;
  }

  #pet_hotel .header_menu_container .header_menu {
    flex-direction: column;
    display: flex;
    gap: 18px;
    list-style: none;
  }

  #pet_hotel .header_menu_container .header_menu li {
    position: relative;
  }

  #pet_hotel .header_menu_container .header_menu li::after {
    content: '';
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #D9D9D9;
  }

  #pet_hotel .header_menu_container .header_menu a {
    font-size: 20px;
    width: 100%;
    display: block;
  }

  #pet_hotel .header_buttons.sp {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 12px 15px;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 5;
    justify-content: space-between;
    gap: 16px;
  }

  #pet_hotel .header_buttons.sp a {
    font-size: 16px;
    width: calc(50% - 8px);
    margin-top: 0;
  }

  #pet_hotel .header_button_tel_bottom {
    font-size: 10px;
  }

  #pet_hotel .header_menu_container li a img{
    width: 14px;
    margin-right: 4px;
  }

  body#pet_hotel {
    padding-bottom: 80px;
  }
}

/*============================================================
fv
============================================================*/
#pet_hotel #fv {
  height: calc(640 / 1440 * 100vw);
  background: url('/wp-content/uploads/2026/02/fv.png') no-repeat center center / cover;
}

#pet_hotel #fv h1 {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: calc(40 / 1440 * 100vw);
  line-height: 110%;
  letter-spacing: 0.1em;
  font-weight: bold;
  writing-mode: vertical-rl;
  position: absolute;
  top: 10%;
  right: 5%;
  text-wrap: nowrap;
  z-index: 2;
}

#pet_hotel #fv h1 .fv_span1,
#pet_hotel #fv h1 .fv_span2 {
  display: block;
  background: #fff;
  border: solid 2px #FDD9CB;
  height: fit-content;
  position: relative;
  padding: 20px 3px 20px;
}

#pet_hotel #fv h1 .fv_span1::before,
#pet_hotel #fv h1 .fv_span2::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  background: #FDD9CB;
  z-index: -1;
}

#pet_hotel #fv h1 .fv_span2 {
  margin-top: 17px;
  margin-right: 19px;
}

@media (max-width: 768px) {
  #pet_hotel #fv {
    background: url('/wp-content/uploads/2026/02/fv_sp.png') no-repeat center center / cover;
    height: 100vw;
  }

  #pet_hotel #fv h1 {
    font-size: 24px;
  }

  #pet_hotel #fv h1 .fv_span2 {
    margin-top: 12px;
    margin-right: 10px;
  }
}

/*============================================================
page_bottom
============================================================*/

#pet_hotel #page_button {
  background: #FDD9CB;
  padding: 40px 0;
}

#pet_hotel #page_button .page_button_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

#pet_hotel #page_button .page_button_box a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 8px;
  gap: 12px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  width: 236px;
  height: 76px;
}

#pet_hotel #page_button .page_button_box a img {
  width: 32px;
}

@media (max-width: 768px) {
  #pet_hotel #page_button {
    padding: 32px 0;
  }

  #pet_hotel #page_button .page_button_box {
    flex-wrap: wrap;
  }

  #pet_hotel #page_button .page_button_box a {
    width: calc(50% - 6px);
    font-size: 16px;
    height: 48px;
  }

  #pet_hotel #page_button .page_button_box a img {
    width: 16px;
  }
}


/*============================================================
pet_hotel_top
============================================================*/
#pet_hotel #pet_hotel_top {
  padding: 66px 0 0px;
  background: #FCF8F2;
}

#pet_hotel #pet_hotel_top .nikukyu1 {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 370px;
}

#pet_hotel #pet_hotel_top .pet_hotel_top_box {
  display: flex;
  flex-direction: column;
  gap: 0px;
}

#pet_hotel #pet_hotel_top .kyotyo1 {
  position: absolute;
  top: -32px;
  right: -49px;
  width: 48.68px;
}

#pet_hotel #pet_hotel_top .kyotyo1-2 {
  position: absolute;
  top: -38px;
  left: -48px;
  width: 48.68px;
  transform: scaleX(-1);
}

#pet_hotel #pet_hotel_top .pet_hotel_top_title {
  margin-top: 50px;
}

#pet_hotel #pet_hotel_top .pet_hotel_top_text {
  font-size: 20px;
  line-height: 36px;
}

#pet_hotel #pet_hotel_top .pet_hotel_top_box_item {
  display: flex;
  justify-content: start;
  align-items: flex-start;
  gap: 39px;
}

#pet_hotel #pet_hotel_top .pet_hotel_top_box_item:nth-child(2) {
  flex-direction: row-reverse;
  gap: 56px;
  position: relative;
  margin-bottom: -55px;
}

#pet_hotel #pet_hotel_top .fukidashi1 {
  position: absolute;
  top: -99px;
  right: -47px;
  width: 114px;
}

#pet_hotel #pet_hotel_top .pet_hotel_top_img1 {
  max-width: 476px;
  width: calc(476 / 1440 * 100vw);
}

#pet_hotel #pet_hotel_top .pet_hotel_top_img2 {
  max-width: 480px;
  width: calc(480 / 1440 * 100vw);
  transform: translateY(-117px);
}

@media (max-width: 1280px) {

  #pet_hotel #pet_hotel_top .pet_hotel_top_box_item,
  #pet_hotel #pet_hotel_top .pet_hotel_top_box_item:nth-child(2) {
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_img2 {
    transform: translateY(0);
  }

  #pet_hotel #pet_hotel_top {
    padding: 66px 0 66px;
  }
}

@media (max-width: 768px) {
  #pet_hotel #pet_hotel_top {
    padding: 48px 0;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_title {
    margin-top: 0;
  }


  #pet_hotel #pet_hotel_top .kyotyo1 {
    position: absolute;
    top: -23px;
    right: -32px;
    width: 26px;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_text {
    font-size: 16px;
    line-height: 28px;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_box_item,
  #pet_hotel #pet_hotel_top .pet_hotel_top_box_item:nth-child(2) {
    gap: 12px;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_box {
    gap: 24px;
  }

  #pet_hotel #pet_hotel_top .kyotyo1-2 {
    position: absolute;
    top: -33px;
    left: -13px;
    width: 26px;
    transform: scaleX(-1);
  }

  #pet_hotel #pet_hotel_top .fukidashi1 {
    position: absolute;
    top: -46px;
    right: -61px;
    width: 70px;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_img1 {
    width: 75%;
  }

  #pet_hotel #pet_hotel_top .pet_hotel_top_img2 {
    width: 75%;
  }

  #pet_hotel #pet_hotel_top .nikukyu1 {
    width: 50%;
  }
}

/*============================================================
commitment
============================================================*/
#pet_hotel #commitment {
  padding: 95px 0 95px;
}

#pet_hotel #commitment .sec_title_sub {
  text-align: center;
}

#pet_hotel #commitment .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

#pet_hotel #commitment .good_img {
  width: 152.55px;
  position: absolute;
  top: -87px;
  right: -77px;
}

#pet_hotel #commitment .commitment_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 95px;
}

#pet_hotel #commitment .commitment_box_item {
  flex: 1;
  background: #FCF8F2;
  border-radius: 8px;
  padding: 24px 24px;
  height: 386px;
}

#pet_hotel #commitment .commitment_img {
  width: 109%;
  margin-bottom: -35px;
  margin-top: -90px;
}

#pet_hotel #commitment .commitment_title_wrapper {
  position: relative;
  z-index: 1;
  margin-bottom: 22px;
}

#pet_hotel #commitment .commitment_title {
  font-size: 24px;
  font-family: 'Zen Maru Gothic', sans-serif;
  line-height: 110%;
  font-weight: bold;
  background: #fff;
  border: solid 2px #FDD9CB;
  position: relative;
  text-align: center;
  width: 100%;
  padding: 12px;
}

#pet_hotel #commitment .commitment_title::after {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  background: #FDD9CB;
  z-index: -1;
}

#pet_hotel #commitment .commitment_text {
  font-size: 16px;
  line-height: 28px;
}

@media (max-width: 768px) {
  #pet_hotel #commitment {
    padding: 48px 0;
  }

  #pet_hotel #commitment .commitment_box {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
  }

  #pet_hotel #commitment .commitment_box_item {
    height: auto;
    padding: 20px;
  }

  #pet_hotel #commitment .commitment_img {
    width: 100%;
    margin-top: -40px;
  }

  #pet_hotel #commitment .commitment_title {
    font-size: 20px;
    padding: 10px;
  }

  #pet_hotel #commitment .commitment_text {
    font-size: 14px;
    line-height: 24px;
  }

  #pet_hotel #commitment .good_img {
    width: 80px;
    top: -54px;
    right: -20px;
  }
}

/*============================================================
plan
============================================================*/
#pet_hotel #plan {
  padding: 95px 0 115px;
  background: #FCF8F2;
}

#pet_hotel #plan .sec_title_sub {
  text-align: center;
}

#pet_hotel #plan .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#pet_hotel #plan .kira1 {
  width: 50.8px;
  position: absolute;
  top: -20px;
  right: -73px;
}

#pet_hotel #plan .plan_text1 {
  font-size: 18px;
  line-height: 36px;
  text-align: center;
}

#pet_hotel #plan .plan_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 56px;
  border: 1px solid #F9EDE4;
  font-size: 16px;
  line-height: 28px;
  font-weight: bold;
}

#pet_hotel #plan .plan_table th {
  background: #F39487;
  color: #fff;
  padding: 15.5px 0;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #F9EDE4;
}

#pet_hotel #plan .plan_table td {
  padding: 15.5px 0;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #F9EDE4;
  background: #fff;
}

#pet_hotel #plan .plan_box {
  display: flex;
  flex-direction: column;
  gap: 48px;
  margin-top: 68px;
}

#pet_hotel #plan .plan_item {
  display: flex;
  gap: 41px;
  font-weight: bold;
  padding-bottom: 45px;
  border-bottom: 2px solid #F9EDE4;
}

#pet_hotel #plan .plan_item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

#pet_hotel #plan .plan_item_left {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 340px;
}

#pet_hotel #plan .plan_imgs {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

#pet_hotel #plan .plan_img_large {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

#pet_hotel #plan .plan_imgs_small {
  display: flex;
  gap: 18px;
}

#pet_hotel #plan .plan_img_small {
  width: calc(50% - 9px);
  height: auto;
  border-radius: 8px;
}

#pet_hotel #plan .plan_reserve_btn {
  background: #FFA600;
  color: #fff;
  padding: 24px 0px;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  width: 100%;
  box-shadow: 4px 4px 0 #BA882C;
  transition: all 0.2s ease;
}

#pet_hotel #plan .plan_reserve_btn:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #plan .plan_reserve_btn_inactive {
  background: #C0C0C0;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}

#pet_hotel #plan .plan_item_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 31px;
}

#pet_hotel #plan .plan_title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-left: 8px solid #F39487;
  padding: 10px 0 10px 23px;
}

#pet_hotel #plan .plan_title_main {
  font-size: 28px;
  font-family: 'Zen Maru Gothic', sans-serif;
  line-height: 110%;
}

#pet_hotel #plan .plan_title_sub {
  font-size: 18px;
  line-height: 28px;
}

#pet_hotel #plan .plan_info {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

#pet_hotel #plan .plan_info_item {
  flex: 1;
  display: flex;
  gap: 16px;
  align-items: center;
}

#pet_hotel #plan .plan_info_title {
  font-size: 15px;
  width: 130px;
  height: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F39487;
  color: #fff;
  border-radius: 8px;
  flex-shrink: 0;
}

#pet_hotel #plan .plan_info_content {
  font-size: 16px;
  flex: 1;
}

#pet_hotel #plan .plan_info_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#pet_hotel #plan .plan_info_list li {
  position: relative;
  padding-left: 20px;
}

#pet_hotel #plan .plan_info_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #FDD9CB;
  border-radius: 50%;
}

#pet_hotel #plan .plan_info_price {
  display: flex;
  align-items: baseline;
  gap: 0px;
}

#pet_hotel #plan .plan_price_yen {
  font-size: 28px;
}

#pet_hotel #plan .plan_price_number {
  font-size: 40px;
}

#pet_hotel #plan .plan_recommend {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #fff;
  padding: 18px;
  border-radius: 8px;
}

#pet_hotel #plan .plan_recommend_title {
  font-size: 15px;
  color: #F39487;
}

#pet_hotel #plan .plan_recommend_text {}

@media (max-width: 768px) {
  #pet_hotel #plan {
    padding: 48px 0;
  }

  #pet_hotel #plan .plan_text1 {
    font-size: 14px;
    line-height: 24px;
    text-align: left;
  }

  #pet_hotel #plan .plan_table_wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 32px;
  }

  #pet_hotel #plan .plan_table {
    font-size: 12px;
    width: 150%;
    min-width: 600px;
    margin-top: 0;
  }

  #pet_hotel #plan .plan_table th,
  #pet_hotel #plan .plan_table td {
    padding: 10px 4px;
  }

  #pet_hotel #plan .plan_box {
    gap: 32px;
    margin-top: 32px;
  }

  #pet_hotel #plan .plan_item {
    flex-direction: column-reverse;
    gap: 24px;
    padding-bottom: 32px;
  }

  #pet_hotel #plan .plan_imgs {
    gap: 12px;
  }

  #pet_hotel #plan .plan_imgs_small {
    gap: 12px;
  }

  #pet_hotel #plan .plan_img_small {
    width: calc(50% - 6px);
  }

  #pet_hotel #plan .plan_item_left {
    width: 100%;
  }

  #pet_hotel #plan .plan_title_main {
    font-size: 22px;
  }

  #pet_hotel #plan .plan_title_sub {
    font-size: 14px;
    line-height: 24px;
  }

  #pet_hotel #plan .plan_info_title {
    font-size: 13px;
    width: 100px;
    min-height: 40px;
  }

  #pet_hotel #plan .plan_info_list li {
    padding-left: 16px;
  }

  #pet_hotel #plan .plan_info_list li::before {
    width: 8px;
    height: 8px;
    top: 55%;
  }

  #pet_hotel #plan .plan_info_content {
    font-size: 14px;
  }

  #pet_hotel #plan .plan_price_number {
    font-size: 32px;
  }

  #pet_hotel #plan .plan_price_yen {
    font-size: 24px;
  }

  #pet_hotel #plan .plan_reserve_btn {
    font-size: 16px;
    padding: 20px 0;
  }

  #pet_hotel #plan .plan_recommend_title {
    font-size: 13px;
  }

  #pet_hotel #plan .plan_recommend_text {
    font-size: 14px;
  }

  #pet_hotel #plan .kira1 {
    width: 30px;
    top: -15px;
    right: -37px;
  }
}

/*============================================================
flow
============================================================*/
#pet_hotel #flow {
  padding: 58px 0 95px;
}

#pet_hotel #flow .sec_title_sub {
  text-align: center;
}

#pet_hotel #flow .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#pet_hotel #flow .kyotyo2 {
  width: 36px;
  position: absolute;
  top: -33px;
  left: -66px;
}

#pet_hotel #flow .kyotyo2-2 {
  width: 31.67px;
  position: absolute;
  top: 9px;
  right: -78px;
  transform: scaleX(-1);
}

#pet_hotel #flow .flow_box {
  display: flex;
  flex-direction: column;
  gap: 43px;
  margin-top: 52px;
}

#pet_hotel #flow .flow_item {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #FCF8F2;
  border-radius: 8px;
  padding: 32px 32px;
  position: relative;
}

#pet_hotel #flow .flow_item:not(.flow_item_tel) {
  gap: 30px;
}

#pet_hotel #flow .flow_item:not(:last-child)::after {
  content: '';
  position: absolute;
  bottom: -36px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 24px solid #FDD9CB;
  border-radius: 2px;
}

#pet_hotel #flow .flow_item_top {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

#pet_hotel #flow .flow_icon {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

#pet_hotel #flow .flow_title {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#pet_hotel #flow .flow_title_main {
  font-size: 16px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  color: #F39487;
  line-height: 110%;
}

#pet_hotel #flow .flow_title_text {
  font-size: 20px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  line-height: 110%;
}

#pet_hotel #flow .flow_title_desc {
  font-size: 16px;
}

#pet_hotel #flow .flow_item_bottom {
  margin-left: 104px;
}

#pet_hotel #flow .flow_item:not(.flow_item_tel) .flow_item_bottom {
  background: #fff;
  padding: 16px 20px;
}

#pet_hotel #flow .flow_tel {
  font-size: 20px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  line-height: 110%;
}

#pet_hotel #flow .flow_bring_title {
  font-size: 16px;
  font-weight: bold;
  color: #F39487;
  margin-bottom: 7px;
}

#pet_hotel #flow .flow_bring_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#pet_hotel #flow .flow_bring_list li {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
}

#pet_hotel #flow .flow_bring_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #FDD9CB;
  border-radius: 50%;
}

#pet_hotel #flow .flow_bring_list li b {
  font-weight: bold;
}

#pet_hotel #flow .flow_schedule {
  display: flex;
  gap: 12px;
  flex-direction: column;
  margin-bottom: 16px;
}

#pet_hotel #flow .flow_schedule_item {
  flex: 1;
  display: flex;
  gap: 16px;
  align-items: center;
}

#pet_hotel #flow .flow_schedule_title {
  font-size: 15px;
  width: 77px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F39487;
  color: #fff;
  border-radius: 8px;
  flex-shrink: 0;
}

#pet_hotel #flow .flow_schedule_content {
  font-size: 16px;
  flex: 1;
  font-weight: bold;
}

#pet_hotel #flow .flow_note {
  font-size: 14px;
}

#pet_hotel #flow .flow_note_box {
  margin-top: 96px;
  border: 4px solid #FDD9CB;
  border-radius: 16px;
  padding: 49px 49px 30px;
}

#pet_hotel #flow .flow_note_title {
  font-size: 32px;
  line-height: 110%;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  margin-bottom: 44px;
  text-align: center;
}

#pet_hotel #flow .flow_note_text {
  font-size: 16px;
  line-height: 160%;
  list-style-type: disc;
  padding-left: 35px;
  margin: 0;
}

#pet_hotel #flow .flow_note_text li {
  margin-bottom: 27px;
}

#pet_hotel #flow .flow_note_text li:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  #pet_hotel #flow {
    padding: 48px 0;
  }

  #pet_hotel #flow .flow_box {
    gap: 32px;
    margin-top: 32px;
  }

  #pet_hotel #flow .flow_item {
    padding: 24px 20px;
    gap: 16px;
  }

  #pet_hotel #flow .flow_icon {
    width: 60px;
    height: 60px;
  }

  #pet_hotel #flow .flow_title_main {
    font-size: 14px;
  }

  #pet_hotel #flow .flow_title_text {
    font-size: 16px;
  }

  #pet_hotel #flow .flow_title_desc {
    font-size: 14px;
  }

  #pet_hotel #flow .flow_item_bottom {
    margin-left: 0px;
  }

  #pet_hotel #flow .flow_item:not(:last-child)::after {
    bottom: -24px;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 16px solid #FDD9CB;
  }

  #pet_hotel #flow .flow_tel {
    font-size: 18px;
    margin-left: 85px;
  }

  #pet_hotel #flow .flow_bring_title {
    font-size: 14px;
  }

  #pet_hotel #flow .flow_bring_list li {
    font-size: 14px;
  }

  #pet_hotel #flow .flow_schedule_title {
    font-size: 13px;
    width: 60px;
    height: 40px;
  }

  #pet_hotel #flow .flow_schedule_content {
    font-size: 14px;
  }

  #pet_hotel #flow .flow_note {
    font-size: 12px;
  }

  #pet_hotel #flow .flow_note_box {
    margin-top: 48px;
    padding: 32px 20px 24px;
  }

  #pet_hotel #flow .flow_note_title {
    font-size: 24px;
    margin-bottom: 24px;
  }

  #pet_hotel #flow .flow_note_text {
    font-size: 14px;
    padding-left: 20px;
  }

  #pet_hotel #flow .flow_note_text li {
    margin-bottom: 16px;
  }

  #pet_hotel #flow .kyotyo2,
  #pet_hotel #flow .kyotyo2-2 {
    width: 20px;
  }

  #pet_hotel #flow .kyotyo2 {
    top: -20px;
    left: -30px;
  }

  #pet_hotel #flow .kyotyo2-2 {
    top: 5px;
    right: -40px;
  }
}

/*============================================================
stay
============================================================*/
#pet_hotel #stay {
  padding: 65px 0 130px;
  background: #FCF8F2;
}

#pet_hotel #stay .nikukyu1-2 {
  position: absolute;
  top: 330px;
  right: 0px;
  transform: scaleX(-1);
  width: 370px;
}

#pet_hotel #stay .stay_top_box {
  display: flex;
  justify-content: start;
  align-items: flex-start;
  gap: 19px;
}

#pet_hotel #stay .stay_top_title {
  margin-top: 50px;
}

#pet_hotel #stay .stay_top_title .sec_title {
  line-height: 130%;
}

#pet_hotel #stay .stay_top_text {
  font-size: 18px;
  line-height: 36px;
  text-wrap: nowrap;
  margin-bottom: 31px;
}

#pet_hotel #stay .stay_top_text_sub {
  font-size: 28px;
  line-height: 150%;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #stay .fukidashi2 {
  position: absolute;
  top: -36px;
  right: -138px;
  width: 114px;
}

#pet_hotel #stay .kyotyo1-3 {
  position: absolute;
  top: -34px;
  right: 62px;
  width: 48.68px;
  transform: scaleX(1);
}

#pet_hotel #stay .stay_top_img {
  width: 476px;
}

#pet_hotel #stay .stay_middle_box {
  display: flex;
  gap: 39px;
  align-items: flex-start;
  margin-top: 60px;
  background: #fff;
  padding: 52px 49px;
  border-radius: 16px;
}

#pet_hotel #stay .stay_middle_img {
  width: 320px;
  flex-shrink: 0;
}

#pet_hotel #stay .stay_middle_content {
  flex: 1;
}

#pet_hotel #stay .stay_middle_title {
  font-size: 20px;
  font-weight: bold;
  line-height: 28px;
  margin-bottom: 23px;
}

#pet_hotel #stay .stay_middle_text {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 82px;
}

#pet_hotel #stay .stay_middle_btn {
  background: #FFA600;
  color: #fff;
  padding: 24px 0;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  width: fit-content;
  box-shadow: 4px 4px 0 #BA882C;
  transition: all 0.2s ease;
  width: 340px;
}

#pet_hotel #stay .stay_middle_btn:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #stay .stay_table_wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 56px;
}

#pet_hotel #stay .stay_bottom_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0;
  border: 1px solid #F9EDE4;
  font-size: 18px;
  line-height: 28px;
  font-weight: bold;
}

#pet_hotel #stay .stay_bottom_table th {
  background: #F39487;
  color: #fff;
  padding: 15.5px 0;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #F9EDE4;
}

#pet_hotel #stay .stay_bottom_table td {
  padding: 15.5px 0;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #F9EDE4;
  background: #fff;
}

@media (max-width: 768px) {
  #pet_hotel #stay {
    padding: 48px 0;
  }

  #pet_hotel #stay .stay_top_box {
    flex-direction: column;
    gap: 24px;
  }

  #pet_hotel #stay .stay_top_title {
    margin-top: 0;
  }

  #pet_hotel #stay .stay_top_text {
    font-size: 14px;
    line-height: 24px;
    text-wrap: wrap;
  }

  #pet_hotel #stay .stay_top_text_sub {
    font-size: 20px;
    line-height: 140%;
  }

  #pet_hotel #stay .stay_top_img {
    width: 75%;
    margin: auto;
  }

  #pet_hotel #stay .stay_middle_box {
    flex-direction: column;
    gap: 24px;
    padding: 32px 20px;
    margin-top: 32px;
  }

  #pet_hotel #stay .stay_middle_img {
    width: 85%;
    margin: auto;
  }

  #pet_hotel #stay .stay_middle_title {
    font-size: 16px;
    line-height: 24px;
  }

  #pet_hotel #stay .stay_middle_text {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 32px;
  }

  #pet_hotel #stay .stay_middle_btn {
    width: 100%;
    font-size: 16px;
    padding: 20px 0;
  }

  #pet_hotel #stay .stay_table_wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 32px;
  }

  #pet_hotel #stay .stay_bottom_table {
    font-size: 12px;
    width: 150%;
    min-width: 600px;
    margin-top: 0;
  }

  #pet_hotel #stay .stay_bottom_table th,
  #pet_hotel #stay .stay_bottom_table td {
    padding: 10px 4px;
  }

  #pet_hotel #stay .fukidashi2 {
    width: 70px;
    top: -29px;
    right: -71px;
  }

  #pet_hotel #stay .kyotyo1-3 {
    width: 26px;
    top: -20px;
    right: 30px;
  }

  #pet_hotel #stay .nikukyu1-2 {
    width: 50%;
    top: 200px;
  }
}

/*============================================================
glamping
============================================================*/
#pet_hotel #glamping {
  padding: 95px 0 95px;
  position: relative;
}

#pet_hotel #glamping .flag1 {
  position: absolute;
  top: 0px;
  left: 0px;
  max-width: 372px;
  width: calc(372 / 1440 * 100vw);
}

#pet_hotel #glamping .sec_title_sub {
  text-align: center;
}

#pet_hotel #glamping .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#pet_hotel #glamping .flag2 {
  position: absolute;
  top: -53px;
  left: -84px;
  width: 83px;
}

#pet_hotel #glamping .kyotyo2-3 {
  position: absolute;
  top: 25px;
  right: -50px;
  width: 36px;
  transform: scaleX(-1) scaleY(-1);
}

#pet_hotel #glamping .glamping_box {
  display: flex;
  flex-direction: column;
  gap: 19px;
  margin-top: -2px;
}

#pet_hotel #glamping .glamping_box_item {
  display: flex;
  justify-content: start;
  align-items: flex-start;
  gap: 19px;
}

#pet_hotel #glamping .glamping_box_item:nth-child(even) {
  flex-direction: row-reverse;
  gap: 61px;
}

#pet_hotel #glamping .glamping_title {
  margin-top: 50px;
}

#pet_hotel #glamping .glamping_title_main {
  font-size: 36px;
  line-height: 110%;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  margin-bottom: 31px;
  position: relative;
  text-wrap: nowrap;
}

#pet_hotel #glamping .kyotyo1-1 {
  position: absolute;
  top: -30px;
  right: 6px;
  width: 46px;
}

#pet_hotel #glamping .kyotyo1-2 {
  position: absolute;
  top: -34px;
  left: -46px;
  width: 46px;
  transform: scaleX(-1);
}

#pet_hotel #glamping .kyotyo1-3 {
  position: absolute;
  top: -30px;
  right: 14px;
  width: 46px;
}

#pet_hotel #glamping .fukidashi3 {
  position: absolute;
  top: -90px;
  right: -18px;
  width: 114px;
}

#pet_hotel #glamping .glamping_text {
  font-size: 20px;
  line-height: 36px;
  text-wrap: nowrap;
}

#pet_hotel #glamping .glamping_img {
  max-width: 476px;
  width: calc(476 / 1440 * 100vw);
}

#pet_hotel #glamping .glamping_contact_btn {
  display: block;
  background: #FFA600;
  color: #fff;
  padding: 24px 0;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  width: 340px;
  margin: 38px auto 0 0;
  box-shadow: 4px 4px 0 #BA882C;
  transition: all 0.2s ease;
}

#pet_hotel #glamping .glamping_contact_btn:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #glamping .kira2 {
  position: absolute;
  bottom: 31px;
  right: 213px;
  z-index: -1;
  max-width: 446px;
  width: calc(446 / 1440 * 100vw);
}

#pet_hotel #glamping .nikukyu1 {
  position: absolute;
  top: 468px;
  left: 0px;
  width: 370px;
  opacity: 0.5;
  z-index: -1;
}

#pet_hotel #glamping .nikukyu2 {
  position: absolute;
  top: 814px;
  right: 0px;
  width: 370px;
  transform: scaleX(-1);
  opacity: 0.5;
  z-index: -1;
}

@media (max-width: 1280px) {

  #pet_hotel #glamping .glamping_box_item,
  #pet_hotel #glamping .glamping_box_item:nth-child(even) {
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
  }

  #pet_hotel #glamping .glamping_contact_btn {
    margin: 38px auto 0;
  }

  #pet_hotel #glamping .kira2 {
    right: 1%;
  }
}

@media (max-width: 768px) {
  #pet_hotel #glamping {
    padding: 48px 0;
  }

  #pet_hotel #glamping .glamping_box {
    gap: 32px;
    margin-top: 24px;
  }

  #pet_hotel #glamping .glamping_box_item {
    flex-direction: column;
    gap: 24px;
  }

  #pet_hotel #glamping .glamping_box_item:nth-child(even) {
    flex-direction: column;
    gap: 24px;
  }

  #pet_hotel #glamping .glamping_title {
    margin-top: 0;
  }

  #pet_hotel #glamping .glamping_title_main {
    font-size: 22px;
    margin-bottom: 16px;
    text-wrap: wrap;
  }

  #pet_hotel #glamping .glamping_text {
    font-size: 14px;
    line-height: 24px;
    text-wrap: wrap;
  }

  #pet_hotel #glamping .glamping_img {
    width: 75%;
    margin: auto;
  }

  #pet_hotel #glamping .glamping_contact_btn {
    width: 100%;
    font-size: 16px;
    padding: 20px 0;
    margin: 32px auto 0;
  }

  #pet_hotel #glamping .flag2 {
    width: 50px;
    top: -35px;
    left: -37px;
  }

  #pet_hotel #glamping .kyotyo2-3 {
    width: 20px;
    top: 10px;
    right: -20px;
  }

  #pet_hotel #glamping .kyotyo1-1,
  #pet_hotel #glamping .kyotyo1-2,
  #pet_hotel #glamping .kyotyo1-3 {
    width: 26px;
    top: -6px;
  }

  #pet_hotel #glamping .kyotyo1-1{
    right: 27px;
    top: 4px;
  }

  #pet_hotel #glamping .kyotyo1-2 {
    left: -24px;
    top: -18px;
  }

  #pet_hotel #glamping .kyotyo1-3 {
    right: 16px;
    top: -18px;
  }

  #pet_hotel #glamping .fukidashi3 {
    width: 70px;
    top: -50px;
    right: 16px;
  }

  #pet_hotel #glamping .flag1 {
    width: 25%;
  }

  #pet_hotel #glamping .kira2 {
    width: 32%;
    bottom: 1%;
    right: 1%;
  }
}

/*============================================================
pet_off
============================================================*/
#pet_hotel #pet_off {
  padding: 112px 0 95px;
  background: #F9EDE4;
}

#pet_hotel #pet_off .container {
  position: relative;
  z-index: 2;
}

#pet_hotel #pet_off .pet_off_title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 48px;
  line-height: 130%;
  font-weight: bold;
  margin-bottom: 23px;
  position: relative;
  z-index: 2;
  width: fit-content;
}

#pet_hotel #pet_off .flag1 {
  position: absolute;
  top: -82px;
  left: 0px;
  width: 84px;
}

#pet_hotel #pet_off .kyotyo3 {
  position: absolute;
  top: -45px;
  right: -53px;
  width: 57.39px;
}

#pet_hotel #pet_off .pet_off_span1,
#pet_hotel #pet_off .pet_off_span2 {
  display: inline-block;
  background: #fff;
  border: solid 4px #F39487;
  height: fit-content;
  position: relative;
  padding: 12px 32px;
  margin-bottom: 25px;
}

#pet_hotel #pet_off .pet_off_span1::before,
#pet_hotel #pet_off .pet_off_span2::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  width: 100%;
  height: 100%;
  background: #F39487;
  z-index: -1;
}

#pet_hotel #pet_off .pet_off_text {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 25px;
}

#pet_hotel #pet_off .pet_off_text b {
  font-weight: bold;
  font-size: 20px;
}

#pet_hotel #pet_off .pet_off_text:last-of-type {
  margin-bottom: 31px;
}

#pet_hotel #pet_off .pet_off_contact_btn {
  display: block;
  background: #FFA600;
  color: #fff;
  padding: 24px 0;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  width: 340px;
  margin: 30px auto 0 0;
  box-shadow: 4px 4px 0 #BA882C;
  transition: all 0.2s ease;
}

#pet_hotel #pet_off .pet_off_contact_btn:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #pet_off .pet_off_img1 {
  position: absolute;
  top: -46px;
  right: 0px;
  max-width: 508px;
  width: calc(508 / 1440 * 100vw);
  z-index: 1;
}

#pet_hotel #pet_off .pet_off_img2 {
  position: absolute;
  top: 328px;
  right: 0px;
  max-width: 282.21px;
  width: calc(282.21 / 1440 * 100vw);
  z-index: 1;
}

#pet_hotel #pet_off .nikukyu2 {
  position: absolute;
  bottom: 0px;
  left: -16%;
  height: 100%;
  z-index: 0;
}

#pet_hotel #pet_off .nikukyu3 {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 393px;
  z-index: 1;
}

@media (max-width: 768px) {
  #pet_hotel #pet_off {
    padding: 64px 0 48px;
  }

  #pet_hotel #pet_off .pet_off_title {
    font-size: 28px;
    margin-bottom: 150px;
  }

  #pet_hotel #pet_off .pet_off_span1,
  #pet_hotel #pet_off .pet_off_span2 {
    padding: 10px 20px;
    margin-bottom: 16px;
  }

  #pet_hotel #pet_off .pet_off_text {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 16px;
  }

  #pet_hotel #pet_off .pet_off_text b {
    font-size: 16px;
  }

  #pet_hotel #pet_off .pet_off_contact_btn {
    width: 100%;
    font-size: 16px;
    padding: 20px 0;
    margin: 210px auto 0;
  }

  #pet_hotel #pet_off .flag1 {
    width: 50px;
    top: -50px;
    left: 0;
  }

  #pet_hotel #pet_off .kyotyo3 {
    width: 30px;
    top: -30px;
    right: -25px;
  }

  #pet_hotel #pet_off .pet_off_img1 {
    width: 70%;
    top: 110px;
    right: 0;
  }

  #pet_hotel #pet_off .pet_off_img2 {
    width: 50%;
    top: unset;
    bottom: 80px;
  }

  #pet_hotel #pet_off .nikukyu2 {
    width: 50%;
  }

  #pet_hotel #pet_off .nikukyu3 {
    width: 50%;
  }
}

/*============================================================
blog
============================================================*/
#pet_hotel #blog {
  padding: 90px 0 95px;
}

#pet_hotel #blog .sec_title_sub {
  text-align: center;
}

#pet_hotel #blog .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 32px;
}

#pet_hotel #blog .mame_icon {
  position: absolute;
  top: -36px;
  left: -90px;
  width: 56px;
}

#pet_hotel #blog .kyotyo1-4 {
  position: absolute;
  top: -32px;
  right: -86px;
  width: 48px;
}

#pet_hotel #blog .blog_text {
  font-size: 20px;
  line-height: 110%;
  text-align: center;
  margin-bottom: 64px;
  font-weight: bold;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #blog .blog_slider_wrapper {
  position: relative;
  margin: 0 auto;
  padding: 0;
}

#pet_hotel #blog .blog_box {
  overflow: visible;
}

#pet_hotel #blog .blog_item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: auto;
}

#pet_hotel #blog .blog_img {
  height: calc(190 / 1440 * 100vw);
  border-radius: 8px;
  object-fit: cover;
  margin-bottom: 9px;
}

#pet_hotel #blog .blog_title {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
  margin-bottom: -6px;
}

#pet_hotel #blog .blog_date {
  font-size: 16px;
  color: #F39487;
}

#pet_hotel #blog .blog_dots {
  position: relative;
  margin-top: 45px;
}

#pet_hotel #blog .blog_dots .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background: #D9D9D9;
  opacity: 1;
  margin: 0 8px;
}

#pet_hotel #blog .blog_dots .swiper-pagination-bullet-active {
  background: #F39487;
}

@media (max-width: 768px) {
  #pet_hotel #blog {
    padding: 48px 0;
  }

  #pet_hotel #blog .blog_text {
    font-size: 16px;
    margin-bottom: 32px;
  }

  #pet_hotel #blog .blog_img {
    height: 120px;
  }

  #pet_hotel #blog .blog_title {
    font-size: 14px;
    line-height: 24px;
  }

  #pet_hotel #blog .blog_date {
    font-size: 14px;
  }

  #pet_hotel #blog .mame_icon {
    width: 30px;
    top: -20px;
    left: -40px;
  }

  #pet_hotel #blog .kyotyo1-4 {
    width: 26px;
    top: -20px;
    right: -40px;
  }

  #pet_hotel #blog .blog_dots {
    margin-top: 32px;
  }

  #pet_hotel #blog .blog_dots .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 6px;
  }
}

/*============================================================
faq (FAQ)
============================================================*/
#pet_hotel #faq {
  background: #FCF8F2;
  padding: 90px 0 100px;
}

#pet_hotel #faq .container {
  position: relative;
  z-index: 2;
}

#pet_hotel #faq .sec_title_sub {
  text-align: center;
}

#pet_hotel #faq .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 52px;
  position: relative;
}

#pet_hotel #faq .s_03 {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

#pet_hotel #faq .faq_category {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#pet_hotel #faq .faq_category_title {
  display: flex;
  align-items: center;
  gap: 13px;
  position: relative;
  margin-bottom: 32px;
}

#pet_hotel #faq .faq_category_icon {
  width: 32px;
}

#pet_hotel #faq .faq_category_text {
  font-size: 28px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  white-space: nowrap;
  line-height: 110%;
}

#pet_hotel #faq .faq_category_line {
  flex: 1;
  height: 3px;
  background: #F39487;
  margin-left: auto;
}

#pet_hotel #faq .faq_category_content {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

#pet_hotel .s_03 .accordion_one {
  width: 100%;
  border-radius: 16px;
  background: #fff;
}

#pet_hotel .s_03 .accordion_one .accordion_header {
  background-color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 110%;
  padding: 18px 0;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
  width: calc(100% - 48px);
  margin: 0 auto;
  display: flex;
  align-items: center;
}

#pet_hotel .s_03 .accordion_one .accordion_header span,
#pet_hotel .s_03 .accordion_one .accordion_inner span {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 36px;
  font-weight: bold;
  line-height: 110%;
  color: #F39487;
  margin-right: 16px;
  display: block;
}

#pet_hotel .s_03 .accordion_one .accordion_inner span {
  margin-top: -6px;
}

#pet_hotel .s_03 .accordion_one .accordion_header:hover {
  opacity: .8;
}

#pet_hotel .s_03 .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 0px;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay .i_box .one_i {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay.open .i_box .one_i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay.open .i_box {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header .i_box .one_i:before,
#pet_hotel .s_03 .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #F39487;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}

#pet_hotel .s_03 .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay .i_box .one_i:before {
  content: none;
}

#pet_hotel .s_03 .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none;
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:before {
  content: "";
}

#pet_hotel .s_03 .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#pet_hotel .s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

#pet_hotel .s_03 .accordion_one .accordion_inner {
  display: none;
  padding: 18px 0px 20px;
  box-sizing: border-box;
  background: #fff;
  border-top: 1px solid #D9D9D9;
  width: calc(100% - 48px);
  margin: 0 auto;
  font-size: 16px;
  line-height: 140%;
}

#pet_hotel .s_03 .accordion_one .accordion_inner.stay {
  display: block;
}

#pet_hotel .s_03 .accordion_one .accordion_inner .box_one {
  height: fit-content;
}

#pet_hotel .s_03 .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
  display: flex;
  align-items: baseline;
}

#pet_hotel #faq .nikukyu3-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 24%;
}

#pet_hotel #faq .nikukyu3-2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24%;
}

@media (max-width: 768px) {
  #pet_hotel #faq {
    padding: 32px 0 64px;
  }

  #pet_hotel .s_03 .accordion_one .accordion_header {
    font-size: 14px;
    text-align: left;
    padding-right: 36px;
    width: calc(100% - 24px);
  }

  #pet_hotel .s_03 .accordion_one .accordion_header span,
  #pet_hotel .s_03 .accordion_one .accordion_inner span {
    font-size: 18px;
  }

  #pet_hotel .s_03 .accordion_one .accordion_inner span {
    margin-top: 0;
  }

  #pet_hotel .s_03 .accordion_one .accordion_inner {
    font-size: 12px;
    width: calc(100% - 24px);
    padding-right: 24px;
  }

  #pet_hotel .s_03 .accordion_one .accordion_header .i_box {
    width: 30px;
    height: 30px;
  }

  #pet_hotel #faq .faq_category_title {
    gap: 8px;
    margin-bottom: 24px;
  }

  #pet_hotel #faq .faq_category_icon {
    width: 24px;
  }

  #pet_hotel #faq .faq_category_text {
    font-size: 18px;
  }

  #pet_hotel #faq .faq_category_line {
    height: 2px;
  }
}

/*============================================================
info
============================================================*/
#pet_hotel #info {
  padding: 95px 0 98px;
  background: #F9EDE4;
}

#pet_hotel #info .nikukyu4 {
  position: absolute;
  top: 0;
  right: 0;
  width: 28%;
}

#pet_hotel #info .sec_title_sub {
  text-align: center;
}

#pet_hotel #info .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#pet_hotel #info .flag2 {
  position: absolute;
  top: -74px;
  left: -93px;
  width: 99px;
  transform: rotate(-16deg);
}

#pet_hotel #info .info_box_top {
  display: flex;
  gap: 30px;
  margin-top: 52px;
}

#pet_hotel #info .info_box_top_left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 28px;
  background: #ffff;
  border-radius: 16px;
  padding: 28px 34px;
}

#pet_hotel #info .info_tel,
#pet_hotel #info .info_time {
  display: flex;
  gap: 22px;
  align-items: flex-start;
}

#pet_hotel #info .info_tel_text {
  font-size: 15px;
  line-height: 140%;
}

#pet_hotel #info .info_label {
  background: #F39487;
  color: #fff;
  border-radius: 26.5px;
  padding: 12px 32px;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  width: fit-content;
}

#pet_hotel #info .info_tel_box {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

#pet_hotel #info .info_tel_number {
  font-size: 40px;
  font-family: 'Zen Maru Gothic', sans-serif;
  line-height: 110%;
  font-weight: bold;
  text-decoration: none;
}

#pet_hotel #info .info_time_text {
  font-size: 40px;
  font-family: 'Zen Maru Gothic', sans-serif;
  line-height: 110%;
  font-weight: bold;
}

#pet_hotel #info .info_box_top_right {
  flex: 1;
  background: #ffff;
  border-radius: 8px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}

#pet_hotel #info .info_web_box {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#pet_hotel #info .info_web_title {
  background: #F39487;
  color: #fff;
  border-radius: 26.5px;
  padding: 12px 32px;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  width: fit-content;
}

#pet_hotel #info .info_web_text {
  font-size: 15px;
  line-height: 140%;
}

#pet_hotel #info .info_web_buttons {
  display: flex;
  gap: 28px;
}

#pet_hotel #info .info_button {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 0px;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.2s ease;
}

#pet_hotel #info .info_button_line {
  background: #00B900;
  color: #fff;
  box-shadow: 4px 4px 0 #008300;
}

#pet_hotel #info .info_button_line:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #info .info_button_line img {
  width: 48px;
}

#pet_hotel #info .info_button_form {
  background: #FFA600;
  color: #fff;
  box-shadow: 4px 4px 0 #BA882C;
}

#pet_hotel #info .info_button_form:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #info .info_box_bottom {
  margin-top: 38px;
}

#pet_hotel #info .info_access {
  background: #ffff;
  border-radius: 8px;
  padding: 32px;
  display: flex;
  gap: 48px;
}

#pet_hotel #info .info_access_title {
  font-size: 20px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  margin-bottom: 0px;
  background: #F39487;
  color: #fff;
  border-radius: 26.5px;
  padding: 12px 32px;
  display: inline-block;
  width: fit-content;
}

#pet_hotel #info .info_access_left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 325px;
}

#pet_hotel #info .info_address {
  font-size: 18px;
  margin-bottom: 11px;
  line-height: 140%;
}

#pet_hotel #info .info_access_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 9px;
}

#pet_hotel #info .info_access_list li {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  line-height: 140%;
}

#pet_hotel #info .info_access_list li b {
  font-weight: bold;
  font-size: 18px;
}

#pet_hotel #info .info_access_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 25%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #FDD9CB;
  border-radius: 50%;
}

#pet_hotel #info .info_access_note {
  font-size: 14px;
  line-height: 140%;
  margin-bottom: 16px;
}

#pet_hotel #info .info_access_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#pet_hotel #info .info_map_link {
  display: inline-block;
  background: #FFA600;
  color: #fff;
  padding: 24px 32px;
  border-radius: 38px;
  text-decoration: none;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-align: center;
  transition: all 0.2s ease;
  box-shadow: 4px 4px 0 #BA882C;
}

#pet_hotel #info .info_map_link:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel #info .info_map_embed {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

#pet_hotel #info .info_map_embed iframe {
  width: 100%;
  height: 100%;
  border: none;
}

@media (max-width: 1280px) {
  #pet_hotel #info .info_box_top {
    flex-direction: column;
    gap: 38px;
  }
}

@media (max-width: 768px) {
  #pet_hotel #info {
    padding: 48px 0;
  }

  #pet_hotel #info .info_box_top {
    flex-direction: column;
    gap: 24px;
  }

  #pet_hotel #info .info_box_top_left {
    flex-direction: column;
    gap: 20px;
    padding: 24px 20px;
  }

  #pet_hotel #info .info_tel,
  #pet_hotel #info .info_time {
    gap: 12px;
  }

  #pet_hotel #info .info_label {
    font-size: 14px;
    padding: 8px 14px;
  }

  #pet_hotel #info .info_tel_number,
  #pet_hotel #info .info_time_text {
    font-size: 28px;
  }

  #pet_hotel #info .info_tel_text {
    font-size: 13px;
  }

  #pet_hotel #info .info_box_top_right {
    padding: 24px 20px;
    gap: 20px;
  }

  #pet_hotel #info .info_web_title {
    font-size: 14px;
    padding: 8px 14px;
  }

  #pet_hotel #info .info_web_text {
    font-size: 13px;
  }

  #pet_hotel #info .info_web_buttons {
    gap: 12px;
  }

  #pet_hotel #info .info_button {
    font-size: 14px;
    padding: 8px 0;
  }

  #pet_hotel #info .info_button_line img {
    width: 32px;
  }

  #pet_hotel #info .info_box_bottom {
    margin-top: 24px;
  }

  #pet_hotel #info .info_access {
    padding: 24px 20px;
    flex-direction: column;
    gap: 32px;
  }

  #pet_hotel #info .info_access_left {
    width: 100%;
  }

  #pet_hotel #info .info_access_title {
    font-size: 14px;
    padding: 8px 14px;
    margin-bottom: 0px;
  }

  #pet_hotel #info .info_address {
    font-size: 14px;
    margin-bottom: 0px;
  }

  #pet_hotel #info .info_access_list {
    gap: 12px;
    margin-bottom: 0px;
  }

  #pet_hotel #info .info_access_list li {
    font-size: 14px;
  }

  #pet_hotel #info .info_access_list li b {
    font-size: 16px;
  }

  #pet_hotel #info .info_access_note {
    font-size: 12px;
    margin-bottom: 0px;
  }

  #pet_hotel #info .info_map_link {
    font-size: 14px;
    padding: 16px 20px;
    width: 100%;
  }

  #pet_hotel #info .info_map_embed {
    height: 200px;
  }

  #pet_hotel #info .flag2 {
    width: 50px;
    top: -40px;
    left: -25px;
  }
}

/*============================================================
contact
============================================================*/

.contact_form_label label {
	margin-left: 10px;
}


#pet_hotel #contact {
  padding: 95px 0;
}

#pet_hotel #contact .sec_title_sub {
  text-align: center;
}

#pet_hotel #contact .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 54px;
}

#pet_hotel #contact .contact_form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

#pet_hotel #contact .contact_form_item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#pet_hotel #contact .contact_form_label {
  display: flex;
  align-items: center;
  gap: 12px;
}

#pet_hotel #contact .contact_form_label label {
  font-size: 18px;
  font-weight: bold;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #contact .contact_form_required {
  background: #F39487;
  color: #fff;
  border-radius: 2px;
  padding: 3px 6px;
  font-size: 14px;
  font-weight: bold;
  display: inline;
  align-items: center;
  justify-content: center;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #contact .contact_form_optional {
  background: #9A9A9A;
  color: #fff;
  border-radius: 2px;
  padding: 3px 6px;
  font-size: 14px;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #contact .contact_form_input,
#pet_hotel #contact .contact_form_textarea {
  width: 100%;
  padding: 16px 22px;
  border: 1px solid #FDD9CB;
  border-radius: 4px;
  font-size: 16px;
  font-family: 'Zen Maru Gothic', sans-serif;
  background: #FCF8F2;
  transition: border-color 0.2s ease;
  font-weight: bold;
}

#pet_hotel #contact .contact_form_input::-webkit-input-placeholder,
#pet_hotel #contact .contact_form_textarea::-webkit-input-placeholder {
  color: #A6A6A6;
  font-weight: normal;
}

#pet_hotel #contact .contact_form_input::-moz-placeholder,
#pet_hotel #contact .contact_form_textarea::-moz-placeholder {
  color: #A6A6A6;
  opacity: 1;
  font-weight: normal;
}

#pet_hotel #contact .contact_form_input:-ms-input-placeholder,
#pet_hotel #contact .contact_form_textarea:-ms-input-placeholder {
  color: #A6A6A6;
  font-weight: normal;
}

#pet_hotel #contact .contact_form_input::placeholder,
#pet_hotel #contact .contact_form_textarea::placeholder {
  color: #A6A6A6;
  font-weight: normal;
}

#pet_hotel #contact .contact_form_input:focus,
#pet_hotel #contact .contact_form_textarea:focus {
  outline: none;
  border-color: #F39487;
}

#pet_hotel #contact .contact_form_textarea {
  resize: vertical;
  min-height: 240px;
}

#pet_hotel #contact .contact_form_radio_group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 40px;
}

#pet_hotel #contact .contact_form_radio_label {
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #contact .contact_form_radio {
  width: 20px;
  height: 20px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #FDD9CB;
  border-radius: 50%;
  background: #FCF8F2;
  position: relative;
  transition: all 0.2s ease;
  margin: 0;
}

#pet_hotel #contact .contact_form_radio:checked {
  background: #FCF8F2;
  border-color: #FDD9CB;
}

#pet_hotel #contact .contact_form_radio:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #F39487;
}

#pet_hotel #contact .contact_form_radio_label span {
  user-select: none;
}

#pet_hotel #contact .contact_form_submit {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

#pet_hotel #contact .contact_form_button {
  background: #FFA600;
  color: #fff;
  padding: 24px 0px;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 4px 4px 0 #BA882C;
  font-family: 'Zen Maru Gothic', sans-serif;
  width: 340px;
}

#pet_hotel #contact .contact_form_button:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

@media (max-width: 768px) {
  #pet_hotel #contact {
    padding: 48px 0;
  }

  #pet_hotel #contact .contact_form {
    gap: 24px;
  }

  #pet_hotel #contact .contact_form_label label {
    font-size: 14px;
  }

  #pet_hotel #contact .contact_form_required,
  #pet_hotel #contact .contact_form_optional {
    font-size: 10px;
    padding: 3px 8px;
  }

  #pet_hotel #contact .contact_form_input,
  #pet_hotel #contact .contact_form_textarea {
    font-size: 14px;
    padding: 12px 16px;
  }

  #pet_hotel #contact .contact_form_textarea {
    min-height: 120px;
  }

  #pet_hotel #contact .contact_form_radio_group {
    flex-direction: column;
    gap: 12px;
  }

  #pet_hotel #contact .contact_form_radio_label {
    font-size: 14px;
  }

  #pet_hotel #contact .contact_form_button {
    width: 100%;
    font-size: 16px;
    padding: 20px 0;
  }
}

/*============================================================
pet_hotel_bottom
============================================================*/
#pet_hotel #pet_hotel_bottom {
  padding: 146px 0 142px;
  background: #F9EDE4;
  position: relative;
}

#pet_hotel #pet_hotel_bottom .sec_title {
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  line-height: 160%;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #pet_hotel_bottom .flag2 {
  position: absolute;
  top: -76px;
  left: -50px;
  width: 100px;
  transform: rotate(-14deg);
}

#pet_hotel #pet_hotel_bottom .pet_hotel_bottom_text {
  font-size: 24px;
  line-height: 160%;
  text-align: center;
  margin-top: 32px;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img1 {
  position: absolute;
  bottom: 66px;
  left: 0;
  max-width: 435px;
  width: calc(435 / 1440 * 100vw);
  z-index: 0;
}

#pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img2 {
  position: absolute;
  bottom: 63px;
  right: 0;
  max-width: 466px;
  width: calc(466 / 1440 * 100vw);
  z-index: 0;
}

@media (max-width: 1280px) {
  #pet_hotel #pet_hotel_bottom {
    padding: 100px 0 350px;
  }
}

@media (max-width: 768px) {
  #pet_hotel #pet_hotel_bottom {
    padding: 48px 0 240px;
  }

  #pet_hotel #pet_hotel_bottom .pet_hotel_bottom_text {
    font-size: 16px;
    line-height: 28px;
    margin-top: 24px;
  }

  #pet_hotel #pet_hotel_bottom .flag2 {
    width: 50px;
    top: -36px;
    left: 4px;
  }

  #pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img1,
  #pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img2 {
    width: 50%;
  }

  #pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img1 {
    bottom: 40px;
  }

  #pet_hotel #pet_hotel_bottom .pet_hotel_bottom_img2 {
    bottom: 40px;
  }
}

/*============================================================
footer
============================================================*/
#pet_hotel footer {
  background: #6A5843;
  padding: 64px 0 0;
}

#pet_hotel footer .footer_content {
  display: flex;
  gap: 80px;
  align-items: flex-start;
  padding-bottom: 63px;
}

#pet_hotel footer .footer_left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#pet_hotel footer .footer_title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 9px;
}

#pet_hotel footer .footer_logo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
}

#pet_hotel footer .footer_title_text {
  font-size: 24px;
  line-height: 140%;
  font-weight: bold;
  color: #fff;
  margin: 0;
}

#pet_hotel footer .footer_tel {
  display: flex;
  flex-direction: column;
  gap: 11px;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel footer .footer_tel_top {
  display: flex;
  align-items: center;
  gap: 10px;
}

#pet_hotel footer .footer_tel_icon {
  width: 32px;
  height: auto;
}

#pet_hotel footer .footer_tel_number {
  font-size: 32px;
  font-weight: bold;
  line-height: 110%;
  color: #fff;
  text-decoration: none;
}

#pet_hotel footer .footer_tel_bottom {
  font-size: 20px;
  line-height: 110%;
  color: #fff;
  margin: 0;
  font-weight: bold;
  padding-left: 43px;
}

#pet_hotel footer .footer_tel_bottom span {
  color: #fff;
  font-size: 24px;
}

#pet_hotel footer .footer_address {
  font-size: 20px;
  line-height: 140%;
  color: #fff;
  margin: 0;
}

#pet_hotel footer .footer_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

#pet_hotel footer .footer_links {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

#pet_hotel footer .footer_link_category {}

#pet_hotel footer .footer_link_category_title {
  font-size: 24px;
  font-weight: bold;
  line-height: 110%;
  color: #fff;
  margin: 5px 0 11px 0;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#pet_hotel footer .footer_link_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#pet_hotel footer .footer_link_list li {
  margin: 0;
  position: relative;
  padding-left: 20px;
}

#pet_hotel footer .footer_link_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #FDD9CB;
  border-radius: 50%;
}

#pet_hotel footer .footer_link_list a {
  font-size: 16px;
  line-height: 140%;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

#pet_hotel footer .footer_link_list a:hover {
  opacity: 0.7;
}

#pet_hotel footer .footer_buttons {
  display: flex;
  gap: 28px;
}

#pet_hotel footer .footer_button {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 24px 0px;
  border-radius: 38px;
  font-size: 20px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

#pet_hotel footer .footer_button_line {
  background: #00B900;
  color: #fff;
  box-shadow: 4px 4px 0 #008300;
}

#pet_hotel footer .footer_button_line:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel footer .footer_button_line img {
  width: 48px;
}

#pet_hotel footer .footer_button_form {
  background: #FFA600;
  color: #fff;
  box-shadow: 4px 4px 0 #BA882C;
}

#pet_hotel footer .footer_button_form:hover {
  opacity: 0.8;
  box-shadow: none;
  transform: translate(4px, 4px);
}

#pet_hotel footer .footer_copyright {
  text-align: center;
  font-size: 14px;
  line-height: 160%;
  background: #fff;
  color: #6A5843;
  padding: 24px 0;
  margin: 0;
  font-family: 'Zen Maru Gothic', sans-serif;
}

@media (max-width: 1280px) {
  #pet_hotel footer .footer_content {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 768px) {
  #pet_hotel footer {
    padding: 32px 0 0;
  }

  #pet_hotel footer .footer_content {
    gap: 24px;
    padding-bottom: 32px;
    align-items: flex-start;
  }

  #pet_hotel footer .footer_left {
    gap: 16px;
  }

  #pet_hotel footer .footer_title_text {
    font-size: 14px;
  }

  #pet_hotel footer .footer_logo {
    width: 36px;
    height: 36px;
  }

  #pet_hotel footer .footer_tel_icon {
    width: 24px;
  }

  #pet_hotel footer .footer_tel_number {
    font-size: 16px;
  }

  #pet_hotel footer .footer_tel_bottom {
    font-size: 12px;
    padding-left: 0;
  }

  #pet_hotel footer .footer_tel_bottom span {
    font-size: 16px;
  }

  #pet_hotel footer .footer_address {
    font-size: 14px;
    line-height: 24px;
  }

  #pet_hotel footer .footer_right {
    gap: 32px;
    width: 100%;
  }

  #pet_hotel footer .footer_links {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }

  #pet_hotel footer .footer_link_category_title {
    font-size: 16px;
    margin-bottom: 12px;
  }

  #pet_hotel footer .footer_link_list {
    gap: 8px;
  }

  #pet_hotel footer .footer_link_list li {
    padding-left: 16px;
  }

  #pet_hotel footer .footer_link_list li::before {
    width: 8px;
    height: 8px;
    top: 60%;
  }

  #pet_hotel footer .footer_link_list a {
    font-size: 14px;
  }

  #pet_hotel footer .footer_buttons {
    gap: 12px;
    width: 100%;
  }

  #pet_hotel footer .footer_button {
    width: 100%;
    font-size: 12px;
    padding: 14px 0;
  }

  #pet_hotel footer .footer_button_line img {
    width: 32px;
  }

  #pet_hotel footer .footer_copyright {
    font-size: 12px;
    padding: 20px 0;
  }
}




/*============================================================
blog
============================================================*/


.pan-blk {
	max-width: 1000px;
    margin: 30px auto -70px;
    padding: 0 15px;
    font-size: 14px;
}

.pan-blk.s1 {
	    max-width: 830px;
	text-align: justify;
}

.pan-blk a:hover {
	opacity: .6;
}



.blog-archive {
max-width: 1030px;
    margin: 100px auto 20px;
    padding: 0 15px;
    display: flex;
    flex-wrap: wrap;
}

.page-id-73 .page-hearder .inner img,
.single .page-hearder .inner img {
    width: 130px !important;
    position: absolute;
    margin-top: -20px;
    margin-left: 100px;
}

.blog-archive .post-card {
    width: 33%;
    border-left: 1px solid rgba(0,44,68, .2);
    padding: 0 24px 0 20px;
    margin-bottom: 80px;
}

.blog-archive .post-card img {
	    height: 190px;
    object-fit: cover;
}

.n_name {
    color: rgba(0,44,68, .3);
    line-height: 1;
    margin-bottom: 12px;
}

.post-card .title {
	margin-top: 10px;
	min-height: 95px;
	line-height: 1.7;
	text-align: justify;
}

.post-card p {
	font-size: 14px;
	line-height: 1.7;
	text-align: justify;
}

.blog-archive .post-card:nth-child(1) ,
.blog-archive .post-card:nth-child(4) ,
.blog-archive .post-card:nth-child(7) {
    border-left: none;
}


.single-blk .post-card .title {
    min-height: 95px;
    line-height: 1.7;
    text-align: justify;
    font-size: 24px;
    margin-bottom: 35px;
    border-bottom: 1px solid rgba(0,44,68, .2);
    padding-bottom: 15px;
    margin-top: -13px;
}

.single-content {
	margin-top: 30px;
    line-height: 2.2;
}

.single-content h2 {
font-size: 22px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin: 50px 0 30px;
    line-height: 1.5;
    padding: 12px 0;
	font-weight: bold;
}

.single-content h4 {
	font-weight: bold;
    margin: 20px 0;
    font-size: 18px;
}

.single-content img {
	margin: 30px 0;
}

.single-content h3 {
font-size: 20px;
    border-bottom: 1px solid;
    padding-bottom: 4px;
    margin-bottom: 25px;
    display: inline-block;
    line-height: 1.8;
	margin-top: 20px;
}

.single-content a {
	color: orange;
}

.single-blk .post-card p {
    font-size: 16px;
}

.next-blk {
display: flex;
    justify-content: space-between;
    margin: 70px auto;
    max-width: 500px;
}

.next-blk p {
    font-size: 20px;
    position: relative;
    top: 10px;
}

.single-post .page-hearder img {
    width: 100px;
}

.column-single {
    margin-top: 5px;
    padding-top: 15px;
    padding-bottom: 20px;
    font-size: 28px;
    color: #fff;
    border-top: 1px solid rgba(255, 255, 255, .5);
}


.to-list {
	border: 1px solid;
    padding: 13px 20px;
}

.next-blk p a {
    font-weight: 100;
}

.page-hearder .inner {
	max-width: 1030px;
    margin: 0 auto;
    padding: 0 15px;
}

.page-hearder {
    margin: 0 auto;
    background: #FCF8F2;
	text-align: center;
	    padding: 60px 0;
}

.page-hearder img {
	width: 150px;
}

.page-hearder h1{
	margin-top: 5px;
    padding-top: 15px;
    padding-bottom: 20px;
    font-size: 28px;
    color: #000 !important;
    border-top: 1px solid rgba(255, 255, 255, .5);
}

.page-nation {
text-align: center;
    margin-bottom: 150px;
    font-size: 20px;
    letter-spacing: 15px;
	color: rgba(0,44,68, .3);
}

.single-blk {
	max-width: 830px;
    margin: 120px auto 150px;
	padding: 0 15px;
}

	.single-blk .post-card .single-content p {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 1px;
    margin-bottom: 15px;
	}

.single-blk .post-card .single-content ul {
	padding-left: 20px;
    margin: 20px 0;
}


@media only screen and (max-width: 550px) {
	
	
.blog-archive {
    margin: 50px auto 20px;
}
	
.page-nation {
    margin-bottom: 100px;
    font-size: 16px;
    letter-spacing: 10px;
}
	
	.blog-archive {
		display: block;
	}
	
	.column-single {
		font-size: 20px;
	} 
	
.page-id-73 .page-hearder .inner img, .single .page-hearder .inner img {
    width: 80px !important;
    margin-top: -5px;
    margin-left: 80px;
}
	
.page-hearder {
    padding: 20px 0 30px;
}
	
.single-blk .post-card .title {
    line-height: 1.5;
    font-size: 20px;
    margin-top: -13px;
}
	
.single-blk {
    margin: 95px auto 150px;
}
	
.single-content h2 {
    font-size: 18px;
}
	
	.single-content h3 {
    font-size: 18px;
	}
	
.page-hearder h1 {
	font-size: 20px;
}
	
    .blog-archive {
        margin: 100px auto 20px;
    }
	
.blog-archive .post-card {
    width: 100%;
    padding: 0;
    margin-bottom: 30px;
}
	
    .post-card .title {
        min-height: initial;
        margin-bottom: 10px;
        font-weight: bold;
    }
	
.blog-archive .post-card {
    border-left: initial;
}
	
.single-blk .post-card .title {
    min-height: 55px;
}
	
    .single-blk {
        margin: 95px auto 50px;
    }
	
}


