@charset "utf-8";

/*
SP ～519px
tab 520px～959px
PC 960px～
*/
/*================
header
================*/
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 172px;
  z-index: 100;
  transition: top 0.3s ease;
  pointer-events: none;
  user-select: none;
}

#header::after {
  content: "";
  position: absolute;
  top: 50px;
  right: 50px;
  width: 0;
  height: 0;
  background-color: #f5f8fc;
  border-radius: 50%;
  transition: all 0.8s ease-in-out;
  opacity: 0;
  z-index: -1;
}

#header .header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 100;
  padding-left: 64px;
  padding-right: 50px;
  height: 100%;
  user-select: none;
  pointer-events: none;
}

#header .header__inner .header__logo a {
  display: flex;
  align-items: center;
  gap: 16px;
  pointer-events: auto;
  user-select: auto;
  color: var(--color-orange);
}

#header .header__inner .header__logo .header__logo-image {
  width: 50px;
  height: auto;
}

#header .header__inner .header__logo .header__logo-text .header__logo-jp {
  font-family: var(--font-ibmplex);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.3em;
  padding-bottom: 1rem;
}

#header .header__inner .header__logo .header__logo-text .header__logo-en {
  font-size: 12px;
  font-family: var(--font-tsukimi);
  font-weight: 500;
  letter-spacing: 0.12em;
}

/* メニューボタン */
#header .header__inner .header__menu-button {
  position: relative;
  background-color: var(--color-gray-dark);
  color: var(--color-white);
  width: 112px;
  height: 112px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  pointer-events: auto;
  user-select: auto;
}

#header .header__inner .header__menu-button:hover {
  opacity: 0.8;
}

#header .header__inner .header__menu-button span {
  display: inline-block;
  text-align: center;
  width: 100%;
  font-family: var(--font-tsukimi);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 0;
  position: absolute;
}

#header .header__inner .header__menu-button span:first-child {
  /* menu表示 */
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease 0.3s;
}

#header .header__inner .header__menu-button span:last-child {
  /* close非表示 */
  transform: scale(0);
  opacity: 0;
  transition: opacity 0.5s ease 0.3s;
}

/* ナビゲーション */
#header .header__nav-container {
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  visibility: hidden;
  padding-top: 172px;
}

#header .header__nav-bg {
  position: absolute;
  display: block;
  top: -504px;
  right: -56px;
  height: 700px;
  width: 100%;
  background-image: var(--bg-wave-large);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(360deg);
}

#header .header__nav-container .header__nav {
  display: flex;
  justify-content: stretch;
  gap: 64px;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: calc(0.40816vw + 13.46939px);
  padding-right: calc(0.40816vw + 13.46939px);
}

#header .header__nav-container .header__nav .header__nav-image {
  height: 100%;
}

#header .header__nav-container .header__nav .header__nav-image img {
  width: 440px;
  height: 680px;
  object-fit: cover;
  border-radius: 40px;
}

#header .header__nav-container .header__nav .header__nav-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item {
  padding-bottom: 24px;
  width: 33.33333%;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-item-inner
  .header__nav-link {
  font-size: 2rem;
  font-weight: 700;
  transition: all 0.3s ease;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-item-inner
  .header__nav-link:hover {
  transform: translateX(5px);
  color: var(--color-orange);
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-item-inner
  .header__nav-link
  .header__nav-owner {
  font-size: 14px;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-item-inner
  .header__nav-button {
  opacity: 0;
  color: var(--color-orange);
  font-size: 24px;
  font-weight: 300;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-sub {
  padding-top: 16px;
  padding-left: 0;
  list-style: none;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-sub
  li
  a {
  padding-left: 2.2rem;
  padding-bottom: 0.5rem;
  position: relative;
  display: inline-block;
  font-size: 15px;
  transition: all 0.3s ease;
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-sub
  li
  a::after {
  content: "ー";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  color: var(--color-orange);
}

#header
  .header__nav-container
  .header__nav
  .header__nav-list
  .header__nav-item
  .header__nav-sub
  li
  a:hover {
  transform: translateX(5px);
  color: var(--color-orange);
}

/* 開閉時 */
#header.is-menu-open::after {
  width: 5000px;
  height: 5000px;
  opacity: 1;
  top: -2000px;
  right: -2000px;
}

#header.is-menu-open .header__inner .header__menu-button span:first-child {
  /* menu非表示 */
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.5s ease 0.3s;
}

#header.is-menu-open .header__inner .header__menu-button span:last-child {
  /* close表示 */
  opacity: 1;
  transform: scale(1);
}

#header.is-menu-open .header__nav-container {
  opacity: 1;
  visibility: visible;
  transition: opacity 1.5s ease 0.7s;
  position: fixed;
  pointer-events: auto;
  user-select: auto;
}

@media screen and (max-width: 1100px) {
  #header .header__nav-container .header__nav {
    display: block;
    max-width: 800px;
  }

  #header .header__nav-container .header__nav .header__nav-image {
    display: none;
  }

  /*===========max-width:1100px============*/
}

@media screen and (max-width: 960px) {
  #header {
    height: 120px;
  }

  #header .header__inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  #header .header__inner .header__logo .header__logo-image {
    width: 32px;
  }

  #header .header__inner .header__menu-button {
    width: 96px;
    height: 96px;
  }

  #header .header__inner .header__logo .header__logo-text .header__logo-jp {
    padding-bottom: 0;
  }

  #header .header__nav-container {
    padding-top: 120px;
    padding-bottom: 60px;
  }

  #header .header__nav-container::before {
    top: -172px;
    right: -28px;
    height: 350px;
  }

  #header .header__nav-container .header__nav {
    z-index: 102;
    padding-left: 5.6%;
    padding-right: 5.6%;
  }

  #header .header__nav-bg {
    top: -60%;
    right: -25%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #header .header__nav-container .header__nav {
    padding-top: 0;
    padding-left: 10%;
    padding-right: 10%;
  }

  #header .header__nav-container {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  #header
    .header__nav-container
    .header__nav
    #header
    .header__nav-container
    .header__nav
    .header__nav-list {
    display: block;
    width: 100%;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-item-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-item-inner
    .header__nav-button {
    opacity: 1; /* text-align: right; */
    transition: all 0.3s ease;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item {
    width: 100%;
    border-bottom: 1px solid var(--color-gray-light);
    padding-top: 8px;
    padding-bottom: 8px;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-sub {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.8s ease-in-out, opacity 0.8s ease-in-out,
      padding 0.8s ease-in-out;
    padding-top: 0;
    padding-left: 0;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-item-inner
    .header__nav-link {
    font-size: 1.8rem;
    width: 90%;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-sub
    li
    a {
    padding-left: 0;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item
    .header__nav-sub
    li
    a::after {
    display: none;
  }

  /* アコーディオンが開いた時 */
  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item.open
    .header__nav-sub {
    display: block;
    max-height: initial;
    opacity: 1;
  }

  #header
    .header__nav-container
    .header__nav
    .header__nav-list
    .header__nav-item.open
    .header__nav-button {
    transform: rotate(180deg);
    transition: transform 0.2s ease-in-out, opacity 0.8s ease-in-out;
  }

  #header .header__nav-bg {
    top: -40%;
    height: 525px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #header .header__inner {
    padding: 8px;
  }

  #header .header__inner .header__logo {
    gap: 8px;
  }

  #header .header__inner .header__menu-button {
    width: 64px;
    height: 64px;
    font-size: 12px;
  }

  #header .header__inner .header__logo a {
    gap: 8px;
  }

  #header .header__inner .header__logo .header__logo-image {
    width: 24px;
  }

  #header .header__inner .header__logo .header__logo-text .header__logo-jp {
    font-size: 10px;
  }

  #header .header__inner .header__logo .header__logo-text .header__logo-en {
    font-size: 8px;
  }

  #header .header__nav-container::before {
    top: -64px;
    right: -14px;
    height: 175px;
  }

  #header .header__nav-bg {
    top: -30%;
  }

  /*===========max-width:600px============*/
}

/*================
scroll
================*/
.scroll {
  position: absolute;
  left: 40px;
  bottom: -240px;
  padding-top: 133px;
  z-index: 1;
}

.scroll:before {
  content: "";
  display: block;
  width: 1.5px;
  height: 142px;
  background-color: var(--color-brown-deep);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-1px);
  animation: arrow 1.2s cubic-bezier(1, 0, 0, 1) infinite;
}

.scroll .scroll__icon {
  width: 9px;
  height: 9px;
  display: block;
  border-top: 2px solid var(--color-brown-deep);
  border-right: 2px solid var(--color-brown-deep);
  transform: rotate(135deg);
}

.scroll .scroll__text {
  display: block;
  position: absolute;
  top: -64px;
  left: 50%;
  transform: translateX(-50%);
  text-transform: uppercase;
  color: var(--color-brown-deep);
  font-family: var(--font-tsukimi);
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.2em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

@keyframes arrow {
  0% {
    transform-origin: 0% 0%;
    transform: scale(1, 0) translateX(-1px);
  }

  50% {
    transform-origin: 0% 0%;
    transform: scale(1, 1) translateX(-1px);
  }

  51% {
    transform-origin: 0% 100%;
    transform: scale(1, 1) translateX(-1px);
  }

  100% {
    transform-origin: 0% 100%;
    transform: scale(1, 0) translateX(-1px);
  }
}

@media screen and (max-width: 768px) {
  .scroll {
    left: 16px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  .scroll {
    display: none;
  }

  /*===========max-width:600px============*/
}

/*================
sidebar
================*/
.sidebar {
  position: fixed;
  right: 0;
  top: 30vh;
  z-index: 101;
  pointer-events: auto;
  user-select: auto;
}

.sidebar .sidebar__nav .sidebar__list {
  list-style: none;
}

.sidebar .sidebar__nav .sidebar__list .sidebar__item {
  background: var(--color-lavender);
  margin-bottom: 8px;
  border-radius: 35px 0 0 35px;
  height: 149px;
  width: 61px;
}

.sidebar .sidebar__nav .sidebar__list .sidebar__item:nth-child(2) {
  background: #bee8bb;
}

.sidebar .sidebar__nav .sidebar__list .sidebar__item:nth-child(3) {
  background: var(--color-blue-light);
}

.sidebar .sidebar__nav .sidebar__list .sidebar__item .sidebar__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  font-family: var(--font-ibmplex);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--color-gray-medium);
  font-weight: 500;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.3rem;
}

.sidebar
  .sidebar__nav
  .sidebar__list
  .sidebar__item:nth-child(2)
  .sidebar__link
  .sidebar__text {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.sidebar .sidebar__nav .sidebar__list .sidebar__item .sidebar__link:hover {
  opacity: 0.8;
}

.sidebar
  .sidebar__nav
  .sidebar__list
  .sidebar__item
  .sidebar__link
  .sidebar__icon {
  width: 22px;
  padding-top: 4px;
}

@media screen and (max-width: 600px) {
  .sidebar {
    position: fixed;
    bottom: 0;
    right: 20px;
    top: initial;
  }

  .sidebar .sidebar__nav .sidebar__list {
    display: flex;
    gap: 8px;
    margin-bottom: 0;
  }

  .sidebar .sidebar__nav .sidebar__list .sidebar__item {
    width: 74px;
    height: 74px;
    border-radius: 50%;
  }

  /*　header-secondaryは表示  */
  .sidebar.header-secondary
    .sidebar__nav
    .sidebar__list
    .sidebar__item:first-child {
    display: block;
  }

  .sidebar .sidebar__nav .sidebar__list .sidebar__item .sidebar__link {
    font-size: 9px;
    flex-direction: column-reverse;
    writing-mode: initial;
    align-items: center;
    text-align: center;
    gap: 8px;
  }

  .sidebar
    .sidebar__nav
    .sidebar__list
    .sidebar__item:nth-child(2)
    .sidebar__link
    .sidebar__text {
    -ms-writing-mode: initial;
    writing-mode: initial;
    text-orientation: initial;
  }

  .sidebar
    .sidebar__nav
    .sidebar__list
    .sidebar__item
    .sidebar__link
    .sidebar__text {
    width: 50px;
    line-height: 1;
  }

  /*===========max-width:600px============*/
}

/*================
top-section-title
================*/
/* ライン付きタイトル */
.section-title {
  position: relative;
  padding-bottom: 56px;
}

.section-title::before {
  content: "";
  position: absolute;
  top: -32px;
  width: 1px;
  height: 72px;
  background-color: var(--color-orange);
}

.section-title::after {
  content: "";
  position: absolute;
  top: 0.8px;
  width: 57.2vw;
  height: 0.8px;
  background-color: var(--color-black);
}

/* 左ライン */
.section-title.line-left::before {
  right: calc(42.8vw + 20px);
}

.section-title.line-left::after {
  left: 0;
}

.section-title.line-left .section-title__text-en,
.section-title.line-left .section-title__text-ja {
  padding-right: calc(42.8vw + 64px);
  text-align: right;
}

/* 右ライン */
.section-title.line-right::before {
  left: calc(42.8vw + 20px);
}

.section-title.line-right::after {
  right: 0;
}

.section-title.line-right .section-title__text-en,
.section-title.line-right .section-title__text-ja {
  padding-left: calc(42.8vw + 64px);
}

.section-title .section-title__text-en {
  display: block;
  font-family: var(--font-tsukimi);
  font-size: 14px;
  letter-spacing: 0.12em;
  font-weight: 500;
  color: var(--color-orange);
  padding-top: 20px;
}

.section-title .section-title__text-ja {
  display: block;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--color-gray-medium);
  padding-top: 32px;
}

@media screen and (max-width: 960px) {
  .section-title .section-title__text-ja {
    font-size: 24px;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  .section-title::before {
    top: -24px;
    height: 48px;
  }

  .section-title::after {
    width: 82vw;
  }

  .section-title.line-right::before {
    left: calc(18vw + 20px);
  }

  .section-title.line-left::before {
    right: calc(18vw + 20px);
  }

  .section-title .section-title__text-ja {
    padding-top: 24px;
    font-size: 18px;
  }

  .section-title.line-right .section-title__text-en,
  .section-title.line-right .section-title__text-ja {
    padding-left: calc(18vw + 32px);
  }

  .section-title.line-left .section-title__text-en,
  .section-title.line-left .section-title__text-ja {
    padding-right: calc(18vw + 32px);
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  .section-title {
    padding-bottom: 40px;
  }

  /*===========max-width:600px============*/
}

/*================
description
================*/
.description {
  display: block;
}

.description__text {
  text-align: left;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.8;
  font-family: var(--font-ibmplex);
}

@media screen and (max-width: 600px) {
  .description__text {
    line-height: initial;
  }

  /*===========max-width:600px============*/
}

/*================
circle-link
================*/
.property-circle {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 3;
}

.property-circle .property-circle__link {
  transition: all 0.3s ease;
}

.property-circle .property-circle__link:hover {
  transform: translateY(-5px);
}

.property-circle .property-circle__link .property-circle__image-wrapper {
  width: 105px;
  height: 105px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--color-orange);
}

.property-circle
  .property-circle__link
  .property-circle__image-wrapper
  .property-circle__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.property-circle .property-circle__link .property-circle__svg {
  position: absolute;
  top: 60%;
  left: 60%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  font-size: 14px;
  font-family: var(--font-tsukimi);
  font-weight: 600;
  color: var(--color-gray-dark);
}

.property-circle
  .property-circle__link
  .property-circle__svg.property-circle__svg-tab {
  display: none;
}

.property-circle
  .property-circle__link
  .property-circle__svg.property-circle__svg-sp {
  display: none;
}

.property-circle
  .property-circle__link
  .property-circle__svg
  .property-circle__text-en {
  font-family: var(--font-tsukimi);
  fill: var(--color-gray-dark);
  font-weight: 500;
}

.property-circle
  .property-circle__link
  .property-circle__svg
  .property-circle__text-ja {
  font-family: var(--font-ibmplex);
  fill: var(--color-gray-dark);
  font-weight: 300;
}

@media screen and (max-width: 1100px) {
  .property-circle .property-circle__link .property-circle__image-wrapper {
    width: 80px;
    height: 80px;
  }

  .property-circle .property-circle__link .property-circle__svg {
    font-size: 12px;
  }

  .property-circle
    .property-circle__link
    .property-circle__svg.property-circle__svg-pc {
    display: none;
  }

  .property-circle
    .property-circle__link
    .property-circle__svg.property-circle__svg-tab {
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  /*===========max-width:1100px============*/
}

/* sp版を使用する場合、tab版は消すこと　＋　以下も添付 */
/* .property-circle .property-circle__link .property-circle__svg {
		font-size: 8px;
	} */
@media screen and (max-width: 768px) {
  .property-circle
    .property-circle__link
    .property-circle__svg.property-circle__svg-sp {
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  /*===========max-width:768px============*/
}

/*================
cmn-map
================*/
.page-access {
  padding-bottom: 0;
}

.page-access .iframe-box iframe {
  width: 100%;
  height: 376px;
}

/*================
cmn-contact
================*/
.cmn-contact {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: rgba(105, 109, 118, 0.05);
}

.cmn-contact .cmn-contact__container {
  margin: 0 auto;
}

.cmn-contact .cmn-contact__info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
  padding-bottom: 96px;
}

.cmn-contact .cmn-contact__info .cmn-contact__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.cmn-contact .cmn-contact__info .cmn-contact__header .cmn-contact__title-en {
  font-family: var(--font-tsukimi);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.12em;
  padding-left: 1em;
}

.cmn-contact .cmn-contact__info .cmn-contact__header .cmn-contact__title-ja {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.3em;
}

.cmn-contact .cmn-contact__info .cmn-contact__description {
  font-family: var(--font-ibmplex);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.cmn-contact .cmn-contact__details {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
}

.cmn-contact
  .cmn-contact__details
  .cmn-contact__phone
  .cmn-contact__phone-number {
  display: block;
}

.cmn-contact
  .cmn-contact__details
  .cmn-contact__phone
  .cmn-contact__phone-number
  img {
  width: 285px;
  height: auto;
  padding-bottom: 28px;
}

.cmn-contact
  .cmn-contact__details
  .cmn-contact__phone
  .cmn-contact__phone-detail {
  width: 280px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .cmn-contact {
    padding: 64px 5.6%;
  }

  .cmn-contact .cmn-contact__info {
    flex-direction: column;
    gap: 24px;
    padding-bottom: 24px;
  }

  .cmn-contact .cmn-contact__details {
    flex-direction: column;
  }

  .cmn-contact
    .cmn-contact__details
    .cmn-contact__phone
    .cmn-contact__phone-number
    img {
    width: 240px;
  }

  .cmn-contact
    .cmn-contact__details
    .cmn-contact__phone
    .cmn-contact__phone-detail {
    margin: 0 auto;
    width: 200px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  .cmn-contact .cmn-contact__info {
    padding-bottom: 24px;
  }

  /*===========max-width:600px============*/
}

/*================
footer
================*/
.footer .footer__inner {
  width: 100%;
  background: var(--bg-footer);
  background-size: cover;
  background-position: center center;
  padding-top: 80px;
}

.footer .footer__inner .footer__content {
  margin: 0 auto;
  padding-left: 5.6%;
  padding-right: 5.6%;
  max-width: 1260px;
}

.footer .footer__inner .footer__content .footer__header {
  justify-content: center;
  gap: 120px;
  padding-bottom: 64px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner {
  gap: 20px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__link {
  gap: 24px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__link
  .footer__logo-image {
  width: 66px;
  height: auto;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__link
  .footer__logo-text
  .footer__logo-jp {
  font-family: var(--font-ibmplex);
  font-size: 14px;
  letter-spacing: 0.3em;
  font-weight: 500;
  color: #ff3c00;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__link
  .footer__logo-text
  .footer__logo-en,
.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__link
  .footer__logo-text
  .footer__logo-description {
  font-family: var(--font-ibmplex);
  font-size: 10px;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: #ff3c00;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__address {
  padding-left: 24px;
  font-style: normal;
  font-family: var(--font-ibmplex);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.2em;
  border-left: 0.5px solid var(--color-gray-medium);
  height: 37px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__address
  .footer__address-line {
  padding-bottom: 2px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__company-info
  .footer__company-info-inner
  .footer__address
  .footer__contact-info {
  display: flex;
  gap: 14px;
}

.footer .footer__inner .footer__content .footer__header .footer__social {
  gap: 20px;
}

.footer
  .footer__inner
  .footer__content
  .footer__header
  .footer__social
  a:hover {
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

.footer .footer__inner .footer__content .footer__header .footer__social a img {
  height: 18px;
  width: auto;
}

/* ナビゲーション */
.footer .footer__inner .footer__content .footer__nav {
  margin: 0 auto;
  padding-bottom: 64px;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: calc(20px + 1.5rem);
  list-style: none;
  padding-left: 0;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-item {
  font-family: var(--font-ibmplex);
  letter-spacing: 0.2em;
  font-size: 10px;
  font-weight: 600;
  position: relative;
}

.footer
  .footer__inner
  .footer__content
  .footer__nav
  .footer__nav-item
  .footer__nav-link:hover {
  color: var(--color-orange);
}

.footer
  .footer__inner
  .footer__content
  .footer__nav
  .footer__nav-item
  .footer__nav-link
  .footer__nav-owner {
  font-size: 9px;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-item::before {
  position: absolute;
  content: "●";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  left: -1.5em;
  color: #3e4347;
}

.footer
  .footer__inner
  .footer__content
  .footer__nav
  .footer__nav-wrap
  .footer__nav-item {
  padding-bottom: 32px;
}

.footer
  .footer__inner
  .footer__content
  .footer__nav
  .footer__nav-wrap
  .footer__nav-item:last-child {
  padding-bottom: 0;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-sub {
  padding-left: 0;
  padding-top: 12px;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-sub li {
  list-style: none;
  padding-bottom: 8px;
  transition: all 0.3s ease;
}

.footer .footer__inner .footer__content .footer__nav .footer__nav-sub li:hover {
  transform: translateX(5px);
  color: var(--color-orange);
}

.footer
  .footer__inner
  .footer__content
  .footer__nav
  .footer__nav-sub
  li::before {
  position: absolute;
  content: "-";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  left: -1.5em;
}

/* プライバシーポリシー */
.footer .footer__privacy {
  font-size: 12px;
  padding-bottom: 8px;
}

.footer .footer__privacy a:hover {
  opacity: 0.8;
}

/* コピーライト */
.footer .footer__copy {
  width: 100%;
  padding-bottom: 16px;
}

.footer .footer__copy small {
  display: block;
  text-align: center;
}

@media screen and (max-width: 1100px) {
  .footer .footer__inner .footer__content .footer__header {
    gap: 80px;
    padding-bottom: 40px;
  }

  .footer .footer__inner .footer__content .footer__nav .footer__nav-list {
    gap: 30px;
  }

  /*===========max-width:1100px============*/
}

@media screen and (max-width: 1024px) {
  .footer .footer__inner .footer__content {
    max-width: 840px;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner
    .footer__address {
    padding-left: calc(66px + 24px);
    border: none;
  }

  /*===========max-width:1024px============*/
}

@media screen and (max-width: 960px) {
  .footer .footer__inner {
    padding-top: 64px;
  }

  .footer .footer__inner .footer__content .footer__header {
    justify-content: center;
    gap: 40px;
  }

  .footer .footer__inner .footer__content .footer__nav {
    display: none;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 780px) {
  .footer .footer__inner .footer__content .footer__header {
    flex-direction: column;
    gap: 24px;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner {
    gap: 24px;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner
    .footer__link
    .footer__logo-image {
    width: 40px;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner
    .footer__address {
    padding-left: 0;
    width: 100%;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner
    .footer__address
    .footer__address-line {
    text-align: center;
    padding-bottom: 0;
  }

  .footer
    .footer__inner
    .footer__content
    .footer__header
    .footer__company-info
    .footer__company-info-inner
    .footer__address
    .footer__contact-info {
    justify-content: center;
  }

  /*===========max-width:780px============*/
}

/*================
Property__tab
================*/
.property-tab__list {
  width: 100%;
}

.property-tab__list .property-tab__tab-input {
  display: none;
}

.property-tab__list .property-tab__tabs {
  display: flex;
  gap: 24px;
  max-width: 928px;
  margin: 0 auto;
  padding-left: 48px;
}

.property-tab__list .property-tab__tabs .property-tab__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 272px;
  height: 64px;
  border-radius: 20px 20px 0 0;
  background-color: var(--color-blue-powder);
  font-family: var(--font-zenmaru);
  font-size: 24px;
  letter-spacing: 0.07em;
  text-indent: 0.07em;
  font-weight: 900;
  color: var(--color-blue-sky);
  cursor: pointer;
}

.property-tab__list .property-tab__tabs .property-tab__tab:nth-child(2) {
  background-color: var(--color-pink-lavender);
  color: var(--color-white);
}

/* コンテンツ */
.property-tab__list .property-tab__content {
  /* タブコンテンツの初期状態で非表示 */
  display: none;
  width: 100%;
  background-color: var(--color-blue-powder);
  padding-bottom: 72px;
}

.property-tab__list .property-tab__content.bg-pink-lavender {
  background-color: var(--color-pink-lavender);
}

.property-tab__list .property-tab__content .property-listing {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 64px;
  padding-bottom: 64px;
  padding-left: 5.6%;
  padding-right: 5.6%;
  gap: 32px;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item {
  max-width: 448px;
  width: 100%;
  height: auto;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__image-wrapper {
  position: relative;
  padding-bottom: 32px;
  max-width: 448px;
  width: 100%;
  height: 336px;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__image-wrapper
  .property-tab__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3%;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__image-wrapper
  .property-tab__category {
  position: absolute;
  top: 8px;
  right: 8px;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__image-wrapper
  .property-tab__category
  span {
  padding: 5px 16px;
  background-color: var(--color-blue-sky);
  color: var(--color-white);
  font-size: 12px;
  letter-spacing: 0.05em;
  border-radius: 5px;
}

.property-tab__list
  .property-tab__content.bg-pink-lavender
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__image-wrapper
  .property-tab__category
  span {
  background-color: var(--color-pink-lavender);
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__details
  .property-tab__name {
  font-size: 17px;
  letter-spacing: 0.1em;
  font-weight: 900;
  line-height: 1.5em;
  display: inline;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__details
  .property-tab__info {
  padding-top: 16px;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__details
  .property-tab__info
  span {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.property-tab__list
  .property-tab__content
  .property-listing
  .property-tab__item
  .property-tab__link
  .property-tab__details
  .property-tab__info
  span.property-tab__address {
  font-weight: 900;
}

@media screen and (max-width: 768px) {
  .property-tab__header {
    flex-direction: column;
    gap: 24px;
    padding-bottom: 32px;
    align-items: flex-end;
  }

  .property-tab__header .property-tab__search-box {
    text-align: right;
  }

  .property-tab__list .property-tab__tabs {
    gap: 8px;
    padding-left: 16px;
  }

  .property-tab__list .property-tab__tabs .property-tab__tab {
    width: 112px;
    height: 40px;
    font-size: 18px;
  }

  .property-tab__list .property-tab__content {
    padding-bottom: 40px;
  }

  .property-tab__list .property-tab__content .property-listing {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__image-wrapper {
    padding-bottom: 16px;
    height: auto;
  }

  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__image-wrapper
    .property-tab__image {
    height: auto;
  }

  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__details
    .property-tab__name {
    font-size: 1.5rem;
    padding-bottom: 8px;
  }

  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__details
    .property-tab__info {
    padding-top: 8px;
  }

  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__details
    .property-tab__info
    span {
    font-size: 1.4rem;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  .property-tab__list
    .property-tab__content
    .property-listing
    .property-tab__item
    .property-tab__link
    .property-tab__details
    .property-tab__info
    span {
    letter-spacing: initial;
  }

  /*===========max-width:600px============*/
}

/* ACF の数値入力で上下矢印を非表示にする  */
#editor .postbox > .postbox-header .handle-actions .handle-order-higher,
#editor .postbox > .postbox-header .handle-actions .handle-order-lower {
  display: none;
}
