@charset "UTF-8";
/*
 * Sass    : Dart sass
 * 命名規則 : BEM ベース
 *   [接頭辞]
 *   .-****  : Variant
 *   ._****  : Helpers
 *   .c-**** : 汎用コンポーネント
 *   .l-**** : レイアウト
 *   .f-**** : フォーム系コンポーネント
 */
@import url("https://use.fontawesome.com/releases/v5.15.1/css/all.css");
:root {
  --font-family-primary: 'Zen Maru Gothic', sans-serif;
  --font-weight-primary: 500;
  --font-weight-primary-bold: 700;
}

/**************************************************/
/* helpers */
/**************************************************/
._disp-ib {
  display: inline-block !important;
}

@media (max-width: 1121px) {
  ._view-cw-high {
    display: none !important;
  }
}
@media (min-width: 1122px) {
  ._view-cw-low {
    display: none !important;
  }
}
@media (max-width: 1439px) {
  ._view-xl-high {
    display: none !important;
  }
}
@media (min-width: 1440px) {
  ._view-xl-low {
    display: none !important;
  }
}
@media (max-width: 1121px) {
  ._view-lg-high {
    display: none !important;
  }
}
@media (min-width: 1122px) {
  ._view-lg-low {
    display: none !important;
  }
}
@media (max-width: 767px) {
  ._view-md-high {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._view-md-low {
    display: none !important;
  }
}
@media (max-width: 479px) {
  ._view-sm-high {
    display: none !important;
  }
}
@media (min-width: 480px) {
  ._view-sm-low {
    display: none !important;
  }
}
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

._float-l {
  float: left !important;
}

._float-r {
  float: right !important;
}

._clear {
  clear: both !important;
}

._hidden {
  display: none !important;
}

._disp-ib {
  display: inline-block !important;
}

._margin0 {
  margin: 0 !important;
}

._padding0 {
  padding: 0 !important;
}

._border0 {
  border: none !important;
}

._fixed {
  position: fixed !important;
}

._absolute {
  position: absolute !important;
}

._static {
  position: static !important;
}

._xsmall {
  font-size: 75% !important;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._xlarge {
  font-size: 133% !important;
}

._nowrap {
  white-space: nowrap !important;
}

._nobg {
  background: none !important;
}

._full {
  width: 100% !important;
}

[x-cloak] {
  display: none !important;
}

.u-slide-enter-active,
.u-slide-leave-active {
  transition: max-height 0.4s ease-out, opacity 0.4s ease-out, transform 0.4s ease-out;
  overflow: hidden;
}

.u-slide-enter-start,
.u-slide-leave-end {
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

.u-slide-enter-end,
.u-slide-leave-start {
  max-height: 500px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/**************************************************/
/* base */
/**************************************************/
:root {
  font-size: min(16px, 1.4272970562vw);
}
@media (max-width: 767px) {
  :root {
    font-size: 4.2666666667vw;
  }
}
:root {
  --header-height: calc(120px + 20px);
}
@media (max-width: 767px) {
  :root {
    --header-height: calc(64px + 10px);
  }
}

:root {
  --color-main: #2C69BA;
  --color-main-light: #F0F6FF;
  --color-main-accent-1: #78C8DC;
  --color-main-accent-2: #3F66CF;
  --color-main-accent-3: #5DA2FF;
  --color-sub: #E85A07;
  --color-sub-light: #FFEEE1;
  --color-sub-accent-1: #FFBC86;
  --color-text-primary: #333333;
  --color-border-primary: #BED9F1;
  --color-bg-primary: #ffffff;
  --gradient-main: linear-gradient(var(--gradient-degree), #368DFF 0%, #07428E 100%);
  --gradient-primary: linear-gradient(var(--gradient-degree), #7CDFF7 0%, #236FD5 100%);
  --gradient-degree: 135deg;
}

.fancybox__container:has(.p-favorites-modal) {
  --f-html-padding: 0;
  --f-html-margin: 3.75rem 0 2.5rem;
  --f-html-bg: transparent;
  --f-html-color: var(--color-text-primary);
  --fancybox-backdrop-bg: rgba(51, 51, 51, 0.5);
  --f-close-button-width: 3.125rem;
  --f-close-button-height: var(--f-close-button-width);
  --f-close-border-radius: 50%;
  --f-close-button-bg: var(--color-bg-primary);
  --f-close-button-hover-bg: var(--color-bg-primary);
  --f-close-button-active-bg: var(--color-bg-primary);
  --f-close-button-color: var(--color-main);
  --f-close-button-hover-color: var(--color-main);
  --f-close-button-svg-width: 1.875rem;
  --f-close-button-svg-height: var(--f-close-button-svg-width);
}
@media (max-width: 767px) {
  .fancybox__container:has(.p-favorites-modal) {
    --f-html-margin: 1.875rem 0 1.25rem;
    --f-close-button-width: 2rem;
    --f-close-button-svg-width: 1.375rem;
  }
}
@media (min-width: 768px) {
  .fancybox__container:has(.p-favorites-modal) .f-button.is-close-button {
    top: calc(var(--f-close-button-width) * -1);
    right: calc(var(--f-close-button-width) * -1);
  }
}
@media (max-width: 767px) {
  .fancybox__container:has(.p-favorites-modal) .f-button.is-close-button {
    top: calc((var(--f-close-button-width) + 8px) * -1);
  }
}
.fancybox__container:has(.p-favorites-modal) .f-button.is-close-button:hover {
  opacity: 1;
}

html {
  -webkit-font-smoothing: antialiased;
  scroll-padding-top: var(--header-height);
}

body {
  min-width: 320px;
  padding: 0;
  color: var(--color-text-primary);
  font-family: var(--font-family-primary);
  font-size: 1rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
}
body.-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

input,
textarea {
  font-size: 16px;
}

input,
textarea,
select,
button {
  font-family: var(--font-family-primary);
}

button,
input[type=button],
input[type=submit] {
  transition: opacity 0.15s ease-out;
}
button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #0068ac;
  text-decoration: underline;
  transition: opacity 0.15s ease-out;
}
a:hover {
  opacity: 0.7;
}
a:hover {
  text-decoration: none;
}

em {
  font-style: normal;
}

[x-cloak] {
  display: none !important;
}

a.-telink,
a.js-telink {
  cursor: default;
  opacity: 1 !important;
}

body._ios a:hover {
  opacity: 1;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Header */
/**************************************************/
.l-header {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-bg-primary);
  z-index: 100;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.05);
}
.l-header__inner {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1.5rem;
  box-sizing: border-box;
  min-height: 7.5rem;
  margin: 0 auto;
  padding-left: 2.5rem;
}
.l-header__logo {
  align-self: center;
  display: block;
  width: 14rem;
  margin: 0;
}
.l-header__logo a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.l-header__logo img {
  display: block;
  width: 100%;
}
.l-header__nav {
  display: block;
}
.l-header__meta {
  display: flex;
  align-items: stretch;
}
@media (max-width: 767px) {
  .l-header__inner {
    gap: 0;
    min-height: 4rem;
    padding-left: 1rem;
  }
  .l-header__logo {
    width: 9.875rem;
  }
  .l-header__nav {
    display: none;
  }
}

.l-hdr-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 6.25rem;
  padding: 0.25rem;
  border: none;
  border-left: 1px solid var(--color-border-primary);
  background-color: var(--color-bg-primary);
  color: inherit;
  font-size: 1rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
.l-hdr-button__icon {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0 auto;
  transition: transform 0.3s ease;
}
.l-hdr-button__label {
  display: block;
}
.l-hdr-button.-primary {
  position: relative;
  width: 8.75rem;
  margin-bottom: -1.25rem;
  border-left: none;
  border-radius: 0 0 0 0.5rem;
  background: var(--gradient-primary);
  color: #fff;
}
.l-hdr-button.-primary:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .l-hdr-button[data-hdrbtn=menu] {
    display: none;
  }
}
@media (max-width: 767px) {
  .l-hdr-button {
    min-width: 5rem;
    font-size: 0.8125rem;
  }
  .l-hdr-button__icon {
    width: 2rem;
    height: 2rem;
  }
  .l-hdr-button__bar {
    display: block;
    position: relative;
    width: 1.875rem;
    height: 0.125rem;
    margin: 1.1875rem auto;
    background: #fff;
  }
  .l-hdr-button__bar::before, .l-hdr-button__bar::after {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.125rem;
    background: #fff;
    content: "";
    transition: all 0.2s ease-out;
  }
  .l-hdr-button__bar::before {
    top: -0.5rem;
  }
  .l-hdr-button__bar::after {
    top: 0.5rem;
  }
  .l-hdr-button.is-open .l-hdr-button__bar {
    background-color: transparent;
  }
  .l-hdr-button.is-open .l-hdr-button__bar::before {
    top: 0;
    transform: rotate(45deg);
  }
  .l-hdr-button.is-open .l-hdr-button__bar::after {
    top: 0;
    transform: rotate(-45deg);
  }
  .l-hdr-button.-primary {
    width: 5rem;
    margin-bottom: -1rem;
  }
  .l-hdr-button.-primary .l-hdr-button__label {
    font-size: 0.9375rem;
  }
  .l-hdr-button[data-hdrbtn=reserve] {
    display: none;
  }
  .l-hdr-button[data-hdrbtn=contact] {
    display: none;
  }
}

.l-gnav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  box-sizing: border-box;
  height: 100%;
  margin: 0 auto;
  padding: 0;
}
.l-gnav > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 100%;
  font-size: 1.125rem;
  text-align: center;
}
.l-gnav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
}
.l-gnav__btn:hover, .l-gnav__btn.-current {
  color: var(--color-main);
  opacity: 1;
}
.l-gnav__secondary {
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  width: 100%;
  padding: 1.5rem;
  background: #EFF6FF;
}
.l-gnav__secondary-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
}
.l-gnav__secondary-list > li {
  display: block;
  position: relative;
  padding-left: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
.l-gnav__secondary-list > li::before {
  position: absolute;
  top: calc(0.8em - 0.25rem);
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(126.3deg, #78C8DC 0%, #236FD5 100%);
  content: "";
}
.l-gnav__secondary-list > li > a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.l-gnav__secondary-list > li > a:hover {
  color: var(--color-main);
  opacity: 1;
}
.l-gnav > li.is-open .l-gnav__btn {
  color: var(--color-main);
}
@media (max-width: 767px) {
  .l-gnav {
    display: none;
  }
}

.l-spnav {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 99;
}
.l-spnav__container {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 6rem 0 1rem;
  background-color: #FFF;
  box-shadow: 0px 0px 32px 0px rgba(44, 105, 186, 0.32);
  overflow-y: auto;
  position: fixed;
  overflow-x: hidden;
}
.l-spnav__nav {
  border-radius: 0 0 1rem 1rem;
  box-shadow: 0 1rem 1.5rem -0.75rem rgba(44, 105, 186, 0.32);
}
.l-spnav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-spnav__item {
  border-bottom: 1px solid #E2E2E2;
  margin: 0 1rem;
}
.l-spnav__item:last-child {
  border-bottom: none;
}
.l-spnav__link {
  display: block;
  position: relative;
  padding: 2.0625rem 0;
  color: #000;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
}
.l-spnav__link::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.5rem;
  height: 1rem;
  background-image: url(../img/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  transform: translateY(-50%);
}
.-down .l-spnav__link::after {
  transform: translateY(-50%) rotate(90deg);
}
.l-spnav__sub-list {
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #EFF6FF;
}
.l-spnav__sub-item {
  padding: 0 1rem;
  border-bottom: 1px solid #E2E2E2;
}
.l-spnav__sub-item:first-child {
  border-top: 1px solid #E2E2E2;
}
.l-spnav__sub-link {
  display: block;
  position: relative;
  padding: 1.25rem 0 1.25rem 0.375rem;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
}
.l-spnav__sub-link::before {
  display: block;
  position: absolute;
  top: 50%;
  left: -0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-main-accent-1) 0%, var(--color-main) 100%);
  content: "";
  transform: translateY(-50%);
}
.l-spnav__cards {
  display: grid;
  padding: 2.5rem 0;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.l-spnav__card {
  display: block;
  border: 1px solid #2C69BA;
  border-radius: 8px;
  background: #FFF;
  text-decoration: none;
  box-shadow: 4px 4px 0px 0px rgba(44, 105, 186, 0.64);
  overflow: hidden;
}
.l-spnav__card-img img {
  display: block;
  width: 100%;
}
.l-spnav__card-body {
  padding: 0.625rem 0.5rem;
}
.l-spnav__card-tag {
  display: inline-block;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 2px;
  background: linear-gradient(135deg, #368DFF 2%, #07428E 100%);
  color: #FFF;
  font-size: 0.8125rem;
}
.l-spnav__card-title {
  margin: 0 0 0.625rem;
  color: #2C69BA;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.l-spnav__card-link {
  position: relative;
  padding-right: 1rem;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
}
.l-spnav__card-link::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.375rem;
  height: 0.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L1 11' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  transform: translateY(-50%);
}
.l-spnav__sub-nav {
  margin: 1rem -1rem;
  padding: 0 1rem;
  background-color: #fff;
}
.l-spnav__sub-nav .l-spnav__item:first-child {
  border-top: none;
}
.l-spnav__sub-nav .l-spnav__link {
  padding: 1.5rem 0;
  color: #000;
  font-size: 1rem;
}
.l-spnav__sub-nav .l-spnav__link::after {
  width: 0.25rem;
  height: 0.5rem;
  background-image: url(../img/icon-arrow-right.svg);
}
.l-spnav .p-episode-footer {
  background-image: none;
  background-color: #fff;
  padding-top: 0;
}
.l-spnav .l-footer {
  padding-top: 0;
}
.l-spnav__footer {
  max-width: 64rem;
  margin: 0 auto;
}
.l-spnav__cta {
  display: flex;
  gap: 1.5rem;
}
.l-spnav__cta-item {
  width: 50%;
}
.l-spnav__company {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 4rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #CCCCCC;
}
.l-spnav__company-logo {
  flex: 0 0 auto;
  width: 18.75rem;
}
.l-spnav__company-logo img {
  display: block;
  width: 100%;
}
.l-spnav__info {
  display: block;
  margin-top: 2.5rem;
}
.l-spnav__nav {
  display: block;
}
.l-spnav__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
.l-spnav__copyright {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.l-spnav__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
.l-spnav__sns-item {
  display: block;
  width: 2.25rem;
  height: auto;
  color: inherit;
}
.l-spnav__sns-item img, .l-spnav__sns-item svg {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .l-spnav__footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .l-spnav__cta {
    display: flex;
    flex-direction: column;
  }
  .l-spnav__cta-item {
    width: 100%;
  }
  .l-spnav__company {
    justify-content: center;
    padding-bottom: 2rem;
  }
  .l-spnav__info {
    margin-top: 2rem;
  }
  .l-spnav__meta {
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    margin-top: 0;
  }
  .l-spnav__copyright {
    font-size: 0.875rem;
    text-align: center;
  }
}

/**************************************************/
/* Footer */
/**************************************************/
.l-footer {
  position: relative;
  padding: 5rem 0 2.5rem;
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
}
.l-footer__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.l-footer__cta {
  display: flex;
  gap: 1.5rem;
}
.l-footer__cta-item {
  width: 50%;
}
.l-footer__upper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 4rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #CCCCCC;
}
.l-footer__logo {
  flex: 0 0 auto;
  width: 18.75rem;
}
.l-footer__logo img {
  display: block;
  width: 100%;
}
.l-footer__lower {
  display: block;
  margin-top: 2.5rem;
}
.l-footer__nav {
  display: block;
}
.l-footer__utility {
  display: block;
}
.l-footer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
.l-footer__copyright {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
.l-footer__sns-item {
  display: block;
  width: 2.25rem;
  height: auto;
  color: inherit;
}
.l-footer__sns-item img, .l-footer__sns-item svg {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .l-footer__utility, .l-footer__nav {
    display: none;
  }
  .l-footer__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .l-footer__cta {
    display: flex;
    flex-direction: column;
  }
  .l-footer__cta-item {
    width: 100%;
  }
  .l-footer__upper {
    justify-content: center;
    padding-bottom: 2rem;
  }
  .l-footer__lower {
    margin-top: 2rem;
  }
  .l-footer__meta {
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    margin-top: 0;
  }
  .l-footer__copyright {
    font-size: 0.875rem;
    text-align: center;
  }
}

.l-fnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.l-fnav > li {
  display: block;
  font-size: 1.125rem;
}
.l-fnav > li a {
  color: inherit;
  text-decoration: none;
}

.l-ftr-utility {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.l-ftr-utility > li {
  display: block;
}
.l-ftr-utility > li a {
  color: inherit;
  text-decoration: none;
}

.l-ftr-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  padding: 1.5rem 0.5rem;
  border: none;
  border-radius: 0.5rem;
  background: var(--gradient-main);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
.l-ftr-button__icon {
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  transition: transform 0.3s ease;
}
.l-ftr-button__label {
  display: block;
}
.l-ftr-button.-inquiry {
  background: var(--gradient-primary);
}
@media (max-width: 767px) {
  .l-ftr-button {
    min-width: 5rem;
    font-size: 1.125rem;
  }
  .l-ftr-button__icon {
    width: 2.75rem;
    height: 2.75rem;
  }
}

/**************************************************/
/* column */
/**************************************************/
.l-page-container {
  position: relative;
  padding-top: 7.5rem;
}
@media (max-width: 767px) {
  .l-page-container {
    padding-top: 4rem;
  }
}

.l-breadcrumb {
  position: relative;
  padding: 1rem 0;
  background: var(--color-main-light);
}
.l-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.125rem 0.625rem;
  list-style: none;
  max-width: 64rem;
  margin: 0 auto;
  padding: 0;
}
.l-breadcrumb__list > li {
  display: block;
  position: relative;
  font-size: 0.875rem;
  line-height: 1.25;
}
.l-breadcrumb__list > li + li {
  padding-left: 1.25rem;
}
.l-breadcrumb__list > li + li::after {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 0;
  line-height: 1;
  content: "＞";
}
.l-breadcrumb__list a {
  display: block;
}
@media (max-width: 767px) {
  .l-breadcrumb__list {
    padding: 0 1rem;
  }
  .l-breadcrumb__list > li {
    font-size: 0.75rem;
  }
}

.l-pagehdr {
  position: relative;
  padding: 4rem 0 5rem;
}
@media (max-width: 767px) {
  .l-pagehdr {
    padding: 2.5rem 1rem 3rem;
  }
}
.l-pagehdr__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.l-pagehdr__title {
  margin: 0;
  color: var(--color-main);
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .l-pagehdr__title {
    font-size: 1.75rem;
  }
}
.l-pagehdr__lead {
  margin: 1.5rem 0 0;
  font-size: 1.25rem;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .l-pagehdr__lead {
    font-size: 1rem;
    margin: 1em 0 0;
  }
}

.l-white-box {
  border-radius: 4rem;
  background: var(--color-bg-primary);
  box-shadow: 0 0 5rem rgba(44, 105, 186, 0.32);
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .l-white-box {
    border-radius: 1rem;
    box-shadow: 0 0 2.5rem rgba(44, 105, 186, 0.32);
    padding: 0 1rem;
  }
}
.l-white-box__inner {
  max-width: 64rem;
  margin: 0 auto;
  padding: 7.5rem 0;
}
@media (max-width: 767px) {
  .l-white-box__inner {
    padding: 2rem 0;
  }
}

/**************************************************/
/* sidebar */
/**************************************************/
.l-sidebar-block {
  background-color: #f0f6ff;
  padding: 2rem 1.5rem;
  border-radius: 0.5rem;
}
.l-sidebar-block > *:first-child {
  margin-top: 0 !important;
}

.l-sidebar-category {
  margin-top: 1.5rem;
}
.l-sidebar-category__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
}
.l-sidebar-category__list {
  list-style: none;
  margin: 1rem 0 0;
  padding: 1rem 1.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
}
.l-sidebar-category__item {
  display: block;
}
.l-sidebar-category__item + .l-sidebar-category__item {
  border-top: 1px solid rgba(121, 169, 233, 0.3);
}
.l-sidebar-category__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  padding: 1rem 1.5rem 1rem 0;
  text-decoration: none;
  color: #000;
  cursor: pointer;
}
.l-sidebar-category__link::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 0.375rem);
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--color-main);
  -webkit-mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
}
.l-sidebar-category__icon {
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
}
.l-sidebar-category__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.l-sidebar-category__name {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.l-sidebar-category__name:hover {
  text-decoration: underline;
}
.l-sidebar-category__sub {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.l-sidebar-category__sub-item {
  display: block;
  padding-left: 4.5rem;
  border-top: 1px dashed rgba(121, 169, 233, 0.3);
}
.l-sidebar-category__sub-item a {
  text-decoration: none;
  color: #666;
  font-size: 1rem;
  position: relative;
  padding: 0.75rem 0;
  display: block;
}
.l-sidebar-category__sub-item a:hover {
  text-decoration: underline;
}

.l-sidebar-archive {
  margin-top: 1.5rem;
}
.l-sidebar-archive__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
}
.l-sidebar-archive__box {
  position: relative;
  margin-top: 1rem;
}
.l-sidebar-archive__box::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.75rem;
  top: calc(50% - 0.25rem);
  width: 0.75rem;
  height: 0.75rem;
  background: #2c69ba;
  -webkit-mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
}
.l-sidebar-archive__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 0.75rem 3rem 0.75rem 1rem;
  background-color: #fff;
  border-radius: 0.5rem;
  text-decoration: none;
  color: #333;
}

.l-sidebar-search {
  margin-top: 1.5rem;
}
.l-sidebar-search__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
}
.l-sidebar-search__box {
  display: flex;
  margin-top: 1rem;
  padding: 0.25rem;
  background-color: #fff;
  border-radius: 0.5rem;
}
.l-sidebar-search__input {
  flex-grow: 1;
  border: none;
  padding: 0.75rem 0.5rem;
  background: transparent;
}
.l-sidebar-search__input::-moz-placeholder {
  color: #333;
}
.l-sidebar-search__input::placeholder {
  color: #333;
}
.l-sidebar-search__submit {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.l-sidebar-search__submit img {
  display: block;
}

/**************************************************/
/* components */
/**************************************************/
/**************************************************/
/* components - basic */
/**************************************************/
.c-button-a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  min-height: 5rem;
  padding: 0.5rem 3rem;
  border: 1px solid #2c69ba;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #2c69ba;
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  box-shadow: 0.25rem 0.25rem 0 0 #5da2ff;
  transition: all 0.3s;
  gap: 0.5rem;
}
.c-button-a::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.5625rem);
  right: 2rem;
  width: 0.75rem;
  height: 1.125rem;
  background: var(--color-main-accent-1);
  content: "";
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
}
.c-button-a.-primary {
  border: none;
  background: var(--gradient-main);
  color: #fff;
}
.c-button-a.-primary::after {
  background: #fff;
}
@media (max-width: 767px) {
  .c-button-a {
    min-height: 4rem;
    font-size: 1rem;
  }
}

button.c-button-a {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
}

.c-button-b {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  min-height: 5rem;
  padding: 0.5rem 3rem;
  border: 1px solid #e85a07;
  border-radius: 5rem;
  background-color: #fff;
  color: #e85a07;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0.25rem 0.25rem 0 0 #ffbc86;
  transition: background-color 0.3s, color 0.3s;
}
.c-button-b::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.5625rem);
  right: 1.5rem;
  width: 0.75rem;
  height: 1.125rem;
  background: #e85a07;
  content: "";
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
}
@media (max-width: 767px) {
  .c-button-b {
    min-height: 4rem;
    font-size: 1rem;
  }
}

.c-link-more {
  display: inline-block;
  color: var(--color-main);
  font-size: 1.125rem;
  text-decoration: none;
  padding-left: 1.25rem;
  position: relative;
}
@media (max-width: 767px) {
  .c-link-more {
    font-size: 1rem;
  }
}
.c-link-more::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.5rem;
  width: 0.75rem;
  height: 1.125rem;
  background: var(--color-main-accent-1);
  -webkit-mask: url("../img/icon-arrow-left.svg") no-repeat center/contain;
          mask: url("../img/icon-arrow-left.svg") no-repeat center/contain;
  content: "";
}

.p-episode-banner__body {
  display: grid;
}
@media (min-width: 768px) {
  .p-episode-banner__body {
    place-items: center;
  }
}
@media (max-width: 767px) {
  .p-episode-banner__body {
    align-items: center;
    padding: 0.3125rem 1rem;
  }
}
.p-episode-banner__lead {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-accent);
  margin: 0;
}
@media (max-width: 767px) {
  .p-episode-banner__lead {
    font-size: 1.125rem;
  }
}
.p-episode-banner__label {
  display: inline-block;
  line-height: 1;
  border-radius: 0.125rem;
  color: var(--color-bg-primary);
  font-size: 1.125rem;
  background: var(--gradient-main);
  padding: 0.1875rem 0.4375rem 0.3125rem;
}
@media (max-width: 767px) {
  .p-episode-banner__label {
    font-size: 0.875rem;
  }
}
.p-episode-banner__highlight + .p-episode-banner__lead {
  margin-top: 0.3125rem;
}
.p-episode-banner__more {
  margin-top: 0.1875rem;
}
@media (max-width: 767px) {
  .p-episode-banner__more {
    margin-top: 0;
  }
}
.p-episode-banner__more-text {
  display: inline-block;
  color: #000;
  font-size: 1.125rem;
  text-decoration: none;
  position: relative;
}
@media (max-width: 767px) {
  .p-episode-banner__more-text {
    font-size: 0.875rem;
  }
}
.p-episode-banner__more-text::after {
  display: inline-block;
  margin-left: 0.5rem;
  width: 0.5rem;
  height: 0.8125rem;
  background: #000;
  -webkit-mask: url("../img/icon-arrow-right.svg") no-repeat center/contain;
          mask: url("../img/icon-arrow-right.svg") no-repeat center/contain;
  content: "";
}
.p-episode-banner__link {
  text-decoration: none;
  background-color: var(--color-bg-primary);
  outline: 1px solid var(--color-accent, var(--color-main));
  border-radius: 0.5rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 12.4375rem;
  box-shadow: 0.25rem 0.25rem 0 var(--color-shadow, rgba(44, 105, 186, 0.64));
}
@media (max-width: 767px) {
  .p-episode-banner__link {
    grid-template-columns: 1fr 7.25rem;
  }
}
.p-episode-banner__image img {
  display: block;
  width: 100%;
}
.p-episode-banner.-orange {
  --color-accent: var(--color-sub);
  --color-shadow: #FFBC86;
}

.c-facility-sitemap {
  display: flex;
  padding: 5rem;
  border: 1px solid #2c69ba;
  border-radius: 1rem;
  background-color: #fff;
  box-shadow: 0 0 5rem rgba(44, 105, 186, 0.16);
  gap: 2.5rem;
}
.c-facility-sitemap__all {
  flex-shrink: 0;
  position: relative;
  width: 15rem;
}
.c-facility-sitemap__title {
  margin: 0;
  color: #2c69ba;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
.c-facility-sitemap__more {
  margin: 0.75rem 0 0;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
}
.c-facility-sitemap__more-link {
  display: inline-block;
  position: relative;
  padding-right: 1.5rem;
  color: #333;
  text-decoration: none;
}
.c-facility-sitemap__more-link::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.5625rem);
  right: 0;
  width: 0.75rem;
  height: 1.125rem;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
}
.c-facility-sitemap__image {
  max-width: 14.375rem;
  margin: 1.875rem 0 0;
}
.c-facility-sitemap__regions {
  display: grid;
  flex-grow: 1;
  grid-template-columns: 1fr;
  gap: 2.5rem 1.875rem;
}
.c-facility-sitemap__region {
  display: grid;
  flex-grow: 1;
  grid-template-columns: auto 1fr;
  gap: 2.5rem 1.875rem;
}
.c-facility-sitemap__region-title {
  margin: 0;
  color: #2c69ba;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
}
.c-facility-sitemap__prefectures {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.c-facility-sitemap__prefecture {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
}
.c-facility-sitemap__prefecture-title {
  flex: 0 0 auto;
  margin: 0;
  font-size: 1rem;
  font-weight: var(--font-weight-primary);
}
.c-facility-sitemap__prefecture-title a {
  color: #333;
  text-decoration: none;
}
.c-facility-sitemap__prefecture-title a:hover {
  text-decoration: underline;
}
.c-facility-sitemap__cities {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  list-style: none;
  gap: 0.5rem 1rem;
}
.c-facility-sitemap__cities a {
  color: #333;
  text-decoration: none;
}
.c-facility-sitemap__cities a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .c-facility-sitemap {
    display: block;
    padding: 2.5rem 2.5rem;
  }
  .c-facility-sitemap__title {
    font-size: 1.5rem;
  }
  .c-facility-sitemap__more {
    position: relative;
    margin: 0.75rem 0 0;
    font-size: 1rem;
    z-index: 2;
  }
  .c-facility-sitemap__image {
    margin: -1.5rem 0 0 auto;
  }
  .c-facility-sitemap__regions {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    margin-top: 0;
  }
  .c-facility-sitemap__region {
    display: block;
  }
  .c-facility-sitemap__prefectures {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin-top: 0.5rem;
  }
  .c-facility-sitemap__prefecture {
    display: block;
  }
  .c-facility-sitemap__prefecture-title {
    margin: 0;
  }
  .c-facility-sitemap__cities {
    display: none;
  }
}

.swal2-popup.p-swal-popup {
  padding: 4rem 5rem 4.625rem !important;
  border-radius: 2rem !important;
  background: var(--color-bg-primary) !important;
  box-shadow: 0 0 5rem rgba(51, 51, 51, 0.32) !important;
  font-family: var(--font-family-primary) !important;
  overflow: visible !important;
  border: none !important;
  width: 50rem !important;
  max-width: 90% !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup {
    padding: 2rem 1.25rem 2.5rem !important;
    border-radius: 1rem !important;
    width: 90% !important;
  }
}
.swal2-popup.p-swal-popup .swal2-title {
  color: var(--color-main) !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup .swal2-title {
    font-size: 1.5rem !important;
  }
}
.swal2-popup.p-swal-popup .swal2-html-container {
  font-size: 1.25rem !important;
  line-height: 2 !important;
  color: var(--color-text-primary) !important;
  margin: 0.75rem 0 0 !important;
  padding: 0 !important;
  font-weight: 500 !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup .swal2-html-container {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    margin-top: 0.5rem !important;
  }
}
.swal2-popup.p-swal-popup .swal2-actions {
  margin: 2.125rem 0 0 !important;
  gap: 1rem !important;
  display: flex;
  justify-content: center !important;
  width: 100% !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup .swal2-actions {
    margin-top: 1.5rem !important;
    flex-direction: column;
    width: 100%;
  }
}
.swal2-popup.p-swal-popup .swal2-confirm, .swal2-popup.p-swal-popup .swal2-deny, .swal2-popup.p-swal-popup .swal2-cancel {
  height: 3.75rem !important;
  min-width: 12.5rem !important;
  border-radius: 0.25rem !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  transition: opacity 0.2s !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-shadow: 0 0.25rem 0.25rem 0 rgba(44, 105, 186, 0.16) !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup .swal2-confirm, .swal2-popup.p-swal-popup .swal2-deny, .swal2-popup.p-swal-popup .swal2-cancel {
    height: 3.25rem !important;
    width: 100% !important;
    min-width: auto !important;
    font-size: 1rem !important;
  }
}
.swal2-popup.p-swal-popup .swal2-confirm:hover, .swal2-popup.p-swal-popup .swal2-deny:hover, .swal2-popup.p-swal-popup .swal2-cancel:hover {
  opacity: 0.8 !important;
}
.swal2-popup.p-swal-popup .swal2-confirm {
  background: var(--gradient-main) !important;
  color: #fff !important;
  border: none !important;
  outline: none !important;
}
.swal2-popup.p-swal-popup .swal2-cancel, .swal2-popup.p-swal-popup .swal2-deny {
  background: #fff !important;
  color: var(--color-main) !important;
  border: 1px solid var(--color-main) !important;
  outline: none !important;
}
.swal2-popup.p-swal-popup .swal2-close {
  position: absolute !important;
  top: -3.125rem !important;
  right: -3.125rem !important;
  width: 3.125rem !important;
  height: 3.125rem !important;
  background: #fff !important;
  color: var(--color-main) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1) !important;
  font-size: 1.875rem !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s, color 0.2s !important;
  outline: none !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
  .swal2-popup.p-swal-popup .swal2-close {
    top: -2.5rem !important;
    right: 0 !important;
    width: 2rem !important;
    height: 2rem !important;
    font-size: 1.25rem !important;
  }
}
.swal2-popup.p-swal-popup .swal2-close:hover {
  background-color: var(--color-main) !important;
  color: #fff !important;
}
.swal2-popup.p-swal-popup .swal2-close:focus {
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1) !important;
}
.swal2-popup.p-swal-popup .swal2-icon {
  display: none !important;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Home */
/**************************************************/
.p-home-bg {
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home-mv {
  position: relative;
  padding: 0 0 5rem;
  overflow: hidden;
}

.p-home-hero {
  box-sizing: border-box;
  position: relative;
  max-width: 90rem;
  margin: auto;
  padding: 5rem 0 2.5rem 5rem;
}
.p-home-hero__slider {
  --swiper-pagination-bottom: 7rem;
  --swiper-pagination-bullet-horizontal-gap: 0.5rem;
  --swiper-pagination-color: #fff;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: .5;
  position: relative;
  z-index: 0;
}
.p-home-hero__slider::before {
  display: block;
  position: absolute;
  bottom: -2.5rem;
  left: -2.5rem;
  width: 100%;
  height: 100%;
  background: linear-gradient(205deg, rgba(177, 204, 246, 0) 50%, #b1ccf6 100%);
  border-radius: 1rem;
  content: "";
  z-index: -1;
}
.p-home-hero__content {
  position: absolute;
  top: 13.7142857143%;
  left: 5.8823529412%;
  z-index: 1;
  color: var(--color, #fff);
  filter: drop-shadow(0 0 1rem var(--shadow-color, #000000));
}
.p-home-hero__card {
  --color: #fff;
  --link-color: #fff;
  --shadow-color: rgba(0, 0, 0, 0.25);
  display: block;
  position: relative;
}
.p-home-hero__card.-white {
  --color: #333333;
  --link-color: #0068ac;
  --shadow-color: #fff;
}
.p-home-hero__title {
  margin: 0;
  font-size: min(3.375rem, 3.515625vw);
  font-weight: var(--font-weight-primary);
  line-height: 1.25;
}
.p-home-hero__lead {
  margin: 1rem 0 0;
  font-size: min(1.5rem, 1.8229166667vw);
  line-height: 1.75;
}
.p-home-hero__more {
  margin: 1rem 0 0;
  font-size: 1.125rem;
}
.p-home-hero__more-link {
  display: inline-block;
  position: relative;
  padding-right: 1.75rem;
  color: var(--link-color, #fff);
  text-decoration: none;
}
.p-home-hero__more-link::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.625rem);
  right: 0;
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  content: "";
  -webkit-mask: url(../../images/home/mv_arrow.svg) no-repeat center/contain;
          mask: url(../../images/home/mv_arrow.svg) no-repeat center/contain;
}
.p-home-hero__bg {
  display: block;
  position: relative;
  z-index: 0;
}
.p-home-hero__bg img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1360/700;
  overflow: hidden;
}
.p-home-hero__controller {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  position: absolute;
  bottom: var(--swiper-pagination-bottom);
  left: 5rem;
  right: 5rem;
  max-width: 64rem;
  margin: auto;
}
.p-home-hero__autoplay {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 0;
  border: none;
  background: transparent;
  z-index: 11;
}
.p-home-hero__autoplay-icon {
  display: block;
  position: relative;
  width: 1rem;
  height: 1rem;
}
.p-home-hero__autoplay-icon::before, .p-home-hero__autoplay-icon::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.375rem);
  width: 0.125rem;
  height: 0.75rem;
  background: #fff;
  content: "";
}
.p-home-hero__autoplay-icon::before {
  left: calc(50% - 0.25rem);
}
.p-home-hero__autoplay-icon::after {
  left: calc(50% + 0.125rem);
}
.p-home-hero__autoplay.is-stop .p-home-hero__autoplay-icon::before {
  display: none;
}
.p-home-hero__autoplay.is-stop .p-home-hero__autoplay-icon::after {
  top: calc(50% - 0.375rem);
  left: calc(50% - 0.1875rem);
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 0.375rem 0 0.375rem 0.625rem;
  border-left-color: #fff;
  background: transparent;
}
.p-home-hero .swiper-pagination {
  position: static;
  bottom: auto;
  width: auto;
  line-height: 0;
}
.p-home-hero .swiper-pagination-bullet {
  vertical-align: middle;
}
.p-home-hero .swiper-pagination-bullet-active {
  transform: scale(1.5);
}
@media (max-width: 1439px) {
  .p-home-hero__bg img {
    border-radius: 1rem 0 0 1rem;
  }
}
@media (max-width: 767px) {
  .p-home-hero {
    padding: 2.5rem 0 2.5rem 1rem;
  }
  .p-home-hero__slider {
    --swiper-pagination-bottom: 3.5rem;
  }
  .p-home-hero__controller {
    left: 1.5rem;
    right: 1.5rem;
  }
  .p-home-hero__content {
    top: 2rem;
    left: 1.5rem;
    filter: drop-shadow(0.125rem 0.125rem 0.125rem var(--shadow-color));
  }
  .p-home-hero__title {
    font-size: 1.5rem;
  }
  .p-home-hero__lead {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
  }
  .p-home-hero__more {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
  }
  .p-home-hero__bg img {
    aspect-ratio: 359/434;
  }
}

.p-home-hub {
  box-sizing: border-box;
  position: relative;
  max-width: 90rem;
  margin: -8rem auto 0;
  padding-left: 8rem;
  z-index: 2;
}
.p-home-hub__inner {
  position: relative;
  padding: 2rem 2.5rem;
  z-index: 0;
}
.p-home-hub__inner::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  border-radius: 1rem 0 0 1rem;
  background-color: #fff;
  box-shadow: 0 0 2rem rgba(44, 105, 186, 0.32);
  content: "";
  z-index: -1;
}
.p-home-hub__box {
  display: flex;
  justify-content: space-between;
  max-width: 64rem;
  padding: 2.5rem;
  border-radius: 1rem 0 0 1rem;
  background: linear-gradient(90deg, #eff6ff 0%, #ffffff 100%);
}
.p-home-hub__reserve {
  width: 9.375rem;
}
.p-home-hub__reserve-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  box-sizing: border-box;
  height: 100%;
  min-height: 9.125rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #368dff 2%, #07428e 100%);
  color: white;
  text-decoration: none;
  text-align: center;
}
.p-home-hub__reserve-icon {
  width: 2.75rem;
  height: 2.75rem;
}
.p-home-hub__reserve-text {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
}
.p-home-hub__search {
  flex-grow: 1;
  padding-left: 2.5rem;
}
.p-home-hub__search-title {
  margin: 0;
  color: #2c69ba;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.25;
}
.p-home-hub__search-box {
  display: flex;
  margin: 0.75rem 0 0;
  gap: 1rem;
}
.p-home-hub__keyword {
  flex: 1 1 auto;
  display: block;
  box-sizing: border-box;
  position: relative;
}
.p-home-hub__keyword-input {
  border: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1rem 3.5rem 1rem 1rem;
  border: 1px solid #afafaf;
  border-radius: 0.5rem;
  background: white;
  line-height: 1.5rem;
  font-size: 100%;
}
.p-home-hub__keyword-submit {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  position: absolute;
  top: calc(50% - 1.125rem);
  right: 0.75rem;
  padding: 0;
  border: none;
  background: none;
  color: white;
  cursor: pointer;
}
.p-home-hub__keyword-icon {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
}
.p-home-hub__area {
  align-self: center;
  flex: 0 0 auto;
  position: relative;
  width: 15rem;
}
.p-home-hub__area::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.375rem);
  right: 1rem;
  width: 1.125rem;
  height: 0.75rem;
  background: var(--color-main);
  content: "";
  -webkit-mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
}
.p-home-hub__area-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  padding: 1rem 1rem;
  border: 1px solid #333333;
  border-radius: 0.5rem;
  background: white;
  color: #333333;
  text-decoration: none;
  line-height: 1.5rem;
  text-align: center;
}
.p-home-hub__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 1rem 0 0;
}
.p-home-hub__tag-link {
  padding: 0.3125rem 1.5rem 0.25rem;
  border: 1px solid #2c69ba;
  border-radius: 1.875rem;
  background-color: #fff;
  color: #2c69ba;
  font-size: 1.125rem;
  text-decoration: none;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-home-hub {
    margin-top: -5rem;
    padding-left: 0;
  }
  .p-home-hub__inner {
    padding: 1rem;
  }
  .p-home-hub__box {
    flex-direction: column;
    padding: 1rem;
  }
  .p-home-hub__reserve {
    width: 100%;
  }
  .p-home-hub__reserve-link {
    flex-direction: row;
    height: auto;
    min-height: 5rem;
    border-radius: 0.5rem;
  }
  .p-home-hub__search {
    margin-top: 1.5rem;
    padding-left: 0;
  }
  .p-home-hub__search-title {
    font-size: 1.125rem;
  }
  .p-home-hub__search-box {
    display: flex;
    flex-direction: column;
    margin-top: 0.5rem;
    gap: 1rem;
  }
  .p-home-hub__area {
    width: 100%;
  }
  .p-home-hub__tags {
    gap: 0.5rem;
  }
  .p-home-hub__tag-link {
    padding: 0.3125rem 1rem 0.25rem;
    font-size: 0.8125rem;
  }
}

.p-home-news {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 64rem;
  margin-top: 1.5rem;
  padding: 0 2.5rem;
}
.p-home-news__content {
  display: flex;
  align-items: center;
  gap: 0.5rem 1rem;
}
.p-home-news__title {
  flex: 0 0 auto;
  display: block;
  position: relative;
  margin: 0;
  padding-left: 2rem;
  color: #3f66cf;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
}
.p-home-news__title::before {
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 0.75rem);
  width: 1.5rem;
  height: 1.5rem;
  background: url(../../images/home/icon-announcement.svg) no-repeat center/contain;
  content: "";
}
.p-home-news__text {
  display: block;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5;
}
.p-home-news__link {
  color: #666666;
}
@media (max-width: 767px) {
  .p-home-news {
    margin-top: 1rem;
    padding: 0 1rem;
  }
  .p-home-news__content {
    flex-direction: column;
    align-items: stretch;
  }
  .p-home-news__title {
    font-size: 1.125rem;
  }
  .p-home-news__text {
    font-size: 1rem;
  }
}

.p-home-about {
  position: relative;
  margin-top: 5rem;
  z-index: 1;
}
.p-home-about__inner {
  position: relative;
  max-width: 58.75rem;
  margin: auto;
}
.p-home-about__content {
  position: relative;
  padding-bottom: 12.25rem;
}
.p-home-about__body {
  max-width: 25rem;
}
.p-home-about__title {
  margin: 0;
  color: #2c69ba;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.6;
}
.p-home-about__description {
  margin: 3rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
.p-home-about__more {
  max-width: 20rem;
  margin: 2.5rem 0 0;
}
.p-home-about__image {
  position: absolute;
  bottom: 0;
  right: -15.625rem;
  width: 42.1875rem;
}
.p-home-about__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
}
.p-home-about__image-2 {
  position: relative;
  max-width: 50rem;
  margin: -5rem auto 0;
  z-index: 3;
}
.p-home-about__image-2::before {
  display: block;
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  width: 100%;
  height: 100%;
  background: linear-gradient(25deg, rgba(177, 204, 246, 0) 50%, #b1ccf6 100%);
  border-radius: 1rem;
  content: "";
  z-index: -1;
}
.p-home-about__image-2::after {
  display: block;
  position: absolute;
  bottom: -7.1875rem;
  right: -4rem;
  width: 14.375rem;
  height: 14.375rem;
  background: url(../../images/home/about-facility.svg) no-repeat center/contain;
  content: "";
  z-index: 1;
}
.p-home-about__image-2 img {
  display: block;
  width: 100%;
  border-radius: 1rem;
}
.p-home-about__image-3 {
  position: absolute;
  bottom: 10rem;
  left: -15.625rem;
  max-width: 14.75rem;
  z-index: 2;
}
.p-home-about__image-3 img {
  display: block;
  width: 100%;
  border-radius: 0.5rem;
}
@media (max-width: 767px) {
  .p-home-about {
    margin-top: 4rem;
  }
  .p-home-about__inner {
    padding: 0 1rem;
  }
  .p-home-about__content {
    padding-bottom: 0;
  }
  .p-home-about__body {
    max-width: none;
    margin-top: 1.5rem;
  }
  .p-home-about__title {
    font-size: 1.75rem;
  }
  .p-home-about__description {
    margin-top: 1rem;
    font-size: 1rem;
  }
  .p-home-about__more {
    margin-top: 1.5rem;
  }
  .p-home-about__image {
    position: static;
    width: 17.5rem;
    margin: 4rem -3rem 0 auto;
  }
  .p-home-about__image img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
  }
  .p-home-about__image-2 {
    max-width: 17.5rem;
    margin: -4rem auto 0;
    z-index: 2;
  }
  .p-home-about__image-2::before {
    top: -1rem;
    right: -1rem;
  }
  .p-home-about__image-2::after {
    bottom: -3.125rem;
    right: -1.5rem;
    width: 7.1875rem;
    height: 7.1875rem;
  }
  .p-home-about__image-3 {
    bottom: 16rem;
    left: -1rem;
    width: 7rem;
  }
}

.p-home-search {
  box-sizing: border-box;
  margin-top: -5rem;
  padding: 0 2.5rem;
}
.p-home-search__box {
  box-sizing: border-box;
  max-width: 90rem;
  margin: auto;
  padding: 8rem 2.5rem 5rem;
  background: #ffffff;
  border: 1px solid #2c69ba;
  border-radius: 1rem;
  box-shadow: 0 0 5rem rgba(44, 105, 186, 0.16);
}
.p-home-search__title {
  margin: 0;
  color: #2c69ba;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
}
.p-home-search__tabs {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  max-width: 64rem;
  margin: 2.5rem auto 0;
  border-bottom: 2px solid #2c69ba;
}
.p-home-search__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 31.875rem;
  padding: 1.25rem 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #f0f6ff;
  color: #2c69ba;
  cursor: pointer;
}
.p-home-search__tab[aria-selected=true] {
  background: linear-gradient(135deg, #368dff 2%, #07428e 100%);
  color: #fff;
}
.p-home-search__tab-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.p-home-search__tab-text {
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
}
.p-home-search__body {
  padding: 2.5rem 0 0;
}
@media (max-width: 767px) {
  .p-home-search {
    margin-top: -3rem;
    padding: 0 1rem;
  }
  .p-home-search__box {
    padding: 5rem 0.9375rem 2rem;
  }
  .p-home-search__title {
    font-size: 1.25rem;
  }
  .p-home-search__tabs {
    margin-top: 1.5rem;
  }
  .p-home-search__tab {
    flex-direction: column;
    padding: 0.75rem 0.25rem 0.5rem;
  }
  .p-home-search__tab-text {
    font-size: 1rem;
  }
  .p-home-search__body {
    padding-top: 1.5rem;
  }
}

.p-home-location {
  max-width: 64rem;
  margin: auto;
}
.p-home-location__description {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  line-height: 2;
  text-align: center;
}
.p-home-location__map {
  overflow: hidden;
  margin: 4rem auto 0;
  background: var(--color-main-light);
  border: 1px solid var(--color-border-primary);
  border-radius: 1rem;
}
.p-home-location__map > svg {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .p-home-location__map > svg {
    pointer-events: none;
  }
}
.p-home-location__description + .p-home-location__map {
  margin-top: 2.5rem;
}
.p-home-location__list-sp {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 2.5rem;
}
.p-home-location__item {
  width: 100%;
}
.p-home-location__item:first-child .p-home-location__area {
  border-radius: 0.25rem 0.25rem 0 0;
}
.p-home-location__item:last-child:not(.is-active) .p-home-location__area {
  border-radius: 0 0 0.25rem 0.25rem;
}
.p-home-location__item:last-child .p-home-location__prefecture {
  border-radius: 0 0 0.25rem 0.25rem;
}
.p-home-location__area {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.9375rem 1rem;
  border: none;
  background-color: #2C69BA;
  color: #fff;
  cursor: pointer;
  text-align: left;
}
.p-home-location__area-name {
  font-family: var(--font-family-primary);
  font-size: 1.125rem;
  font-weight: 500;
}
.p-home-location__area:hover {
  opacity: 1;
}
.p-home-location__icon {
  width: 1.125rem;
  height: 1.125rem;
}
.p-home-location__prefecture {
  background-color: #F0F6FF;
  overflow: hidden;
}
.p-home-location__prefecture-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 0.9375rem 1rem;
}
.p-home-location__pref-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #000;
  text-decoration: none;
  font-family: var(--font-family-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
}
.p-home-location__pref-link img {
  width: 0.4375rem;
  height: 0.625rem;
}

.p-home-condition {
  max-width: 64rem;
  margin: auto;
}
.p-home-condition__description {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  line-height: 2;
  text-align: center;
}
.p-home-condition__list {
  display: grid;
  max-width: 55.5rem;
  margin: 2.5rem auto 0;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.p-home-condition__foot {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 3rem;
  padding: 2.5rem 2rem;
  border-radius: 1rem;
  background-color: #f0f6ff;
}
.p-home-condition__area {
  flex: 1 1 auto;
  position: relative;
}
.p-home-condition__area::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.375rem);
  right: 2rem;
  width: 1.125rem;
  height: 0.75rem;
  background: var(--color-main);
  content: "";
  -webkit-mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-down.svg) no-repeat center/contain;
}
.p-home-condition__area-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  padding: 1.4375rem 3.5rem;
  border: 1px solid #2c69ba;
  border-radius: 0.5rem;
  background: white;
  color: #2c69ba;
  font-size: 1.375rem;
  text-decoration: none;
  line-height: 2rem;
  text-align: center;
}
.p-home-condition__submit {
  width: 21.875rem;
}
@media (max-width: 767px) {
  .p-home-condition__description {
    font-size: 1rem;
  }
  .p-home-condition__list {
    margin-top: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .p-home-condition__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.5rem 1rem;
    border-radius: 0.5rem;
  }
  .p-home-condition__area::after {
    right: 1rem;
  }
  .p-home-condition__area-select {
    padding: 1rem 2rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .p-home-condition__submit {
    width: 100%;
  }
}

.p-home-conditionCheckbox {
  display: block;
}
.p-home-conditionCheckbox__body {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
  box-sizing: border-box;
  position: relative;
  padding: 1.5rem;
  border: 1px solid #5da2ff;
  border-radius: 4rem;
  background-color: #fff;
  color: #2c69ba;
  text-decoration: none;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.05);
  aspect-ratio: 1/1;
}
.p-home-conditionCheckbox__body::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  inset: 0.5rem;
  margin: auto;
  border: 1px solid #2c69ba;
  border-radius: 3.5rem;
  content: "";
  opacity: 0;
  pointer-events: none;
}
.p-home-conditionCheckbox__icon {
  display: block;
  position: relative;
  width: 7.5rem;
  height: 7.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 2;
}
.p-home-conditionCheckbox__text {
  display: block;
  position: relative;
  margin: 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
  z-index: 2;
}
.p-home-conditionCheckbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.p-home-conditionCheckbox input[type=checkbox]:checked ~ .p-home-conditionCheckbox__body {
  border-color: transparent;
  background: radial-gradient(circle at 95% 10%, #E6E6FF 0%, #DDEBFF 100%);
}
.p-home-conditionCheckbox input[type=checkbox]:checked ~ .p-home-conditionCheckbox__body::after {
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
@media (max-width: 767px) {
  .p-home-conditionCheckbox__body {
    gap: 0.25rem;
    padding: 1rem 0.5rem;
    border-radius: 2rem;
  }
  .p-home-conditionCheckbox__body::after {
    border-radius: 1.75rem;
  }
  .p-home-conditionCheckbox__icon {
    width: 4rem;
    height: 4rem;
  }
  .p-home-conditionCheckbox__text {
    font-size: 0.875rem;
  }
  .p-home-conditionCheckbox input[type=checkbox]:checked ~ .p-home-conditionCheckbox__body::after {
    inset: 0.25rem;
  }
}

.p-home-service {
  position: relative;
  padding: 5rem 0;
  background: linear-gradient(135deg, #7cdff7 0%, #236fd5 100%);
}
.p-home-service__inner {
  max-width: 90rem;
  margin: auto;
  display: flex;
  align-items: flex-start;
}
.p-home-service__bg {
  display: block;
  box-sizing: border-box;
  width: 44.75rem;
  margin-right: -4rem;
}
.p-home-service__bg img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-service__content {
  position: relative;
  box-sizing: border-box;
  width: 49.25rem;
  margin-top: 7.25rem;
  padding: clamp(3.75rem, 115% - 90rem, 8rem) 1.25rem;
  border-radius: 1rem;
  background-color: #fff;
}
.p-home-service__content-inner {
  max-width: 33.75rem;
  margin: auto;
}
.p-home-service__title {
  margin: 0;
  color: #2c69ba;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
}
.p-home-service__tags {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0 0;
  gap: 0.5rem;
}
.p-home-service__tag {
  display: inline-block;
  padding: 0.3125rem 1.375rem;
  border: 1px solid #2c69ba;
  border-radius: 1.875rem;
  background-color: #fff;
  color: #2c69ba;
  font-size: 1.125rem;
}
.p-home-service__description {
  margin: 2.5rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
.p-home-service__more {
  max-width: 20rem;
  margin: 2.5rem 0 0;
}
@media (max-width: 1439px) {
  .p-home-service__bg img {
    border-radius: 0 1rem 1rem 0;
  }
  .p-home-service__content {
    border-radius: 1rem 0 0 1rem;
  }
}
@media (max-width: 767px) {
  .p-home-service {
    padding: 4rem 0;
  }
  .p-home-service__inner {
    display: block;
  }
  .p-home-service__bg {
    display: block;
    width: auto;
    margin-right: 2rem;
  }
  .p-home-service__content {
    width: auto;
    margin: -3rem 0 0 2rem;
    padding: 2.5rem 1rem;
  }
  .p-home-service__title {
    font-size: 1.5rem;
  }
  .p-home-service__tag {
    padding: 0.3125rem 1rem;
    font-size: 0.875rem;
  }
  .p-home-service__description {
    margin-top: 1.5rem;
    font-size: 1rem;
  }
  .p-home-service__more {
    margin-top: 1.5rem;
  }
}

.p-home-episodeSection {
  padding: 6.25rem 0;
  background: url(../../images/home/episode-bg.png) no-repeat top center/contain, linear-gradient(300deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 100%), #FFF;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-home-episodeSection {
    padding: 4rem 0;
    background-size: 25rem auto, auto;
  }
}

.p-home-episode {
  --swiper-navigation-size: 1.25rem;
  --swiper-navigation-color: #fff;
  --swiper-pagination-bullet-horizontal-gap: 0.5rem;
  --swiper-pagination-bullet-size: 0.5rem;
  --slidesPerView: 2.6;
}
.p-home-episode__title {
  max-width: 64rem;
  margin: 0 auto;
}
.p-home-episode__title-sub {
  margin: 0;
  color: #e85a07;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
}
.p-home-episode__title-main {
  margin: 1rem 0 0;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
}
.p-home-episode__title-description {
  margin: 3rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
  text-align: center;
}
.p-home-episode__slider {
  position: relative;
  max-width: 90rem;
  margin: 3rem auto 0;
}
.p-home-episode__footer {
  max-width: 20rem;
  margin: 5rem auto 0;
  text-align: center;
}
.p-home-episode__controller {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  position: absolute;
  bottom: 0;
  left: 1rem;
  right: 1rem;
}
.p-home-episode__autoplay {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 0;
  border: none;
  background: transparent;
  z-index: 11;
}
.p-home-episode__autoplay-icon {
  display: block;
  position: relative;
  width: 1rem;
  height: 1rem;
}
.p-home-episode__autoplay-icon::before, .p-home-episode__autoplay-icon::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.375rem);
  width: 0.125rem;
  height: 0.75rem;
  background: #e85a07;
  content: "";
}
.p-home-episode__autoplay-icon::before {
  left: calc(50% - 0.25rem);
}
.p-home-episode__autoplay-icon::after {
  left: calc(50% + 0.125rem);
}
.p-home-episode__autoplay.is-stop .p-home-episode__autoplay-icon::before {
  display: none;
}
.p-home-episode__autoplay.is-stop .p-home-episode__autoplay-icon::after {
  top: calc(50% - 0.375rem);
  left: calc(50% - 0.1875rem);
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 0.375rem 0 0.375rem 0.625rem;
  border-left-color: #e85a07;
  background: transparent;
}
.p-home-episode .swiper {
  padding-bottom: 4rem;
  overflow: visible;
}
.p-home-episode .swiper-slide {
  z-index: 1;
  opacity: 0.5;
  transition: opacity 0.3s, transform 0.3s;
  transform: translateY(4rem);
}
.p-home-episode .swiper-slide.swiper-slide-active {
  z-index: 2;
  opacity: 1;
  transform: translateY(0);
}
.p-home-episode .swiper-button-prev,
.p-home-episode .swiper-button-next {
  --controller-position: (100% - 100% / var(--slidesPerView)) / 2;
  box-sizing: border-box;
  top: calc(50% - 3.5625rem);
  width: 3.125rem;
  height: 3.125rem;
  margin-top: 0;
  border-radius: 50%;
  background: var(--color-main);
}
.p-home-episode .swiper-button-prev {
  left: calc(var(--controller-position) - 1.5625rem);
}
.p-home-episode .swiper-button-next {
  right: calc(var(--controller-position) - 1.5625rem);
}
.p-home-episode .swiper-pagination {
  position: static;
  bottom: auto;
  width: auto;
  line-height: 0;
}
.p-home-episode .swiper-pagination .swiper-pagination-bullet {
  background-color: rgba(232, 90, 7, 0.2);
  opacity: 1;
  transition: background-color 0.3s;
}
.p-home-episode .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #e85a07;
}
.p-home-episode .swiper-pagination-bullet {
  vertical-align: middle;
}
.p-home-episode .swiper-pagination-bullet-active {
  transform: scale(1.5);
}
@media (max-width: 1439px) {
  .p-home-episode {
    --slidesPerView: 2;
  }
}
@media (max-width: 767px) {
  .p-home-episode {
    --swiper-navigation-size: 1rem;
    --slidesPerView: 1.2;
  }
  .p-home-episode__title {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .p-home-episode__title-sub {
    font-size: 1rem;
  }
  .p-home-episode__title-main {
    margin-top: 0.5rem;
    font-size: 1.5rem;
  }
  .p-home-episode__title-description {
    margin-top: 1.5rem;
    font-size: 1rem;
  }
  .p-home-episode__slider {
    margin-top: 2rem;
  }
  .p-home-episode__footer {
    margin-top: 2.5rem;
  }
  .p-home-episode .swiper {
    padding-bottom: 3rem;
  }
  .p-home-episode .swiper-slide {
    transform: translateY(3rem);
  }
  .p-home-episode .swiper-button-prev,
  .p-home-episode .swiper-button-next {
    top: calc(50% - 2.5rem);
    width: 2rem;
    height: 2rem;
  }
  .p-home-episode .swiper-button-prev {
    left: calc(var(--controller-position) - 1rem);
  }
  .p-home-episode .swiper-button-next {
    right: calc(var(--controller-position) - 1rem);
  }
}

.p-home-episodeCard {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  padding: 5rem 5.625rem;
  border-radius: 1.5rem;
  background: linear-gradient(225deg, #abd7ff 0%, #d7ecff 100%);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  z-index: 1;
}
.p-home-episodeCard::before {
  display: block;
  position: absolute;
  inset: 0.625rem;
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  background: #fff;
  content: "";
  z-index: -1;
}
.p-home-episodeCard__body {
  position: relative;
  display: block;
}
.p-home-episodeCard__body::before {
  display: block;
  position: absolute;
  width: 6.25rem;
  height: 6.25rem;
  left: -3.75rem;
  top: -3.125rem;
  background: radial-gradient(80% 50% at 50% 50%, rgba(123, 180, 255, 0.5) 0%, rgba(123, 180, 255, 0) 100%);
  border-radius: 50%;
  content: "";
}
.p-home-episodeCard__number {
  display: flex;
  align-items: flex-end;
  margin: 0;
  color: #2c69ba;
  font-size: 1rem;
  font-weight: var(--font-weight-primary);
  gap: 0.25rem;
  line-height: 1.25;
}
.p-home-episodeCard__number em {
  font-size: 1.5rem;
  line-height: 1;
}
.p-home-episodeCard__title {
  margin: 1rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
}
.p-home-episodeCard__more {
  --gradient-degree: 125deg;
  display: inline-block;
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  padding-right: 1rem;
  font-size: 0.875rem;
}
.p-home-episodeCard__more::after {
  display: inline-block;
  position: absolute;
  top: calc(50% - 0.375rem);
  right: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--gradient-main);
  content: "";
}
.swiper-slide:not(.swiper-slide-active) .p-home-episodeCard {
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-home-episodeCard {
    padding: 4rem 2.75rem;
    border-radius: 1rem;
  }
  .p-home-episodeCard::before {
    inset: 0.375rem;
    border-radius: 0.625rem;
  }
  .p-home-episodeCard__body::before {
    width: 4rem;
    height: 4rem;
    left: -1.25rem;
    top: -2rem;
  }
  .p-home-episodeCard__number {
    font-size: 0.75rem;
  }
  .p-home-episodeCard__number em {
    font-size: 1.125rem;
  }
  .p-home-episodeCard__title {
    font-size: 1.125rem;
  }
  .p-home-episodeCard__more {
    bottom: 1.25rem;
    right: 1.25rem;
    font-size: 0.875rem;
  }
}

.p-home-blog {
  --swiper-navigation-size: 1.25rem;
  --swiper-theme-color: var(--color-main);
  --swiper-scrollbar-drag-bg-color: var(--color-main);
  --swiper-scrollbar-size: 2px;
  margin-top: 5rem;
  padding: 5rem 0;
  border-radius: 4rem;
  background: #ffffff;
  box-shadow: 0 0 5rem rgba(255, 207, 170, 0.5);
}
.p-home-blog__inner {
  max-width: 69rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.p-home-blog__title {
  margin: 0;
  padding: 5rem 2.5rem 10rem;
  border-radius: 1.5rem;
  background: linear-gradient(25deg, #f8fbff 0%, #eff6ff 100%);
  color: #2c69ba;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
}
.p-home-blog__slider {
  box-sizing: border-box;
  position: relative;
  max-width: 80rem;
  margin: -5rem auto 0;
  padding: 0 8rem;
}
.p-home-blog .swiper {
  padding-bottom: 1rem;
}
.p-home-blog .swiper-button-prev,
.p-home-blog .swiper-button-next {
  box-sizing: border-box;
  width: 3.125rem;
  height: 3.125rem;
  top: 0;
  margin-top: 4.25rem;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  background: #fff;
}
.p-home-blog .swiper-button-prev {
  left: 0.5rem;
}
.p-home-blog .swiper-button-next {
  right: 0.5rem;
}
.p-home-blog .swiper-pagination {
  bottom: 0;
}
@media (max-width: 767px) {
  .p-home-blog {
    --swiper-navigation-size: 1rem;
    margin-top: 4rem;
    padding: 1rem 0;
    border-radius: 2rem;
    box-shadow: 0 0 2.5rem rgba(255, 207, 170, 0.5);
  }
  .p-home-blog__inner {
    padding: 0 1rem;
  }
  .p-home-blog__title {
    padding: 2.5rem 1rem 5rem;
    border-radius: 1rem;
    font-size: 1.5rem;
  }
  .p-home-blog__slider {
    max-width: 70rem;
    margin-top: -2.5rem;
    padding: 0 3rem;
  }
  .p-home-blog .swiper-button-prev,
  .p-home-blog .swiper-button-next {
    width: 2rem;
    height: 2rem;
    margin-top: 3.625rem;
  }
  .p-home-blog .swiper-button-prev {
    left: 0.5rem;
  }
  .p-home-blog .swiper-button-next {
    right: 0.5rem;
  }
}

.p-home-blogCard {
  display: block;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.p-home-blogCard__thumb {
  display: block;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-home-blogCard__thumb img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
}
.p-home-blogCard__content {
  padding: 2rem 0;
}
.p-home-blogCard__date {
  margin: 0;
  color: var(--color-main);
  font-size: 1.125rem;
  line-height: 1.25;
}
.p-home-blogCard__title {
  margin: 1rem 0 0;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.25;
}
.p-home-blogCard__facility {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.75rem 0 0;
  border: 1px solid;
  border-radius: 0.25rem;
  background-color: #fff;
  padding: 0.125rem 1em;
  font-size: 1rem;
}
.p-home-facility {
  padding: 5rem 2.5rem;
}
@media (max-width: 767px) {
  .p-home-facility {
    padding: 4rem 1rem;
  }
}

.p-home-information {
  max-width: 64rem;
  margin: auto;
}
.p-home-information__title {
  margin: 0;
  color: #2c69ba;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
}
.p-home-information__list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  border-top: 1px solid #2c69ba;
  border-bottom: 1px solid #2c69ba;
}
.p-home-information__list > li {
  display: block;
}
.p-home-information__list > li + li {
  border-top: 1px solid #2c69ba;
}
@media (max-width: 767px) {
  .p-home-information__title {
    font-size: 1.5rem;
  }
  .p-home-information__list {
    margin-top: 2rem;
  }
}

.p-home-informationCard {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  color: inherit;
  text-decoration: none;
  transition: background-color 0.3s;
}
.p-home-informationCard:hover {
  background-color: #fff;
  opacity: 1;
}
.p-home-informationCard__image {
  order: 2;
  flex: 0 0 auto;
  width: 11.125rem;
}
.p-home-informationCard__image img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 178/120;
}
.p-home-informationCard__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
.p-home-informationCard__tags {
  display: flex;
  gap: 0.5rem;
}
.p-home-informationCard__prefecture {
  display: inline-block;
  padding: 0.125rem 1rem;
  border-radius: 0.25rem;
  background-color: #2c69ba;
  color: #fff;
  font-size: 1rem;
}
.p-home-informationCard__type {
  display: inline-block;
  padding: 0.125rem 1rem;
  border: 1px solid #666;
  border-radius: 0.25rem;
  color: #333;
  font-size: 1rem;
}
.p-home-informationCard__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.125rem 0.5rem;
}
.p-home-informationCard__title {
  margin: 0.5rem 0 0;
  color: var(--color-main);
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
}
.p-home-informationCard__address {
  margin: 0;
  padding-bottom: 0.125rem;
  color: #333;
  font-size: 1.125rem;
}
.p-home-informationCard__footer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  padding: 0.25rem 1rem;
  border: 1px solid #f0f6ff;
  border-radius: 0.25rem;
  background-color: #fff;
}
.p-home-informationCard__footer > dt, .p-home-informationCard__footer > dd {
  margin: 0;
}
.p-home-informationCard__footer > dt {
  flex: 0 0 auto;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
}
.p-home-informationCard__footer > dd {
  font-size: 1.125rem;
}
.p-home-informationCard__capacity {
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
}
.p-home-informationCard__catch-copy {
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-home-informationCard {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem 1rem;
  }
  .p-home-informationCard__image {
    order: 2;
    width: 100%;
  }
  .p-home-informationCard__tags {
    display: flex;
    gap: 0.5rem;
  }
  .p-home-informationCard__prefecture {
    font-size: 0.875rem;
  }
  .p-home-informationCard__type {
    font-size: 0.875rem;
  }
  .p-home-informationCard__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-home-informationCard__title {
    font-size: 1.125rem;
  }
  .p-home-informationCard__address {
    padding-bottom: 0;
    font-size: 0.875rem;
  }
  .p-home-informationCard__footer {
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding: 0.5rem 1rem;
  }
  .p-home-informationCard__footer > dt {
    font-size: 1rem;
  }
  .p-home-informationCard__footer > dd {
    font-size: 0.875rem;
  }
  .p-home-informationCard__capacity {
    font-size: 1.25rem;
    font-weight: var(--font-weight-primary);
  }
  .p-home-informationCard__catch-copy {
    font-size: 1.125rem;
  }
}

.p-home-facility-list {
  max-width: 74rem;
  margin: 5rem auto 0;
}
@media (max-width: 767px) {
  .p-home-facility-list {
    margin-top: 4rem;
  }
}

.p-home-links {
  padding: 5rem 0 0;
  background-color: #fff;
}
.p-home-links__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.p-home-links__title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 3rem auto 0;
  padding: 0.1875rem 1em;
  border-radius: 3em;
  background: #E97D28;
  color: #FFF;
  text-align: center;
}
.p-home-links__banner {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 auto;
}
.p-home-links__group {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.5rem 0 0;
}
.p-home-links__group-link {
  display: block;
  box-sizing: border-box;
  padding: 0.5rem;
  border: 1px solid var(--color-main);
  border-radius: 0.5rem;
  background-color: #fff;
  color: #000;
  text-align: center;
  overflow: hidden;
  text-decoration: none;
  transition: all 0.3s;
}
.p-home-links__affiliation {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.5rem 0 0;
}
.p-home-links__affiliation-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 7.125rem;
  padding: 0.5rem;
  border: 1px solid var(--color-sub);
  border-radius: 0.5rem;
  background-color: #fff;
  color: #000;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
}
@media (max-width: 767px) {
  .p-home-links {
    padding-top: 4rem;
  }
  .p-home-links__inner {
    padding: 0 1rem;
  }
  .p-home-links__title {
    margin-top: 2rem;
  }
  .p-home-links__banner {
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-home-links__group {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .p-home-links__group-link {
    padding: 0.5rem 1.5rem;
  }
  .p-home-links__affiliation {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .p-home-links__affiliation-link {
    height: 6rem;
    font-size: 1rem;
  }
}

.p-home-fix-contact {
  position: fixed;
  bottom: 5rem;
  right: 0;
  z-index: 10;
}
.p-home-fix-contact.-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-home-fix-contact__button {
  display: block;
  box-sizing: border-box;
  position: relative;
  padding: 1.25rem;
  border-radius: 0.25rem 0 0 0.25rem;
  background: linear-gradient(125deg, #368DFF 0%, #07428E 100%);
  color: #FFF;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  line-height: 1.5;
  text-align: left;
  box-shadow: 0.25rem 0.25rem 0 #5DA2FF;
}
.p-home-fix-contact__button::after {
  display: block;
  position: absolute;
  bottom: -1.25rem;
  right: 1.125rem;
  width: 2.75rem;
  height: 2.75rem;
  background: url(../../images/home/fix-contact-arrow.svg) no-repeat center/contain;
  content: "";
  transition: all 0.3s ease;
}
.p-home-fix-contact__button:hover {
  opacity: 1;
}
.p-home-fix-contact__button:hover::after {
  transform: translateY(0.25rem);
}
@media (max-width: 767px) {
  .p-home-fix-contact {
    bottom: 0;
    width: 100%;
  }
  .p-home-fix-contact__button {
    padding: 1.25rem 1rem;
    border-radius: 0.25rem 0.25rem 0 0;
    font-size: 1rem;
    text-align: center;
    box-shadow: none;
  }
  .p-home-fix-contact__button::after {
    display: none;
  }
}

/**************************************************/
/* 事業所一覧 */
/**************************************************/
.p-office-anchor {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 5rem;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-office-anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    grid-auto-rows: 3.75rem;
  }
}
.p-office-anchor__link {
  padding: 0.625rem;
  box-sizing: border-box;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  text-decoration: none;
  background: var(--color-main-light);
  color: var(--color-main);
  border-radius: 0.25rem;
  font-weight: 500;
  font-size: 1.25rem;
  transition: color 0.2s;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .p-office-anchor__link {
    font-size: 1.125rem;
  }
}
.p-office-anchor__link > input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.p-office-anchor__link > span {
  position: relative;
  z-index: 1;
}
.p-office-anchor__link::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--gradient-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  content: "";
}
.p-office-anchor__link:hover, .p-office-anchor__link.-active {
  opacity: 1;
  color: var(--color-bg-primary);
}
.p-office-anchor__link:hover::after, .p-office-anchor__link.-active::after {
  opacity: 1;
}

.p-office-prefecture {
  margin: 4rem 0;
}
@media (max-width: 767px) {
  .p-office-prefecture {
    margin: 2.5rem 0;
  }
}
.p-office-prefecture__inner {
  max-width: 21.875rem;
  margin: 0 auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  height: 4rem;
  border-radius: 50vh;
  background: var(--color-main-light);
  border: 1px solid var(--color-main);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-main);
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='13' viewBox='0 0 22 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0.999999L11 11L21 1' stroke='%232C69BA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: 1.375rem 0.8125rem;
  background-position: center right 1.5rem;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-office-prefecture__inner {
    font-size: 1.125rem;
    max-width: 17.5rem;
    height: 3.125rem;
    background-size: 1.25rem 0.6875rem;
  }
}

.p-office-address {
  border-top: 1px solid var(--color-main);
}
.p-office-address__row {
  padding: 1.875rem 2rem 2.375rem;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-office-address__row {
    padding: 1.125rem 1rem 1.75rem;
  }
}
.p-office-address__lead {
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-office-address__lead {
    font-size: 1.375rem;
  }
}
.p-office-address__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-office-address__text {
    font-size: 1rem;
    margin: 0.125rem 0 0;
  }
}
.p-office-address__text span {
  display: inline-block;
}
.p-office-address__fax {
  margin-left: 1rem;
}
@media (max-width: 767px) {
  .p-office-address__fax {
    margin-left: 0.5rem;
  }
}
.p-office-address__tags {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.625rem 0 0;
}
@media (max-width: 767px) {
  .p-office-address__tags {
    gap: 0.375rem;
  }
}
.p-office-address__tags li {
  border-radius: 50vh;
  font-size: 1.125rem;
  color: var(--color-main);
  border: 1px solid var(--color-main);
  padding: 0.3125rem 1.4375rem;
}
@media (max-width: 767px) {
  .p-office-address__tags li {
    font-size: 1rem;
  }
}

.p-office-loading {
  display: none;
  margin: 0 0 1em;
  text-align: center;
}
.p-office-loading.htmx-request {
  display: block;
}
.p-office-loading__spinner {
  display: inline-block;
  width: 1.25rem;
  padding: 0.3125rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-main);
  --_m:
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
}

@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
/**************************************************/
/* 施設詳細 */
/**************************************************/
.p-facility-panorama__title, .p-facility-faq__title, .p-facility-fees-rooms__title, .p-facility-floor-map__title, .p-facility-other__heading, .p-facility-staff-blog__title, .p-facility-lifestyle__title, .p-facility-gallery__title, .p-facility-medical-list__title, .p-facility-outline__title, .p-facility-access-environment__title, .p-facility-access-map__title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-facility-panorama__title, .p-facility-faq__title, .p-facility-fees-rooms__title, .p-facility-floor-map__title, .p-facility-other__heading, .p-facility-staff-blog__title, .p-facility-lifestyle__title, .p-facility-gallery__title, .p-facility-medical-list__title, .p-facility-outline__title, .p-facility-access-environment__title, .p-facility-access-map__title {
    font-size: 1.125rem;
  }
}

.pg-searchResult .l-white-box__inner,
.pg-facility .l-white-box__inner {
  padding-bottom: 10.5rem;
}
@media (max-width: 767px) {
  .pg-searchResult .l-white-box__inner,
  .pg-facility .l-white-box__inner {
    padding-bottom: 5.625rem;
  }
}

.pg-facility .p-entry-inner {
  position: relative;
  padding-bottom: 8rem;
}

.p-facility-tab-nav {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: flex;
  gap: 0.25rem;
  width: 100%;
  margin-top: 4rem;
  padding-inline: 1rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-tab-nav {
    flex-wrap: wrap;
    margin-top: 1.5rem;
    gap: 0.5rem;
  }
}
.p-facility-tab-nav__item {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  padding: 1.25rem 0.25rem;
  font-weight: var(--font-weight-primary);
  font-size: 1.25rem;
  color: var(--color-main);
  background-color: var(--color-main-light);
  border-radius: 0.5rem 0.5rem 0 0;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
  position: relative;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-tab-nav__item {
    flex: none;
    width: calc(50% - 0.25rem);
    border-radius: 0.25rem;
    padding: 0.75rem 0;
    font-size: 0.875rem;
    gap: 0.25rem;
  }
}
.p-facility-tab-nav__item:hover {
  background-color: var(--color-main-light);
}
.p-facility-tab-nav__item.-active {
  background: var(--gradient-main);
  color: var(--color-bg-primary);
  border: none;
  pointer-events: none;
}
.p-facility-tab-nav__icon {
  width: 2.5rem;
  height: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  color: inherit;
  fill: currentColor;
}
@media (max-width: 767px) {
  .p-facility-tab-nav__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.p-facility-tab-nav::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-tab-nav::after {
    display: none;
  }
}

.p-facility-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .p-facility-pager {
    margin-top: 1.5rem;
  }
}
.p-facility-pager__btn {
  width: 3.125rem;
  height: 3.125rem;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-primary);
  color: var(--color-main);
  transition: background-color 0.3s, color 0.3s;
}
.p-facility-pager__btn:hover {
  background: var(--color-main);
  color: var(--color-bg-primary);
}
@media (max-width: 767px) {
  .p-facility-pager__btn {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.p-facility-pager__text {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-bottom-color 0.3s;
  border-bottom-color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-pager__text {
    font-size: 1rem;
  }
}
.p-facility-pager__icon-path {
  stroke: currentColor;
  transition: stroke 0.3s;
}

.p-facility-footer-tab-nav {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: flex;
  gap: 0.25rem;
  width: 100%;
  margin-top: 5rem;
  padding: 0 1rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-footer-tab-nav {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 2rem;
  }
}
.p-facility-footer-tab-nav__item {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.25rem 0;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  background-color: var(--color-main-light);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
  position: relative;
  font-size: 1.375rem;
}
@media (max-width: 767px) {
  .p-facility-footer-tab-nav__item {
    flex: 1 1 calc(50% - 0.25rem);
    border-radius: 0.25rem;
    padding: 0.75rem 0;
    font-size: 0.875rem;
    gap: 0.1875rem;
  }
}
.p-facility-footer-tab-nav__item:hover {
  background-color: var(--color-main-light);
}
.p-facility-footer-tab-nav__item.-active {
  background: var(--gradient-main);
  color: var(--color-bg-primary);
  border: none;
  pointer-events: none;
}
.p-facility-footer-tab-nav__icon {
  width: 2.5rem;
  height: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  color: inherit;
  fill: currentColor;
}
@media (max-width: 767px) {
  .p-facility-footer-tab-nav__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.p-facility-unit {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
  padding: 0 1.25rem;
}
@media (max-width: 767px) {
  .p-facility-unit {
    margin-top: 2.5rem;
  }
}
.p-facility-unit figure {
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-unit .column-block-editor {
    display: block;
  }
}
.p-facility-unit .column-block-editor p {
  color: var(--color-main);
  font-size: 1.25rem;
  margin: 1.25rem 0 0 0;
}
@media (max-width: 767px) {
  .p-facility-unit .column-block-editor p {
    font-size: 1.125rem;
  }
}
.p-facility-unit .column-block-editor .media-image-block {
  margin: 1.25rem 0.625rem 0;
}
@media (max-width: 767px) {
  .p-facility-unit .column-block-editor .media-image-block {
    margin: 1.25rem 0 0;
  }
}
.p-facility-unit .column-block-editor .layout-two-column {
  width: 100%;
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-items: center;
}
.p-facility-unit .column-block-editor .layout-two-column p,
.p-facility-unit .column-block-editor .layout-two-column .media-image-block {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-facility-unit .column-block-editor .layout-two-column {
    display: block;
  }
  .p-facility-unit .column-block-editor .layout-two-column p,
  .p-facility-unit .column-block-editor .layout-two-column .media-image-block {
    margin-top: 1.25rem;
  }
}
.p-facility-unit .column-block-editor .layout-three-column {
  width: 100%;
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
}
.p-facility-unit .column-block-editor .layout-three-column p,
.p-facility-unit .column-block-editor .layout-three-column .media-image-block {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-facility-unit .column-block-editor .layout-three-column {
    display: block;
  }
  .p-facility-unit .column-block-editor .layout-three-column p,
  .p-facility-unit .column-block-editor .layout-three-column .media-image-block {
    margin-top: 1.25rem;
  }
}
.p-facility-unit .column-group {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 0.0625rem;
  place-items: center;
}
@media (max-width: 767px) {
  .p-facility-unit .column-group {
    display: block;
  }
}
.p-facility-unit .column-group .column-block-editor:has([data-width="100%"]) {
  grid-column: span 4;
}
.p-facility-unit .column-group .column-block-editor:has([data-width="50%"]) {
  grid-column: span 2;
}
.p-facility-unit .column-group .column-block-editor:has([data-width="25%"]) {
  grid-column: span 1;
}
.p-facility-unit .column-group .column-block-editor > *[data-width="50%"] figure,
.p-facility-unit .column-group .column-block-editor > *[data-width="25%"] figure {
  max-width: 100% !important;
}
.p-facility-unit .column-group .column-block-editor p {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.25rem auto;
}

.p-facility-header {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem 2.5rem 0;
}
@media (max-width: 767px) {
  .p-facility-header {
    padding: 1.875rem 1rem 0;
  }
}
.p-facility-header__columnLink {
  margin-bottom: 0.5rem;
}
.p-facility-header__columnLink > a {
  display: inline-flex;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
  border: solid 1px #666;
  border-radius: 0.25rem;
  padding: 0.0625rem 0.9375rem;
  gap: 0.25rem;
  align-items: center;
}
.p-facility-header__columnLink > a::after {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  content: "";
  background: url(../../../facility@live/images/icon_external.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-facility-header__columnLink > a {
    padding: 0.25rem 0.9375rem;
  }
  .p-facility-header__columnLink > a::after {
    display: none;
  }
}
.p-facility-header__name {
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  margin: 0;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-header__name {
    font-size: 1.375rem;
  }
}
.p-facility-header__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 1em;
}
@media (max-width: 767px) {
  .p-facility-header__wrap {
    margin-top: 0.625rem;
  }
}
.p-facility-header__address {
  font-size: 1.25rem;
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}
@media (max-width: 767px) {
  .p-facility-header__address {
    font-size: 1rem;
  }
}
.p-facility-header__mapBtn {
  display: inline-block;
  border: solid 1px var(--color-text-primary);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: 1.125rem;
  padding: 0.1875rem 1.5rem;
  line-height: 1.2;
  border-radius: 6.25rem;
}
@media (max-width: 767px) {
  .p-facility-header__mapBtn {
    font-size: 1rem;
    padding: 0.1875rem 0.9375rem;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(0.3125rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-facility-basic {
  background-color: var(--color-bg-primary);
  padding-top: 3.5rem;
  padding-bottom: 4rem;
}
@media (max-width: 767px) {
  .p-facility-basic {
    padding-top: 2.25rem;
    padding-bottom: 1.5rem;
  }
}
.p-facility-basic__inner {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-basic__inner {
    padding: 0 1rem;
  }
}
.p-facility-basic__intro {
  margin-top: 3.75rem;
  text-align: center;
}
.p-facility-basic__lead {
  margin: 0;
  font-weight: var(--font-weight-primary);
  line-height: 2;
  font-size: 1.25rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-basic__lead {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-facility-basic__lead:not(:first-of-type) {
  margin-top: 1.25rem;
}
.p-facility-basic__header {
  margin-top: 3.125rem;
  text-align: center;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-facility-basic__header {
    margin-top: 1.25rem;
  }
}
.p-facility-basic__title {
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  place-items: center;
  gap: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .p-facility-basic__title {
    font-size: 1.125rem;
    gap: 0.375rem;
  }
}
.p-facility-basic__title::before, .p-facility-basic__title::after {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-main);
  border-radius: 0.125rem;
  content: "";
}
.p-facility-basic__date-wrap {
  margin-top: 1em;
  font-size: 1.125rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-basic__date-wrap {
    font-size: 1rem;
  }
}
.p-facility-basic__text {
  margin-top: 1.25rem;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-basic__text {
    font-size: 1rem;
  }
}
.p-facility-basic__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
  margin-top: 1.25rem;
  margin-bottom: 0;
  list-style: none;
  padding: 0;
}
@media (max-width: 767px) {
  .p-facility-basic__tags {
    gap: 0.5rem;
  }
}
.p-facility-basic__tag {
  font-size: 1.125rem;
  color: var(--color-main);
  padding: 0.25rem 1.4375rem 0.3125rem;
  border-radius: 100vw;
  border: 1px solid var(--color-main);
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-facility-basic__tag {
    padding-inline: 0.9375rem;
  }
}

.p-facility-fixed-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 90;
  background-color: rgba(240, 246, 255, 0.8);
  backdrop-filter: blur(0.25rem);
  height: 8rem;
  min-height: 5rem;
  box-sizing: border-box;
}
.p-facility-fixed-footer.is-stopped {
  position: absolute;
  bottom: 0;
  width: auto;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
}
@media (max-width: 767px) {
  .p-facility-fixed-footer {
    height: auto;
    min-height: auto;
    padding: 0.625rem 1rem;
  }
}
.p-facility-fixed-footer__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 64rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  gap: 1.4375rem;
  padding: 0;
}
@media (max-width: 767px) {
  .p-facility-fixed-footer__inner {
    gap: 0.5rem;
    flex-wrap: wrap;
  }
}
.p-facility-fixed-footer__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: opacity 0.3s;
  color: var(--color-bg-primary);
  cursor: pointer;
  border: none;
  height: 4rem;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  gap: 0.25rem;
  font-weight: var(--font-weight-primary);
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-fixed-footer__btn {
    width: calc(50% - 0.25rem);
    font-size: 0.875rem;
    gap: 0;
    height: 3.125rem;
  }
}
.p-facility-fixed-footer__btn.-visit {
  background: var(--gradient-main);
}
.p-facility-fixed-footer__btn.-search {
  background: #fff;
  border: 1px solid var(--color-main);
  color: var(--color-main);
}
.p-facility-fixed-footer__btn.-search .c-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.p-facility-fixed-footer__btn.-search, .p-facility-fixed-footer__btn.-request {
  max-width: 14.875rem;
}
.p-facility-fixed-footer__btn.-contact, .p-facility-fixed-footer__btn.-request {
  background: var(--gradient-primary);
}
.p-facility-fixed-footer__btn.-request .c-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.p-facility-fixed-footer__btn.-request:disabled {
  background: #ECF1F8;
  border: 1px solid #999;
  color: #999;
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none;
}
.p-facility-fixed-footer__btn.-tel {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  color: var(--color-main);
  font-size: 1.75rem;
}
.p-facility-fixed-footer__btn.-tel svg {
  fill: var(--color-main);
  color: var(--color-main);
  transform: translateY(0.125rem);
}
@media (max-width: 767px) {
  .p-facility-fixed-footer__btn.-tel {
    font-size: 1.25rem;
  }
}
.p-facility-fixed-footer__btn.-fav {
  border: 1px solid var(--color-text-primary);
  color: var(--color-text-primary);
  background: #F6F9FF;
}
.p-facility-fixed-footer__btn.-fav.is-active svg {
  color: #FF7F7F;
}
.p-facility-fixed-footer__btn:hover {
  opacity: 0.9;
}
.p-facility-fixed-footer__icon {
  vertical-align: middle;
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-fixed-footer__icon {
    width: 1.6875rem;
    height: 1.6875rem;
  }
}
.p-facility-fixed-footer__text {
  line-height: 1.2;
}
.p-facility-fixed-footer__content-img {
  max-width: 100%;
  max-height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-facility-access-map {
  padding-top: 2.5rem;
  width: 100%;
}
@media (max-width: 767px) {
  .p-facility-access-map {
    padding-top: 1.25rem;
  }
}
.p-facility-access-map__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.p-facility-access-map__iframe {
  width: 100%;
  aspect-ratio: 1024/510;
  margin-top: 2.5rem;
  border: 0;
  display: block;
  border-radius: 1rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-facility-access-map__iframe {
    margin: 1.25rem auto 0;
    border-radius: 0.5rem;
    max-width: 21.4375rem;
  }
}

.p-facility-access-info {
  margin-top: 2.5rem;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-access-info {
    padding: 0 1rem;
  }
}
.p-facility-access-list {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  gap: 2rem 1rem;
}
@media (max-width: 767px) {
  .p-facility-access-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-facility-access-label {
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  padding: 1rem 0;
  position: relative;
}
.p-facility-access-label::before {
  width: 0.25rem;
  height: 100%;
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  border-right: solid 1px var(--color-main);
  border-left: solid 1px var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-access-label {
    font-size: 1rem;
    padding-bottom: 1rem;
    padding-top: 0;
  }
  .p-facility-access-label::before {
    width: 100%;
    height: 0.1875rem;
    border-right: none;
    border-left: none;
    border-top: solid 1px var(--color-main);
    border-bottom: solid 1px var(--color-main);
    top: auto;
    bottom: 0;
  }
}

.p-facility-access-content {
  font-size: 1.125rem;
  padding-top: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-access-content {
    font-size: 1rem;
    padding-top: 0.625rem;
  }
  .p-facility-access-content + .p-facility-access-label {
    margin-top: 1.5rem;
  }
}

.p-facility-access-block {
  margin-top: -1.125rem;
}
.p-facility-access-block:not(:first-of-type) {
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .p-facility-access-block {
    margin-top: 0;
  }
  .p-facility-access-block:not(:first-of-type) {
    margin-top: 1rem;
  }
}
.p-facility-access-block__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-access-block__head {
    font-size: 1rem;
    gap: 0.25rem;
  }
}
.p-facility-access-block__icon {
  width: 2.5rem;
  height: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .p-facility-access-block__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.p-facility-access-block__body {
  margin-left: 3.5rem;
  margin-top: 0.75rem;
}
@media (max-width: 767px) {
  .p-facility-access-block__body {
    margin-left: 1.5rem;
    margin-top: 0.5rem;
  }
}
.p-facility-access-block__text {
  margin: 0;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-access-block__text {
    font-size: 1rem;
  }
}

.p-facility-access-environment {
  margin-top: 5rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-access-environment {
    padding: 0 1rem;
    margin-top: 2.5rem;
  }
}
.p-facility-access-environment__list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1.5rem;
}
@media (max-width: 767px) {
  .p-facility-access-environment__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem 1rem;
    margin-top: 1.25rem;
  }
}
.p-facility-access-environment__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 767px) {
  .p-facility-access-environment__item {
    gap: 0.625rem;
  }
}
.p-facility-access-environment__figure {
  margin: 0;
  padding: 0;
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  background: #eeeeee;
}
.p-facility-access-environment__img {
  width: 100%;
  height: auto;
  aspect-ratio: 325/185;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.p-facility-access-environment__text {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-facility-access-environment__text {
    font-size: 0.875rem;
  }
}

.p-facility-outline {
  margin-top: 5rem;
  padding: 5rem 2.5rem;
  background: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-facility-outline {
    margin-top: 2.5rem;
    padding: 2.5rem 1rem;
  }
}
.p-facility-outline__box {
  max-width: 86.25rem;
  margin: 0 auto;
  background: white;
  border: solid 1px var(--color-main);
  border-radius: 1rem;
  padding: 4.5rem 2.5rem 5rem;
}
@media (max-width: 767px) {
  .p-facility-outline__box {
    padding: 2.25rem 0.9375rem 2.5rem;
    border-radius: 0.5rem;
  }
}
.p-facility-outline__box-inner {
  max-width: 64rem;
  margin: 0 auto;
}
.p-facility-outline__table-wrapper {
  margin-top: 2rem;
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  overflow: hidden;
  background-color: var(--color-bg-primary);
}
@media (max-width: 767px) {
  .p-facility-outline__table-wrapper {
    margin-top: 1rem;
    border-radius: 0.25rem;
  }
}
.p-facility-outline__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-outline__table {
    font-size: 1rem;
  }
}
.p-facility-outline__list {
  margin: 0;
}
.p-facility-outline__row {
  border-bottom: 1px solid var(--color-main);
}
.p-facility-outline__row:last-of-type {
  border-bottom: none;
}
@media (max-width: 767px) {
  .p-facility-outline__row {
    display: block;
    width: 100%;
  }
  .p-facility-outline__row:last-of-type .p-facility-outline__term {
    border-bottom: 1px solid var(--color-main);
  }
}
.p-facility-outline__term {
  box-sizing: border-box;
  width: 17.5rem;
  background-color: var(--color-main-light);
  padding: 1.5rem 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-text-primary);
  vertical-align: middle;
  text-align: left;
  border-right: 1px solid var(--color-main);
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-outline__term {
    width: 100%;
    padding: 0.625rem 1rem;
    border-right: none;
    border-bottom: 1px solid var(--color-main);
    display: block;
    list-style: 1.5;
  }
}
.p-facility-outline__desc {
  padding: 1.5rem 2rem;
  color: var(--color-text-primary);
  line-height: 1.6;
  margin: 0;
  vertical-align: middle;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-outline__desc {
    padding: 0.625rem 1rem;
    display: block;
    width: 100%;
    line-height: 1.5;
  }
}
.p-facility-outline__note {
  margin: 2rem 0 0 0;
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-facility-outline__note {
    margin-top: 1.5rem;
    font-size: 0.875rem;
  }
}

.p-facility-medical-list {
  margin-top: 5rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-medical-list {
    padding: 0 1rem;
    margin-top: 2.5rem;
  }
}
.p-facility-medical-list__title + .p-facility-medical-list__item {
  margin-top: 3.5rem;
}
@media (max-width: 767px) {
  .p-facility-medical-list__title + .p-facility-medical-list__item {
    margin-top: 2.25rem;
  }
}
.p-facility-medical-list__item {
  display: flex;
  gap: 2rem;
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-medical-list__item {
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.875rem;
    gap: 0;
  }
}
.p-facility-medical-list__figure {
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  width: 11.25rem;
  aspect-ratio: 1;
  border-radius: 1rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-facility-medical-list__figure {
    border-radius: 0.5rem;
    margin: 1.25rem auto 0;
  }
}
.p-facility-medical-list__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-facility-medical-list__content {
  flex: 1;
}
.p-facility-medical-list__name {
  font-weight: var(--font-weight-primary);
  font-size: 1.5rem;
  color: var(--color-main);
  margin: 0;
  padding: 0 0 0.5rem;
  border-bottom: solid 1px var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-medical-list__name {
    font-size: 1rem;
    text-align: center;
  }
}
.p-facility-medical-list__detail {
  margin-top: 0.5rem;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-medical-list__detail {
    font-size: 1rem;
    text-align: center;
  }
}
.p-facility-medical-list__label {
  font-weight: var(--font-weight-primary);
  margin: 0;
}
.p-facility-medical-list__text {
  color: var(--color-text-primary);
  margin: 0.25rem 0 0 0;
}
@media (max-width: 767px) {
  .p-facility-medical-list__text {
    margin-top: 0.5rem;
  }
}

.p-facility-medical-list:has(.p-facility-medical-list__figure) .p-facility-medical-list__content {
  max-width: calc(100% - 11.25rem - 2rem);
}
@media (max-width: 767px) {
  .p-facility-medical-list:has(.p-facility-medical-list__figure) .p-facility-medical-list__content {
    max-width: 100%;
  }
}
.p-facility-medical-list:has(.p-facility-medical-list__figure) .p-facility-medical-list__name {
  padding-top: 2rem;
}
@media (max-width: 767px) {
  .p-facility-medical-list:has(.p-facility-medical-list__figure) .p-facility-medical-list__name {
    padding-top: 0;
  }
}

.p-facility-actions {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .p-facility-actions {
    margin-top: 1.5rem;
  }
}

.p-facility-access-btn.-pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  background: var(--gradient-main);
  color: var(--color-bg-primary);
  font-size: 1.125rem;
  text-decoration: none;
  padding: 1.5rem;
  border-radius: 0.5rem;
  transition: opacity 0.3s;
  width: 100%;
  max-width: 37.5rem;
}
@media (max-width: 767px) {
  .p-facility-access-btn.-pdf {
    padding: 1.125rem 1.375rem;
    font-size: 1rem;
    width: 100%;
    justify-content: space-between;
  }
}
.p-facility-access-btn.-pdf:hover {
  opacity: 0.9;
}
.p-facility-access-btn__badge {
  background: var(--color-bg-primary);
  color: var(--color-main);
  font-size: 1.125rem;
  padding: 0.375rem 1rem;
  border-radius: 6.25rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-facility-access-btn__badge {
    font-size: 1rem;
  }
}

.p-facility-partners {
  background-color: var(--color-main-light);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  padding: 2rem 2.5rem;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .p-facility-partners {
    margin-top: 1.5rem;
    padding: 2rem 1rem;
    border-radius: 0.5rem;
  }
}
.p-facility-partners__title {
  text-align: center;
  margin: 0;
  font-weight: var(--font-weight-primary);
  font-size: 1.25rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-partners__title {
    font-size: 1.125rem;
  }
}
.p-facility-partners__text {
  margin-top: 1rem;
  margin-bottom: 0;
  margin-inline: auto;
  font-size: 1.125rem;
  color: var(--color-text-primary);
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 767px) {
  .p-facility-partners__text {
    font-size: 1rem;
  }
}

.p-facility-plan-card {
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  overflow: hidden;
  background-color: var(--color-bg-primary);
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.05);
}
.p-facility-plan-card__head {
  background-color: var(--color-main-light);
  padding: 1.5rem;
  border-bottom: 1px solid var(--color-main);
  text-align: center;
}
.p-facility-plan-card__name {
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--color-main);
}
.p-facility-plan-card__body {
  padding: 2rem;
  display: flex;
  gap: 2rem;
}
@media (max-width: 767px) {
  .p-facility-plan-card__body {
    flex-direction: column;
    padding: 1rem;
  }
}
.p-facility-plan-card__img {
  width: 60%;
  border-radius: 0.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .p-facility-plan-card__img {
    width: 100%;
  }
}
.p-facility-plan-card__info {
  flex: 1;
}

.p-facility-price-list__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.5rem 0;
  border-bottom: 1px dotted var(--color-border-primary);
}
.p-facility-price-list__row:last-of-type {
  border-bottom: none;
}
.p-facility-price-list__label {
  font-weight: var(--font-weight-primary);
}
.p-facility-price-list__value {
  font-weight: 700;
  font-size: 1.125rem;
}

.p-facility-gallery {
  overflow: hidden;
  background: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-facility-gallery {
    background: linear-gradient(180deg, white 50%, var(--color-main-light) 50%, var(--color-main-light) 100%);
  }
}
.p-facility-gallery__inner {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2.5rem;
  padding-bottom: 1rem;
}
@media (max-width: 767px) {
  .p-facility-gallery__inner {
    padding: 1.25rem 1rem 1rem;
  }
}
.p-facility-gallery__main {
  margin-top: 2.5rem;
  margin-inline: auto;
  position: relative;
  max-width: 50rem;
  width: 100%;
  overflow: visible;
}
@media (max-width: 767px) {
  .p-facility-gallery__main {
    margin-top: 1.25rem;
    max-width: 18.4375rem;
  }
}
.p-facility-gallery__figure {
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  display: block;
  background: #eeeeee;
}
@media (max-width: 767px) {
  .p-facility-gallery__figure {
    padding-top: 67.8%;
  }
}
.p-facility-gallery__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-facility-gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(51, 51, 51, 0.6);
  padding: 1.125rem 1.5rem;
  font-size: 1rem;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  font-weight: var(--font-weight-primary);
  color: white;
}
@media (max-width: 767px) {
  .p-facility-gallery__caption {
    font-size: 0.8125rem;
    padding: 0.625rem;
  }
}
.p-facility-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-facility-gallery__link::before {
  width: 100%;
  height: 100%;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
  pointer-events: none;
}
.p-facility-gallery__play-icon {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4rem;
  height: 4rem;
  background: url(../../../facility@live/images/icon_play.svg) no-repeat center center/contain;
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-facility-gallery__play-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.p-facility-gallery__next, .p-facility-gallery__prev {
  width: 3.125rem;
  height: 3.125rem;
  background: var(--color-main);
  border-radius: 50%;
  color: var(--color-bg-primary);
  transition: all 0.3s;
  margin-top: -1.5625rem;
  top: 50%;
}
.p-facility-gallery__next:hover, .p-facility-gallery__prev:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .p-facility-gallery__next, .p-facility-gallery__prev {
    width: 2.75rem;
    height: 2.75rem;
    margin-top: -1.375rem;
  }
}
.p-facility-gallery__next {
  right: -1.5625rem;
}
@media (max-width: 767px) {
  .p-facility-gallery__next {
    right: -1.375rem;
  }
}
.p-facility-gallery__prev {
  left: -1.5625rem;
}
@media (max-width: 767px) {
  .p-facility-gallery__prev {
    left: -1.375rem;
  }
}
.p-facility-gallery__next::after, .p-facility-gallery__prev::after {
  font-size: 1.125rem;
  font-weight: bold;
}
.p-facility-gallery__thumbs {
  margin-top: 1rem;
  max-width: 47.75rem;
  margin: 1rem auto 0;
}
@media (max-width: 767px) {
  .p-facility-gallery__thumbs {
    margin-inline: -1rem;
  }
}
.p-facility-gallery__thumbs .swiper-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-facility-gallery__thumb {
  transition: opacity 0.3s;
  cursor: pointer;
  overflow: hidden;
  background: #eeeeee;
  aspect-ratio: 140/100;
}
.p-facility-gallery__thumb:hover {
  opacity: 0.8;
}
.p-facility-gallery__thumb.-video {
  position: relative;
}
.p-facility-gallery__thumb.-video::before {
  width: 100%;
  height: 100%;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
}
.p-facility-gallery__thumb.-video::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2rem;
  height: 2rem;
  z-index: 2;
  background: url(../../../facility@live/images/icon_play.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-facility-gallery__thumb.-video::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-facility-gallery__thumb.swiper-slide-thumb-active {
  opacity: 1;
}
.p-facility-gallery__thumb-img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.p-facility-manager {
  position: relative;
  padding: 5rem 0;
  background: var(--color-main-light);
}
.p-facility-manager__inner {
  max-width: 90rem;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
}
.p-facility-manager__bg {
  display: block;
  box-sizing: border-box;
  width: 45.1875rem;
  max-width: 52%;
  /* margin-right: rem(-64); Removed to prevent layout instability */
}
.p-facility-manager__img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-facility-manager__content {
  position: relative;
  box-sizing: border-box;
  flex: 1;
  margin-top: 7.5rem;
  margin-left: -3.875rem;
  padding: 6.875rem 2.5rem;
  z-index: 2;
}
.p-facility-manager__content::before {
  border-radius: 1rem;
  background-color: var(--color-bg-primary);
  border: solid 1px var(--color-main);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.p-facility-manager__content::after {
  z-index: -2;
  content: "";
  position: absolute;
  top: -2rem;
  left: -2rem;
  width: calc(100% + 2rem);
  height: calc(100% + 2rem);
  border-radius: 1rem 0 0 0;
  background: linear-gradient(-50deg, rgba(255, 255, 255, 0) 60.25%, rgba(177, 204, 246, 0.5) 79.9%);
}
.p-facility-manager__content-inner {
  max-width: 33.75rem;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.p-facility-manager__title {
  margin: 0;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
.p-facility-manager__description {
  margin: 2rem 0;
  font-size: 1.25rem;
  line-height: 2;
}
.p-facility-manager__name {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
}
@media (max-width: 1439px) {
  .p-facility-manager__img {
    border-radius: 0 1rem 1rem 0;
  }
  .p-facility-manager__content::before {
    border-radius: 1rem 0 0 1rem;
    border-right: none;
  }
}
@media (max-width: 767px) {
  .p-facility-manager {
    padding: 2rem 0;
  }
  .p-facility-manager__inner {
    display: block;
  }
  .p-facility-manager__bg {
    display: block;
    width: auto;
    margin-right: 2rem;
    max-width: 100%;
  }
  .p-facility-manager__img {
    border-radius: 0 0.5rem 0.5rem 0;
    aspect-ratio: 343/318;
  }
  .p-facility-manager__content {
    width: auto;
    margin: -7.5rem 0 0 2rem;
    padding: 2.5rem 2rem 2.5rem 1.4375rem;
  }
  .p-facility-manager__content::before {
    border-radius: 0.5rem 0 0 0.5rem;
  }
  .p-facility-manager__content::after {
    width: calc(100% + 1rem);
    height: calc(100% + 1rem);
    top: -1rem;
    left: -1rem;
  }
  .p-facility-manager__title {
    font-size: 1.25rem;
  }
  .p-facility-manager__description {
    font-size: 1rem;
    line-height: 1.5;
    margin: 1.25rem 0;
  }
  .p-facility-manager__name {
    font-size: 1rem;
  }
}

.p-facility-lifestyle {
  padding: 5rem 0;
}
@media (max-width: 767px) {
  .p-facility-lifestyle {
    padding: 2.5rem 0;
  }
}
.p-facility-lifestyle__inner {
  max-width: 64rem;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__inner {
    padding: 0 1rem;
  }
}
.p-facility-lifestyle__content-wrap {
  margin-top: 3.75rem;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__content-wrap {
    margin-top: 1.25rem;
  }
}
.p-facility-lifestyle__figure {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__figure {
    aspect-ratio: 311/220;
    max-width: 19.4375rem;
    margin: 0 auto;
  }
  .p-facility-lifestyle__figure::before {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% + 2rem);
    height: 100%;
    border-radius: 1rem;
    background: linear-gradient(220deg, rgba(255, 255, 255, 0) 65.25%, rgba(177, 204, 246, 0.5) 79.9%);
    z-index: -1;
  }
}
.p-facility-lifestyle__img {
  width: 100%;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__img {
    border-radius: 0.5rem;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-facility-lifestyle__text {
  margin-top: 4.5rem;
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 2;
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__text {
    margin-top: 2.25rem;
    line-height: 1.5;
    font-size: 1rem;
  }
}
.p-facility-lifestyle__btn {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  padding: 1.375rem 3.125rem;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s;
  background: var(--color-bg-primary);
  width: 20rem;
  font-size: 1.375rem;
  box-shadow: 0.25rem 0.25rem 0 0 var(--color-main-accent-3);
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-lifestyle__btn {
    margin-top: 1.25rem;
    width: 19.4375rem;
    font-size: 1rem;
    padding: 1.1875rem 3.125rem;
  }
}
.p-facility-lifestyle__btn::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  display: block;
  width: 0.6875rem;
  height: 1.125rem;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2218%22%20viewBox%3D%220%200%2011%2018%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1%201L9%208.89744L1%2017%22%20stroke%3D%22%2378C8DC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center center/0.6875rem 1.125rem no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-facility-lifestyle__btn::after {
    right: 1rem;
  }
}

.p-facility-staff-blog {
  position: relative;
  max-width: 69rem;
  padding: 5rem 0;
  margin: 0 auto;
  z-index: 0;
}
@media (max-width: 767px) {
  .p-facility-staff-blog {
    padding: 1.25rem 0 2.5rem;
  }
}
.p-facility-staff-blog::before, .p-facility-staff-blog::after {
  z-index: -2;
  content: "";
  position: absolute;
  width: 100%;
  height: 17.875rem;
  top: 0;
  left: 0;
  background: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-facility-staff-blog::before, .p-facility-staff-blog::after {
    width: calc(100% - 2rem);
    left: 1rem;
    height: 9.625rem;
  }
}
.p-facility-staff-blog::after {
  z-index: -1;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), transparent 80%);
}
.p-facility-staff-blog__inner {
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-staff-blog__inner {
    padding: 0 1rem;
  }
}
.p-facility-staff-blog__list {
  margin-top: 3.75rem;
}
@media (max-width: 767px) {
  .p-facility-staff-blog__list {
    margin-inline: -1rem;
    margin-top: 1.25rem;
  }
}
.p-facility-staff-blog__item {
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
.p-facility-staff-blog__link {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}
.p-facility-staff-blog__link:hover .p-facility-staff-blog__img {
  transform: scale(1.05);
}
.p-facility-staff-blog__thumb {
  margin: 0;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-facility-staff-blog__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s;
}
.p-facility-staff-blog__meta {
  margin-top: 1.25rem;
}
@media (max-width: 767px) {
  .p-facility-staff-blog__meta {
    margin-top: 1rem;
  }
}
.p-facility-staff-blog__date {
  font-size: 1.125rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-staff-blog__date {
    font-size: 1rem;
  }
}
.p-facility-staff-blog__card-title {
  display: block;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
  margin-top: 0.625rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-staff-blog__card-title {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}
.p-facility-staff-blog__btn-wrap {
  text-align: center;
}
.p-facility-staff-blog__btn {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin-top: 2.5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  padding: 1.375rem 3.125rem;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s;
  background: var(--color-bg-primary);
  width: 20rem;
  font-size: 1.375rem;
  box-shadow: 0.25rem 0.25rem 0 0 var(--color-main-accent-3);
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-staff-blog__btn {
    margin-top: 1.25rem;
    width: 19.4375rem;
    font-size: 1rem;
    padding: 1.1875rem 3.125rem;
  }
}
.p-facility-staff-blog__btn::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  display: block;
  width: 0.6875rem;
  height: 1.125rem;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2218%22%20viewBox%3D%220%200%2011%2018%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1%201L9%208.89744L1%2017%22%20stroke%3D%22%2378C8DC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center center/0.6875rem 1.125rem no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-facility-staff-blog__btn::after {
    right: 1rem;
  }
}
.p-facility-staff-blog__dayLink {
  text-align: center;
  margin: 1.875rem 0 0 0;
}
.p-facility-staff-blog__dayLink > a {
  color: var(--color-main);
  font-size: 1.125rem;
  text-decoration: none;
  border-bottom: solid 1px var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-staff-blog__dayLink {
    margin-top: 1.5rem;
  }
  .p-facility-staff-blog__dayLink > a {
    font-size: 1rem;
  }
}

.p-facility-banners {
  display: flex;
  list-style: none;
  padding: 0;
  margin-top: 5rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  flex-direction: row;
  justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-facility-banners {
    flex-direction: column;
    margin-top: 2.5rem;
    gap: 1rem;
    max-width: 19.4375rem;
    margin-inline: auto;
  }
}
.p-facility-banners__item {
  transition: transform 0.3s;
}
.p-facility-banners__link {
  display: block;
  border-radius: 0.5rem;
  box-shadow: 0.25rem 0.25rem 0 0 rgba(255, 188, 134, 0.64);
  background: var(--color-bg-primary);
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.p-facility-banners__img {
  display: block;
  height: auto;
  width: 18.75rem;
}
@media (max-width: 767px) {
  .p-facility-banners__img {
    width: 100%;
  }
}

.p-facility-other {
  padding: 5rem 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-facility-other {
    padding: 2rem 0 2.5rem;
  }
}
.p-facility-other__slider {
  margin-top: 3.75rem;
  overflow: visible;
  width: 96.75rem;
}
@media (max-width: 96.75rem) {
  .p-facility-other__slider {
    margin-inline: calc((100% - 96.75rem) / 2);
  }
}
@media (max-width: 767px) {
  .p-facility-other__slider {
    margin-top: 1.25rem;
    margin-inline: auto;
    max-width: 18.4375rem;
  }
}
.p-facility-other__slider .swiper-slide {
  height: auto;
  display: flex;
}
@media (max-width: 767px) {
  .p-facility-other__slider .swiper-slide {
    width: 100%;
  }
}

.p-facility-card {
  width: 100%;
  padding: 2.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-card {
    padding: 1rem;
    width: 100%;
  }
}
.p-facility-card__meta {
  position: relative;
  margin: 0;
  box-sizing: border-box;
}
.p-facility-card__type {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-facility-card__type {
    font-size: 1rem;
  }
}
.p-facility-card__type-text {
  display: inline-block;
  padding: 0.5rem 1.4375rem;
  border: 1px solid var(--color-text-primary);
  border-radius: 0.25rem;
}
@media (max-width: 767px) {
  .p-facility-card__type-text {
    padding: 0.3125rem 0.9375rem;
  }
}
.p-facility-card__name {
  color: var(--color-main);
  font-size: 1.375rem;
  line-height: 1.2727272727;
  font-weight: var(--font-weight-primary);
  margin: 1rem 0 0 0;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-facility-card__name {
    margin-top: 0.75rem;
    font-size: 1rem;
    display: block;
  }
}
.p-facility-card__address {
  margin-top: 0.75rem;
  font-size: 1.125rem;
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-facility-card__address {
    font-size: 0.875rem;
    margin-top: 0.5rem;
  }
}
.p-facility-card__image {
  margin-top: 0.75rem;
  margin-bottom: 0;
  margin-right: -2.5rem;
  margin-left: -2.5rem;
  aspect-ratio: 500/282;
}
@media (max-width: 767px) {
  .p-facility-card__image {
    margin: 0.5rem -1rem 0;
  }
}
.p-facility-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-facility-card__subscribe {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  text-decoration: none;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  max-width: 17.5rem;
  padding: 0.3125rem 0.9375rem;
  margin: 1rem auto 0;
  background: none;
}
@media (max-width: 1121px) {
  .p-facility-card__subscribe {
    font-size: 0.875rem;
    padding: 0.3125rem 0.9375rem;
  }
}
.p-facility-card__inquiry {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: auto 0 0 0;
}
@media (max-width: 767px) {
  .p-facility-card__inquiry {
    grid-template-columns: 1fr;
  }
}
.p-facility-card__button {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  color: var(--color-main);
  border: solid 1px var(--color-main);
  border-radius: 0.25rem;
  height: 3.75rem;
  text-decoration: none;
  background: var(--color-bg-primary);
  font-size: 1.125rem;
  padding: 0.875rem 0;
  cursor: pointer;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-facility-card__button {
    height: 3.75rem;
    font-size: 1rem;
  }
}
.p-facility-card__button.-fav {
  background: #F6F9FF;
  color: var(--color-text-primary);
  border: 1px solid var(--color-text-primary);
}
.p-facility-card__button.-fav.is-active {
  background: #F3F3F3;
}
.p-facility-card__button.-fav.is-active svg {
  color: #FF7F7F;
}
.p-facility-card__button.-detail {
  border: 1px solid var(--color-main);
  color: var(--color-main);
}
.p-facility-card__button.-detail:hover {
  background: var(--color-main);
  color: var(--color-bg-primary);
  opacity: 1;
  transition: 0.3s;
}
.p-facility-card__button.-detail:hover::after {
  background: white;
}
.p-facility-card__button.-detail::after {
  transition: background 0.3s;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background: var(--color-main);
  content: "";
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
  margin-left: 0.5rem;
}
.p-facility-card__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.p-facility-card::after {
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-facility-card::after {
    border-radius: 0.5rem;
  }
}

.p-facility-room__row, .p-facility-room-list__row {
  display: grid;
  grid-template-columns: 6.25rem 1fr 4.375rem;
  align-items: center;
  gap: 0.9375rem;
}
@media (max-width: 767px) {
  .p-facility-room__row, .p-facility-room-list__row {
    grid-template-columns: 1fr 4rem;
    grid-template-rows: auto auto;
    gap: 0.625rem 0.75rem;
  }
}

.p-facility-room__type, .p-facility-room-list__type {
  font-size: 1.25rem;
  color: var(--color-text-primary);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-right: 0.25rem;
}
@media (max-width: 767px) {
  .p-facility-room__type, .p-facility-room-list__type {
    grid-column: 1/3;
    grid-row: 1/2;
    font-size: 1.125rem;
    text-align: center;
    padding-right: 0;
    padding-bottom: 0.625rem;
    height: auto;
  }
}
.p-facility-room__type::after, .p-facility-room-list__type::after {
  position: absolute;
  top: 0.3125rem;
  right: 0;
  height: calc(100% - 0.25rem);
  border-left: 1px solid var(--color-main);
  box-shadow: -0.25rem 0 0 0 var(--color-main);
  content: "";
}
@media (max-width: 767px) {
  .p-facility-room__type::after, .p-facility-room-list__type::after {
    top: auto;
    border-left: none;
    border-bottom: 1px solid var(--color-main);
    box-shadow: 0 -0.25rem 0 0 var(--color-main);
    bottom: 0;
    right: auto;
    left: 0.3125rem;
    width: calc(100% - 0.25rem);
    height: auto;
  }
}

.p-facility-room__cell, .p-facility-room-list__cell {
  width: 4.375rem;
  height: 4rem;
  box-sizing: border-box;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  display: grid;
  place-items: center;
  background-color: white;
}
@media (max-width: 767px) {
  .p-facility-room__cell, .p-facility-room-list__cell {
    width: 4rem;
    height: 4rem;
  }
}
.-empty.p-facility-room__cell, .-empty.p-facility-room-list__cell {
  background-color: #F3F3F3;
}

.p-facility-room__available, .p-facility-room-list__available {
  font-size: 1.125rem;
}
.p-facility-room__available > span, .p-facility-room-list__available > span {
  display: inline-block;
  display: inline-block;
  vertical-align: -0.25rem;
  margin-right: 0.125rem;
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-room__available > span, .p-facility-room-list__available > span {
    font-size: 1.875rem;
  }
}

.p-facility-room__price, .p-facility-room-list__price {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.p-facility-room__price-label, .p-facility-room-list__price-label {
  font-size: 1.125rem;
  display: inline-block;
}
@media (max-width: 767px) {
  .p-facility-room__price-label, .p-facility-room-list__price-label {
    font-size: 1rem;
  }
}

.p-facility-room__price-number, .p-facility-room-list__price-number {
  font-size: 1rem;
  display: inline-block;
}

.p-facility-room__price-val, .p-facility-room-list__price-val {
  display: inline-block;
  text-align: right;
}

.p-facility-room-list {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: var(--color-main-light);
  border-radius: 0.75rem;
  padding: 1.625rem 1.875rem 1.625rem 0.9375rem;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-facility-room-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 1.25rem 1rem;
    border-radius: 0.75rem;
  }
}
@media (max-width: 767px) {
  .p-facility-room-list__row + .p-facility-room-list__row {
    padding-top: 1.25rem;
    margin-top: 1.25rem;
    border-top: solid 1px white;
  }
}
.p-facility-room-list__price.-top {
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-text-primary);
  padding-bottom: 0.25rem;
}
.p-facility-room-list__price.-bottom {
  padding-top: 0.25rem;
  padding-right: 3.625rem;
}
@media (max-width: 767px) {
  .p-facility-room-list__price.-bottom {
    padding-right: 3.375rem;
    padding-top: 0.5rem;
  }
}
.p-facility-room-list__price-val--large {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: var(--font-weight-primary);
  margin-left: auto;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-room-list__price-val--large {
    font-size: 1.5rem;
  }
}
.p-facility-room-list__price-val.-large {
  color: var(--color-main);
  font-size: 1.875rem;
  min-width: 6.375rem;
}
@media (max-width: 767px) {
  .p-facility-room-list__price-val.-large {
    font-size: 1.625rem;
    min-width: auto;
  }
}

.p-facility-floor-map {
  max-width: 64rem;
  margin-top: 3.75rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-floor-map {
    padding: 0 1rem;
    margin-top: 2.5rem;
  }
}
.p-facility-floor-map__tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2.25rem;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .p-facility-floor-map__tabs {
    margin-top: 1.875rem;
    justify-content: flex-start;
  }
}
.p-facility-floor-map__tab {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-sizing: border-box;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  min-width: 5.875rem;
  border-radius: 1.875rem;
  padding: 0 1rem;
  height: 2.375rem;
  font-weight: var(--font-weight-primary);
  font-size: 1.125rem;
  color: var(--color-main);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}
.p-facility-floor-map__tab:hover {
  background: var(--color-main-light);
}
.p-facility-floor-map__tab.-active {
  background: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-facility-floor-map__tab {
    width: calc(50% - 0.5rem);
    font-size: 1rem;
  }
}
.p-facility-floor-map__figure {
  margin: 0;
  padding: 0;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-items: center;
  gap: 0.625rem;
  margin-top: 2.5rem;
  padding: 2rem;
}
@media (max-width: 767px) {
  .p-facility-floor-map__figure {
    padding: 1.25rem 2.5rem;
    border-radius: 0.5rem;
    margin-top: 2rem;
  }
}
.p-facility-floor-map__img {
  max-width: 42.5rem;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.p-facility-floor-map__zoom {
  text-align: center;
  margin-top: 1.375rem;
}
@media (min-width: 768px) {
  .p-facility-floor-map__zoom {
    display: none;
  }
}
.p-facility-floor-map__button {
  display: inline-flex;
  align-items: center;
  background: var(--color-bg-primary);
  font-size: 1rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  line-height: 1;
  color: var(--color-main);
  padding: 0.5625rem 1rem;
}
.p-facility-floor-map__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-135deg);
}
.p-facility-floor-map__button:hover {
  opacity: 1;
}

.p-facility-fees-rooms {
  max-width: 64rem;
  margin-top: 5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-facility-fees-rooms {
    padding: 0 1rem;
    margin-top: 2.5rem;
  }
}
.p-facility-fees-rooms__list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-facility-fees-rooms__list {
    margin-top: 1rem;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-facility-fees-rooms__notes {
  margin-top: 2rem;
  margin-bottom: 0;
  list-style: none;
  padding: 0;
}
@media (max-width: 767px) {
  .p-facility-fees-rooms__notes {
    margin-top: 1rem;
  }
}
.p-facility-fees-rooms__note-item {
  margin-top: 0.5rem;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
  color: var(--color-text-primary);
}

.p-facility-fees-room {
  box-sizing: border-box;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  padding: 1.5rem;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .p-facility-fees-room {
    padding: 1rem;
  }
}
.p-facility-fees-room__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0;
  padding: 0;
}
.p-facility-fees-room__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--color-main);
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  .p-facility-fees-room__head {
    padding-bottom: 0.75rem;
  }
}
.p-facility-fees-room__head::before {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 3rem);
  height: calc(100% + 1.5rem);
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(90deg, rgba(240, 246, 255, 0) 0%, #F0F6FF 100%);
}
@media (max-width: 767px) {
  .p-facility-fees-room__head::before {
    width: calc(100% + 2rem);
    height: calc(100% + 1rem);
  }
}
.p-facility-fees-room__name {
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  margin: 0;
}
@media (max-width: 767px) {
  .p-facility-fees-room__name {
    font-size: 1rem;
  }
}
.p-facility-fees-room__size {
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  padding: 0.25rem 1rem 0.375rem;
  border: 1px solid var(--color-main);
  border-radius: 3.125rem;
  color: var(--color-main);
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  white-space: nowrap;
  margin-left: 1rem;
  line-height: 1;
  background: white;
}
.p-facility-fees-room__size-num {
  font-size: 2rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-facility-fees-room__size-num {
    font-size: 1.125rem;
  }
}
.p-facility-fees-room__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-facility-fees-room__body {
    margin-top: 0.5rem;
  }
}
.p-facility-fees-room__price-block {
  text-align: right;
}
.p-facility-fees-room__price-row {
  display: flex;
  justify-content: space-between;
}
.p-facility-fees-room__price-label {
  padding-top: 0.25rem;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-facility-fees-room__price-label {
    font-size: 1rem;
  }
}
.p-facility-fees-room__price-main {
  display: flex;
  align-items: baseline;
  color: var(--color-main);
}
.p-facility-fees-room__price-val {
  font-size: 3rem;
  font-weight: var(--font-weight-primary);
  line-height: 1;
  margin-right: 0.125rem;
}
@media (max-width: 767px) {
  .p-facility-fees-room__price-val {
    font-size: 2.5rem;
  }
}
.p-facility-fees-room__price-unit {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-facility-fees-room__price-unit {
    font-size: 1rem;
  }
}
.p-facility-fees-room__price-note {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-primary);
  margin-top: 0.5rem;
  margin-bottom: 0;
  padding-right: 4.0625rem;
}
@media (max-width: 767px) {
  .p-facility-fees-room__price-note {
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
    padding-right: 3.625rem;
    margin-top: 0.25rem;
  }
}
.p-facility-fees-room__breakdown {
  background: var(--color-main-light);
  border-radius: 1rem;
  padding: 1.5rem 4rem;
  display: flex;
  align-items: center;
  margin-top: 2.25rem;
}
@media (max-width: 767px) {
  .p-facility-fees-room__breakdown {
    padding: 0.625rem;
    border-radius: 0.5rem;
    gap: 1rem;
    margin-top: 0.75rem;
    flex-direction: column;
  }
}
.p-facility-fees-room__breakdown-label {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-text-primary);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 6.25rem;
}
@media (max-width: 767px) {
  .p-facility-fees-room__breakdown-label {
    font-size: 1rem;
    min-width: auto;
    text-align: center;
  }
}
.p-facility-fees-room__breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
  margin: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.p-facility-fees-room__amenities {
  line-height: 1.6;
  color: var(--color-text-primary);
  margin: 2rem 0 0 0;
}
@media (max-width: 767px) {
  .p-facility-fees-room__amenities {
    margin-top: 1rem;
    line-height: 1.5;
  }
}
.p-facility-fees-room__breakdown-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: var(--color-text-primary);
  margin: 0;
}
.p-facility-fees-room__breakdown-term {
  font-weight: var(--font-weight-primary);
}
.p-facility-fees-room__breakdown-desc {
  min-width: 5.625rem;
  font-weight: var(--font-weight-primary);
  margin: 0;
  text-align: right;
}

.pg-facility .fancybox__container {
  --f-html-padding: 0;
  --f-html-bg: transparent;
  --f-html-color: var(--color-text-primary);
  --f-arrow-width: 3rem;
  --f-arrow-height: var(--f-arrow-width);
  --f-arrow-bg: var(--color-bg-primary);
  --f-arrow-hover-bg: var(--color-main);
  --f-arrow-color: var(--color-main);
  --f-arrow-pos: calc(50% - 3.125rem - 25rem - 2.5rem);
}
.pg-facility .fancybox__container .f-button.is-arrow {
  --f-button-border: 1px solid var(--color-main);
}
.pg-facility .fancybox__container .fancybox__slide.has-html {
  padding: 0;
}
@media (min-width: 768px) {
  .pg-facility .fancybox__container {
    --f-html-margin: 3.75rem 0;
    --fancybox-backdrop-bg: rgba(51, 51, 51, 0.5);
  }
  .pg-facility .fancybox__container .fancybox__slide.has-html {
    padding-left: var(--f-scrollbar-compensate, 0);
  }
}
@media (max-width: 767px) {
  .pg-facility .fancybox__container {
    --f-html-margin: 3.125rem 0;
    --fancybox-backdrop-bg: var(--color-bg-primary);
  }
  .pg-facility .fancybox__container .fancybox__carousel > .f-button:is(.is-prev, .is-next) {
    display: none;
  }
  .pg-facility .fancybox__container .fancybox__slide.f-zoomable {
    box-sizing: border-box;
    --f-carousel-slide-padding: 16px;
  }
}

.p-facility-episode {
  position: relative;
  padding: 10rem 0;
  background: linear-gradient(298.96deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 99.46%);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-facility-episode {
    padding: 4rem 0;
  }
}
.p-facility-episode__inner {
  position: relative;
  z-index: 0;
  max-width: 90rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-facility-episode__inner::before {
    pointer-events: none;
    position: absolute;
    content: "";
    top: -4rem;
    left: 0;
    width: 100%;
    height: 13.75rem;
    background: linear-gradient(180deg, transparent 0%, rgba(255, 249, 244, 0.6) 90%);
    z-index: 1;
  }
}
.p-facility-episode__image {
  position: absolute;
  max-width: 33.75rem;
  width: 37.5vw;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-facility-episode__image {
    width: 12.5rem;
    transform: translateY(0);
    top: -5.875rem;
  }
  .p-facility-episode__image::before {
    display: none !important;
  }
}
.p-facility-episode__image.-left {
  left: -3.75rem;
}
.p-facility-episode__image.-left::before {
  position: absolute;
  content: "";
  max-width: 13.75rem;
  width: 15.2777777778vw;
  aspect-ratio: 1;
  background: url(../../../facility@live/images/deco_episoce.png) no-repeat center center/contain;
  right: 0;
  bottom: 0;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-facility-episode__image.-left {
    left: -4.1666666667vw;
  }
}
@media (max-width: 767px) {
  .p-facility-episode__image.-left {
    left: -2.5rem;
  }
}
.p-facility-episode__image.-right {
  right: -4.375rem;
}
.p-facility-episode__image.-right::before {
  position: absolute;
  content: "";
  max-width: 7.0625rem;
  width: 7.8472222222vw;
  aspect-ratio: 1;
  background: url(../../../facility@live/images/deco_episoce.png) no-repeat center center/contain;
  left: 0;
  top: 2.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-facility-episode__image.-right {
    right: -4.8611111111vw;
  }
}
@media (max-width: 767px) {
  .p-facility-episode__image.-right {
    right: -3.75rem;
  }
}
.p-facility-episode__title {
  max-width: 64rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.p-facility-episode__title-sub {
  margin: 0;
  color: var(--color-sub);
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-facility-episode__title-sub {
    font-size: 1rem;
  }
}
.p-facility-episode__title-main {
  margin-top: 1.25rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-facility-episode__title-main {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
}
.p-facility-episode__btn-wrap {
  margin-top: 3.125rem;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-facility-episode__btn-wrap {
    margin-top: 1.875rem;
  }
}
.p-facility-episode__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-sub);
  border-radius: 6.25rem;
  color: var(--color-sub);
  background: var(--color-bg-primary);
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0.25rem 0.25rem 0 var(--color-sub-accent-1);
  width: 22.5rem;
  max-width: 100%;
  padding: 1.375rem 3.125rem;
  font-size: 1.375rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-episode__btn {
    width: 19.4375rem;
    font-size: 1rem;
    padding: 1.1875rem 3.125rem;
  }
}
.p-facility-episode__btn::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  display: block;
  width: 0.6875rem;
  height: 1.125rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2218%22%20viewBox%3D%220%200%2011%2018%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1%201L9%208.89744L1%2017%22%20stroke%3D%22%2378C8DC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center center/0.6875rem 1.125rem no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2218%22%20viewBox%3D%220%200%2011%2018%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1%201L9%208.89744L1%2017%22%20stroke%3D%22%2378C8DC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center center/0.6875rem 1.125rem no-repeat;
  background: var(--color-sub);
  content: "";
}

.p-facility-faq {
  background: var(--color-main-light);
  padding: 5rem 0;
}
@media (max-width: 767px) {
  .p-facility-faq {
    padding: 2rem 0;
  }
}
.p-facility-faq__inner {
  max-width: 90rem;
  padding: 0 2.5rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-facility-faq__inner {
    padding: 0 1rem;
  }
}
.p-facility-faq__box {
  padding: 5rem 2.5rem;
  border-radius: 1rem;
  border: 1px solid var(--color-main);
  background: var(--color-bg-primary);
}
@media (max-width: 767px) {
  .p-facility-faq__box {
    padding: 2.5rem 0.9375rem;
  }
}
.p-facility-faq__btn-wrap {
  text-align: center;
}
.p-facility-faq__btn {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin-top: 2.5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  padding: 1.375rem 3.125rem;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
  text-decoration: none;
  transition: opacity 0.3s, background-color 0.3s, color 0.3s;
  background: var(--color-bg-primary);
  width: 20rem;
  font-size: 1.375rem;
  box-shadow: 0.25rem 0.25rem 0 0 var(--color-main-accent-3);
  text-align: center;
}
@media (max-width: 767px) {
  .p-facility-faq__btn {
    margin-top: 1.5rem;
    width: 19.4375rem;
    font-size: 1rem;
    padding: 1.1875rem 3.125rem;
  }
}
.p-facility-faq__btn::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  display: block;
  width: 0.6875rem;
  height: 1.125rem;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2218%22%20viewBox%3D%220%200%2011%2018%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1%201L9%208.89744L1%2017%22%20stroke%3D%22%2378C8DC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center center/0.6875rem 1.125rem no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-facility-faq__btn::after {
    right: 1rem;
  }
}

.p-facility-faq-list {
  max-width: 64rem;
  margin: 3.75rem auto 0;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-faq-list {
    margin: 1.25rem 0 0;
  }
}
.p-facility-faq-list__term, .p-facility-faq-list__desc {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-facility-faq-list__term, .p-facility-faq-list__desc {
    font-size: 1rem;
  }
}

.p-facility-faq-list__term {
  border-top: 1px solid var(--color-main);
  padding: 2.875rem 3.75rem 2.875rem 5rem;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .p-facility-faq-list__term {
    padding: 1rem 2.5rem 1rem 3.75rem;
  }
}
.p-facility-faq-list__term::before {
  position: absolute;
  top: 2.5rem;
  left: 2rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  box-sizing: border-box;
  background: var(--color-bg-primary);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-main);
  text-transform: uppercase;
  content: "q";
}
@media (max-width: 767px) {
  .p-facility-faq-list__term::before {
    top: 1.25rem;
    left: 1rem;
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
  }
}
.p-facility-faq-list__term::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 1.375rem;
  height: 0.8125rem;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='13' viewBox='0 0 22 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0.999999L11 11L21 1' stroke='%232C69BA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.4s;
  content: "";
}
@media (max-width: 767px) {
  .p-facility-faq-list__term::after {
    right: 1rem;
    width: 1.125rem;
  }
}
.p-facility-faq-list__term.-active::after {
  transform: translateY(-50%) rotate(180deg);
}

.p-facility-faq-list__desc {
  color: var(--color-main);
  background: var(--color-main-light);
  position: relative;
  padding: 0 1.5rem 0 5rem;
}
@media (max-width: 767px) {
  .p-facility-faq-list__desc {
    padding: 0 1.5rem 0 3.75rem;
  }
}
.p-facility-faq-list__desc::before {
  position: absolute;
  top: 1rem;
  left: 2rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50vh;
  border: 1px solid transparent;
  box-sizing: border-box;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-main);
  text-transform: uppercase;
  content: "a";
}
@media (max-width: 767px) {
  .p-facility-faq-list__desc::before {
    top: 0.5rem;
    left: 1rem;
  }
}

.p-facility-faq-list__text {
  margin: 0;
  padding: 1.5rem 0;
}
@media (max-width: 767px) {
  .p-facility-faq-list__text {
    padding: 1.125rem 0;
  }
}

.p-facility-room {
  padding: 1rem 0;
}
@media (max-width: 767px) {
  .p-facility-room {
    padding: 0.5rem 0;
  }
}
.p-facility-room__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-facility-room__body {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
}
.p-facility-room__footer {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
  font-size: 1rem;
  margin-top: 1rem;
  margin-left: 5.375rem;
}
@media (max-width: 767px) {
  .p-facility-room__footer {
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    margin: 1.25rem 0 0 0;
  }
}
.p-facility-room__lead {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-facility-room__lead {
    font-size: 1rem;
  }
}
.p-facility-room__update {
  font-size: 1rem;
}
.p-facility-room__row {
  grid-template-columns: 4.75rem 1fr 4rem;
  gap: 0.5rem;
  position: relative;
}
.p-facility-room__row + .p-facility-room__row {
  border-top: 1px solid #DDDDDD;
  margin-top: 1rem;
  padding-top: 0.25rem;
}
@media (max-width: 767px) {
  .p-facility-room__row + .p-facility-room__row {
    margin-top: 0.625rem;
    padding-top: 0.5rem;
  }
}
@media (max-width: 767px) {
  .p-facility-room__row {
    grid-template-columns: 1fr 3.5rem;
    grid-template-rows: auto 1fr;
    align-items: stretch;
    gap: 0.625rem 0;
  }
}
.p-facility-room__type {
  justify-content: flex-start;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-facility-room__type {
    padding-bottom: 0.625rem;
    text-align: center;
    justify-content: center;
    padding-right: 0;
    grid-column: 1/3;
  }
}
.p-facility-room__cell {
  width: 4rem;
}
@media (max-width: 767px) {
  .p-facility-room__cell {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (max-width: 767px) {
  .p-facility-room__available {
    font-size: 0.9375rem;
  }
  .p-facility-room__available-num {
    font-size: 1.6875rem;
  }
}
@media (max-width: 767px) {
  .p-facility-room__prices {
    margin-right: 0.375rem;
  }
}
@media (max-width: 767px) {
  .p-facility-room__price {
    margin: 0;
  }
}
.p-facility-room__price.-top {
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-text-primary);
  padding-bottom: 0.25rem;
}
@media (max-width: 767px) {
  .p-facility-room__price.-top {
    gap: 0.1875rem;
    padding-bottom: 0.5rem;
  }
}
.p-facility-room__price.-bottom {
  padding-top: 0.25rem;
  padding-right: 3.625rem;
}
@media (max-width: 767px) {
  .p-facility-room__price.-bottom {
    padding-right: 2.25rem;
  }
}
.p-facility-room__price-label {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .p-facility-room__price-label {
    display: block;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .p-facility-room__price-number {
    font-size: 0.8125rem;
    line-height: 1;
  }
}
.p-facility-room__price-val--large {
  color: var(--color-main);
  font-size: 1.875rem;
}
@media (max-width: 767px) {
  .p-facility-room__price-val--large {
    font-size: 1.25rem;
  }
}
.p-facility-room__price-val--medium {
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-facility-room__price-val--medium {
    font-size: 1.0625rem;
  }
}

.p-facility-panorama {
  margin-top: 5rem;
  padding: 5rem 0;
  background: var(--color-main-light);
}
.p-facility-panorama__inner {
  max-width: 64rem;
  padding: 0 2.5rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-facility-panorama__inner {
    padding: 0 1rem;
  }
}
.p-facility-panorama__content {
  padding: 5rem 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 0;
}
.p-facility-panorama__content::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  background-color: var(--color-bg-primary);
  z-index: -1;
}
.p-facility-panorama__content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 4rem);
  height: calc(100% + 4rem);
  background: linear-gradient(-26deg, rgba(255, 255, 255, 0) 70.25%, rgba(177, 204, 246, 0.5) 79.9%);
  border-radius: 1rem;
  z-index: -2;
}
.p-facility-panorama__desc {
  text-align: center;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-text-primary);
  margin: 1rem 0 0 0;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-facility-panorama__desc {
    font-size: 0.875rem;
    text-align: left;
  }
}
.p-facility-panorama__buttons {
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  flex-wrap: wrap;
  margin: 2.25rem 0 0 0;
}
.p-facility-panorama__btn {
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 1.125rem;
  color: var(--color-main);
  border: solid 1px var(--color-main);
  background: white;
  border-radius: 6.25rem;
  padding: 0.3125rem 1.5rem;
}
.p-facility-fees-slider {
  margin-top: 3.75rem;
  max-width: 50rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .p-facility-fees-slider {
    margin-top: 1.25rem;
    margin-inline: -1rem;
  }
}
.p-facility-fees-slider__main {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.p-facility-fees-slider__slide {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  background: #eeeeee;
}
@media (max-width: 767px) {
  .p-facility-fees-slider__slide {
    aspect-ratio: 375/210;
  }
}
.p-facility-fees-slider__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-facility-fees-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(51, 51, 51, 0.6);
  color: var(--color-bg-primary);
  text-align: center;
  padding: 1.125rem 0.625rem;
  font-size: 1rem;
  box-sizing: border-box;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-facility-fees-slider__caption {
    font-size: 0.875rem;
    padding: 0.6875rem 0.75rem;
  }
}
.p-facility-fees-slider__next, .p-facility-fees-slider__prev {
  color: var(--color-bg-primary);
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
}
.p-facility-fees-slider__next:hover, .p-facility-fees-slider__prev:hover {
  background: rgba(0, 0, 0, 0.5);
}
.p-facility-fees-slider__next::after, .p-facility-fees-slider__prev::after {
  font-size: 1.125rem;
  font-weight: bold;
}
.p-facility-fees-slider__thumbs {
  width: 100%;
  margin-top: 1rem;
  padding: 0 0.75rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-facility-fees-slider__thumbs {
    padding: 0;
  }
}
.p-facility-fees-slider__thumb {
  height: auto;
  cursor: pointer;
  overflow: hidden;
  width: 11.375rem;
  aspect-ratio: 182/102;
  position: relative;
  background: #eeeeee;
}
.p-facility-fees-slider__thumb::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(51, 51, 51, 0.6);
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .p-facility-fees-slider__thumb {
    width: auto;
  }
}
.p-facility-fees-slider__thumb.swiper-slide-thumb-active::before {
  opacity: 0;
}
.p-facility-fees-slider__thumb-img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-search-form {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.p-search-form__lead {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text-primary);
  text-align: center;
}

.p-search-column:not(:first-of-type) {
  margin-top: 3.75rem;
}
.p-search-column__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-search-column__title {
    font-size: 1.5rem;
  }
}
.p-search-column__icon {
  width: 2.5rem;
  aspect-ratio: 1/1;
  color: var(--color-main);
}
.p-search-column__content {
  padding: 0 1rem;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-search-column__content {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .p-search-column .p-search-checkbox {
    flex-grow: 1;
  }
}

@media (max-width: 767px) {
  .p-search-medical-group.-elimination .p-search-checkbox:last-of-type {
    max-width: calc(50% - 0.25rem);
  }
}

.p-search-result-toggle {
  position: relative;
  border: 1px solid var(--color-main);
  padding: 2.625rem 2.625rem 2rem;
  border-radius: 1rem;
}
.p-search-result-toggle.-nosearch {
  padding: 0;
  overflow: hidden;
}
@media (min-width: 1121px) {
  .p-search-result-toggle {
    margin-left: -2.625rem;
    margin-right: -2.625rem;
  }
}
@media (min-width: 1439px) {
  .p-search-result-toggle {
    padding: 5rem 5rem 2rem;
    margin-left: -5rem;
    margin-right: -5rem;
  }
}
@media (max-width: 767px) {
  .p-search-result-toggle {
    padding: 0 1rem 1rem;
    border-radius: 0.5rem;
  }
}

@media (max-width: 767px) {
  .p-search-map {
    margin: 0 -1rem;
    border-radius: 0.4375rem 0.4375rem 0 0;
    overflow: hidden;
  }
}
.p-search-map__item {
  height: 30rem;
}
@media (max-width: 767px) {
  .p-search-map__item {
    height: 17.5rem;
  }
}

.p-search-notification__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  margin-top: 2rem;
  background-color: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-search-notification__inner {
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1rem 1.5rem;
  }
}
.p-search-notification__text {
  font-size: 1.125rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-search-notification__text {
    font-weight: 500;
  }
}
.p-search-notification__text__count {
  display: inline-block;
  font-size: 1.5rem;
  color: var(--color-main);
  font-weight: 700;
  margin-right: 0.25rem;
}
.p-search-notification__text .number {
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-search-notification__text .number {
    font-size: 1.125rem;
    font-weight: 500;
  }
}
.p-search-notification__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 0.25rem;
  box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s;
  background: #fff;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  cursor: pointer;
  height: 4rem;
  width: 14.875rem;
  flex: 0 0 14.875rem;
  gap: 0.75rem;
  box-sizing: border-box;
}
.p-search-notification__btn__icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-search-notification__btn {
    height: 2.875rem;
    width: 100%;
    padding: 0 0.5rem;
    gap: 0.5rem;
    flex: 0 0 auto;
  }
  .p-search-notification__btn__icon {
    width: 1.75rem;
    height: 1.75rem;
  }
}

.p-search-condition__area {
  padding: 1.875rem 0 0;
}
@media (max-width: 767px) {
  .p-search-condition__area {
    padding: 1.25rem 0 0;
  }
}
.p-search-condition__list {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.p-search-condition__row {
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  align-items: stretch;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-search-condition__row dt, .p-search-condition__row dd {
  box-sizing: border-box;
  padding-top: 0.75rem;
}
.p-search-condition__row:first-child dt, .p-search-condition__row:first-child dd {
  padding-top: 0;
}
.p-search-condition__row dt {
  border-right: 0.3125rem double var(--color-main);
  padding-right: 1rem;
}
.p-search-condition__row dd {
  margin: 0;
}
@media (max-width: 767px) {
  .p-search-condition__row {
    grid-template-columns: 1fr;
    font-size: 1rem;
    font-weight: 500;
  }
  .p-search-condition__row dt, .p-search-condition__row dd {
    padding-top: 0;
  }
  .p-search-condition__row dt {
    width: 100%;
    border-right: none;
    border-bottom: 0.25rem double var(--color-main);
    padding-right: 0;
    padding-bottom: 0.625rem;
    padding-top: 1.5rem;
    margin-bottom: 0.625rem;
  }
  .p-search-condition__row dd {
    margin: 0;
  }
}
.p-search-condition__term {
  font-weight: bold;
  min-width: 8.75rem;
  color: var(--color-text-primary);
}
.p-search-condition__desc {
  flex: 1;
  margin: 0;
}

.p-search-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-search-checkbox-group {
    gap: 0.5rem;
  }
  .-nutrition .p-search-checkbox-group, .-condition .p-search-checkbox-group {
    flex-direction: column;
  }
}
.p-search-checkbox-group.-card {
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-search-checkbox-group.-card {
    gap: 0.75rem;
  }
}

.p-search-pill {
  cursor: pointer;
  position: relative;
  margin: 0;
}
.p-search-pill__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.p-search-pill__input:checked + .p-search-pill__text {
  background: var(--color-main);
  color: var(--color-bg-primary);
  border-color: var(--color-main);
  font-weight: 700;
  box-shadow: 0 0.25rem 0.375rem rgba(7, 66, 142, 0.2);
}
.p-search-pill__input:checked + .p-search-pill__text::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: var(--color-bg-primary);
}
.p-search-pill__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-primary);
  border-radius: 2.5rem;
  font-size: 0.9375rem;
  color: var(--color-text-primary);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
@media (max-width: 767px) {
  .p-search-pill__text {
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    min-height: 2.625rem;
  }
}
.p-search-pill__text:hover {
  border-color: var(--color-main);
  color: var(--color-main);
}
.p-search-pill__text::before {
  content: "";
  display: inline-block;
  width: 0;
  transition: width 0.2s;
  overflow: hidden;
  margin-right: 0;
}
.p-search-pill__input:checked + .p-search-pill__text::before {
  width: 1.2em;
  margin-right: 0.375rem;
}

.p-search-checkbox {
  cursor: pointer;
  position: relative;
  margin: 0;
}
.p-search-checkbox__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.p-search-checkbox__input:checked + .p-search-checkbox__body {
  background-color: var(--color-main-light);
  border-color: var(--color-main);
  color: var(--color-main);
  box-shadow: none;
}
.p-search-checkbox__input:checked + .p-search-checkbox__body::before {
  background: var(--gradient-main);
}
.p-search-checkbox__input:checked + .p-search-checkbox__body::after {
  background-color: var(--color-bg-primary);
}
.p-search-checkbox__body {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 4rem;
  padding: 0 1rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-main);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  min-width: 7.5rem;
}
@media (max-width: 767px) {
  .p-search-checkbox__body {
    font-size: 1rem;
    height: 3.5rem;
    gap: 0.625rem;
    padding: 0 0.75rem;
  }
}
.p-search-checkbox__body:hover {
  background-color: var(--color-main-light);
}
.p-search-checkbox__body::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.375rem;
  background-color: var(--color-main-light);
  transition: background 0.2s ease;
  flex-shrink: 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-search-checkbox__body::before {
    width: 2rem;
    height: 2rem;
  }
}
.p-search-checkbox__body::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  left: 1.75rem;
  top: 1.625rem;
  background-color: var(--color-border-primary);
  -webkit-mask-image: url("/themes/facility@live/images/icon_check.svg");
          mask-image: url("/themes/facility@live/images/icon_check.svg");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.2s ease;
}
@media (max-width: 767px) {
  .p-search-checkbox__body::after {
    left: 1.25rem;
    top: 1.25rem;
  }
}

.p-search-budget-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-search-budget-group {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-search-select-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-search-select {
  position: relative;
  width: 100%;
}
.p-search-select__input {
  width: 100%;
  height: 4rem;
  padding: 0 2.5rem 0 1.5rem;
  background: var(--color-main-light);
  border: none;
  border-radius: 0.5rem;
  font-weight: 500;
  font-size: 1.25rem;
  color: var(--color-main);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-search-select__input {
    height: 3.5rem;
    font-size: 1rem;
    padding-left: 1rem;
  }
}
.p-search-select__input:focus {
  outline: 0.125rem solid var(--color-main);
  background: var(--color-bg-primary);
}

.p-search-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-bottom: 0.125rem solid var(--color-main);
  border-right: 0.125rem solid var(--color-main);
  pointer-events: none;
  margin-top: -0.1875rem;
}

.p-search-select-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-search-select-label {
    font-size: 1.125rem;
  }
}

.p-search-select-label::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--color-main);
  border-radius: 50%;
  flex-shrink: 0;
}

.p-search-medical-categories {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-search-medical-group__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.8125rem;
  font-weight: 500;
  margin: 0;
  position: relative;
  padding-left: 1.5rem;
}
.p-search-medical-group__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--color-main);
  border-radius: 50%;
}
.p-search-medical-group__list {
  width: 100%;
  margin-top: 1rem;
}

.p-search-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(240, 246, 255, 0.8);
  backdrop-filter: blur(0.25rem);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
  padding: 3rem 0;
}
.p-search-footer.is-stopped {
  position: absolute;
  bottom: 0;
}
.p-search-footer__inner {
  width: 100%;
  max-width: 60rem;
  padding: 0 1rem;
  display: flex;
  justify-content: center;
}
.p-search-footer__btn {
  width: 100%;
  max-width: 21.875rem;
  height: 5rem;
  font-size: 1.125rem;
  border-radius: 0.25rem;
  background: var(--gradient-main);
  box-shadow: 0 0.25rem 0.375rem rgba(7, 66, 142, 0.2);
  color: var(--color-bg-primary);
  cursor: pointer;
  border: none;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-search-footer__btn:hover {
  opacity: 0.9;
  transform: translateY(-0.125rem);
}
.p-search-footer__btn .c-icon {
  width: 2.75rem;
  height: 2.75rem;
}
@media (max-width: 767px) {
  .p-search-footer {
    padding: 1.5rem 0;
  }
  .p-search-footer__btn {
    height: 3.75rem;
  }
}

.p-search-action {
  height: 6rem;
}

.p-search-map-infowindow {
  color: var(--color-text-primary);
  min-width: 9.375rem;
}
.p-search-map-infowindow__title {
  font-weight: bold;
  color: var(--color-main);
}
.p-search-map-infowindow__address {
  font-size: 0.75rem;
  margin-top: 0.3125rem;
}
.p-search-map-infowindow__link {
  display: block;
  color: var(--color-main);
  text-decoration: underline;
  margin-top: 0.3125rem;
}

.p-search-list {
  margin-top: 2.5rem;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 767px) {
  .p-search-list {
    margin-top: 1rem;
    gap: 1rem;
  }
}

.p-search-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem 1.5rem 2.5rem;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-search-card {
    padding: 1.25rem 1rem;
    border-radius: 0.5rem;
    gap: 0;
  }
}
.p-search-card__header-area {
  margin-top: -1.5rem;
  margin-right: -1.5rem;
  margin-bottom: 0;
  margin-left: -1.5rem;
  padding: 3rem 2.5rem 1rem;
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(90deg, rgba(240, 246, 255, 0) 0%, var(--color-main-light) 100%);
}
@media (max-width: 767px) {
  .p-search-card__header-area {
    padding: 1.5rem 1rem 1rem;
    margin: -1.25rem -1rem 0;
    border-radius: 0.5rem 0.5rem 0 0;
  }
}
.p-search-card__header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.p-search-card__type-badge {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-weight: 500;
  font-size: 1.125rem;
  padding: 0.4375rem 1.5rem 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-search-card__type-badge {
    font-size: 1rem;
    padding: 0.28125rem 0.9375rem;
  }
}
.p-search-card__header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.p-search-card__header-icon {
  width: 2rem;
  aspect-ratio: 1;
}
.p-search-card__header-main {
  margin-top: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-search-card__header-main {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.p-search-card__title {
  font-size: 2rem;
  font-weight: 500;
  margin: 0;
  line-height: 1.4;
}
.p-search-card__title a {
  text-decoration: none;
}
@media (max-width: 767px) {
  .p-search-card__title {
    font-size: 1.375rem;
  }
}
.p-search-card__link {
  color: var(--color-main);
  text-decoration: none;
  transition: color 0.3s;
}
.p-search-card__link:hover {
  color: var(--color-main);
}
.p-search-card__address {
  font-size: 1.125rem;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 767px) {
  .p-search-card__address {
    font-size: 1rem;
    margin-top: 0.125rem;
  }
}
.p-search-card__more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-main);
  font-weight: 700;
  text-decoration: none;
  font-size: 1rem;
  padding: 0 0 0.5rem;
  border-radius: 3.125rem;
  transition: background-color 0.3s;
  white-space: nowrap;
  align-items: center;
}
.p-search-card__more-btn:hover {
  background-color: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-search-card__more-btn {
    padding: 0;
  }
}
.p-search-card__more-btn::after {
  display: block;
  width: 0.875rem;
  height: 1.5rem;
  background: var(--color-main);
  content: "";
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-search-card__more-btn::after {
    width: 0.5rem;
    height: 0.875rem;
  }
}
.p-search-card__body {
  display: flex;
  gap: 2rem;
  flex: 1;
}
@media (max-width: 767px) {
  .p-search-card__body {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-search-card__image {
  flex-shrink: 0;
  flex-grow: 1;
}
.p-search-card__image img {
  max-height: 16.6875rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-search-card__image {
    margin: 0 -1rem;
  }
}
.p-search-card__img {
  max-width: none;
  height: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-search-card__img {
    height: auto;
  }
}
.p-search-card__float-btn {
  z-index: 5;
  position: absolute;
  top: 3rem;
  font-family: var(--font-family-primary);
  font-weight: 500;
  font-size: 1.125rem;
  display: inline-flex;
  padding: 0.3125rem 1rem;
  justify-content: center;
  align-items: center;
  border-radius: 100vw;
  color: #102244;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-search-card__float-btn {
    position: relative;
    right: 0 !important;
    top: 0;
    max-width: 100%;
    width: 100%;
    font-size: 0.875rem;
    padding: 0.3125rem 0.625rem;
  }
}
.p-search-card__float-btn__icon {
  width: 2rem;
  aspect-ratio: 1;
}
.p-search-card__float-btn.-favorite {
  right: 25rem;
  background: white;
  border: 1px solid #102244;
}
.p-search-card__float-btn.-favorite.-active {
  background: #F3F3F3;
}
.p-search-card__float-btn.-favorite.-active .p-search-card__float-btn__icon {
  color: #FF7F7F;
}
@media (max-width: 767px) {
  .p-search-card__float-btn.-favorite {
    margin: 0.5rem 0;
  }
}
.p-search-card__float-btn.-mail {
  right: 6.25rem;
  background: #FFF;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  transition: 0.3s;
}
@media (max-width: 767px) {
  .p-search-card__float-btn.-mail {
    width: 14.5rem;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .p-search-card__float-btn.-mail:hover {
    opacity: 1;
    color: var(--color-bg-primary);
    background: var(--color-main);
  }
}
.p-search-card__footer-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-search-card__footer-actions {
    grid-template-columns: repeat(1, 1fr);
    padding: 0;
    gap: 0.5rem;
  }
}
.p-search-card__footer-btn {
  flex: 1;
  text-align: center;
  padding: 0.875rem;
  text-decoration: none;
  font-weight: 500;
  color: var(--color-bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.25rem;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.25rem;
  transition: opacity 0.3s, transform 0.3s;
  font-size: 1.125rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-search-card__footer-btn {
    font-size: 1rem;
    padding: 0.5rem;
    gap: 0.25rem;
    min-height: 4rem;
  }
}
.p-search-card__footer-btn.-visit {
  background: var(--gradient-main);
}
.p-search-card__footer-btn.-request {
  background: var(--gradient-primary);
}
.p-search-card__footer-btn.-online {
  font-size: 1.75rem;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  color: var(--color-main);
  display: flex;
  align-items: center;
}
.p-search-card__footer-btn.-online:hover {
  background-color: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-search-card__footer-btn.-online {
    font-size: 1.5rem;
  }
}
.p-search-card__footer-btn__icon {
  width: 2.5rem;
  aspect-ratio: 1;
}
.p-search-card__footer-btn__icon.-phone {
  fill: currentColor;
  color: var(--color-main);
  transform: translateY(0.125rem);
}
.p-search-card__footer-icon {
  width: 2.5rem;
  aspect-ratio: 1;
}
.p-search-card__checkbox {
  color: #999;
}
.p-search-card__checkbox__icon {
  border-radius: 0.25rem;
  background: white;
  border: solid 1px var(--color-main);
  cursor: pointer;
  display: block;
  box-sizing: border-box;
  width: 2.75rem;
  height: 2.75rem;
}
@media (max-width: 767px) {
  .p-search-card__checkbox__icon {
    width: 2.3125rem;
    height: 2.1875rem;
  }
}
.p-search-card__checkbox input {
  display: none;
}
.p-search-card__checkbox input:checked + .p-search-card__checkbox__icon {
  color: var(--color-bg-primary);
  background: var(--gradient-primary);
  border: none;
}

.p-search-room__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-search-room__body {
  margin-top: 0.625rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .p-search-room__body {
    margin-top: 1.25rem;
  }
}
.p-search-room__footer {
  display: flex;
  justify-content: end;
  gap: 1.25rem;
  font-size: 1rem;
  margin-top: 1rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 5.375rem;
}
@media (max-width: 767px) {
  .p-search-room__footer {
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    margin-top: 1.5rem;
    margin-left: 0;
  }
}
.p-search-room__lead {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-main);
}
.p-search-room__update {
  font-size: 1rem;
}
.p-search-room__row {
  display: grid;
  grid-template-columns: 4.75rem 17.5rem 4rem;
  align-items: center;
}
@media (max-width: 767px) {
  .p-search-room__row {
    grid-template-columns: 1fr 4rem;
    grid-template-rows: auto 1fr;
    align-items: stretch;
    gap: 1rem 0;
  }
}
.p-search-room__row + .p-search-room__row {
  border-top: 1px solid #ddd;
  margin-top: 1rem;
  padding-top: 0.625rem;
}
@media (max-width: 767px) {
  .p-search-room__row + .p-search-room__row {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }
}
.p-search-room__type {
  font-size: 1.125rem;
  color: var(--color-text-primary);
  height: 100%;
  display: grid;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .p-search-room__type {
    padding-bottom: 0.25rem;
    text-align: center;
    padding-right: 0;
    grid-column: 1/3;
  }
}
.p-search-room__type::after {
  position: absolute;
  top: 0.3125rem;
  right: 0;
  height: calc(100% - 0.25rem);
  border-left: 1px solid var(--color-main);
  box-shadow: -0.25rem 0 0 0 var(--color-main);
  content: "";
}
@media (max-width: 767px) {
  .p-search-room__type::after {
    top: 100%;
    height: 0.125rem;
    width: 100%;
    border-left: none;
    border-bottom: 1px solid var(--color-main);
    box-shadow: 0 -0.0625rem 0 0 var(--color-main);
  }
}
.p-search-room__cell {
  width: 4rem;
  height: 4rem;
  box-sizing: border-box;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  display: grid;
  place-items: center;
}
.p-search-room__cell.-empty {
  background-color: #F3F3F3;
}
.p-search-room__available {
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  gap: 0.125rem;
}
.p-search-room__available span {
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-main);
  line-height: 1;
  padding-bottom: 0.125rem;
}
.p-search-room__count {
  display: inline-block;
  vertical-align: -0.25rem;
  margin-right: 0.125rem;
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-search-room__prices {
    margin-right: 0.375rem;
  }
}
.p-search-room__price {
  line-height: 1;
  margin-top: 0;
  margin-right: 0.5rem;
  margin-bottom: 0;
  margin-left: 0.625rem;
  display: flex;
  align-items: baseline;
  box-sizing: border-box;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-search-room__price {
    margin: 0;
  }
}
.p-search-room__price.-top {
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-text-primary);
  padding-bottom: 0.5625rem;
  margin-bottom: 0;
}
.p-search-room__price.-top .p-search-room__price-number span {
  font-size: 1.875rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-search-room__price.-top .p-search-room__price-number span {
    font-size: 1.5rem;
  }
}
.p-search-room__price.-bottom {
  margin-top: 0.6875rem;
  background-color: transparent;
  backdrop-filter: none;
  border-top: none;
  box-shadow: none;
  z-index: 1;
  padding-right: 3.625rem;
}
.p-search-room__price.-bottom .p-search-room__price-number span {
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-search-room__price.-bottom .p-search-room__price-number span {
    font-size: 1.125rem;
  }
}
.p-search-room__price__inner {
  width: 100%;
  max-width: 60rem;
  padding: 0 1rem;
  display: flex;
  justify-content: center;
}
.p-search-room__price__btn {
  width: 100%;
  max-width: 25rem;
  height: 3.5rem;
  font-size: 1.125rem;
  border-radius: 0.25rem;
  background: var(--gradient-main);
  box-shadow: 0 0.25rem 0.375rem rgba(7, 66, 142, 0.2);
  color: var(--color-bg-primary);
  cursor: pointer;
  border: none;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-search-room__price__btn:hover {
  opacity: 0.9;
  transform: translateY(-0.125rem);
}

.p-search-region-info {
  margin-top: 3.75rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--color-main-light);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  padding: 0.5rem;
}
@media (max-width: 767px) {
  .p-search-region-info {
    margin-top: 1.5rem;
  }
}
.p-search-region-info__inner {
  background-color: var(--color-bg-primary);
  border-radius: 0.625rem;
  border: 1px solid var(--color-main);
  padding: 2.5rem 3.75rem;
  height: 100%;
}
@media (max-width: 767px) {
  .p-search-region-info__inner {
    padding: 1.25rem 1.5rem;
  }
}
.p-search-region-info__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
}
.p-search-region-info__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-main);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-search-region-info__title {
    font-size: 1.125rem;
  }
}
.p-search-region-info__icon svg {
  width: 2.25rem;
  height: 2.25rem;
}
@media (max-width: 767px) {
  .p-search-region-info__icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-search-region-info__icon.-active {
  transform: rotate(180deg);
}
.p-search-region-info__body {
  margin: 1.5rem 0 0 0;
  padding-top: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  border-top: 1px solid var(--color-main);
  color: var(--color-text-primary);
}
@media (max-width: 767px) {
  .p-search-region-info__body {
    font-size: 1rem;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }
}
.p-search-region-info__text {
  margin: 0;
}
.p-search-region-info__text:not(:first-child) {
  margin-top: 1.5rem;
}

.p-search-not-found {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
  padding: 3.75rem 1.5rem;
  text-align: center;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-primary);
  border-radius: 1rem;
}
.p-search-not-found__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-main);
  margin-bottom: 1rem;
  margin-top: 0;
}
.p-search-not-found__text {
  font-size: 1rem;
  color: var(--color-text-primary);
  margin-top: 0;
  margin-bottom: 0;
}

.p-search-readmore {
  font-size: 1.125rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  border-radius: 50vh;
  background: var(--color-bg-primary);
  text-decoration: none;
  margin-top: 2.25rem;
  padding: 0.5rem 1.5rem 0.5rem 0.9375rem;
  gap: 0.5625rem;
  transition-property: background, color;
  transition-duration: 0.2s;
}
@media (max-width: 767px) {
  .p-search-readmore {
    margin-top: 1.25rem;
  }
}
.p-search-readmore:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .p-search-readmore:hover {
    background: var(--color-main-light);
  }
}
.p-search-readmore.-close {
  background: var(--color-main);
  color: var(--color-bg-primary);
}
.p-search-readmore-container {
  text-align: center;
}
.p-search-readmore__icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.0625rem;
}
.p-search-readmore__icon.is-active {
  transform: rotate(180deg);
}

.p-search-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  background: rgba(51, 51, 51, 0.5);
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  padding: 7.5rem 5rem;
  overflow-y: auto;
}
@media (max-width: 767px) {
  .p-search-modal {
    padding: 0;
  }
}
.p-search-modal__inner {
  margin: 0 auto;
  max-width: 74rem;
}
.p-search-modal__box {
  background: white;
  border-radius: 4rem;
  padding: 6.25rem 5rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-search-modal__box {
    border-radius: 0;
    padding: 4rem 1rem;
  }
}
.p-search-modal__close {
  margin: 0;
  padding: 0;
  display: inline-block;
  border: none;
  box-shadow: none;
  background: white;
  position: absolute;
  content: "";
  top: -3.125rem;
  right: -3.125rem;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 6.25rem;
  cursor: pointer;
}
.p-search-modal__close::before, .p-search-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 1.875rem;
  height: 0.125rem;
  border-radius: 6.25rem;
  background: var(--color-main);
}
.p-search-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 767px) {
  .p-search-modal__close {
    top: 0.375rem;
    right: 0.75rem;
  }
}
.p-search-modal__title {
  margin: 0;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-search-modal__title {
    font-size: 1.75rem;
  }
}
.p-search-modal__lead {
  margin: 2rem 0 3.5rem;
  text-align: center;
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-search-modal__lead {
    font-size: 1rem;
    margin: 1.25rem 0 2rem;
  }
}

/**************************************************/
/* News */
/**************************************************/
.p-news-entry {
  max-width: 50rem;
  margin: 0 auto;
}
.p-news-entry__date {
  font-size: 1.125rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-news-entry__date {
    font-size: 1rem;
  }
}
.p-news-entry__title {
  margin: 0.625rem 0 0;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
@media (max-width: 767px) {
  .p-news-entry__title {
    margin: 0.375rem 0 0;
    font-size: 1.625rem;
  }
}
.p-news-entry__content {
  margin: 2.625rem 0 0;
}
@media (max-width: 767px) {
  .p-news-entry__content {
    margin-top: 1.5rem;
  }
}
.p-news-entry__footer {
  text-align: center;
  margin-top: 3.125rem;
}
@media (max-width: 767px) {
  .p-news-entry__footer {
    margin-top: 1.875rem;
  }
}

.columnIcon {
  margin-top: 0.875rem;
}

/**************************************************/
/* お気に入り */
/**************************************************/
.p-favorites-box {
  background: var(--color-main-light);
  border-radius: 0.25rem;
  display: flex;
}
@media (min-width: 768px) {
  .p-favorites-box {
    gap: 1.25rem;
    padding: 2.5rem;
    align-items: center;
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .p-favorites-box {
    padding: 1.25rem;
    flex-direction: column;
    gap: 0.625rem;
  }
}
.p-favorites-box__text {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-favorites-box__text {
    text-align: center;
    font-size: 0.875rem;
  }
}
.p-favorites-box__number {
  display: inline-block;
  margin-right: 0.125rem;
  vertical-align: -0.125rem;
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-favorites-box__number {
    font-size: 1.875rem;
  }
}

.p-favorites-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .p-favorites-list {
    grid-template-columns: 1fr;
    margin-top: 2rem;
  }
}

.p-favorites-card {
  padding: 2.5rem 2.25rem;
  position: relative;
}
@media (min-width: 768px) {
  .p-favorites-card {
    grid-row: span 8;
    display: grid;
    grid-template-rows: subgrid;
    gap: 0;
  }
}
@media (max-width: 767px) {
  .p-favorites-card {
    padding: 1.25rem 0.9375rem;
  }
}
.p-favorites-card::after {
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}
.p-favorites-card__remove {
  border: 1px solid #102244;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  width: 100%;
  background: #F3F3F3;
  color: #102244;
  font-size: 1.125rem;
  font-weight: 500;
  border-radius: 2.5rem;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-favorites-card__remove {
    font-size: 1rem;
    padding: 0.3125rem;
  }
}
.p-favorites-card__remove svg {
  color: #FF7F7F;
}
.p-favorites-card__icon {
  display: block;
  width: 2.375rem;
  height: 2.375rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-favorites-card__icon {
    width: 2rem;
    height: 2rem;
  }
}
.p-favorites-card__meta {
  position: relative;
  margin: 1rem 0 0;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .p-favorites-card__meta {
    grid-row: span 3;
    display: grid;
    grid-template-rows: subgrid;
    gap: 0;
    padding-right: 2.8125rem;
  }
}
@media (max-width: 767px) {
  .p-favorites-card__meta {
    padding-right: 0;
  }
}
.p-favorites-card__type {
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-favorites-card__type {
    font-size: 1rem;
    padding-right: 2.5rem;
  }
}
.p-favorites-card__type span {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  border: 1px solid var(--color-text-primary);
  border-radius: 0.25rem;
}
@media (max-width: 767px) {
  .p-favorites-card__type span {
    padding: 0.25rem 0.875rem;
  }
}
.p-favorites-card__name {
  color: var(--color-main);
  font-size: 1.375rem;
  line-height: 1.2727272727;
  font-weight: 500;
  margin: 0.375rem 0 0.1875rem;
}
@media (min-width: 768px) {
  .p-favorites-card__name {
    min-height: 3.5rem;
    display: flex;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .p-favorites-card__name {
    font-size: 1.25rem;
    margin-top: 0.625rem;
  }
}
.p-favorites-card__name > a {
  text-decoration: none;
}
.p-favorites-card__address {
  font-size: 1.125rem;
  color: #000;
}
@media (max-width: 767px) {
  .p-favorites-card__address {
    font-size: 1rem;
  }
}
.p-favorites-card__checkbox {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  color: #999;
}
@media (max-width: 767px) {
  .p-favorites-card__checkbox {
    transform: translateY(0);
    top: 0;
  }
}
.p-favorites-card__checkbox__icon {
  border-radius: 0.25rem;
  background: white;
  border: solid 1px var(--color-main);
  cursor: pointer;
  display: block;
  box-sizing: border-box;
  width: 2.75rem;
  height: 2.75rem;
}
@media (max-width: 767px) {
  .p-favorites-card__checkbox__icon {
    width: 2.3125rem;
    height: 2.1875rem;
  }
}
.p-favorites-card__checkbox input {
  display: none;
}
.p-favorites-card__checkbox input:checked + .p-favorites-card__checkbox__icon {
  color: var(--color-bg-primary);
  background: var(--gradient-primary);
  border: none;
}
.p-favorites-card__image {
  margin: 0.75rem -2.25rem 1rem;
}
@media (max-width: 767px) {
  .p-favorites-card__image {
    margin: 0.75rem -0.9375rem 1rem;
  }
}
.p-favorites-card__image img {
  display: block;
  aspect-ratio: 500/282;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-favorites-card__subscribe {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-main);
  text-decoration: none;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  padding: 0.3125rem 0.9375rem;
  margin: 0 auto;
  background: none;
}
@media (max-width: 1121px) {
  .p-favorites-card__subscribe {
    font-size: 1rem;
    font-size: 0.875rem;
  }
}
.p-favorites-card__inquiry {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0 0.3125rem;
  margin: 1rem 0 0;
}
@media (max-width: 767px) {
  .p-favorites-card__inquiry {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding: 0;
  }
}
.p-favorites-card__button {
  display: grid;
  place-items: center;
  width: 100%;
  text-align: center;
  color: var(--color-bg-primary);
  border-radius: 0.25rem;
  height: 3.75rem;
  text-decoration: none;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .p-favorites-card__button {
    height: 3.125rem;
    font-size: 0.875rem;
  }
}
.p-favorites-card__button.-request {
  background: var(--gradient-main);
}
.p-favorites-card__button.-contact {
  background: var(--gradient-primary);
}

.p-favorites-room {
  padding: 0.75rem 0.3125rem 0;
}
@media (max-width: 767px) {
  .p-favorites-room {
    padding: 0.75rem 0 0;
  }
}
.p-favorites-room__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-favorites-room__body {
  margin-top: 0.625rem;
  display: flex;
  flex-direction: column;
}
.p-favorites-room__footer {
  text-align: right;
  font-size: 1rem;
  margin: 1rem 0 0;
}
@media (max-width: 767px) {
  .p-favorites-room__footer {
    font-size: 0.875rem;
  }
}
.p-favorites-room__lead {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-favorites-room__lead {
    font-size: 1.125rem;
  }
}
.p-favorites-room__update {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .p-favorites-room__update {
    font-size: 0.875rem;
  }
}
.p-favorites-room__row {
  display: grid;
  grid-template-columns: 4.75rem 17.5rem 4rem;
  align-items: center;
}
@media (max-width: 767px) {
  .p-favorites-room__row {
    grid-template-columns: 1fr 4rem;
    grid-template-rows: auto 1fr;
    align-items: stretch;
    gap: 1rem 0;
  }
}
.p-favorites-room__row + .p-favorites-room__row {
  border-top: 1px solid #ddd;
  margin-top: 1rem;
  padding-top: 0.625rem;
}
@media (max-width: 767px) {
  .p-favorites-room__row + .p-favorites-room__row {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }
}
.p-favorites-room__type {
  font-size: 1.125rem;
  color: #102244;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .p-favorites-room__type {
    padding-bottom: 0.25rem;
    text-align: center;
    padding-right: 0;
    grid-column: 1/3;
    justify-content: center;
  }
}
.p-favorites-room__type::after {
  position: absolute;
  top: 0.3125rem;
  right: 0;
  height: calc(100% - 0.25rem);
  border-left: 1px solid var(--color-main);
  box-shadow: -0.25rem 0 0 0 var(--color-main);
  content: "";
}
@media (max-width: 767px) {
  .p-favorites-room__type::after {
    top: 100%;
    height: 0.125rem;
    width: 100%;
    border-left: none;
    border-bottom: 1px solid var(--color-main);
    box-shadow: 0 -0.0625rem 0 0 var(--color-main);
  }
}
.p-favorites-room__cell {
  width: 4rem;
  height: 4rem;
  box-sizing: border-box;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  display: grid;
  place-items: center;
}
.p-favorites-room__cell.-empty {
  background-color: #f3f3f3;
}
.p-favorites-room__available {
  font-size: 1.125rem;
}
.p-favorites-room__available span {
  display: inline-block;
  vertical-align: -0.25rem;
  margin-right: 0.125rem;
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-favorites-room__prices {
    margin-right: 0.375rem;
  }
}
.p-favorites-room__price {
  line-height: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 0.5rem 0 0.625rem;
}
@media (max-width: 767px) {
  .p-favorites-room__price {
    margin: 0;
  }
}
.p-favorites-room__price.-top {
  color: #000;
  border-bottom: 1px solid #000;
  padding-bottom: 0.5625rem;
  margin-bottom: 0.6875rem;
}
.p-favorites-room__price.-top .p-favorites-room__price-number span {
  color: var(--color-main);
  font-size: 1.875rem;
}
@media (min-width: 768px) {
  .p-favorites-room__price.-top .p-favorites-room__price-number span {
    min-width: 6.375rem;
  }
}
@media (max-width: 767px) {
  .p-favorites-room__price.-top .p-favorites-room__price-number span {
    font-size: 1.5rem;
  }
}
.p-favorites-room__price.-bottom .p-favorites-room__price-number {
  padding-right: 3.625rem;
}
@media (max-width: 767px) {
  .p-favorites-room__price.-bottom .p-favorites-room__price-number {
    padding-right: 3.125rem;
  }
}
.p-favorites-room__price.-bottom .p-favorites-room__price-number span {
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-favorites-room__price.-bottom .p-favorites-room__price-number span {
    font-size: 1.125rem;
  }
}
.p-favorites-room__price-label {
  font-size: 1rem;
}
@media (min-width: 768px) {
  .p-favorites-room__price-label {
    display: inline-block;
  }
}
.p-favorites-room__price-number {
  font-size: 1rem;
}
@media (min-width: 768px) {
  .p-favorites-room__price-number {
    display: inline-block;
  }
  .p-favorites-room__price-number span {
    display: inline-block;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .p-favorites-room__price-number {
    font-size: 0.875rem;
  }
}

.p-favorites-bar {
  position: fixed;
  z-index: 10;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: rgba(240, 246, 255, 0.8);
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-favorites-bar {
    padding: 1.25rem;
  }
}
.p-favorites-bar__button {
  font-size: 1.125rem;
  color: var(--color-bg-primary);
  background: var(--gradient-primary);
  border: 0;
  border-radius: 0.25rem;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 0.75rem 1.6875rem;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media (max-width: 767px) {
  .p-favorites-bar__button {
    font-size: 1rem;
  }
}
.p-favorites-bar__button:disabled {
  background: #ECF1F8;
  border: 0;
  color: #999;
  cursor: not-allowed;
  opacity: 1;
  box-shadow: 0 0 0 1px #999 inset !important;
}
.p-favorites-bar__button-icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-favorites-bar__button-icon {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.p-favorites-bar.is-stopped {
  position: absolute;
  bottom: 0;
}

/* お気に入り一覧ページでのレイアウト調整 */
.l-white-box__inner.has-favorites-bar {
  padding-bottom: 14.375rem;
}
@media (max-width: 767px) {
  .l-white-box__inner.has-favorites-bar {
    padding-bottom: 7rem;
  }
}

.p-favorites-modal {
  display: none;
  padding: 0 !important;
  background: transparent !important;
}
.p-favorites-modal__box {
  width: 64rem;
  border-radius: 2rem;
  background: var(--color-bg-primary);
  box-shadow: 0 0 5rem rgba(51, 51, 51, 0.32);
  padding: 4rem 5rem 4.625rem;
  box-sizing: border-box;
}
@media (max-width: 1330px) {
  .p-favorites-modal__box {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-favorites-modal__box {
    padding: 2rem 1.25rem 2.5rem;
    border-radius: 1rem;
  }
}
.p-favorites-modal__wrapper {
  max-width: 50rem;
  margin: 0 auto;
}
.p-favorites-modal__title {
  margin: 0;
  text-align: center;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-favorites-modal__title {
    font-size: 1.5rem;
  }
}
.p-favorites-modal__text {
  margin: 0.5rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-favorites-modal__text {
    font-size: 1rem;
    line-height: 1.8;
  }
}

.p-favorites-copy {
  background: #F0F6FF;
  border-radius: 0.25rem;
  padding: 2rem;
  display: grid;
  grid-template-columns: 12.5rem 1fr;
  gap: 1.625rem;
  margin: 1.75rem 0 0;
}
@media (max-width: 767px) {
  .p-favorites-copy {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.25rem;
    margin: 1.5rem 0 0;
  }
}
.p-favorites-copy__image img {
  display: block;
  width: 100%;
}
.p-favorites-copy__type {
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-favorites-copy__type {
    font-size: 0.875rem;
  }
}
.p-favorites-copy__type span {
  display: inline-block;
  background: var(--color-bg-primary);
  padding: 0.5rem 1.5rem;
  border: 1px solid var(--color-text-primary);
  border-radius: 0.25rem;
}
@media (max-width: 767px) {
  .p-favorites-copy__type span {
    padding: 0.375rem 0.875rem;
  }
}
.p-favorites-copy__name {
  color: var(--color-main);
  font-size: 1.375rem;
  line-height: 1.2727272727;
  font-weight: 500;
  margin: 0.375rem 0 0.1875rem;
}
@media (max-width: 767px) {
  .p-favorites-copy__name {
    font-size: 1.125rem;
    margin: 0.5rem 0 0.3125rem;
  }
}
.p-favorites-copy__address {
  font-size: 1.125rem;
  color: #000;
}
@media (max-width: 767px) {
  .p-favorites-copy__address {
    font-size: 0.875rem;
  }
}

.p-favorites-newsletter {
  margin: 2.5rem 0 0;
}
@media (max-width: 767px) {
  .p-favorites-newsletter {
    margin: 1.25rem 0 0;
  }
}
.p-favorites-newsletter__text {
  margin: 0;
  font-size: 1.25rem;
  text-align: center;
  color: #000;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__text {
    font-size: 1rem;
  }
}
.p-favorites-newsletter__row {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr 12.5rem;
  margin: 2.25rem 0 0;
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__row {
    margin: 1.25rem 0 0;
    grid-template-columns: 1fr 5.625rem;
    gap: 0.375rem;
    padding: 0 1rem;
  }
}
.p-favorites-newsletter__input {
  width: 100%;
  height: 4rem;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  padding: 0 1rem;
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__input {
    height: 3.25rem;
    font-size: 1rem;
    padding: 0 0.625rem;
  }
}
.p-favorites-newsletter__input.-error {
  border-color: var(--color-sub);
  background-color: var(--color-sub-light);
}
.p-favorites-newsletter__input.-error::-moz-placeholder {
  color: var(--color-sub);
}
.p-favorites-newsletter__input.-error::placeholder {
  color: var(--color-sub);
}
.p-favorites-newsletter__submit {
  height: 4rem;
  color: var(--color-bg-primary);
  background: var(--gradient-main);
  font-size: 1rem;
  box-shadow: 0 0.25rem 0.25rem rgba(44, 105, 186, 0.16);
  border-radius: 0.25rem;
  border: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__submit {
    height: 3.25rem;
    font-size: 0.875rem;
  }
}
.p-favorites-newsletter__note {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
}
@media (min-width: 768px) {
  .p-favorites-newsletter__note {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .p-favorites-newsletter__note {
    margin: 1rem 0 0;
  }
}
.p-favorites-newsletter__note li {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-text-primary);
  display: table;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__note li {
    font-size: 0.875rem;
  }
}
.p-favorites-newsletter__note li::before {
  display: table-cell;
  font-size: 1rem;
  font-weight: var(--font-weight-primary);
  content: "※";
}
@media (max-width: 767px) {
  .p-favorites-newsletter__note li::before {
    font-size: 0.875rem;
  }
}
.p-favorites-newsletter__note a {
  color: var(--color-main);
}
.p-favorites-newsletter__error {
  font-size: 1rem;
  color: var(--color-sub);
  margin: 0.5rem 0 0;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__error {
    font-size: 0.75rem;
    margin: 0.375rem 0 0;
  }
}
.p-favorites-newsletter__error.-mt0 {
  margin-top: 0;
}
.p-favorites-newsletter__agreement {
  text-align: center;
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__agreement {
    margin-top: 1.5rem;
  }
}
.p-favorites-newsletter__checkbox {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  font-size: 1rem;
  line-height: 1;
  color: #000;
  cursor: pointer;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__checkbox {
    font-size: 0.875rem;
  }
}
.p-favorites-newsletter__checkbox input[type=checkbox] {
  flex-shrink: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 1.6875rem;
  height: 1.6875rem;
  border: 1px solid var(--color-main);
  background-color: var(--color-bg-primary);
  border-radius: 0.25rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  .p-favorites-newsletter__checkbox input[type=checkbox] {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-favorites-newsletter__checkbox input[type=checkbox]:checked {
  background-color: var(--color-main);
}
.p-favorites-newsletter__checkbox input[type=checkbox]:checked::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 0.875rem;
  height: 0.5rem;
  border-bottom: 0.1875rem solid #ffffff;
  border-left: 0.1875rem solid #ffffff;
  transform: rotate(-45deg);
  content: "";
}
@media (max-width: 767px) {
  .p-favorites-newsletter__checkbox input[type=checkbox]:checked::after {
    top: 0.1875rem;
    left: 0.1875rem;
    border-bottom-width: 0.125rem;
    border-left-width: 0.125rem;
  }
}

.p-favorites-loader {
  margin: 4rem 0;
  text-align: center;
}
@media (max-width: 767px) {
  .p-favorites-loader {
    margin: 2rem 0;
  }
}
.p-favorites-loader__spinner {
  display: inline-block;
  width: 1.25rem;
  padding: 0.3125rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-main);
  --_m:
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
}

@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
.p-favorites-privacy__inner {
  background: var(--color-bg-primary);
  border-radius: 0.25rem;
  border: 1px solid var(--color-main);
  height: 20rem;
  overflow-y: auto;
  padding: 1rem 1.5rem;
  color: #000;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-favorites-privacy__inner {
    padding: 0.75rem 1rem;
  }
}
.p-favorites-privacy__text, .p-favorites-privacy__address {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-favorites-privacy__text, .p-favorites-privacy__address {
    font-size: 0.875rem;
  }
}
.p-favorites-privacy__text.-link, .-link.p-favorites-privacy__address {
  margin: 0.375rem 0;
}
.p-favorites-privacy__text.-mt12, .-mt12.p-favorites-privacy__address {
  margin-top: 0.75rem;
}
@media (max-width: 767px) {
  .p-favorites-privacy__text.-mt12, .-mt12.p-favorites-privacy__address {
    margin-top: 0.5rem;
  }
}
.p-favorites-privacy__text a, .p-favorites-privacy__address a {
  color: var(--color-main-accent-2);
  text-decoration: underline;
}
.p-favorites-privacy__text a:hover, .p-favorites-privacy__address a:hover {
  text-decoration: none;
  opacity: 1;
}
.p-favorites-privacy__section {
  border-bottom: 1px solid var(--color-main);
  color: #000;
  padding: 1.5rem;
}
@media (max-width: 767px) {
  .p-favorites-privacy__section {
    padding: 1rem;
  }
}
.p-favorites-privacy__section:first-of-type {
  margin-top: 1.625rem;
  border-top: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-favorites-privacy__section:first-of-type {
    margin-top: 1rem;
  }
}
.p-favorites-privacy__heading {
  margin: 0 0 1.25rem;
  color: var(--color-main);
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-favorites-privacy__heading {
    font-size: 0.875rem;
    margin: 0 0 0.5rem;
  }
}
.p-favorites-privacy__title {
  margin: 1rem 0 0;
  font-weight: bold;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .p-favorites-privacy__title {
    margin: 0.625rem 0 0;
  }
}
.p-favorites-privacy__list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0 0 0 0.375rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-favorites-privacy__list {
    margin: 1.25rem 0 0;
    font-size: 0.875rem;
    padding-left: 0;
  }
}
.p-favorites-privacy__list li {
  position: relative;
  padding-left: 1.125rem;
}
.p-favorites-privacy__list li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: currentColor;
  content: "・";
}
.p-favorites-privacy__address {
  background-color: var(--color-main-light);
  border-radius: 0.5rem;
  padding: 1.375rem 2rem;
  margin: 1.5rem 0;
}
@media (max-width: 767px) {
  .p-favorites-privacy__address {
    padding: 0.875rem 1rem;
    margin: 1rem 0;
  }
}

/**************************************************/
/* よくあるご質問 */
/**************************************************/
.p-faq-anchor {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 5rem;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-faq-anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
.p-faq-anchor__link {
  text-decoration: none;
  text-align: center;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--color-main);
  font-size: 1.25rem;
  font-weight: 500;
  border-radius: 0.25rem;
  background: var(--color-main-light);
  transition: color 0.2s;
  position: relative;
}
@media (max-width: 767px) {
  .p-faq-anchor__link {
    font-size: 1.125rem;
  }
}
.p-faq-anchor__link::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--gradient-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  content: "";
}
.p-faq-anchor__link:hover {
  opacity: 1;
  color: var(--color-bg-primary);
}
.p-faq-anchor__link:hover::after {
  opacity: 1;
}
.p-faq-anchor__text {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
.p-faq-anchor__icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-faq-anchor__icon {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.p-faq-anchor.-bottom {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-faq-anchor.-bottom {
    margin-top: 3.125rem;
  }
}

.p-faq-heading {
  margin: 0;
  color: #000;
  font-size: 2rem;
  font-weight: 500;
  padding-left: 3.125rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-faq-heading {
    font-size: 1.5rem;
    padding-left: 2.375rem;
  }
}
.p-faq-heading__icon {
  position: absolute;
  top: 0.4375rem;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-faq-heading__icon {
    width: 1.75rem;
    top: 0.3125rem;
    height: 1.75rem;
  }
}

.p-faq-list {
  margin: 2.375rem 0 0;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-faq-list {
    margin: 1.25rem 0 0;
  }
}
.p-faq-list dt, .p-faq-list dd {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-faq-list dt, .p-faq-list dd {
    font-size: 1rem;
  }
}
.p-faq-list dt {
  border-top: 1px solid var(--color-main);
  padding: 2.875rem 3.75rem 2.875rem 5rem;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .p-faq-list dt {
    padding: 1.5rem 2.5rem 1.5rem 3.75rem;
  }
}
.p-faq-list dt::before {
  position: absolute;
  top: 2.5rem;
  left: 2rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  box-sizing: border-box;
  background: var(--color-bg-primary);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-main);
  text-transform: uppercase;
  content: "q";
}
@media (max-width: 767px) {
  .p-faq-list dt::before {
    top: 1.25rem;
    left: 1rem;
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
  }
}
.p-faq-list dt::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 1.375rem;
  height: 0.8125rem;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='13' viewBox='0 0 22 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0.999999L11 11L21 1' stroke='%232C69BA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.4s;
  content: "";
}
@media (max-width: 767px) {
  .p-faq-list dt::after {
    right: 1rem;
    width: 1.125rem;
    height: 0.6875rem;
  }
}
.p-faq-list dt.-open::after {
  transform: translateY(-50%) rotate(180deg);
}
.p-faq-list dd {
  color: var(--color-main);
  background: #EFF6FF;
  position: relative;
  padding: 0 1.5rem 0 5rem;
}
@media (max-width: 767px) {
  .p-faq-list dd {
    padding: 0 1.5rem 0 3.75rem;
  }
}
.p-faq-list dd::before {
  position: absolute;
  top: 1rem;
  left: 2rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50vh;
  border: 1px solid transparent;
  box-sizing: border-box;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-main);
  text-transform: uppercase;
  content: "a";
}
@media (max-width: 767px) {
  .p-faq-list dd::before {
    top: 0.5rem;
    left: 1rem;
  }
}
.p-faq-list dd p,
.p-faq-list dd ul,
.p-faq-list dd ol {
  margin: 0;
}
.p-faq-list dd p + p,
.p-faq-list dd p + ul,
.p-faq-list dd p + ol,
.p-faq-list dd ul + p,
.p-faq-list dd ul + ul,
.p-faq-list dd ul + ol,
.p-faq-list dd ol + p,
.p-faq-list dd ol + ul,
.p-faq-list dd ol + ol {
  margin-top: 0.5rem;
}
.p-faq-list__content {
  padding: 1.5rem 0;
}
@media (max-width: 767px) {
  .p-faq-list__content {
    padding: 1.125rem 0;
  }
}
.p-faq-list__content .-bold {
  font-weight: bold;
}
.p-faq-list__content .-notes {
  padding-left: 1em;
  text-indent: -1em;
}
.p-faq-list__lists {
  list-style: none;
  padding-left: 0;
}
.p-faq-list__lists li {
  padding-left: 0.875rem;
  position: relative;
}
.p-faq-list__lists li::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 0.375rem;
  height: 0.375rem;
  background: var(--color-main);
  border-radius: 50%;
}
.p-faq-list__steps {
  padding-left: 1em;
}

.p-faq-section {
  margin: 4.625rem 0 0;
}
@media (max-width: 767px) {
  .p-faq-section {
    margin: 3.125rem 0 0;
  }
}

/**************************************************/
/* プライバシーポリシー */
/**************************************************/
.p-privacy-text, .p-privacy-address {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
}
@media (max-width: 767px) {
  .p-privacy-text, .p-privacy-address {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.p-privacy-text.-sm, .-sm.p-privacy-address {
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-privacy-text.-sm, .-sm.p-privacy-address {
    font-size: 0.875rem;
  }
}
.p-privacy-text.-link, .-link.p-privacy-address {
  margin: 0.375rem 0;
}
.p-privacy-text.-mt12, .-mt12.p-privacy-address {
  margin-top: 0.75rem;
}
@media (max-width: 767px) {
  .p-privacy-text.-mt12, .-mt12.p-privacy-address {
    margin-top: 0.5rem;
  }
}
.p-privacy-text a, .p-privacy-address a {
  color: var(--color-main-accent-2);
  text-decoration: underline;
}
.p-privacy-text a:hover, .p-privacy-address a:hover {
  text-decoration: none;
  opacity: 1;
}

.p-privacy-section {
  border-bottom: 1px solid var(--color-main);
  color: #000;
  padding: 2.75rem 2rem;
}
@media (max-width: 767px) {
  .p-privacy-section {
    padding: 1.5rem 1rem;
  }
}
.p-privacy-section:first-of-type {
  margin-top: 3.5rem;
  border-top: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-privacy-section:first-of-type {
    margin-top: 1.875rem;
  }
}

.p-privacy-heading {
  margin: 0 0 0.875rem;
  color: var(--color-main);
  font-size: 1.5rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-privacy-heading {
    font-size: 1.25rem;
    margin: 0 0 0.5rem;
  }
}

.p-privacy-title {
  margin: 1rem 0 0;
  font-weight: bold;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-privacy-title {
    font-size: 1rem;
    margin: 0.625rem 0 0;
  }
}

.p-privacy-list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0 0 0 0.375rem;
  font-size: 1.125rem;
  line-height: 1.7777777778;
}
@media (max-width: 767px) {
  .p-privacy-list {
    margin: 1.25rem 0 0;
    font-size: 1rem;
    line-height: 1.6;
    padding-left: 0;
  }
}
.p-privacy-list li {
  position: relative;
  padding-left: 1.125rem;
}
.p-privacy-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: currentColor;
  content: "・";
}

.p-privacy-address {
  background-color: var(--color-main-light);
  border-radius: 0.5rem;
  padding: 1.375rem 2rem;
  margin: 1.5rem 0;
}
@media (max-width: 767px) {
  .p-privacy-address {
    padding: 0.875rem 1rem;
    margin: 1rem 0;
  }
}

/**************************************************/
/* サイトマップ */
/**************************************************/
@media (min-width: 768px) {
  .p-sitemap-list {
    padding: 0 1.75rem;
  }
}
.p-sitemap-list a {
  color: var(--color-text-primary);
  text-decoration: none;
  font-weight: 500;
}
.p-sitemap-list__inner {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2.5rem;
}
@media (max-width: 767px) {
  .p-sitemap-list__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.p-sitemap-list__item {
  border-bottom: 1px solid #d8d8d8;
}
.p-sitemap-list__item.-has-child {
  grid-row: span 2;
}
@media (max-width: 767px) {
  .p-sitemap-list__item {
    order: 2;
  }
  .p-sitemap-list__item:nth-child(1), .p-sitemap-list__item:nth-child(3), .p-sitemap-list__item:nth-child(6), .p-sitemap-list__item:nth-child(9), .p-sitemap-list__item:nth-child(11), .p-sitemap-list__item:nth-child(13) {
    order: 1;
  }
}
.p-sitemap-list__children {
  padding: 1.75rem 0 1.75rem 2rem;
  margin: 0;
  list-style: none;
  border-top: 1px dashed #D8D8D8;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-sitemap-list__children {
    padding: 0.75rem 0 0.75rem 0.875rem;
    gap: 0.375rem 1rem;
    flex-direction: column;
  }
}
.p-sitemap-list__children a {
  display: block;
  font-size: 1rem;
  padding-left: 1rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-sitemap-list__children a {
    font-size: 0.875rem;
    padding-left: 0.75rem;
  }
}
.p-sitemap-list__children a::before {
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(126.3deg, #78C8DC 0%, #236FD5 100%);
  content: "";
}
@media (max-width: 767px) {
  .p-sitemap-list__children a::before {
    top: 0.5rem;
    width: 0.375rem;
    height: 0.375rem;
  }
}
.p-sitemap-list__link {
  display: block;
  font-size: 1.25rem;
  padding: 1.5625rem 2rem;
}
@media (max-width: 767px) {
  .p-sitemap-list__link {
    font-size: 1.125rem;
    padding: 0.75rem 0.875rem;
  }
}
.p-sitemap-list__link[href] {
  position: relative;
}
.p-sitemap-list__link[href]::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.6875rem;
  height: 1.125rem;
  margin-top: -0.5625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='18' viewBox='0 0 11 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 8.89744L1 17' stroke='%232C69BA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-sitemap-list__link[href]::after {
    width: 0.5625rem;
    height: 0.875rem;
    margin-top: -0.4375rem;
  }
}

.p-sitemap-box {
  position: relative;
  z-index: 1;
  padding: 5rem 1.25rem 0;
}
.p-sitemap-box::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 5rem);
  background-image: url("../../sitemap/images/bg-circle.png");
  background-size: 116rem 120.5rem;
  background-repeat: no-repeat;
  background-position: calc(50% + 12.75rem) center;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
  content: "";
}
@media (max-width: 767px) {
  .p-sitemap-box::after {
    background-image: url("../../sitemap/images/bg-circle_sp.png");
    background-size: 23.4375rem 48.4375rem;
    background-position: top center;
  }
}
.p-sitemap-box__inner {
  max-width: 74rem;
  margin: 0 auto;
}

/**************************************************/
/* 電話でのお問い合わせ */
/**************************************************/
.p-contact-regions {
  display: flex;
}
@media (min-width: 768px) {
  .p-contact-regions {
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 3.75rem;
  }
}
@media (max-width: 767px) {
  .p-contact-regions {
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
  }
}

.p-contact-region__lead {
  text-align: center;
  font-size: 1.5rem;
  color: #000;
  padding-bottom: 0.9375rem;
  border-bottom: 2px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-contact-region__lead {
    font-size: 1.375rem;
    padding-bottom: 0.75rem;
  }
}
.p-contact-region__list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: flex;
  gap: 0.5rem;
}
.p-contact-region__list li {
  width: 5.5rem;
}
@media (max-width: 767px) {
  .p-contact-region__list li {
    width: calc(33.3333333333% - 0.25rem);
  }
}
.p-contact-region__link {
  display: block;
  font-size: 1.25rem;
  color: var(--color-main);
  background: var(--color-main-light);
  text-align: center;
  text-decoration: none;
  padding: 1.25rem 0.3125rem;
  border-radius: 0.25rem;
  box-sizing: border-box;
  transition: color 0.2s;
  position: relative;
}
@media (max-width: 767px) {
  .p-contact-region__link {
    font-size: 1.125rem;
    padding: 0.875rem 0.3125rem;
  }
}
.p-contact-region__link > span {
  position: relative;
  z-index: 1;
}
.p-contact-region__link::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--gradient-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  content: "";
}
.p-contact-region__link:hover {
  opacity: 1;
  color: var(--color-bg-primary);
}
.p-contact-region__link:hover::after {
  opacity: 1;
}

.p-contact-section + .p-contact-section {
  margin-top: 2.1875rem;
}
@media (max-width: 767px) {
  .p-contact-section + .p-contact-section {
    margin-top: 1.25rem;
  }
}
.p-contact-section__heading {
  margin: 0;
  padding: 1.875rem 2rem;
  font-weight: 500;
  font-size: 2rem;
  color: #000;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-contact-section__heading {
    font-size: 1.75rem;
    padding: 1rem 0.75rem;
  }
}
.p-contact-section__title {
  border-top: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  margin: 0;
  padding: 2.1875rem 2rem;
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--color-main);
  background: var(--color-main-light);
}
@media (max-width: 767px) {
  .p-contact-section__title {
    font-size: 1.5rem;
    padding: 1.25rem 0.75rem;
  }
}
.p-contact-section__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-contact-info {
  display: flex;
  border-bottom: 1px solid var(--color-main);
  padding: 3.25rem 2rem 3.625rem;
}
@media (min-width: 768px) {
  .p-contact-info {
    justify-content: space-between;
    align-items: center;
    gap: 0 1.25rem;
  }
}
@media (max-width: 767px) {
  .p-contact-info {
    flex-direction: column;
    padding: 1.25rem 0.75rem 1.5rem;
    gap: 0.875rem 0;
  }
}
.p-contact-info__lead {
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-contact-info__lead {
    font-size: 1.375rem;
  }
}
.p-contact-info__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-contact-info__text {
    font-size: 1rem;
    margin: 0.125rem 0 0;
  }
}
.p-contact-info__label {
  margin-right: 0.625rem;
}
@media (max-width: 767px) {
  .p-contact-info__label {
    margin-right: 0;
    display: block;
  }
}
.p-contact-info__fax {
  margin-left: 0.75rem;
}
.p-contact-info__button {
  flex-shrink: 0;
  width: 22.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-main);
  background: var(--color-main-light);
  border: 1px solid var(--color-main);
  border-radius: 50vh;
  padding: 0.875rem 0.3125rem 1.25rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-contact-info__button {
    width: 18.75rem;
    font-size: 1.875rem;
    padding: 0.5rem 0.3125rem 0.75rem;
  }
}
.p-contact-info__button-icon {
  flex-shrink: 0;
  width: 2.375rem;
  height: 1.5625rem;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .p-contact-info__button-icon {
    width: 2.125rem;
    height: 1.4375rem;
    margin-top: 0.375rem;
  }
}

/**************************************************/
/* 会社情報 */
/**************************************************/
.p-company-box {
  padding: 4.75rem 0 0;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .p-company-box {
    padding: 3.75rem 0 0.625rem;
    margin: 0 -1rem;
  }
}

.p-company-heading {
  margin: 0;
  color: var(--color-main);
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
.p-company-heading__sub {
  font-size: 1.125rem;
  display: block;
  padding-bottom: 1.5rem;
  margin-bottom: 0.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-company-heading__sub {
    padding-bottom: 1.125rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
  }
}
.p-company-heading__sub::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -0.75rem;
  width: 1.5rem;
  border-bottom: 1px solid currentColor;
  content: "";
}
.p-company-heading__text {
  font-size: 4rem;
}
@media (max-width: 767px) {
  .p-company-heading__text {
    font-size: 2.375rem;
  }
}
.p-company-heading.-small .p-company-heading__sub {
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .p-company-heading.-small .p-company-heading__sub {
    margin-bottom: 0.625rem;
  }
}
.p-company-heading.-small .p-company-heading__sub-wrapper {
  display: inline-block;
  position: relative;
}
.p-company-heading.-small .p-company-heading__sub-wrapper::after {
  position: absolute;
  top: -2.25rem;
  left: -3.75rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: radial-gradient(81.29% 50% at 50% 50%, #7BB4FF 0%, rgba(123, 180, 255, 0) 100%);
  opacity: 0.5;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-company-heading.-small .p-company-heading__sub-wrapper::after {
    width: 3.75rem;
    height: 3.75rem;
    top: -1.625rem;
    left: -2.625rem;
  }
}
.p-company-heading.-small .p-company-heading__sub-wrapper.-reverse::after {
  left: auto;
  right: -3.75rem;
}
@media (max-width: 767px) {
  .p-company-heading.-small .p-company-heading__sub-wrapper.-reverse::after {
    right: -2.625rem;
  }
}
.p-company-heading.-small .p-company-heading__text {
  font-size: 2rem;
}
@media (max-width: 767px) {
  .p-company-heading.-small .p-company-heading__text {
    font-size: 1.625rem;
  }
}

.p-company-intro {
  margin-top: 4.75rem;
}
@media (max-width: 767px) {
  .p-company-intro {
    margin-top: 3.125rem;
  }
}
.p-company-intro + .p-company-intro {
  margin-top: 0;
}
.p-company-intro__inner {
  padding: 5rem 0;
  max-width: 90rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .p-company-intro__inner {
    flex-direction: column-reverse;
    padding: 2.5rem 0;
  }
}
.p-company-intro__inner::after {
  position: absolute;
  inset: 0 2.5rem;
  background: var(--color-main-light);
  border-radius: 2rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-company-intro__inner::after {
    inset: 0 1.25rem;
    border-radius: 1rem;
  }
}
.p-company-intro__content {
  margin-right: -4.25rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro__content {
    margin-right: -4.7222222222vw;
  }
}
@media (max-width: 767px) {
  .p-company-intro__content {
    margin-top: -1.5rem;
    margin-right: auto;
    width: calc(100% - 3.25rem);
  }
}
.p-company-intro__content::after {
  position: absolute;
  inset: -2rem;
  background: linear-gradient(40deg, rgba(0, 0, 0, 0) 63%, rgba(177, 204, 246, 0.5) 79%);
  border-radius: 1rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-company-intro__content::after {
    inset: -1rem;
    border-radius: 0.625rem;
  }
}
.p-company-intro__box {
  width: 49.25rem;
  height: 25rem;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 1.25rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 2.1875rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro__box {
    width: 54.7222222222vw;
    border-radius: 0 1rem 1rem 0;
  }
}
@media (max-width: 1440px) {
  .p-company-intro__box {
    border-left: 0;
  }
}
@media (max-width: 767px) {
  .p-company-intro__box {
    width: 100%;
    height: auto;
    border-radius: 0 0.625rem 0.625rem 0;
    gap: 1.25rem;
    padding: 2.875rem 1.25rem 1.25rem;
  }
}
.p-company-intro__image {
  flex-shrink: 0;
  width: 45rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro__image {
    width: 50vw;
  }
}
@media (max-width: 767px) {
  .p-company-intro__image {
    width: calc(100% - 2.5rem);
    margin-left: auto;
  }
}
.p-company-intro__image img {
  border-radius: 1rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro__image img {
    border-radius: 1rem 0 0 1rem;
  }
}
@media (max-width: 767px) {
  .p-company-intro__image img {
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-company-intro__text {
  margin: 0 auto;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #000;
  max-width: 34rem;
}
@media (max-width: 767px) {
  .p-company-intro__text {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-company-intro.-reverse .p-company-intro__inner {
    flex-direction: row-reverse;
  }
}
.p-company-intro.-reverse .p-company-intro__inner::after {
  display: none;
}
.p-company-intro.-reverse .p-company-intro__content {
  margin-right: 0;
  margin-left: -4.25rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro.-reverse .p-company-intro__content {
    margin-left: -4.7222222222vw;
  }
}
@media (max-width: 767px) {
  .p-company-intro.-reverse .p-company-intro__content {
    margin-left: auto;
  }
}
.p-company-intro.-reverse .p-company-intro__content::after {
  transform: scaleX(-1);
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro.-reverse .p-company-intro__box {
    border-radius: 1rem 0 0 1rem;
  }
}
@media (max-width: 1440px) {
  .p-company-intro.-reverse .p-company-intro__box {
    border-right: 0;
    border-left: 1px solid var(--color-main);
  }
}
@media (max-width: 767px) {
  .p-company-intro.-reverse .p-company-intro__box {
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-intro.-reverse .p-company-intro__image img {
    border-radius: 0 1rem 1rem 0;
  }
}
@media (max-width: 767px) {
  .p-company-intro.-reverse .p-company-intro__image {
    margin-right: auto;
    margin-left: 0;
  }
  .p-company-intro.-reverse .p-company-intro__image img {
    border-radius: 0 0.625rem 0.625rem 0;
  }
}

.p-company-feature__inner {
  padding: 7rem 7.5rem;
  max-width: 90rem;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-feature__inner {
    padding: 7rem 6.25rem;
  }
}
@media (max-width: 767px) {
  .p-company-feature__inner {
    padding: 3.125rem 3.25rem 2.25rem;
  }
}
.p-company-feature__inner::after {
  position: absolute;
  inset: 0 2.5rem;
  background: var(--color-main-light);
  border-radius: 2rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-company-feature__inner::after {
    inset: 0 1.25rem;
    border-radius: 1rem;
  }
}
.p-company-feature__content {
  position: relative;
  z-index: 1;
}
.p-company-feature__content::after {
  position: absolute;
  top: -2rem;
  right: -2rem;
  width: 51.25rem;
  height: calc(100% + 4rem);
  background: linear-gradient(40deg, rgba(0, 0, 0, 0) 63%, rgba(177, 204, 246, 0.5) 79%);
  border-radius: 1rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-company-feature__content::after {
    width: 100%;
    top: -1rem;
    right: -1rem;
    border-radius: 0.625rem;
  }
}
.p-company-feature__box {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 4.6875rem 1.25rem 4.0625rem;
}
@media (max-width: 767px) {
  .p-company-feature__box {
    padding: 3.5rem 1.25rem 2.5rem;
  }
}
.p-company-feature.-reverse .p-company-feature__inner::after {
  display: none;
}
.p-company-feature.-reverse .p-company-feature__content::after {
  right: auto;
  left: -2rem;
  transform: scaleX(-1);
}
@media (max-width: 767px) {
  .p-company-feature.-reverse .p-company-feature__content::after {
    left: -1rem;
  }
}

.p-company-value {
  list-style: none;
  padding: 0;
  margin: 3.875rem 0 2.1875rem;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(4, 14.875rem);
  justify-content: center;
  gap: 1.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-value {
    grid-template-columns: repeat(4, calc(25% - 1.6666666667vw));
    gap: 1.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-company-value {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    margin: 2.5rem 0 0;
  }
}
@media (min-width: 768px) {
  .p-company-value li {
    padding: 0.75rem 0 0.25rem;
  }
}
.p-company-value li + li {
  position: relative;
}
.p-company-value li + li::after {
  position: absolute;
  left: -0.75rem;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: var(--color-main-accent-3);
  content: "";
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-company-value li + li::after {
    left: -0.8333333333vw;
  }
}
@media (max-width: 767px) {
  .p-company-value li + li::after {
    left: auto;
    top: -0.9375rem;
    left: 0;
    width: 100%;
    height: 1px;
  }
}
.p-company-value__logo {
  width: 5rem;
  height: 5rem;
  margin: 0 auto;
}
.p-company-value__logo img {
  display: block;
  width: 100%;
}
.p-company-value__lead {
  margin: 0.5rem 0 0.1875rem;
  font-weight: 500;
  font-size: 1.125rem;
  color: var(--color-main);
}
.p-company-value__text {
  font-size: 1rem;
  line-height: 1.375;
  color: #000;
  margin: 0;
}

.p-company-slogan {
  text-align: center;
  font-size: 2.5rem;
  color: var(--color-main);
  margin: 1.75rem 0 0;
}
@media (max-width: 767px) {
  .p-company-slogan {
    font-size: 1.375rem;
  }
}

.p-company-footer__inner {
  max-width: 64rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-company-footer__inner {
    padding: 0 1.25rem;
  }
}
.p-company-footer__background {
  width: 100%;
  height: 38.4375rem;
  background-image: url("../../company/images/bg.jpg");
  background-size: cover;
  background-position: center;
  margin-top: -4rem;
}
@media (max-width: 767px) {
  .p-company-footer__background {
    height: 19.25rem;
    margin-top: -2rem;
  }
}
.p-company-footer__heading {
  margin: 0;
  padding: 5.1875rem 0 5.625rem;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
  border-bottom: 1px solid var(--color-main);
}
@media (max-width: 767px) {
  .p-company-footer__heading {
    font-size: 1.25rem;
    padding: 2.6875rem 0 3.125rem;
  }
}
.p-company-footer__logos {
  list-style: none;
  margin: 4rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .p-company-footer__logos {
    gap: 1rem;
    margin-top: 2.5rem;
  }
}
.p-company-footer__logos .-anabuki {
  width: 23.625rem;
}
@media (max-width: 767px) {
  .p-company-footer__logos .-anabuki {
    width: 16.25rem;
  }
}
.p-company-footer__logos .-jpx {
  width: 5.375rem;
}
@media (max-width: 767px) {
  .p-company-footer__logos .-jpx {
    width: 4rem;
  }
}
.p-company-footer__text {
  margin: 3.125rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-company-footer__text {
    margin: 2rem 0 0;
    font-size: 1.125rem;
    text-align: left;
  }
  .p-company-footer__text br {
    display: none;
  }
}
.p-company-footer__more {
  max-width: 20rem;
  margin: 3.25rem auto 0;
}
@media (max-width: 767px) {
  .p-company-footer__more {
    margin: 2.125rem auto 0;
  }
}

.p-company-profile {
  margin: 4.0625rem 0 0;
}
@media (max-width: 767px) {
  .p-company-profile {
    margin: 3.125rem 0 0;
  }
}
.p-company-profile__heading {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-company-profile__heading {
    font-size: 1.5rem;
  }
}
.p-company-profile__table {
  margin: 1.875rem 0 0;
  display: grid;
  grid-template-columns: 17.5rem 1fr;
}
@media (max-width: 767px) {
  .p-company-profile__table {
    grid-template-columns: 1fr;
    margin: 1.25rem 0 0;
  }
}
.p-company-profile__table dt, .p-company-profile__table dd {
  margin: 0;
  color: #000;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  border-left: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  padding: 1.625rem 2rem;
}
@media (max-width: 767px) {
  .p-company-profile__table dt, .p-company-profile__table dd {
    font-size: 1rem;
    padding: 1rem;
  }
}
.p-company-profile__table dt {
  background: var(--color-main-light);
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-company-profile__table dt {
    border-bottom: 0;
    border-right: 1px solid var(--color-main);
  }
}
.p-company-profile__table dt:first-of-type {
  border-top: 1px solid var(--color-main);
}
@media (min-width: 768px) {
  .p-company-profile__table dt:first-of-type {
    border-radius: 1rem 0 0 0;
  }
}
@media (max-width: 767px) {
  .p-company-profile__table dt:first-of-type {
    border-radius: 0.625rem 0.625rem 0 0;
  }
}
@media (min-width: 768px) {
  .p-company-profile__table dt:last-of-type {
    border-radius: 0 0 0 1rem;
  }
}
.p-company-profile__table dd {
  border-right: 1px solid var(--color-main);
}
@media (min-width: 768px) {
  .p-company-profile__table dd:first-of-type {
    border-top: 1px solid var(--color-main);
    border-radius: 0 1rem 0 0;
  }
}
@media (min-width: 768px) {
  .p-company-profile__table dd:last-of-type {
    border-radius: 0 0 1rem 0;
  }
}
@media (max-width: 767px) {
  .p-company-profile__table dd:last-of-type {
    border-radius: 0 0 0.625rem 0.625rem;
  }
}
.p-company-profile__table dd a {
  color: inherit;
  text-decoration: none;
}
.p-company-profile__table dd a:hover {
  opacity: 1;
  text-decoration: underline;
}

.p-company-affiliation {
  margin: 4rem 0 0;
}
@media (max-width: 767px) {
  .p-company-affiliation {
    margin: 3.125rem 0 0;
  }
}
.p-company-affiliation__heading {
  margin: 0;
  text-align: center;
  font-weight: 500;
}
.p-company-affiliation__heading span {
  display: inline-block;
  color: var(--color-bg-primary);
  font-size: 1rem;
  line-height: 1;
  background: #E97D28;
  border-radius: 50vh;
  padding: 0.3125rem 1rem 0.4375rem;
}
@media (max-width: 767px) {
  .p-company-affiliation__heading span {
    font-size: 0.875rem;
  }
}
.p-company-affiliation__list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-company-affiliation__list {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0.875rem 0 0;
  }
}
.p-company-affiliation__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 7.125rem;
  padding: 0.5rem;
  border: 1px solid var(--color-sub);
  border-radius: 0.5rem;
  color: #000;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.3333333333;
  text-align: center;
  text-decoration: none;
}
@media (max-width: 767px) {
  .p-company-affiliation__link {
    font-size: 1rem;
    height: 6rem;
  }
}

.p-company-map {
  margin: 4rem 0 0;
}
@media (max-width: 767px) {
  .p-company-map {
    margin: 3.125rem 0 0;
  }
}
.p-company-map__heading {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-company-map__heading {
    font-size: 1.5rem;
  }
}
.p-company-map__frame {
  width: 100%;
  height: 31.875rem;
  margin: 3.625rem 0 0;
}
@media (max-width: 767px) {
  .p-company-map__frame {
    margin: 1.5rem 0 0;
    height: 18.75rem;
  }
}
.p-company-map__frame iframe {
  display: block;
  border: 0;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
@media (max-width: 767px) {
  .p-company-map__frame iframe {
    border-radius: 0.625rem;
  }
}

.p-company-contact {
  margin: 4rem 0 0;
  padding-bottom: 0.375rem;
}
@media (max-width: 767px) {
  .p-company-contact {
    margin: 3.125rem 0 0;
  }
}
.p-company-contact__inner {
  display: flex;
}
@media (min-width: 768px) {
  .p-company-contact__inner {
    margin-top: 2.125rem;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media (max-width: 767px) {
  .p-company-contact__inner {
    flex-direction: column;
    margin-top: 1.25rem;
    gap: 1.5rem;
  }
}
.p-company-contact__logo {
  width: 25rem;
}
@media (max-width: 767px) {
  .p-company-contact__logo {
    width: 17.5rem;
  }
}
.p-company-contact__tel, .p-company-contact__text {
  margin: 0;
  font-size: 1.125rem;
  color: #000;
  line-height: 1.3333333333;
}
@media (max-width: 767px) {
  .p-company-contact__tel, .p-company-contact__text {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.p-company-contact__tel span {
  display: inline-block;
}
.p-company-contact__tel span + span {
  margin-left: 1.125rem;
}
@media (max-width: 767px) {
  .p-company-contact__tel span + span {
    margin-left: 0.625rem;
  }
}
.p-company-contact__text {
  margin-top: 0.875rem;
}
@media (max-width: 767px) {
  .p-company-contact__text {
    margin-top: 0.5rem;
  }
}
.p-company-contact__text a {
  text-decoration: underline;
  color: var(--color-main);
}
.p-company-contact__text a:hover {
  text-decoration: none;
  opacity: 1;
}
.p-company-contact__button {
  flex-shrink: 0;
  width: 20rem;
}
@media (max-width: 767px) {
  .p-company-contact__button {
    margin: 0 auto;
  }
}

/**************************************************/
/* エピソード一覧 */
/**************************************************/
.p-episode-background {
  background-image: url("../../episode/images/bg-circle.png"), linear-gradient(298.96deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 99.46%);
  background-size: 90rem auto, auto auto;
  background-position: top 2px center, top left;
  background-repeat: no-repeat;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .p-episode-background {
    background-image: url("../../episode/images/bg-circle_sp.png"), linear-gradient(298.96deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 99.46%);
    background-size: 23.4375rem auto, auto auto;
  }
}

.p-episode-intro__inner {
  position: relative;
  max-width: 90rem;
  margin: 0 auto;
  padding: 7.5rem 0;
  text-align: center;
}
@media (max-width: 767px) {
  .p-episode-intro__inner {
    padding: 3.75rem 1.25rem 15.9375rem;
    overflow-x: clip;
  }
}
.p-episode-intro__title {
  margin: 0;
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--color-sub);
}
@media (max-width: 767px) {
  .p-episode-intro__title {
    font-size: 1.25rem;
  }
}
.p-episode-intro__heading {
  margin: 0.5rem 0 0;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-episode-intro__heading {
    font-size: 1.75rem;
  }
}
.p-episode-intro__text {
  margin: 1.625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-episode-intro__text {
    font-size: 1.125rem;
  }
}
.p-episode-intro__image {
  position: absolute;
  width: 33.75rem;
  top: 0.625rem;
  pointer-events: none;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-episode-intro__image {
    width: 37.5vw;
  }
}
@media (max-width: 767px) {
  .p-episode-intro__image {
    top: auto;
    width: 16.875rem;
    bottom: 0;
  }
}
.p-episode-intro__image.-left {
  left: -7.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-episode-intro__image.-left {
    left: -8.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-episode-intro__image.-left {
    left: -3.75rem;
  }
}
.p-episode-intro__image.-right {
  right: -7.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-episode-intro__image.-right {
    right: -8.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-episode-intro__image.-right {
    right: -5rem;
  }
}

.p-episode-list {
  padding: 3.5rem 0 7.5rem;
}
@media (max-width: 767px) {
  .p-episode-list {
    overflow-x: clip;
    padding: 3.5rem 0 5rem;
  }
}
.p-episode-list__inner {
  max-width: 64rem;
  margin: 0 auto;
  zoom: 1;
}
.p-episode-list__inner:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

.p-episode-card {
  width: 31.25rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-episode-card {
    padding: 0 2rem;
  }
  .p-episode-card:not(:first-child) {
    margin-top: 6.5rem;
  }
  .p-episode-card:nth-child(2) {
    margin-top: 7.5rem;
  }
  .p-episode-card:nth-child(odd) {
    float: left;
    margin-right: 1.5rem;
  }
  .p-episode-card:nth-child(even) {
    float: right;
  }
}
@media (max-width: 767px) {
  .p-episode-card {
    width: 100%;
    padding: 0 1.25rem;
  }
  .p-episode-card + .p-episode-card {
    margin-top: 5rem;
  }
}
.p-episode-card::after {
  position: absolute;
  top: 10.3125rem;
  left: 2rem;
  width: 35rem;
  height: 35rem;
  border-radius: 50%;
  background: radial-gradient(81.29% 50% at 50% 50%, #fff 0%, rgba(255, 255, 255, 0) 100%);
  border: 1px solid var(--color-bg-primary);
  z-index: -1;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-episode-card::after {
    width: 28.75rem;
    height: 28.75rem;
    top: 5.625rem;
    left: 1.25rem;
  }
}
.p-episode-card__lead {
  font-size: 1.5rem;
  color: var(--color-main);
  position: relative;
}
@media (max-width: 767px) {
  .p-episode-card__lead {
    font-size: 1.25rem;
  }
}
.p-episode-card__lead::after {
  position: absolute;
  top: -2.875rem;
  left: -2rem;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background: radial-gradient(81.29% 50% at 50% 50%, #7BB4FF 0%, rgba(123, 180, 255, 0) 100%);
  opacity: 0.5;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-episode-card__lead::after {
    top: -2.625rem;
    width: 5.625rem;
    height: 5.625rem;
  }
}
.p-episode-card__index {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .p-episode-card__index {
    font-size: 1.75rem;
  }
}
.p-episode-card__image {
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-episode-card__image {
    margin-top: 0.75rem;
  }
}
.p-episode-card__image img {
  display: block;
  border-radius: 0.5rem;
}
.p-episode-card__title {
  margin: 1.625rem 0 0;
  font-weight: 500;
  font-size: 2rem;
  color: #000;
  display: flex;
  align-items: center;
  height: 2.75em;
}
.p-episode-card__title span {
  line-height: 1.375;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-episode-card__title {
    font-size: 1.5625rem;
    margin: 0.875rem 0 0;
  }
}
.p-episode-card__excerpt {
  margin: 1.0625rem 0 0;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  color: #000;
}
@media (max-width: 767px) {
  .p-episode-card__excerpt {
    font-size: 1rem;
    margin: 0.5rem 0 0;
  }
}
.p-episode-card__more {
  margin-top: 1.875rem;
}
@media (max-width: 767px) {
  .p-episode-card__more {
    margin-top: 0.9375rem;
  }
}

.p-episode-more {
  padding: 0 1.25rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-episode-more {
    padding: 0 1.25rem;
  }
}
.p-episode-more__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.375rem;
  color: var(--color-bg-primary);
  border-radius: 50vh;
  text-decoration: none;
  background: var(--gradient-primary);
  padding: 1.5rem 3.5rem;
  position: relative;
  margin: 5rem auto;
}
@media (max-width: 767px) {
  .p-episode-more__button {
    font-size: 1.125rem;
    padding: 1.125rem 3rem;
    margin: 3.125rem auto;
  }
}
.p-episode-more__button::before {
  display: inline-block;
  margin-top: 0.125rem;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='23.5' y='0.500001' width='23' height='23' rx='11.5' transform='rotate(90 23.5 0.500001)' stroke='white'/%3E%3Cpath d='M8 10L11.9487 14L16 10' stroke='white' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-episode-more__button::before {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.p-episode-footer {
  background-image: url("../../episode/images/bg-footer.jpg");
  background-color: #EFF6FF;
  background-position: top left;
  background-repeat: no-repeat;
  padding: 5rem 1.25rem;
}
@media (max-width: 767px) {
  .p-episode-footer {
    padding: 3.125rem 1.25rem;
    background-size: 100% auto;
  }
}
.p-episode-footer__inner {
  max-width: 64rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-episode-footer__inner {
    grid-template-columns: 1fr;
  }
}

.p-episode-readmore {
  font-size: 1.125rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  border-radius: 50vh;
  background: var(--color-bg-primary);
  text-decoration: none;
  padding: 0.5rem 1.5rem 0.5rem 0.9375rem;
  gap: 0.5625rem;
  transition-property: background, color;
  transition-duration: 0.2s;
}
@media (max-width: 767px) {
  .p-episode-readmore {
    font-size: 1rem;
  }
}
.p-episode-readmore:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .p-episode-readmore:hover {
    background: var(--color-main);
    color: var(--color-bg-primary);
  }
}
.p-episode-readmore__icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.0625rem;
}

.p-episode-entry {
  padding: 3rem 1.25rem 5rem;
  background: linear-gradient(298.96deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 99.46%);
}
@media (max-width: 767px) {
  .p-episode-entry {
    padding: 3rem 1.25rem 3.125rem;
  }
}
.p-episode-entry__lead {
  text-align: center;
}
.p-episode-entry__lead-text {
  display: inline-block;
  font-size: 1.5rem;
  color: var(--color-main);
  position: relative;
}
@media (max-width: 767px) {
  .p-episode-entry__lead-text {
    font-size: 1.25rem;
  }
}
.p-episode-entry__lead-text::after {
  position: absolute;
  top: -1.125rem;
  left: -2rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: radial-gradient(81.29% 50% at 50% 50%, #7BB4FF 0%, rgba(123, 180, 255, 0) 100%);
  opacity: 0.5;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-episode-entry__lead-text::after {
    width: 4.375rem;
    height: 4.375rem;
  }
}
.p-episode-entry__index {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .p-episode-entry__index {
    font-size: 1.75rem;
  }
}
.p-episode-entry__title {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: #000;
}
@media (max-width: 767px) {
  .p-episode-entry__title {
    font-size: 1.75rem;
  }
}
.p-episode-entry__body {
  max-width: 50rem;
  margin: 5rem auto 0;
  padding: 0 2rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-episode-entry__body {
    padding: 0;
    margin-top: 2.5rem;
  }
}
.p-episode-entry__mv {
  max-width: 50rem;
  margin: 3.125rem auto 0;
}
@media (max-width: 767px) {
  .p-episode-entry__mv {
    margin-top: 1.875rem;
  }
}
.p-episode-entry__mv img {
  display: block;
  border-radius: 0.5rem;
}
.p-episode-entry__content {
  color: #000;
}
.p-episode-entry__content > * + * {
  margin-top: 3.125rem;
}

.p-episode-author {
  background: radial-gradient(86.71% 86.71% at 94% 9%, #E6E6FF 0%, #DDEBFF 100%);
  border-radius: 1rem;
  padding: 0.625rem;
  margin: 3.25rem 0 0;
}
@media (max-width: 767px) {
  .p-episode-author {
    margin: 2rem 0 0;
  }
}
.p-episode-author__body {
  padding: 2rem;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 0.5rem;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-episode-author__body {
    padding: 1rem;
    gap: 0.625rem;
    grid-template-columns: 1fr;
  }
}
.p-episode-author__lead {
  margin: 0;
  padding: 0.625rem 2rem 1.5rem;
  font-size: 1.5rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-episode-author__lead {
    padding: 0.3125rem 0.75rem 0.75rem;
    font-size: 1.25rem;
  }
}
.p-episode-author__image img {
  display: block;
  border-radius: 0.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 120/150;
}
@media (max-width: 767px) {
  .p-episode-author__image img {
    width: 6.25rem;
    margin: 0 auto;
  }
}
.p-episode-author__info {
  color: #000;
}
@media (min-width: 768px) {
  .p-episode-author__info {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}
@media (max-width: 767px) {
  .p-episode-author__info {
    text-align: center;
  }
}
.p-episode-author__position {
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-episode-author__position {
    font-size: 1.125rem;
  }
}
.p-episode-author__name {
  font-size: 0.875rem;
  margin-bottom: auto;
}
@media (max-width: 767px) {
  .p-episode-author__name {
    font-size: 0.75rem;
  }
}
.p-episode-author__name span {
  font-size: 1rem;
  display: inline-block;
  margin-left: 0.5rem;
}
@media (max-width: 767px) {
  .p-episode-author__name span {
    font-size: 0.875rem;
  }
}
.p-episode-author__more {
  margin-top: 0.625rem;
  text-align: right;
}
@media (max-width: 767px) {
  .p-episode-author__more {
    margin-top: 0.875rem;
    text-align: center;
  }
}
.p-episode-author__button {
  font-size: 1.125rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  border-radius: 50vh;
  background: var(--color-bg-primary);
  text-decoration: none;
  padding: 0.5rem 0.9375rem;
  transition-property: background, color;
  transition-duration: 0.2s;
}
@media (max-width: 767px) {
  .p-episode-author__button {
    font-size: 1rem;
  }
}
.p-episode-author__button:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .p-episode-author__button:hover {
    background: var(--color-main);
    color: var(--color-bg-primary);
  }
}
.p-episode-author__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.0625rem;
  transform: rotate(-90deg);
}

.p-episode-recent {
  padding: 4rem 1.25rem 4.75rem;
}
@media (max-width: 767px) {
  .p-episode-recent {
    padding: 2.5rem 1.25rem 3.125rem;
  }
}
.p-episode-recent__inner {
  max-width: 50rem;
  margin: 0 auto;
}
.p-episode-recent__heading {
  margin: 0;
  text-align: center;
  font-weight: 500;
  font-size: 2rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-episode-recent__heading {
    font-size: 1.75rem;
  }
}
.p-episode-recent__list {
  margin: 2.5rem 0 0;
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .p-episode-recent__list {
    margin: 3.75rem 0 0;
    padding: 0;
  }
}
.p-episode-recent__footer {
  text-align: center;
  margin-top: 3.625rem;
}
@media (max-width: 767px) {
  .p-episode-recent__footer {
    margin-top: 2.375rem;
  }
}

.p-episode-post + .p-episode-post {
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .p-episode-post + .p-episode-post {
    margin-top: 3.75rem;
  }
}
.p-episode-post__lead {
  font-size: 1.5rem;
  color: var(--color-main);
  position: relative;
}
@media (max-width: 767px) {
  .p-episode-post__lead {
    font-size: 1.25rem;
  }
}
.p-episode-post__lead::after {
  position: absolute;
  top: -2.875rem;
  left: -2rem;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background: radial-gradient(81.29% 50% at 50% 50%, #7BB4FF 0%, rgba(123, 180, 255, 0) 100%);
  opacity: 0.5;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-episode-post__lead::after {
    top: -2.625rem;
    width: 5.625rem;
    height: 5.625rem;
  }
}
.p-episode-post__index {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .p-episode-post__index {
    font-size: 1.75rem;
  }
}
.p-episode-post__body {
  display: grid;
  grid-template-columns: 15rem 1fr;
  gap: 2rem;
  margin: 1.375rem 0 0;
}
@media (max-width: 767px) {
  .p-episode-post__body {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.125rem 0 0;
  }
}
.p-episode-post__image img {
  display: block;
  border-radius: 0.5rem;
}
@media (max-width: 767px) {
  .p-episode-post__image img {
    width: 100%;
  }
}
.p-episode-post__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5833333333;
  color: #000;
}
@media (max-width: 767px) {
  .p-episode-post__title {
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  .p-episode-post__title::before {
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.5833333333) * 0.7em);
    content: "";
  }
}
.p-episode-post__excerpt {
  margin: 0.9375rem 0 0;
  color: #000;
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-episode-post__excerpt {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    line-height: 2;
  }
}
.p-episode-post__more {
  margin-top: 3.5rem;
}
@media (min-width: 768px) {
  .p-episode-post__more {
    text-align: right;
  }
}
@media (max-width: 767px) {
  .p-episode-post__more {
    margin-top: 1rem;
  }
}

/**************************************************/
/* ご利用について */
/**************************************************/
@media (max-width: 767px) {
  .p-guide-box {
    padding: 0;
  }
}
.p-guide-box__inner {
  padding: 7.5rem 0;
}
@media (max-width: 767px) {
  .p-guide-box__inner {
    padding: 3.75rem 0;
  }
}

.p-guide-content {
  margin: 4rem 0 0;
}
@media (max-width: 767px) {
  .p-guide-content {
    margin: 2.5rem 0 0;
  }
}

.p-guide-anchor {
  max-width: 64rem;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 5rem;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-guide-anchor {
    gap: 0.5rem;
    grid-auto-rows: 6.25rem;
    padding: 0 1.25rem;
  }
}
.p-guide-anchor__link {
  text-decoration: none;
  text-align: center;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--color-main);
  font-size: 1.25rem;
  font-weight: 500;
  border-radius: 0.25rem;
  background: var(--color-main-light);
  transition: color 0.2s;
  position: relative;
}
@media (max-width: 767px) {
  .p-guide-anchor__link {
    font-size: 1rem;
  }
}
.p-guide-anchor__link::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--gradient-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  content: "";
}
.p-guide-anchor__link:hover, .p-guide-anchor__link.-active {
  opacity: 1;
  color: var(--color-bg-primary);
}
.p-guide-anchor__link:hover::after, .p-guide-anchor__link.-active::after {
  opacity: 1;
}
.p-guide-anchor__text {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-guide-anchor__text {
    flex-direction: column;
  }
}
.p-guide-anchor__icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-guide-anchor__icon {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.p-guide-anchor.-bottom {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-guide-anchor.-bottom {
    margin-top: 2.5rem;
  }
}

.p-guide-section + .p-guide-section {
  margin-top: 4rem;
}
.p-guide-section__title {
  margin: 0;
  text-align: center;
  color: var(--color-main-accent-2);
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-guide-section__title {
    font-size: 1.375rem;
  }
}
.p-guide-section__title.-blue {
  color: var(--color-main);
}
.p-guide-section__text {
  margin: 0.5rem 0 0;
  text-align: center;
  color: #000;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-guide-section__text {
    font-size: 1rem;
    margin: 0.25rem 0 0;
  }
}
.p-guide-section__content {
  max-width: 64rem;
  margin: 4.375rem auto 0;
}
@media (max-width: 767px) {
  .p-guide-section__content {
    margin: 2.5rem 0 0;
    padding: 0 1.25rem;
    box-sizing: border-box;
  }
}
.p-guide-section__image {
  position: relative;
  margin-bottom: 2.5rem;
}
@media (max-width: 767px) {
  .p-guide-section__image {
    margin-bottom: 1.25rem;
  }
}
.p-guide-section__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-guide-section__image img {
    border-radius: 0.625rem;
  }
}
.p-guide-section__image::after {
  position: absolute;
  bottom: -2.5rem;
  left: -2.5rem;
  width: calc(100% + 5rem);
  height: 100%;
  border-radius: 1rem;
  background: linear-gradient(212deg, rgba(177, 204, 246, 0) 60.25%, rgba(177, 204, 246, 0.5) 82%);
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-guide-section__image::after {
    bottom: -1.25rem;
    left: -1.25rem;
    width: calc(100% + 2.5rem);
    border-radius: 0.625rem;
  }
}
.p-guide-section.-equipment {
  background-image: url("../../guide/images/bg-equipment.png");
  background-position: top center;
  padding: 2rem 0 1rem;
}

.p-guide-slider {
  --swiper-navigation-size: 1.25rem;
  --swiper-navigation-color: #fff;
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .p-guide-slider {
    margin-top: 1.25rem;
    --swiper-navigation-size: 0.875rem;
  }
}
.p-guide-slider__figure {
  margin: 0;
  position: relative;
}
.p-guide-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  text-align: center;
  color: var(--color-bg-primary);
  font-size: 1rem;
  background: rgba(51, 51, 51, 0.6);
  padding: 1.125rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-guide-slider__caption {
    font-size: 0.6875rem;
    padding: 0.625rem;
    text-align: left;
  }
}
.p-guide-slider__main .swiper-slide {
  width: 50rem;
}
@media (max-width: 767px) {
  .p-guide-slider__main .swiper-slide {
    width: 20rem;
  }
}
.p-guide-slider__main .swiper-button-prev, .p-guide-slider__main .swiper-button-next {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  box-sizing: border-box;
  background: var(--color-main);
}
@media (max-width: 767px) {
  .p-guide-slider__main .swiper-button-prev, .p-guide-slider__main .swiper-button-next {
    width: 2.125rem;
    height: 2.125rem;
    margin-top: -1.0625rem;
  }
}
.p-guide-slider__main .swiper-button-prev {
  left: calc(50% - 25rem - 1.5625rem);
}
@media (max-width: 767px) {
  .p-guide-slider__main .swiper-button-prev {
    left: calc(50% - 10rem - 1.0625rem);
  }
}
.p-guide-slider__main .swiper-button-next {
  right: calc(50% - 25rem - 1.5625rem);
}
@media (max-width: 767px) {
  .p-guide-slider__main .swiper-button-next {
    right: calc(50% - 10rem - 1.0625rem);
  }
}
.p-guide-slider__thumb {
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .p-guide-slider__thumb {
    margin-top: 0.5rem;
  }
}
.p-guide-slider__thumb .swiper-slide {
  cursor: pointer;
  width: 8.75rem;
}
@media (max-width: 767px) {
  .p-guide-slider__thumb .swiper-slide {
    width: 4.375rem;
  }
}
.p-guide-slider__thumb .swiper-slide:last-child {
  margin-right: 0 !important;
}
.p-guide-slider__thumb .swiper-wrapper {
  justify-content: center;
}

.p-guide-step {
  list-style: none;
  margin: 7.5rem 0 0;
  padding: 0;
}
@media (max-width: 767px) {
  .p-guide-step {
    margin: 3.75rem 0 0;
  }
}
.p-guide-step__item {
  display: flex;
  gap: 2.5rem;
  --gap: 4rem;
}
@media (max-width: 767px) {
  .p-guide-step__item {
    gap: 1rem;
    --gap: 2rem;
  }
}
.p-guide-step__item + .p-guide-step__item {
  margin-top: var(--gap);
}
.p-guide-step__item:not(:last-child) {
  position: relative;
}
.p-guide-step__item:not(:last-child)::after {
  position: absolute;
  top: 0;
  left: 7.5625rem;
  width: 0.5rem;
  height: calc(100% + var(--gap));
  background: #80B6FD;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-guide-step__item:not(:last-child)::after {
    left: 1.9375rem;
    width: 0.375rem;
  }
}
@media (min-width: 768px) {
  .p-guide-step__head {
    position: relative;
    padding-left: 2.5rem;
  }
}
.p-guide-step__body {
  flex-grow: 1;
}
.p-guide-step__index {
  background: var(--color-main);
  color: var(--color-bg-primary);
  text-align: center;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-guide-step__index {
    position: absolute;
    top: -2.75rem;
    left: 0;
    width: 5rem;
    height: 5rem;
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .p-guide-step__index {
    width: 4.375rem;
    height: 4.375rem;
    font-size: 0.875rem;
  }
}
.p-guide-step__number {
  font-size: 2.5rem;
  display: block;
}
@media (max-width: 767px) {
  .p-guide-step__number {
    font-size: 1.875rem;
  }
}
.p-guide-step__icon {
  width: 10.625rem;
  height: 10.625rem;
  border: 1px solid var(--color-main-accent-3);
  background: var(--color-main-light);
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-guide-step__icon {
    display: none;
  }
}
.p-guide-step__lead {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-guide-step__lead {
    font-size: 1.25rem;
  }
}
.p-guide-step__text {
  margin: 0.875rem 0 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #000;
}
@media (max-width: 767px) {
  .p-guide-step__text {
    margin: 0.5rem 0 0;
    font-size: 1rem;
  }
}

.p-guide-contact {
  margin-top: 4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-guide-contact {
    margin-top: 2.5rem;
  }
}
.p-guide-contact__link {
  width: 100%;
  max-width: 25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  color: var(--color-main-light);
  font-size: 1.125rem;
  background: var(--gradient-primary);
  border-radius: 0.25rem;
  box-sizing: border-box;
  padding: 1.25rem;
}
@media (max-width: 767px) {
  .p-guide-contact__link {
    max-width: 17.5rem;
    font-size: 1rem;
  }
}
.p-guide-contact__icon {
  width: 2.5rem;
  height: 2.5rem;
}

.p-guide-bnr {
  max-width: 64rem;
  display: block;
  margin: 4rem auto 0;
}
.p-guide-bnr img {
  border: 1px solid var(--color-main);
  border-radius: 1.5rem;
}
@media (max-width: 767px) {
  .p-guide-bnr {
    margin: 1.875rem auto 0;
    padding: 1.25rem;
  }
  .p-guide-bnr img {
    border-radius: 0.625rem;
  }
}

.p-guide-footer {
  max-width: 64rem;
  margin: 5rem auto 0;
  background: var(--color-main-light);
  border-radius: 1rem;
  padding: 2.5rem;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-guide-footer {
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 0.625rem;
    margin: 2.5rem 1.25rem 0;
  }
}
.p-guide-footer__link {
  max-width: 20rem;
  width: 100%;
}

.p-guide-accordion {
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  background: var(--color-main-light);
  padding: 0.5rem;
  box-sizing: border-box;
  margin: 1.4375rem 0 0;
}
@media (max-width: 767px) {
  .p-guide-accordion {
    padding: 0.25rem;
    margin: 0.875rem 0 0;
  }
}
.p-guide-accordion__inner {
  margin: 0;
  border: 1px solid var(--color-main);
  border-radius: 0.625rem;
  background: var(--color-bg-primary);
}
.p-guide-accordion__head {
  font-size: 1.5rem;
  color: var(--color-main);
  padding: 2.25rem 3rem;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .p-guide-accordion__head {
    font-size: 1.25rem;
    padding: 1rem 2.8125rem 1rem 1rem;
  }
}
.p-guide-accordion__head::after {
  position: absolute;
  top: 50%;
  right: 3rem;
  margin-top: -0.4375rem;
  width: 1.6875rem;
  height: 0.9375rem;
  background-image: url("data:image/svg+xml,%3Csvg width='27' height='15' viewBox='0 0 27 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.6875 13.374L13.4183 1.37402L26.149 13.374' stroke='%232C69BA' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.4s;
  transform: rotate(-180deg);
  content: "";
}
@media (max-width: 767px) {
  .p-guide-accordion__head::after {
    width: 1.375rem;
    height: 0.75rem;
    margin-top: -0.375rem;
    right: 1rem;
  }
}
.p-guide-accordion__head.-open::after {
  transform: rotate(0);
}
.p-guide-accordion__body {
  margin: 0;
  padding: 0 3rem;
  display: none;
}
@media (max-width: 767px) {
  .p-guide-accordion__body {
    padding: 0 1rem;
  }
}
.p-guide-accordion__content {
  border-top: 1px solid var(--color-main);
  padding: 2.75rem 0;
}
@media (max-width: 767px) {
  .p-guide-accordion__content {
    padding: 1.25rem 0;
  }
}
.p-guide-accordion__lead {
  font-size: 1.25rem;
  color: var(--color-main);
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-guide-accordion__lead {
    font-size: 1rem;
  }
}
.p-guide-accordion__lead ~ .p-guide-accordion__lead {
  margin-top: 2.75rem;
}
@media (max-width: 767px) {
  .p-guide-accordion__lead ~ .p-guide-accordion__lead {
    margin-top: 1.625rem;
  }
}
.p-guide-accordion__icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}
.p-guide-accordion__button {
  max-width: 30rem;
  margin-top: 0.9375rem;
}
.p-guide-accordion__download {
  list-style: none;
  padding: 0;
  margin: 1.125rem 0 0;
  display: flex;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-guide-accordion__download {
    margin: 0.625rem 0 0;
    gap: 0.3125rem;
  }
}
.p-guide-accordion__download-badge {
  display: block;
  width: auto;
  height: 4rem;
}
@media (max-width: 767px) {
  .p-guide-accordion__download-badge {
    height: 2.25rem;
  }
}
.p-guide-accordion__list {
  list-style: none;
  padding: 0;
  margin: 0.9375rem 0 0;
  counter-reset: list;
}
.p-guide-accordion__list-item {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #000;
  padding-left: 2.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-guide-accordion__list-item {
    font-size: 1rem;
    padding-left: 1.75rem;
  }
}
.p-guide-accordion__list-item + .p-guide-accordion__list-item {
  margin-top: 1.5rem;
}
.p-guide-accordion__list-item::before {
  position: absolute;
  top: 0.375rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: var(--color-main);
  box-sizing: border-box;
  counter-increment: list;
  content: counter(list);
}
@media (max-width: 767px) {
  .p-guide-accordion__list-item::before {
    top: 0.1875rem;
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.2;
  }
}
.p-guide-accordion__illust {
  width: 34.5rem;
  margin-top: 1.25rem;
}
@media (max-width: 767px) {
  .p-guide-accordion__illust {
    width: 100%;
    margin-top: 0.625rem;
  }
}
.p-guide-accordion__illust.-pl {
  padding-left: 2.5rem;
}
@media (max-width: 767px) {
  .p-guide-accordion__illust.-pl {
    padding-left: 0;
  }
}

/**************************************************/
/* その他のサービス */
/**************************************************/
.pg-service .fancybox__container {
  --f-html-padding: 0;
  --f-html-bg: transparent;
  --f-html-color: var(--color-text-primary);
  --f-arrow-width: 3rem;
  --f-arrow-height: var(--f-arrow-width);
  --f-arrow-bg: var(--color-bg-primary);
  --f-arrow-hover-bg: var(--color-main);
  --f-arrow-color: var(--color-main);
  --f-arrow-pos: calc(50% - 3.125rem - 25rem - 2.5rem);
}
.pg-service .fancybox__container .f-button.is-arrow {
  --f-button-border: 1px solid var(--color-main);
}
.pg-service .fancybox__container .fancybox__slide.has-html {
  padding: 0;
}
@media (min-width: 768px) {
  .pg-service .fancybox__container {
    --f-html-margin: 2.5rem 0;
    --fancybox-backdrop-bg: rgba(51, 51, 51, 0.5);
  }
  .pg-service .fancybox__container .fancybox__slide.has-html {
    padding-left: var(--f-scrollbar-compensate, 0);
  }
}
@media (max-width: 767px) {
  .pg-service .fancybox__container {
    --fancybox-backdrop-bg: var(--color-bg-primary);
  }
  .pg-service .fancybox__container .fancybox__carousel > .f-button:is(.is-prev, .is-next) {
    display: none;
  }
  .pg-service .fancybox__container .fancybox__slide.f-zoomable {
    box-sizing: border-box;
    --f-carousel-slide-padding: 16px;
  }
}

.p-service-title {
  margin: 0;
  text-align: center;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-service-title {
    font-size: 1.5rem;
  }
}

.p-service-text {
  margin: 1rem 0 0;
  text-align: center;
  color: #000;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-text {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-service-text__link {
  color: var(--color-main-accent-2);
}

.p-service-intro {
  position: relative;
  overflow-x: clip;
}
.p-service-intro::after {
  position: absolute;
  z-index: -1;
  transform: rotate(180deg);
  pointer-events: none;
  content: "";
}
@media (min-width: 768px) {
  .p-service-intro::after {
    inset: 0;
    background: linear-gradient(205.04deg, rgba(177, 204, 246, 0) 71.88%, rgba(177, 204, 246, 0.5) 98.48%);
  }
}
@media (max-width: 767px) {
  .p-service-intro::after {
    top: 0;
    left: 0;
    width: 100%;
    height: 12.5rem;
    background: linear-gradient(222.81deg, rgba(177, 204, 246, 0) 56.53%, rgba(177, 204, 246, 0.5) 80.49%);
  }
}
.p-service-intro__inner {
  max-width: 64rem;
  margin: 0 auto;
  padding: 6.25rem 0 12rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-service-intro__inner {
    padding: 3.125rem 0 0;
  }
}
.p-service-intro__content {
  max-width: 37.75rem;
}
@media (max-width: 767px) {
  .p-service-intro__content {
    padding: 0 1rem 0 2rem;
  }
}
.p-service-intro__heading {
  margin: 0;
  color: var(--color-main);
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-service-intro__heading {
    font-size: 1.75rem;
  }
}
.p-service-intro__lead {
  margin: 2.1875rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5833333333;
  color: #000;
}
@media (max-width: 767px) {
  .p-service-intro__lead {
    margin: 1.625rem 0 0;
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }
}
.p-service-intro__text {
  margin: 1.5625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-service-intro__text {
    margin: 0.625rem 0 0;
    font-size: 1rem;
    line-height: 1.75;
  }
}
.p-service-intro__list {
  list-style: none;
  padding: 0;
  margin: 2.125rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 767px) {
  .p-service-intro__list {
    margin: 1.4375rem 0 0;
  }
}
.p-service-intro__label {
  display: inline-block;
  border: 1px solid var(--color-main);
  border-radius: 50vh;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--color-main);
  background: var(--color-bg-primary);
  padding: 0.5rem 1.4375rem 0.625rem;
}
@media (max-width: 767px) {
  .p-service-intro__label {
    font-size: 1rem;
    padding: 0.4375rem 0.9375rem;
  }
}
@media (min-width: 768px) {
  .p-service-intro__image {
    position: absolute;
    bottom: 0;
    right: -18.125rem;
    width: 41.875rem;
  }
}
@media (max-width: 767px) {
  .p-service-intro__image {
    width: calc(100% - 2rem);
    margin: 3.625rem 0 0 auto;
  }
}
.p-service-intro__image img {
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-service-intro__image img {
    border-radius: 1rem 0 0 1rem;
  }
}

.p-service-diagram {
  position: relative;
  margin: -4.875rem 0 0;
  padding: 0 0 4.6875rem;
}
@media (max-width: 767px) {
  .p-service-diagram {
    margin: -4rem 0 0;
    padding: 0 1rem 1.5rem;
    position: relative;
  }
  .p-service-diagram::after {
    position: absolute;
    z-index: -1;
    bottom: -3.75rem;
    left: 0;
    width: 100%;
    height: 11.5rem;
    background: linear-gradient(213.02deg, rgba(177, 204, 246, 0) 47.42%, rgba(177, 204, 246, 0.5) 79.56%);
    content: "";
  }
}
.p-service-diagram__box {
  background: var(--color-main-light);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .p-service-diagram__box {
    max-width: 79rem;
    margin: 0 auto;
    padding: 2.8125rem 2.5rem;
    border-radius: 1rem;
  }
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram__box {
    width: 98.4423676012vw;
    padding: 3.5046728972vw 3.1152647975vw;
    border-radius: 1.246105919vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram__box {
    padding: 0.5rem;
  }
}
.p-service-diagram__inner {
  background: var(--color-bg-primary);
  padding: 5rem;
  display: grid;
  grid-template-columns: 21.875rem 20.25rem 21.875rem;
  grid-template-rows: 21.875rem 17.375rem 21.875rem;
  grid-template-areas: "top-left top top-right" "left space right" "bottom-left bottom bottom-right";
  position: relative;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram__inner {
    padding: 6.230529595vw;
    grid-template-columns: 27.2585669782vw 25.2336448598vw 27.2585669782vw;
    grid-template-rows: 27.2585669782vw 21.6510903427vw 27.2585669782vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram__inner {
    padding: 1.25rem 0.625rem;
    grid-template-columns: 7.9375rem 3.3125rem 7.9375rem;
    grid-template-rows: 7.9375rem 4rem 7.9375rem;
  }
}
.p-service-diagram__list {
  list-style: none;
  padding: 0 1rem;
  margin: 1.5rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  counter-reset: list;
}
.p-service-diagram__list-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  background: var(--color-bg-primary);
  font-size: 1rem;
  border-radius: 50vh;
  padding: 0.5625rem;
  box-sizing: border-box;
  gap: 0.1875rem;
}
.p-service-diagram__list-link::before {
  counter-increment: list;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.0625rem;
  height: 1.0625rem;
  border-radius: 50%;
  font-size: 0.6875rem;
  font-weight: var(--font-weight-primary);
  line-height: 1;
  border: 1px solid var(--color-main);
  content: counter(list);
}
.p-service-diagram__list-link:hover {
  opacity: 1;
}
@media (min-width: 767px) {
  .p-service-diagram__list {
    display: none;
  }
}

.p-service-diagram-circle {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 46.25rem;
  height: 46.25rem;
  background: radial-gradient(115.32% 72.89% at 50% 50%, rgba(255, 238, 225, 0) 25%, #FFEEE1 100%);
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-circle {
    width: 58.5443037975vw;
    height: 58.5443037975vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-circle {
    width: 12.5rem;
    height: 12.5rem;
    padding-top: 1.5rem;
  }
}
.p-service-diagram-circle__illust {
  width: 21.875rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-circle__illust {
    width: 27.6898734177vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-circle__illust {
    width: 9.3125rem;
  }
}
.p-service-diagram-circle__logo {
  width: 14rem;
  margin: 0.5rem 0 0.25rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-circle__logo {
    width: 17.7215189873vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-circle__logo {
    width: 5.3125rem;
    margin: -0.3125rem 0 0;
  }
}
.p-service-diagram-circle__lead {
  margin: 0;
  color: var(--color-main);
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5833333333;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-circle__lead {
    font-size: 1.8987341772vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-circle__lead {
    font-size: 0.6875rem;
    line-height: 1.1818181818;
  }
}

.p-service-diagram-card {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-service-diagram-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-sizing: border-box;
  background: var(--bg-color, #FFFDF3);
  box-shadow: 0 0 5rem rgba(44, 105, 186, 0.32);
  text-decoration: none;
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__link {
    box-shadow: 0 0 6.3291139241vw rgba(44, 105, 186, 0.32);
  }
}
@media (min-width: 768px) {
  .p-service-diagram-card__link {
    justify-content: center;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__link {
    box-shadow: 0 0 1.0625rem rgba(44, 105, 186, 0.32);
    pointer-events: none;
    padding-top: 0.375rem;
  }
}
.p-service-diagram-card__link.-green {
  --bg-color: #F9FFF9;
}
.p-service-diagram-card__link.-orange {
  --bg-color: #FFF7F3;
}
.p-service-diagram-card__link.-purple {
  --bg-color: #F3F6FF;
}
.p-service-diagram-card__link:hover {
  opacity: 1;
}
.p-service-diagram-card__link:hover .p-service-diagram-card__button {
  background: var(--color-main);
  color: var(--color-bg-primary);
}
.p-service-diagram-card__index {
  flex-shrink: 0;
  width: 1.0625rem;
  height: 1.0625rem;
  margin: 0 auto;
  border: 1px solid var(--color-main);
  background: var(--color-bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  line-height: 1;
  border-radius: 50%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .p-service-diagram-card__index {
    display: none;
  }
}
.p-service-diagram-card__lead {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__lead {
    font-size: 1.582278481vw;
    gap: 0 0.6329113924vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__lead {
    font-size: 0.6875rem;
    gap: 0 0.25rem;
  }
}
.p-service-diagram-card__lead::before, .p-service-diagram-card__lead::after {
  width: 2.5rem;
  border-top: 1px solid var(--color-main);
  content: "";
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__lead::before, .p-service-diagram-card__lead::after {
    width: 3.164556962vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__lead::before, .p-service-diagram-card__lead::after {
    width: 0.9375rem;
  }
}
.p-service-diagram-card__figure {
  margin: 1.0625rem 0 0;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__figure {
    margin: 1.3449367089vw 0 0;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__figure {
    margin: 0.125rem 0 0;
  }
}
.p-service-diagram-card__image {
  display: block;
  margin: 0 auto;
  width: 13.125rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__image {
    width: 16.6139240506vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__image {
    width: 5.625rem;
  }
}
.p-service-diagram-card__caption {
  font-size: 1.25rem;
  color: var(--color-main);
  margin: 0.9375rem 0 0;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-card__caption {
    font-size: 1.582278481vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-card__caption {
    font-size: 0.6875rem;
    line-height: 1.1818181818;
    margin: 0.1875rem 0 0;
    letter-spacing: -0.0727272727em;
  }
}
.p-service-diagram-card__detail {
  margin-top: 1.0625rem;
}
@media (max-width: 767px) {
  .p-service-diagram-card__detail {
    display: none;
  }
}
.p-service-diagram-card__button {
  display: inline-flex;
  align-items: center;
  background: var(--color-bg-primary);
  font-size: 1rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  line-height: 1;
  color: var(--color-main);
  padding: 0.1875rem 0.5rem;
  transition: background 0.2s, color 0.2s;
}
.p-service-diagram-card__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-135deg);
}
.p-service-diagram-card.-tl {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: top-left;
}
.p-service-diagram-card.-tr {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: top-right;
}
.p-service-diagram-card.-bl {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: bottom-left;
}
.p-service-diagram-card.-br {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: bottom-right;
}

.p-service-diagram-arrow {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-service-diagram-arrow {
    width: 11.875rem;
    gap: 1.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow {
    width: 15.0316455696vw;
    gap: 1.8987341772vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow {
    width: 2.6875rem;
  }
}
.p-service-diagram-arrow__text {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow__text {
    font-size: 1.582278481vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow__text {
    font-size: 0.875rem;
  }
}
.p-service-diagram-arrow__icon {
  flex-shrink: 0;
  width: 11.875rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow__icon {
    width: 15.0316455696vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow__icon {
    width: 2.6875rem;
  }
}
.p-service-diagram-arrow.-top {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: top;
  margin-top: 1.6875rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow.-top {
    margin-top: 2.1360759494vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-top .p-service-diagram-arrow__icon {
    transform: translateY(-0.625rem);
  }
}
.p-service-diagram-arrow.-bottom {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: bottom;
  place-self: end;
  flex-direction: column-reverse;
  margin-bottom: 1.6875rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow.-bottom {
    margin-bottom: 2.1360759494vw;
  }
}
.p-service-diagram-arrow.-bottom .p-service-diagram-arrow__icon {
  transform: scaleY(-1);
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-bottom .p-service-diagram-arrow__icon {
    transform: scaleY(-1) translateY(-0.625rem);
  }
}
.p-service-diagram-arrow.-left {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: left;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  margin-right: 4.25rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow.-left {
    margin-right: 5.3797468354vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-left {
    margin-right: 0;
    margin-left: 2.1875rem;
  }
}
.p-service-diagram-arrow.-left .p-service-diagram-arrow__icon {
  transform: rotate(-90deg) translate(-59%, -0.375rem);
  transform-origin: top left;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow.-left .p-service-diagram-arrow__icon {
    transform: rotate(-90deg) translate(-59%, -0.4746835443vw);
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-left .p-service-diagram-arrow__icon {
    transform: rotate(-90deg) translate(-80%, -0.625rem);
  }
}
.p-service-diagram-arrow.-right {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: right;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  margin-left: 4.25rem;
}
@media (min-width: 768px) and (max-width: 1264px) {
  .p-service-diagram-arrow.-right {
    margin-left: 5.3797468354vw;
  }
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-right {
    margin-left: 3.125rem;
  }
}
.p-service-diagram-arrow.-right .p-service-diagram-arrow__icon {
  transform: rotate(90deg) translate(59%, -0.375rem);
  transform-origin: top right;
}
@media (max-width: 767px) {
  .p-service-diagram-arrow.-right .p-service-diagram-arrow__icon {
    transform: rotate(90deg) translate(80%, -0.625rem);
  }
}

.p-service-box {
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-service-anchor {
  list-style: none;
  padding: 0;
  margin: 4.25rem 0 0;
  border-bottom: 1px solid var(--color-main);
}
@media (min-width: 768px) {
  .p-service-anchor {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 5rem;
    gap: 0.375rem;
  }
}
@media (max-width: 767px) {
  .p-service-anchor {
    display: flex;
    gap: 0.125rem;
    margin: 1.625rem -1rem 0;
    overflow-x: auto;
  }
}
.p-service-anchor__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  text-align: center;
  text-decoration: none;
  font-size: 1.375rem;
  line-height: 1.2727272727;
  color: var(--color-main);
  background: var(--color-main-light);
  padding: 0.375rem;
  box-sizing: border-box;
  border-radius: 0.5rem 0.5rem 0 0;
  transition: color 0.2s;
  position: relative;
}
@media (max-width: 767px) {
  .p-service-anchor__link {
    font-size: 0.875rem;
    white-space: nowrap;
    padding: 0.6875rem 1rem;
  }
}
.p-service-anchor__link::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--gradient-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  content: "";
}
.p-service-anchor__link:hover, .p-service-anchor__link.-active {
  opacity: 1;
  color: var(--color-bg-primary);
}
.p-service-anchor__link:hover::after, .p-service-anchor__link.-active::after {
  opacity: 1;
}
.p-service-anchor__text {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-service-anchor__caption {
    display: block;
    font-size: 1.125rem;
  }
}

@media (min-width: 768px) {
  .p-service-illust {
    padding: 3.125rem 2.4375rem 2.5rem;
    border: 1px solid var(--color-main);
  }
}
@media (max-width: 767px) {
  .p-service-illust {
    padding: 1.0625rem 0 2.5rem;
    border-bottom: 1px solid var(--color-main);
  }
}
.p-service-illust__title {
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-service-illust__title {
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }
}
.p-service-illust__image {
  margin-top: 3.5rem;
}
@media (max-width: 767px) {
  .p-service-illust__image {
    margin-top: 1.25rem;
  }
}

.p-service-flow {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .p-service-flow {
    margin-top: 1.875rem;
  }
}
.p-service-flow__diagram {
  margin-top: 1.875rem;
}
@media (max-width: 767px) {
  .p-service-flow__diagram {
    margin-top: 1.5rem;
  }
}
.p-service-flow__zoom {
  text-align: center;
  margin-top: 1.375rem;
}
@media (min-width: 768px) {
  .p-service-flow__zoom {
    display: none;
  }
}
.p-service-flow__button {
  display: inline-flex;
  align-items: center;
  background: var(--color-bg-primary);
  font-size: 1rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  line-height: 1;
  color: var(--color-main);
  padding: 0.5625rem 1rem;
}
.p-service-flow__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-135deg);
}
.p-service-flow__button:hover {
  opacity: 1;
}
.p-service-flow__preview {
  width: 100%;
  height: calc(100dvh - 7.5rem);
  overflow: auto;
}
.p-service-flow__preview img {
  display: block;
  max-width: none;
  width: 64rem;
}

.p-service-grid {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media (max-width: 767px) {
  .p-service-grid {
    margin-top: 2rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-service-card {
  border: 1px solid var(--color-main);
  border-radius: 0.5rem;
  padding: 2.375rem 2.5rem 2rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .p-service-card {
    padding: 2.4375rem 1rem 2.125rem;
  }
}
.p-service-card__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-service-card__title {
    font-size: 1.125rem;
    flex-direction: column;
  }
}
.p-service-card__icon {
  width: 2.5rem;
  height: 2.5rem;
}
.p-service-card__text {
  margin: 0.875rem 0 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #000;
}
@media (max-width: 767px) {
  .p-service-card__text {
    margin: 0.625rem 0 0;
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-service-card__link {
  margin-top: auto;
}
@media (max-width: 767px) {
  .p-service-card__link {
    text-align: center;
  }
}
.p-service-card__link-text {
  color: var(--color-main);
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-service-card__link-text {
    font-size: 1rem;
  }
}

.p-service-more {
  background: var(--color-main-light);
  border-radius: 1rem;
  padding: 2.5rem;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-service-more {
    border-radius: 0.625rem;
    padding: 1.25rem;
    margin-top: 2.5rem;
  }
}
.p-service-more__link {
  max-width: 20rem;
  margin: 0 auto;
}

.p-service-footer {
  margin-top: 5rem;
  padding: 5rem 1.25rem;
  background: linear-gradient(98.54deg, rgba(255, 238, 225, 0.2) 3.95%, #FFEEE1 96.07%);
}
@media (max-width: 767px) {
  .p-service-footer {
    padding: 3.125rem 1.25rem;
  }
}
.p-service-footer__inner {
  max-width: 64rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .p-service-footer__inner {
    grid-template-columns: 1fr;
  }
}

.p-service-modal {
  display: none;
}
.p-service-modal__box {
  background: var(--color-bg-primary);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .p-service-modal__box {
    width: 50rem;
    min-height: 66.0625rem;
    border-radius: 4rem;
    padding: 5rem;
    box-shadow: 0 0 5rem rgba(51, 51, 51, 0.32);
    display: grid;
    place-items: center;
  }
}
@media (max-width: 767px) {
  .p-service-modal__box {
    width: 100vw;
    height: 100dvh;
    padding: 3.75rem 1rem;
    position: relative;
    overflow-y: auto;
  }
}
.p-service-modal__box.-noscroll {
  overflow: visible;
}
.p-service-modal__title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-service-modal__title {
    font-size: 1.75rem;
  }
}
.p-service-modal__lead {
  margin: 0.625rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
}
@media (max-width: 767px) {
  .p-service-modal__lead {
    font-size: 1.375rem;
    margin: 0.25rem 0 0;
  }
}
.p-service-modal__lead::before, .p-service-modal__lead::after {
  width: 2.5rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--color-main);
  content: "";
}
.p-service-modal__figure {
  margin: 2rem 0 0;
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  background: var(--bg-color, #FFFDF3);
  padding: 2.5rem 1.5rem 2rem;
}
@media (max-width: 767px) {
  .p-service-modal__figure {
    margin: 1.5rem 0 0;
    padding: 1.3125rem 0.75rem 1.4375rem;
  }
}
.p-service-modal__figure-caption {
  text-align: center;
  font-size: 1.5rem;
  color: var(--color-main);
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .p-service-modal__figure-caption {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    margin-top: 0.625rem;
  }
}
.p-service-modal__figure.-green {
  --bg-color: #F9FFF9;
}
.p-service-modal__figure.-orange {
  --bg-color: #FFF7F3;
}
.p-service-modal__figure.-purple {
  --bg-color: #F3F6FF;
}
.p-service-modal__text {
  margin: 1.5625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-modal__text {
    margin: 1.3125rem 0 0;
    font-size: 1rem;
    line-height: 1.75;
  }
}
.p-service-modal__footer {
  text-align: center;
  margin: 1.875rem 0 0;
}
@media (max-width: 767px) {
  .p-service-modal__footer {
    margin: 1.5625rem 0 0;
  }
}
.p-service-modal__close {
  display: inline-flex;
  align-items: center;
  gap: 0.1875rem;
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-bg-primary);
  font-size: 1rem;
  font-weight: var(--font-weight-primary);
  line-height: 1;
  padding: 0.25rem 1rem 0.375rem;
  transition: background 0.2s, color 0.2s;
}
@media (max-width: 767px) {
  .p-service-modal__close {
    margin-top: 2rem;
    padding: 0.625rem 1.5rem 0.75rem;
  }
}
.p-service-modal__close-icon {
  margin-top: 0.125rem;
  width: 1.125rem;
  height: 1.125rem;
}
.p-service-modal__close:hover {
  opacity: 1;
  color: var(--color-main);
  background: var(--color-bg-primary);
}
.p-service-modal__index {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  box-sizing: border-box;
  margin: 1.5625rem auto 0;
  font-size: 1.5rem;
  color: var(--color-main);
  background: var(--color-bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-service-modal__cross {
  position: fixed;
  top: 0.5rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  border: 0;
  background: none;
}
@media (min-width: 768px) {
  .p-service-modal__cross {
    display: none;
  }
}
.p-service-modal__cross-icon {
  width: 100%;
  height: 100%;
  color: var(--color-main);
}
.p-service-modal__nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .p-service-modal__nav {
    display: none;
  }
}
.p-service-modal__prev, .p-service-modal__next {
  position: static !important;
  transform: none !important;
  --f-arrow-width: 2.75rem;
  --f-arrow-height: 2.75rem;
}

/**************************************************/
/* スタッフブログ */
/**************************************************/
.p-blog-inner {
  display: grid;
  grid-template-columns: 1fr 20.25rem;
  align-items: start;
  gap: 2.5rem;
  max-width: 64rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-blog-inner {
    grid-template-columns: 1fr;
    margin: 0;
  }
}

.p-blog-main__logo img {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.p-blog-content {
  transition: opacity 300ms ease-in-out;
  opacity: 1;
}
.p-blog-content.htmx-swapping {
  opacity: 0;
}

.p-blog-article {
  border-top: 1px solid var(--color-main);
  margin: 4rem 0 0;
  padding: 1.5rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-article {
    margin: 2.5rem 0 0;
    padding: 1rem 0 0;
  }
}
.p-blog-article__date {
  display: block;
  font-size: 1.125rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-blog-article__date {
    font-size: 1rem;
  }
}
.p-blog-article__title {
  margin: 0.625rem 0 0;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.4;
  color: #000;
}
@media (max-width: 767px) {
  .p-blog-article__title {
    font-size: 1.75rem;
  }
}
.p-blog-article__category {
  font-size: 1.125rem;
  color: #666666;
}
@media (max-width: 767px) {
  .p-blog-article__category {
    font-size: 1rem;
  }
}
.p-blog-article__content {
  margin: 3.375rem 0 0;
  color: #000;
}
@media (max-width: 767px) {
  .p-blog-article__content {
    margin: 2rem 0 0;
  }
}
.p-blog-article__content p {
  font-size: 1.125rem;
  line-height: 1.7777777778;
}
@media (max-width: 767px) {
  .p-blog-article__content p {
    font-size: 1rem;
  }
}
.p-blog-article__content h2 {
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-blog-article__content h2 {
    font-size: 1.5rem;
  }
}
.p-blog-article__content h3 {
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-blog-article__content h3 {
    font-size: 1.25rem;
  }
}
.p-blog-article__content a {
  color: var(--color-main);
}
.p-blog-article__footer {
  margin-top: 3.125rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-blog-article__footer {
    margin-top: 1.875rem;
  }
}
.p-blog-article.-new .p-blog-article__date::after {
  display: inline-block;
  margin-left: 0.375rem;
  text-transform: uppercase;
  color: var(--color-bg-primary);
  font-size: 1rem;
  line-height: 1;
  background: linear-gradient(135deg, #FF9050 0%, #E85A07 100%);
  border-radius: 0.125rem;
  padding: 0.0625rem 0.375rem 0.1875rem;
  content: "new";
}
@media (max-width: 767px) {
  .p-blog-article.-new .p-blog-article__date::after {
    font-size: 0.875rem;
    margin-left: 0.25rem;
  }
}

.p-blog-sidebar__inner {
  background-color: #f0f6ff;
  padding: 2rem 1.5rem;
  border-radius: 0.5rem;
}
@media (max-width: 767px) {
  .p-blog-sidebar__inner {
    padding: 1.75rem 1.25rem;
  }
}
.p-blog-sidebar__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-blog-sidebar__title {
    font-size: 1.25rem;
  }
}
.p-blog-sidebar__block + .p-blog-sidebar__block {
  margin-top: 1.875rem;
}

.p-blog-categories {
  list-style: none;
  margin: 1rem 0 0;
  padding: 1.5rem;
  background: var(--color-bg-primary);
  border-radius: 0.5rem;
}
@media (max-width: 767px) {
  .p-blog-categories {
    margin: 0.75rem 0 0;
    padding: 1.25rem;
  }
}
.p-blog-categories li + li {
  border-top: 1px solid rgba(121, 169, 233, 0.3);
}
.p-blog-categories__link {
  display: block;
  text-decoration: none;
  color: #000;
  font-size: 1.125rem;
  padding: 1.0625rem 0;
}
@media (max-width: 767px) {
  .p-blog-categories__link {
    font-size: 1rem;
    padding: 0.875rem 0;
  }
}
.p-blog-categories__count {
  display: inline-block;
  margin-left: 0.5rem;
  color: var(--color-main);
  font-size: 1rem;
}
@media (max-width: 767px) {
  .p-blog-categories__count {
    font-size: 0.875rem;
    margin-left: 0.375rem;
  }
}

.p-blog-recent {
  list-style: none;
  margin: 1rem 0 0;
  padding: 1.5rem;
  background: var(--color-bg-primary);
  border-radius: 0.5rem;
}
@media (max-width: 767px) {
  .p-blog-recent {
    margin: 0.75rem 0 0;
    padding: 1.25rem;
  }
}
.p-blog-recent li + li {
  border-top: 1px solid rgba(121, 169, 233, 0.3);
}
.p-blog-recent__link {
  display: block;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.5;
  color: #000;
  padding: 1.25rem 0;
}
@media (max-width: 767px) {
  .p-blog-recent__link {
    padding: 0.875rem 0;
    font-size: 0.875rem;
  }
}
.p-blog-recent__link.-new .p-blog-recent__date::after {
  display: inline-block;
  margin-left: 0.375rem;
  text-transform: uppercase;
  color: var(--color-bg-primary);
  font-size: 1rem;
  line-height: 1;
  background: linear-gradient(135deg, #FF9050 0%, #E85A07 100%);
  border-radius: 0.125rem;
  padding: 0.0625rem 0.375rem 0.1875rem;
  content: "new";
}
@media (max-width: 767px) {
  .p-blog-recent__link.-new .p-blog-recent__date::after {
    font-size: 0.875rem;
    margin-left: 0.25rem;
  }
}
.p-blog-recent__date {
  display: block;
  color: var(--color-main);
}
.p-blog-recent__title {
  margin-top: 0.125rem;
  display: block;
}

.p-blog-archive {
  margin: 1rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-archive {
    margin: 0.75rem 0 0;
  }
}
.p-blog-archive__box {
  display: block;
  width: 100%;
  height: 4rem;
  padding: 0 1.5rem;
  border: 0;
  border-radius: 0.5rem;
  background: var(--color-bg-primary);
  font-size: 1.125rem;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1L5.05128 5L1 1' stroke='%232C69BA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: 0.625rem 0.4375rem;
  background-position: center right 1.5625rem;
  background-repeat: no-repeat;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media (max-width: 767px) {
  .p-blog-archive__box {
    height: 3.75rem;
    padding: 0 1.25rem;
    font-size: 1rem;
  }
}

.p-blog-search {
  margin: 1rem 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-blog-search {
    margin: 0.75rem 0 0;
  }
}
.p-blog-search__input {
  display: block;
  border: 0;
  border-radius: 0.5rem;
  background: var(--color-bg-primary);
  width: 100%;
  height: 4rem;
  padding: 0 1rem 0 3.5rem;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-blog-search__input {
    height: 3.75rem;
    font-size: 1rem;
  }
}
.p-blog-search__submit {
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  border: 0;
  padding: 0 0.625rem 0 1rem;
  cursor: pointer;
  height: 100%;
  display: grid;
  place-items: center;
}
.p-blog-search__icon {
  width: 2.25rem;
  height: 2.25rem;
}

.p-blog-banners {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-blog-banners li {
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-blog-banners li {
    margin-top: 1.25rem;
  }
}
.p-blog-banners__link {
  display: block;
  box-shadow: 0.25rem 0.25rem 0 rgba(255, 188, 134, 0.64);
  border-radius: 0.5rem;
}

.p-blog-episode {
  background-image: url("../../shared/img/blog-bg-episode.png"), linear-gradient(298.96deg, rgba(255, 238, 225, 0.5) 0%, rgba(255, 249, 244, 0.5) 99.46%);
  background-size: 97.875rem auto, auto auto;
  background-position: calc(50% - 0.75rem) calc(50% + 0.5rem), top left;
  background-repeat: no-repeat;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-blog-episode {
    margin-top: 2.5rem;
    background-size: 26.25rem auto, auto;
    background-position: top center, top left;
  }
}
.p-blog-episode__inner {
  position: relative;
  max-width: 90rem;
  height: 37.8125rem;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .p-blog-episode__inner {
    height: auto;
    padding: 6.25rem 1.25rem 2.5rem;
  }
}
.p-blog-episode__title {
  margin: 0;
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--color-sub);
}
@media (max-width: 767px) {
  .p-blog-episode__title {
    font-size: 1rem;
  }
}
.p-blog-episode__heading {
  margin: 0.9375rem 0 0;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-blog-episode__heading {
    font-size: 1.5rem;
    margin: 0.625rem 0 0;
  }
}
.p-blog-episode__button {
  width: 22.5rem;
  margin: 3.25rem auto 0;
  text-align: center;
  text-decoration: none;
  font-size: 1.375rem;
  color: var(--color-sub);
  background: var(--color-bg-primary);
  padding: 1.4375rem 0.625rem;
  border-radius: 50vh;
  border: 1px solid var(--color-sub);
  box-shadow: 0.25rem 0.25rem 0 var(--color-sub-accent-1);
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 767px) {
  .p-blog-episode__button {
    width: 17.5rem;
    font-size: 1.125rem;
    margin: 2.1875rem auto 0;
    padding: 1.25rem 0.625rem;
  }
}
.p-blog-episode__button::after {
  position: absolute;
  top: 50%;
  right: 1.625rem;
  margin-top: -0.4375rem;
  width: 0.6875rem;
  height: 1.125rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 0.5L8.97059 8.39744L0.5 16.5' stroke='%23E85A07' stroke-linecap='round'/%3E%3C/svg%3E%0A") center center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 0.5L8.97059 8.39744L0.5 16.5' stroke='%23E85A07' stroke-linecap='round'/%3E%3C/svg%3E%0A") center center/contain no-repeat;
  background: var(--color-sub);
  content: "";
}
@media (max-width: 767px) {
  .p-blog-episode__button::after {
    width: 0.5625rem;
    height: 0.875rem;
  }
}

.p-blog-footer {
  margin: 5rem 0 0;
  padding: 3rem 1.25rem;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  background: url("../../shared/img/blog-bg-footer.jpg") repeat center center;
}
@media (max-width: 767px) {
  .p-blog-footer {
    margin: 2.5rem 0 0;
    padding: 1.875rem 1.25rem;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    background-size: 100% auto;
  }
}
.p-blog-footer__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20.3125rem;
  height: 5.5rem;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  color: var(--color-main);
  background: var(--color-bg-primary);
  font-size: 1.125rem;
  text-decoration: none;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-blog-footer__button {
    height: 4.0625rem;
    font-size: 1rem;
    width: 17.5rem;
  }
}
.p-blog-footer__button-icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 767px) {
  .p-blog-footer__button-icon {
    width: 2.125rem;
    height: 2.125rem;
  }
}
.p-blog-footer__button::after {
  display: inline-block;
  margin-left: 1rem;
  width: 0.75rem;
  height: 1.125rem;
  background: var(--color-main-accent-1);
  -webkit-mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
          mask: url(../img/icon-arrow-right.svg) no-repeat center/contain;
  content: "";
}
@media (max-width: 767px) {
  .p-blog-footer__button::after {
    width: 0.5625rem;
    height: 0.875rem;
    margin-left: 0.625rem;
  }
}

.p-blog-index {
  list-style: none;
  padding: 0;
  margin: 4rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 1.5rem;
}
@media (max-width: 767px) {
  .p-blog-index {
    grid-template-columns: 1fr;
    margin: 2.5rem 0 0;
    gap: 2.5rem 0.75rem;
  }
}
.p-blog-index.-featured li:first-child {
  grid-column: 1/-1;
}

.p-blog-card__link {
  display: block;
  text-decoration: none;
}
.p-blog-card__body {
  margin: 1.125rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-card__body {
    margin: 0.875rem 0 0;
  }
}
.p-blog-card__date {
  display: block;
  font-size: 1.125rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-blog-card__date {
    font-size: 1rem;
  }
}
.p-blog-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-blog-card__title {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.3333333333;
  color: #000;
  margin: 0.375rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-card__title {
    font-size: 1rem;
  }
}
.p-blog-card__category {
  font-size: 1rem;
  color: #666666;
  margin: 0.25rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-card__category {
    font-size: 0.875rem;
  }
}
.p-blog-card.-new .p-blog-card__date::after {
  display: inline-block;
  margin-left: 0.375rem;
  text-transform: uppercase;
  color: var(--color-bg-primary);
  font-size: 1rem;
  line-height: 1;
  background: linear-gradient(135deg, #FF9050 0%, #E85A07 100%);
  border-radius: 0.125rem;
  padding: 0.0625rem 0.375rem 0.1875rem;
  content: "new";
}
@media (max-width: 767px) {
  .p-blog-card.-new .p-blog-card__date::after {
    font-size: 0.875rem;
    margin-left: 0.25rem;
  }
}

.p-blog-pager {
  margin: 4rem 0 0;
}
@media (max-width: 767px) {
  .p-blog-pager {
    margin: 2.5rem 0 0;
  }
}
.p-blog-pager__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
}
@media (max-width: 767px) {
  .p-blog-pager__list {
    gap: 0.25rem 0.5rem;
  }
}
.p-blog-pager__link, .p-blog-pager__control {
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--color-main);
  border-radius: 50%;
  border: 1px solid var(--color-main);
  box-sizing: border-box;
  width: 2.75rem;
  height: 2.75rem;
}
.p-blog-pager__link.-cur, .-cur.p-blog-pager__control {
  background: var(--color-main-light);
  color: var(--color-main);
}
.p-blog-pager__link > a, .p-blog-pager__control > a {
  display: block;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  text-decoration: none;
  transition: 0.2s background;
  border-radius: 100%;
}
.p-blog-pager__link > a:hover, .p-blog-pager__control > a:hover {
  opacity: 1;
  background: var(--color-main-light);
}
.p-blog-pager__link > a:hover .p-blog-pager__arrow, .p-blog-pager__control > a:hover .p-blog-pager__arrow {
  background: var(--color-main);
}
@media (max-width: 767px) {
  .p-blog-pager__link, .p-blog-pager__control {
    font-size: 1rem;
    width: 2.125rem;
    height: 2.125rem;
  }
}
.p-blog-pager__control {
  background: var(--color-main);
  color: var(--color-bg-primary);
}
.p-blog-pager__arrow {
  width: 0.5625rem;
  height: 0.875rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41425 13L1.41425 7.07692L7.41425 1' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
          mask: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41425 13L1.41425 7.07692L7.41425 1' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
  background: var(--color-bg-primary);
  transition: 0.2s background;
}
.p-blog-pager__arrow.-reverse {
  transform: scaleX(-1);
}

.p-blog-result {
  border-width: 1px 0;
  border-style: solid;
  border-color: var(--color-main);
  color: #000;
  font-size: 1.125rem;
  margin: 2.5rem 0 0;
  padding: 1rem 0;
}
@media (max-width: 767px) {
  .p-blog-result {
    margin-top: 2rem;
    font-size: 1rem;
  }
}
.p-blog-result__label, .p-blog-result__text {
  display: inline-block;
}

/**************************************************/
/* Column */
/**************************************************/
.p-column {
  position: relative;
  padding: 4rem 0;
  border-radius: 4rem;
  background: #FFFFFF;
  box-shadow: 0px 0px 5rem rgba(44, 105, 186, 0.32);
  z-index: 1;
  transition: opacity 300ms ease-in-out;
  opacity: 1;
}
.p-column.htmx-swapping {
  opacity: 0;
}
.p-column__inner {
  display: flex;
  gap: 2.5rem;
  max-width: 64rem;
  margin: 0 auto;
}
.p-column__main {
  flex: 1 1 auto;
}
.p-column__sidebar {
  flex-shrink: 0;
  width: 20.25rem;
}
.p-column__footer {
  text-align: center;
  margin: 4rem 0 0;
}
@media (max-width: 1121px) {
  .p-column {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-column {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    border-radius: 1rem;
  }
  .p-column__inner {
    flex-direction: column;
  }
  .p-column__main {
    width: 100%;
  }
  .p-column__sidebar {
    flex: 1 1 auto;
    width: 100%;
  }
  .p-column__footer {
    margin: 2.5rem 0 0;
  }
}

.p-column-result {
  border-width: 1px 0;
  border-style: solid;
  border-color: var(--color-main);
  color: #000;
  font-size: 1.125rem;
  margin: 0 0 2.5rem;
  padding: 1rem 0;
}
@media (max-width: 767px) {
  .p-column-result {
    margin-bottom: 2rem;
    font-size: 1rem;
  }
}
.p-column-result__label, .p-column-result__text {
  display: inline-block;
}

.p-column-pager {
  margin: 4rem 0 0;
}
.p-column-pager__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
}
@media (max-width: 767px) {
  .p-column-pager__list {
    gap: 0.25rem 0.5rem;
  }
}
.p-column-pager__link, .p-column-pager__control {
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--color-main);
  border-radius: 50%;
  border: 1px solid var(--color-main);
  box-sizing: border-box;
  width: 2.75rem;
  height: 2.75rem;
  transition: 0.2s background;
}
.p-column-pager__link:hover, .p-column-pager__control:hover {
  opacity: 1;
  background: var(--color-main-light);
}
.p-column-pager__link:hover .p-column-pager__arrow, .p-column-pager__control:hover .p-column-pager__arrow {
  background: var(--color-main);
}
.p-column-pager__link.-cur, .-cur.p-column-pager__control {
  background: var(--color-main-light);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-column-pager__link, .p-column-pager__control {
    font-size: 1rem;
    width: 2.125rem;
    height: 2.125rem;
  }
}
.p-column-pager__control {
  background: var(--color-main);
  color: var(--color-bg-primary);
}
.p-column-pager__arrow {
  width: 0.5625rem;
  height: 0.875rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41425 13L1.41425 7.07692L7.41425 1' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
          mask: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41425 13L1.41425 7.07692L7.41425 1' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
  background: var(--color-bg-primary);
  transition: 0.2s background;
}
.p-column-pager__arrow.-reverse {
  transform: scaleX(-1);
}

.p-column-index {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-column-index > li {
  display: block;
  padding: 4rem 0;
  border-top: 1px solid #2C69BA;
}
.p-column-index > li:first-child {
  border-top: 0;
  padding-top: 0 !important;
}
.p-column-index > li:last-child {
  border-bottom: 1px solid #2C69BA;
}
@media (max-width: 767px) {
  .p-column-index > li {
    padding: 2.5rem 0;
  }
}

.p-column-card__date {
  display: block;
  margin: 0;
  color: #2C69BA;
  font-size: 1.125rem;
}
.p-column-card__title {
  margin: 1rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5;
}
.p-column-card__title a {
  color: inherit;
  text-decoration: none;
}
.p-column-card__title a:hover {
  text-decoration: underline;
}
.p-column-card__body {
  display: flex;
  gap: 1.5rem;
  margin: 1rem 0 0;
}
.p-column-card__img {
  flex-shrink: 0;
  width: 12.5rem;
}
.p-column-card__img img {
  width: 100%;
}
.p-column-card__textarea {
  flex: 1 1 auto;
}
.p-column-card__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 7em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 4;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.75;
}
.p-column-card__readmore {
  margin: 1rem 0 0;
  line-height: 1.5;
}
.p-column-card__readmore a {
  color: #2C69BA;
  text-decoration: none;
}
.p-column-card__readmore a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .p-column-card__date {
    font-size: 0.875rem;
  }
  .p-column-card__title {
    margin-top: 0.5rem;
    font-size: 1.25rem;
  }
  .p-column-card__body {
    gap: 0.75rem;
  }
  .p-column-card__img {
    width: 8rem;
  }
  .p-column-card__text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-column-card__readmore {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
}

.p-column-head__date {
  margin: 0;
  font-size: 1.125rem;
  color: var(--color-main);
}
.p-column-head__title {
  margin: 0.5rem 0 0;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
@media (max-width: 767px) {
  .p-column-head__date {
    font-size: 1rem;
  }
  .p-column-head__title {
    font-size: 1.625rem;
  }
}

.p-column-body {
  margin: 3rem 0 0;
}

.p-column-author {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 4rem 0 0;
  padding: 4rem 0;
  border-top: 1px solid #2C69BA;
  border-bottom: 1px solid #2C69BA;
}
.p-column-author__image {
  flex: 0 0 auto;
  width: 12.5rem;
}
.p-column-author__image img {
  border-radius: 0.5rem;
}
.p-column-author__body {
  flex: 1 1 auto;
}
.p-column-author__name {
  margin: 0;
  color: var(--color-main);
  font-size: 1.125rem;
}
.p-column-author__history {
  margin: 1.5rem 0 0;
}
.p-column-author__history table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.p-column-author__history th, .p-column-author__history td {
  padding: 0.125rem 1em 0.125rem 0;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
}
.p-column-author__history th {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-column-author {
    flex-direction: column;
  }
}

.p-column-recent {
  margin-top: 5rem;
}
.p-column-recent__heading {
  margin: 0;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.p-column-recent__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 4rem 0 0;
}
.p-column-recent__card {
  display: flex;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
}
.p-column-recent__card-img {
  flex: 0 0 auto;
  width: 8.5rem;
}
.p-column-recent__card-body {
  align-self: center;
}
.p-column-recent__card-date {
  margin: 0;
  font-size: 1rem;
  color: var(--color-main);
  line-height: 1.5;
}
.p-column-recent__card-title {
  margin: 0.25rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-column-recent__list {
    margin: 2.5rem 0 0;
  }
}

/**************************************************/
/* あなぶきの介護 */
/**************************************************/
.p-about-intro {
  position: relative;
  padding: 0 1.25rem;
}
.p-about-intro::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 30.875rem;
  background: linear-gradient(205.04deg, rgba(177, 204, 246, 0) 71.88%, rgba(177, 204, 246, 0.5) 98.48%);
  transform: rotate(180deg);
  z-index: -1;
  content: "";
}
.p-about-intro__inner {
  max-width: 90rem;
  margin: 0 auto;
  padding: 7.5rem 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-about-intro__inner {
    padding: 3.75rem 0;
  }
}
.p-about-intro__content {
  max-width: 64rem;
  margin: 0 auto;
}
.p-about-intro__caption {
  margin: 0;
  font-size: 1.25rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-about-intro__caption {
    font-size: 1.125rem;
  }
}
.p-about-intro__heading {
  margin: 1.25rem 0 0;
  font-size: 2.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-intro__heading {
    font-size: 1.5625rem;
    margin: 0.875rem 0 0;
  }
}
.p-about-intro__lead {
  margin: 1.25rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5833333333;
}
@media (max-width: 767px) {
  .p-about-intro__lead {
    font-size: 1.25rem;
    margin: 0.875rem 0 0;
  }
}
.p-about-intro__text {
  margin: 1.625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-about-intro__text {
    font-size: 1.125rem;
    line-height: 1.9;
  }
}
@media (min-width: 768px) {
  .p-about-intro__image {
    position: absolute;
  }
}
@media (min-width: 768px) {
  .p-about-intro__image.-top {
    top: 4rem;
    right: 5.625rem;
    width: 31.875rem;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .p-about-intro__image.-top {
    width: 37.3626373626vw;
    right: 5.1282051282vw;
  }
}
@media (max-width: 767px) {
  .p-about-intro__image.-top {
    right: 0;
    width: 15.9375rem;
    margin: 2.5rem auto 0;
  }
}
@media (min-width: 768px) {
  .p-about-intro__image.-middle {
    top: 30.875rem;
    right: 2.5rem;
    width: 18.125rem;
    z-index: 1;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .p-about-intro__image.-middle {
    top: 36.1904761905vw;
    right: 1.4652014652vw;
    width: 21.2454212454vw;
  }
}
@media (max-width: 767px) {
  .p-about-intro__image.-middle {
    position: relative;
    z-index: 1;
    width: 9.0625rem;
    margin-top: -1.875rem;
    margin-left: auto;
  }
}
.p-about-intro__image.-middle::after {
  position: absolute;
  z-index: -1;
  inset: -2rem 0 0 -2rem;
  background: linear-gradient(233.42deg, rgba(255, 255, 255, 0) 60.25%, rgba(177, 204, 246, 0.5) 79.9%);
  border-radius: 1rem 0 0 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  content: "";
}
@media (min-width: 768px) and (max-width: 1365px) {
  .p-about-intro__image.-middle::after {
    inset: -2.3443223443vw 0 0 -2.3443223443vw;
    border-radius: 1.1721611722vw 0 0 1.1721611722vw;
  }
}
@media (max-width: 767px) {
  .p-about-intro__image.-middle::after {
    inset: -1rem 0 0 -1rem;
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
@media (min-width: 768px) {
  .p-about-intro__image.-bottom {
    top: 47.9375rem;
    right: 29.25rem;
    width: 12rem;
  }
}
@media (min-width: 1366px) and (max-width: 1436px) {
  .p-about-intro__image.-bottom {
    right: 27.8125rem;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .p-about-intro__image.-bottom {
    top: 56.1904761905vw;
    right: 30.6227106227vw;
    width: 14.0659340659vw;
  }
}
@media (max-width: 767px) {
  .p-about-intro__image.-bottom {
    width: 6rem;
    margin-top: -0.9375rem;
  }
}
.p-about-intro__image img {
  display: block;
  border-radius: 1rem;
}

.p-about-title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main-accent-2);
}
@media (max-width: 767px) {
  .p-about-title {
    font-size: 1.5rem;
  }
}

.p-about-text {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-about-text {
    font-size: 1.125rem;
  }
}

@media (max-width: 767px) {
  .p-about-section {
    margin: 0 -1rem;
  }
}
.p-about-section__wrapper {
  max-width: 64rem;
  margin: 0 auto;
  padding: 6.5rem 0 4.375rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-about-section__wrapper {
    padding: 3.75rem 1.25rem 1.875rem;
    overflow-x: clip;
  }
}
.p-about-section__wrapper::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: -7.5rem;
  width: 26.0625rem;
  height: 22.9375rem;
  background-image: url("../../about/images/logo-img.png");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 1368px) {
  .p-about-section__wrapper::after {
    right: 0;
  }
}
@media (max-width: 767px) {
  .p-about-section__wrapper::after {
    width: 13.0625rem;
    height: 11.5625rem;
    border-radius: 0 1rem 0 0;
  }
}
.p-about-section.-bottom {
  background: linear-gradient(to left, #EFF6FF 0%, #FFFFFF 100%);
  padding: 4rem 0 5rem;
}
@media (max-width: 767px) {
  .p-about-section.-bottom {
    padding: 2.5rem 0 3.75rem;
  }
}

.p-about-gallery {
  display: grid;
  grid-template-columns: 29.25rem repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 1rem;
  margin: 3.25rem 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-about-gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 0.625rem;
    margin: 2.5rem 0 0;
  }
}
.p-about-gallery::after {
  position: absolute;
  inset: 2.5rem -2.5rem -2.5rem;
  background: linear-gradient(215deg, rgba(177, 204, 246, 0) 60.25%, rgba(177, 204, 246, 0.5) 79.9%);
  border-radius: 1rem 0 0 1rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-about-gallery::after {
    inset: 1.25rem -1.25rem -1.25rem;
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-about-gallery__image {
  display: block;
  width: 100%;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-about-gallery__image {
    border-radius: 0.625rem;
  }
}
@media (min-width: 768px) {
  .p-about-gallery__image:first-child {
    grid-row: span 2/span 2;
  }
}
@media (max-width: 767px) {
  .p-about-gallery__image:first-child {
    grid-column: span 2/span 2;
  }
}
.p-about-gallery__image:last-child {
  grid-column: span 2/span 2;
}

.p-about-table {
  margin-top: 7.5rem;
  width: 100%;
  overflow: auto;
}
@media (max-width: 767px) {
  .p-about-table {
    margin-top: 5rem;
  }
}
.p-about-table__inner {
  width: 64rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.p-about-table th, .p-about-table td {
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.3333333333;
  text-align: center;
  color: #000;
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  padding: 0.625rem;
  box-sizing: border-box;
  height: 5rem;
}
@media (max-width: 767px) {
  .p-about-table th, .p-about-table td {
    font-size: 1rem;
  }
}
.p-about-table th.-dotted, .p-about-table td.-dotted {
  border-bottom: 1px dashed var(--color-main);
}
.p-about-table th:not(:empty) {
  background: var(--color-main-light);
}
.p-about-table th:not(:empty):first-child {
  border-left: 1px solid var(--color-main);
}
.p-about-table thead :is(th, td) {
  border-top: 1px solid var(--color-main);
}
.p-about-table thead th:first-child {
  border-top-left-radius: 1rem;
}
.p-about-table thead td:last-child {
  border-top-right-radius: 1rem;
}
.p-about-table tbody tr:nth-last-child(2) th:first-child {
  border-bottom-left-radius: 1rem;
}
.p-about-table tbody tr:nth-last-child(2) td:last-child {
  border-bottom-right-radius: 1rem;
}
.p-about-table tbody tr:last-child :is(th, td) {
  border: 0;
  padding-top: 1.5rem;
}
.p-about-table__illust {
  display: block;
  margin: 0 auto;
  width: auto;
  height: 5.625rem;
}
.p-about-table__button {
  display: grid;
  place-items: center;
  margin: 0 auto;
  width: 13rem;
  height: 3.125rem;
  padding-bottom: 0.75rem;
  color: var(--color-bg-primary);
  text-align: center;
  text-decoration: none;
  font-size: 1.125rem;
  clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 0.75rem), 50% 100%, 0 calc(100% - 0.75rem));
  background: linear-gradient(121.36deg, #368DFF 2.6%, #07428E 100%);
}
@media (max-width: 767px) {
  .p-about-table__button {
    font-size: 1rem;
  }
}

.p-about-article {
  margin-top: 4.25rem;
}
@media (max-width: 767px) {
  .p-about-article {
    margin-top: 2.8125rem;
  }
}
.p-about-article + .p-about-article {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-about-article + .p-about-article {
    margin-top: 3.75rem;
  }
}
.p-about-article__inner {
  max-width: 90rem;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .p-about-article__inner {
    flex-direction: column;
  }
}
.p-about-article__image {
  width: 44.75rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-article__image {
    width: 49.7222222222vw;
  }
}
@media (max-width: 767px) {
  .p-about-article__image {
    width: calc(100% - 1.25rem);
  }
}
.p-about-article__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 1440px) {
  .p-about-article__image img {
    border-radius: 0 0.625rem 0.625rem 0;
  }
}
.p-about-article__content {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-about-article__content {
    width: 49.25rem;
    margin-top: 7.5rem;
    margin-left: -4rem;
  }
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-article__content {
    width: 54.7222222222vw;
    margin-left: -4.4444444444vw;
  }
}
@media (max-width: 767px) {
  .p-about-article__content {
    width: calc(100% - 2.25rem);
    margin-top: -2.5rem;
    margin-left: auto;
  }
}
.p-about-article__content::after {
  position: absolute;
  z-index: -1;
  inset: -2rem 0 0 -2rem;
  background: linear-gradient(215deg, rgba(255, 255, 255, 0) 60%, rgba(177, 204, 246, 0.5) 80%);
  border-radius: 1rem 0 0 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  content: "";
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-article__content::after {
    inset: -2.2222222222vw 0 0 -2.2222222222vw;
  }
}
@media (max-width: 767px) {
  .p-about-article__content::after {
    inset: -1rem 0 0 -1rem;
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-about-article__box {
  background: var(--color-bg-primary);
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 6.375rem 7.75rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-article__box {
    padding: 4.6875rem 4.0625rem;
  }
}
@media (max-width: 767px) {
  .p-about-article__box {
    padding: 1.5rem 1.25rem;
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-about-article__title {
  margin: 0;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  line-height: 1.375;
}
@media (max-width: 767px) {
  .p-about-article__title {
    font-size: 1.4375rem;
  }
}
.p-about-article__text {
  margin: 1.625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-about-article__text {
    margin: 0.625rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.8;
  }
}
@media (min-width: 768px) {
  .p-about-article.-reverse .p-about-article__inner {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-article.-reverse .p-about-article__image img {
    border-radius: 1rem 0 0 1rem;
  }
}
@media (max-width: 767px) {
  .p-about-article.-reverse .p-about-article__image {
    margin-left: auto;
  }
  .p-about-article.-reverse .p-about-article__image img {
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-about-article.-reverse .p-about-article__content {
  margin-left: 0;
  margin-right: -4rem;
}
@media (max-width: 767px) {
  .p-about-article.-reverse .p-about-article__content {
    margin-right: auto;
  }
}
.p-about-article.-reverse .p-about-article__content::after {
  inset: -2rem -2rem 0 0;
  transform: matrix(-1, 0, 0, -1, 0, 0);
}
@media (max-width: 767px) {
  .p-about-article.-reverse .p-about-article__content::after {
    inset: -1rem -1rem 0 0;
  }
}
@media (max-width: 767px) {
  .p-about-article.-reverse .p-about-article__box {
    border-radius: 0 0.625rem 0.625rem 0;
  }
}

.p-about-footer {
  padding: 7.5rem 0 5rem;
}
@media (max-width: 767px) {
  .p-about-footer {
    padding: 4.375rem 0 2.5rem;
    margin: 0 -1rem;
  }
}
.p-about-footer__background {
  width: 100%;
  height: 38.4375rem;
  background-image: url("../../about/images/bg-footer.jpg");
  background-size: cover;
  background-position: center;
  margin-top: -11.125rem;
  position: relative;
  z-index: -1;
}
.p-about-footer__background::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 15.25rem;
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
  content: "";
}
@media (max-width: 767px) {
  .p-about-footer__background::before {
    height: 7.625rem;
  }
}
@media (max-width: 767px) {
  .p-about-footer__background {
    height: 19.25rem;
  }
}
.p-about-footer__wrapper {
  max-width: 64rem;
  margin: 0 auto;
  padding: 4rem 0 0;
}
@media (max-width: 767px) {
  .p-about-footer__wrapper {
    padding: 2.5rem 1.25rem 0;
  }
}
.p-about-footer__logos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .p-about-footer__logos {
    gap: 1rem;
  }
}
.p-about-footer__logos .-anabuki {
  width: 23.625rem;
}
@media (max-width: 767px) {
  .p-about-footer__logos .-anabuki {
    width: 16.25rem;
  }
}
.p-about-footer__logos .-jpx {
  width: 5.375rem;
}
@media (max-width: 767px) {
  .p-about-footer__logos .-jpx {
    width: 4rem;
  }
}
.p-about-footer__text {
  margin: 3.125rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-about-footer__text {
    margin: 2rem 0 0;
    font-size: 1.125rem;
    text-align: left;
  }
  .p-about-footer__text br {
    display: none;
  }
}
.p-about-footer__more {
  max-width: 20rem;
  margin: 3.25rem auto 0;
}
@media (max-width: 767px) {
  .p-about-footer__more {
    margin: 2.125rem auto 0;
  }
}
.p-about-footer__box {
  margin: 5rem 0 0;
  padding: 2.5rem;
  background: var(--color-main-light);
  border-radius: 1rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-about-footer__box {
    margin: 2.5rem 0 0;
    border-radius: 0.625rem;
    padding: 1.25rem;
  }
}
.p-about-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  text-decoration: none;
  width: 21.875rem;
  background: var(--gradient-main);
  color: var(--color-bg-primary);
  font-size: 1.125rem;
  border-radius: 0.25rem;
  padding: 1.125rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-about-footer__button {
    width: 100%;
    font-size: 1rem;
    width: 17.5rem;
    padding: 0.875rem;
  }
}
.p-about-footer__button-icon {
  width: 2.75rem;
  height: 2.75rem;
}

.p-about-box {
  margin: 0 auto;
  position: relative;
}
@media (min-width: 1441px) {
  .p-about-box {
    width: 75rem;
  }
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-box {
    width: 83.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-about-box {
    margin: 0 2.5rem;
  }
}
.p-about-box::after {
  position: absolute;
  z-index: -1;
  top: -2rem;
  left: -2rem;
  width: calc(100% + 4rem);
  height: 37.5rem;
  background: linear-gradient(215deg, rgba(255, 255, 255, 0) 60%, rgba(177, 204, 246, 0.5) 80%);
  border-radius: 1rem 0 0 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  content: "";
}
@media (max-width: 767px) {
  .p-about-box::after {
    top: -1rem;
    left: -1rem;
    width: calc(100% + 2rem);
    height: 18.75rem;
    border-radius: 0.625rem 0 0 0.625rem;
  }
}
.p-about-box__inner {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  padding: 6.5rem 5.4375rem 7.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-box__inner {
    padding: 3.75rem 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-about-box__inner {
    border-radius: 0.625rem;
    padding: 2.1875rem 1.25rem;
  }
}
.p-about-box__group {
  display: grid;
  grid-template-columns: calc(50% - 2.625rem) 1fr calc(50% - 2.625rem);
  margin: 3.25rem 0 0;
}
@media (max-width: 767px) {
  .p-about-box__group {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin: 2.8125rem 0 0;
  }
}
@media (min-width: 768px) {
  .p-about-box__cross {
    margin-top: 7rem;
  }
}
.p-about-box__cross-icon {
  display: block;
  margin: 0 auto;
  width: 3.6875rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-box__cross-icon {
    width: 4.0972222222vw;
  }
}
@media (max-width: 767px) {
  .p-about-box__cross-icon {
    width: 3rem;
  }
}

.p-about-training__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-about-training__image img {
    border-radius: 0.625rem;
  }
}
.p-about-training__title {
  margin: 4.375rem 0 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-about-training__title {
    margin: 3.125rem 0 0;
    font-size: 0.9375rem;
  }
}
.p-about-training__title-text {
  display: inline-block;
  position: relative;
  padding-bottom: 1.125rem;
}
@media (max-width: 767px) {
  .p-about-training__title-text {
    padding-bottom: 0.875rem;
  }
}
.p-about-training__title-text::before {
  position: absolute;
  top: -2.125rem;
  left: -3.75rem;
  width: 5rem;
  height: 5rem;
  background: radial-gradient(81.29% 50% at 50% 50%, #7BB4FF 0%, rgba(123, 180, 255, 0) 100%);
  opacity: 0.5;
  border-radius: 50%;
  content: "";
}
@media (max-width: 767px) {
  .p-about-training__title-text::before {
    width: 4.375rem;
    height: 4.375rem;
    left: -3.375rem;
  }
}
.p-about-training__title-text::after {
  position: absolute;
  width: 1.5rem;
  left: 50%;
  bottom: 0;
  margin-left: -0.75rem;
  border-bottom: 1px solid var(--color-main);
  content: "";
}
.p-about-training__heading {
  margin: 0.5rem 0 0;
  text-align: center;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-training__heading {
    font-size: 1.75rem;
  }
}
@media (max-width: 767px) {
  .p-about-training__heading {
    font-size: 1.5rem;
    margin: 0.75rem 0 0;
  }
}
.p-about-training__lead {
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5833333333;
  color: #000;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-training__lead {
    font-size: 1.375rem;
  }
}
@media (max-width: 767px) {
  .p-about-training__lead {
    font-size: 1.25rem;
  }
}
.p-about-training__lead.-blue {
  color: var(--color-main);
}
.p-about-training__text {
  margin: 1.125rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-training__text {
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .p-about-training__text {
    margin: 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.9;
  }
}
.p-about-training__arrow {
  margin: 1.75rem auto 0;
  width: 4.375rem;
  height: 1.875rem;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  background: linear-gradient(121.36deg, #368DFF 2.6%, #07428E 100%);
}
@media (max-width: 767px) {
  .p-about-training__arrow {
    width: 3.125rem;
    height: 1.3125rem;
    margin: 1.25rem auto 0;
  }
}
.p-about-training__box {
  border-radius: 1rem;
  background: var(--color-main-light);
  padding: 3.25rem 2.6875rem;
  margin: 2.5rem 0 0;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-about-training__box {
    padding: 2.875rem 2rem;
  }
}
@media (max-width: 767px) {
  .p-about-training__box {
    border-radius: 0.625rem;
    padding: 1.5rem 1.25rem;
    margin: 1.25rem 0 0;
  }
}

.p-about-buttons {
  list-style: none;
  padding: 3rem 1.25rem;
  margin: 5rem 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  background: url("../../about/images/bg-buttons.jpg") repeat center center/cover;
}
@media (max-width: 767px) {
  .p-about-buttons {
    margin: 2.5rem 0 0;
    flex-direction: column;
    gap: 1rem;
    background-size: 100% auto;
  }
}
.p-about-buttons li {
  width: 20.3125rem;
}
@media (max-width: 767px) {
  .p-about-buttons li {
    width: 16.25rem;
  }
}
.p-about-buttons__link {
  box-shadow: none;
}
@media (min-width: 768px) {
  .p-about-buttons__link {
    min-height: 5.5rem;
  }
}

/**************************************************/
/* 暮らしと特徴 */
/**************************************************/
.p-feature-intro {
  text-align: center;
  position: relative;
  margin-bottom: -6.125rem;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .p-feature-intro {
    margin-bottom: -1.875rem;
  }
}
.p-feature-intro::before, .p-feature-intro::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 37.9375rem;
  content: "";
}
.p-feature-intro::before {
  top: 0;
  background: linear-gradient(215deg, rgba(177, 204, 246, 0) 69.42%, rgba(177, 204, 246, 0.5) 88.93%);
  transform: rotate(180deg);
}
.p-feature-intro::after {
  bottom: 0;
  background: linear-gradient(215deg, rgba(255, 238, 225, 0) 69.42%, #FFEEE1 88.93%);
}
.p-feature-intro__inner {
  max-width: 90rem;
  margin: 0 auto;
  padding: 7.125rem 0 15.375rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-feature-intro__inner {
    padding-bottom: 13.75rem;
  }
}
.p-feature-intro__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-feature-intro__title {
    font-size: 1.125rem;
  }
}
.p-feature-intro__heading {
  margin: 1.25rem 0 0 1.625rem;
  font-size: 2.5rem;
  line-height: 1.6;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-feature-intro__heading {
    font-size: 1.75rem;
  }
}
.p-feature-intro__lead {
  margin: 1.25rem 0 0;
  font-size: 1.5rem;
  line-height: 1.5833333333;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-feature-intro__lead {
    font-size: 1.25rem;
  }
}
.p-feature-intro__text {
  margin: 1.5625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-feature-intro__text {
    font-size: 1.125rem;
  }
}
.p-feature-intro__image {
  position: absolute;
  width: 39.375rem;
  z-index: -1;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-feature-intro__image {
    width: 43.75vw;
  }
}
@media (max-width: 767px) {
  .p-feature-intro__image {
    width: 13.75rem;
  }
}
.p-feature-intro__image.-left {
  top: -1.5rem;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-feature-intro__image.-left {
    left: -5.5555555556vw;
  }
}
@media (min-width: 1441px) {
  .p-feature-intro__image.-left {
    left: -5rem;
  }
}
@media (max-width: 767px) {
  .p-feature-intro__image.-left {
    left: -4.375rem;
  }
}
.p-feature-intro__image.-right {
  bottom: 0;
}
@media (min-width: 768px) and (max-width: 1440px) {
  .p-feature-intro__image.-right {
    right: -8.3333333333vw;
  }
}
@media (min-width: 1441px) {
  .p-feature-intro__image.-right {
    right: -7.5rem;
  }
}
@media (max-width: 767px) {
  .p-feature-intro__image.-right {
    right: -2.5rem;
  }
}

.p-feature-wrapper {
  padding: 2.5rem 0 7rem;
}
@media (max-width: 767px) {
  .p-feature-wrapper {
    padding: 1.25rem 0 3.125rem;
  }
}

.p-feature-section {
  padding: 4rem 2.5rem 5rem;
}
@media (max-width: 767px) {
  .p-feature-section {
    padding: 2.5rem 0.25rem;
  }
}
.p-feature-section__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.p-feature-section__heading {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-feature-section__heading {
    font-size: 1.5rem;
  }
}
.p-feature-section__heading.-blue {
  color: var(--color-main-accent-2);
}
.p-feature-section__text {
  margin: 0.9375rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-feature-section__text {
    font-size: 1.125rem;
    line-height: 1.8;
    margin: 0.5rem 0 0;
  }
}

.p-feature-gallery {
  position: relative;
  padding-top: 4.875rem;
  margin-top: 3.25rem;
}
@media (max-width: 767px) {
  .p-feature-gallery {
    padding: 2.5rem 1.25rem 0;
    margin-top: 2.5rem;
  }
}
.p-feature-gallery + .p-feature-gallery {
  margin-top: 4.625rem;
}
@media (max-width: 767px) {
  .p-feature-gallery + .p-feature-gallery {
    margin-top: 2.5rem;
  }
}
.p-feature-gallery::after {
  position: absolute;
  top: 0;
  left: -2.5rem;
  width: calc(100% + 5rem);
  height: 17.875rem;
  background-image: url("../../feature/images/bg-gallery.jpg");
  background-size: cover;
  background-color: #EFF6FF;
  background-position: top left;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-feature-gallery::after {
    left: 0;
    width: 100%;
    height: 13.125rem;
  }
}
.p-feature-gallery__title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-feature-gallery__title {
    font-size: 1.5rem;
  }
}
.p-feature-gallery__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 3.375rem 0 0;
}
@media (max-width: 767px) {
  .p-feature-gallery__list {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    margin: 1.75rem 0 0;
  }
}
.p-feature-gallery__figure {
  margin: 0;
}
.p-feature-gallery__image {
  display: block;
  border-radius: 0.5rem;
}
.p-feature-gallery__caption {
  text-align: center;
  font-size: 1.125rem;
  color: var(--color-main);
  margin: 1.875rem 0 0;
}
@media (max-width: 767px) {
  .p-feature-gallery__caption {
    font-size: 1rem;
    margin: 0.625rem 0 0;
  }
}

.p-feature-instagram {
  padding: 5rem 2.5rem;
  background: linear-gradient(292.9deg, #EFF6FF 0%, #FFFFFF 100%);
}
@media (max-width: 767px) {
  .p-feature-instagram {
    padding: 2.5rem 1.25rem;
    margin: 0 -1rem;
  }
}
.p-feature-instagram__box {
  background: var(--color-bg-primary);
  border-radius: 0.5rem;
  border: 1px solid var(--color-main);
  max-width: 85rem;
  margin: 0 auto;
  padding: 4rem 5rem 5rem;
}
@media (max-width: 767px) {
  .p-feature-instagram__box {
    padding: 1.5rem 1.25rem;
  }
}
.p-feature-instagram__title {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-feature-instagram__title {
    font-size: 1.5rem;
  }
}

.p-feature-article {
  margin: 5.25rem 0 0;
  padding: 2rem 2rem 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-feature-article {
    margin-top: 3.75rem;
  }
}
.p-feature-article + .p-feature-article {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .p-feature-article + .p-feature-article {
    margin-top: 3.75rem;
  }
}
.p-feature-article__inner {
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  min-height: 22.125rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-feature-article__inner {
    border-radius: 0.625rem;
  }
}
.p-feature-article__image {
  width: 29.75rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .p-feature-article__image {
    width: calc(100% - 2rem);
    left: 1rem;
  }
}
.p-feature-article__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-feature-article__image img {
    border-radius: 0.625rem;
  }
}
.p-feature-article__image::after {
  position: absolute;
  inset: -2rem 0 0 -2rem;
  border-radius: 1rem;
  background: linear-gradient(220deg, rgba(255, 255, 255, 0) 62%, rgba(177, 204, 246, 0.5) 80%);
  transform: matrix(1, 0, 0, -1, 0, 0);
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-feature-article__image::after {
    inset: -1rem 0 0 -1rem;
    border-radius: 0.625rem;
  }
}
.p-feature-article__content {
  max-width: 32.25rem;
  margin-left: auto;
  padding: 3.25rem 2.625rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-feature-article__content {
    padding: 11.25rem 1.25rem 1.5rem;
  }
}
.p-feature-article__title {
  margin: 0;
  color: var(--color-main);
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .p-feature-article__title {
    font-size: 1.25rem;
  }
}
.p-feature-article__text {
  margin: 0.625rem 0 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #000;
}
@media (max-width: 767px) {
  .p-feature-article__text {
    font-size: 1rem;
  }
}
.p-feature-article.-reverse .p-feature-article__content {
  margin-left: 0;
}
@media (min-width: 768px) {
  .p-feature-article.-reverse .p-feature-article__image {
    left: auto;
    right: 0;
  }
}
.p-feature-article.-reverse .p-feature-article__image::after {
  inset: -2rem -2rem 0 0;
  transform: matrix(-1, 0, 0, -1, 0, 0);
}
@media (max-width: 767px) {
  .p-feature-article.-reverse .p-feature-article__image::after {
    inset: -1rem -1rem 0 0;
  }
}

.p-feature-equipment {
  background-image: url("../../feature/images/bg-equipment.png");
  background-position: top center;
  padding: 2rem 0 1rem;
}
@media (max-width: 767px) {
  .p-feature-equipment {
    margin: 0 -1rem;
  }
}
.p-feature-equipment__title {
  margin: 0;
  text-align: center;
  color: var(--color-main);
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
}
@media (max-width: 767px) {
  .p-feature-equipment__title {
    font-size: 1.5rem;
  }
}

.p-feature-slider {
  --swiper-navigation-size: 1.25rem;
  --swiper-navigation-color: #fff;
}
@media (max-width: 767px) {
  .p-feature-slider {
    --swiper-navigation-size: 0.875rem;
  }
}
.p-feature-slider {
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .p-feature-slider {
    margin-top: 1.25rem;
  }
}
.p-feature-slider__figure {
  margin: 0;
  position: relative;
}
.p-feature-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  text-align: center;
  color: var(--color-bg-primary);
  font-size: 1rem;
  background: rgba(51, 51, 51, 0.6);
  padding: 1.125rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-feature-slider__caption {
    font-size: 0.6875rem;
    padding: 0.625rem;
    text-align: left;
  }
}
.p-feature-slider__main .swiper-slide {
  width: 50rem;
}
@media (max-width: 767px) {
  .p-feature-slider__main .swiper-slide {
    width: 20rem;
  }
}
.p-feature-slider__main .swiper-button-prev, .p-feature-slider__main .swiper-button-next {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  box-sizing: border-box;
  background: var(--color-main);
}
@media (max-width: 767px) {
  .p-feature-slider__main .swiper-button-prev, .p-feature-slider__main .swiper-button-next {
    width: 2.125rem;
    height: 2.125rem;
    margin-top: -1.0625rem;
  }
}
.p-feature-slider__main .swiper-button-prev {
  left: calc(50% - 25rem - 1.5625rem);
}
@media (max-width: 767px) {
  .p-feature-slider__main .swiper-button-prev {
    left: calc(50% - 10rem - 1.0625rem);
  }
}
.p-feature-slider__main .swiper-button-next {
  right: calc(50% - 25rem - 1.5625rem);
}
@media (max-width: 767px) {
  .p-feature-slider__main .swiper-button-next {
    right: calc(50% - 10rem - 1.0625rem);
  }
}
.p-feature-slider__thumb {
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .p-feature-slider__thumb {
    margin-top: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    box-sizing: border-box;
  }
}
.p-feature-slider__thumb .swiper-slide {
  cursor: pointer;
  width: 8.75rem;
}
@media (max-width: 767px) {
  .p-feature-slider__thumb .swiper-slide {
    width: calc(20% - 0.375rem);
  }
}
.p-feature-slider__thumb .swiper-slide:last-child {
  margin-right: 0 !important;
}
.p-feature-slider__thumb .swiper-wrapper {
  justify-content: center;
}

.p-feature-box {
  padding: 7.5rem 2.5rem 0;
}
@media (max-width: 767px) {
  .p-feature-box {
    padding: 3.75rem 1.25rem 0;
  }
}
.p-feature-box__inner {
  max-width: 74rem;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}
.p-feature-box__inner::after {
  position: absolute;
  inset: -2rem;
  height: 46.0625rem;
  background: linear-gradient(220deg, rgba(255, 255, 255, 0) 62%, rgba(177, 204, 246, 0.5) 80%);
  border-radius: 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  content: "";
}
@media (max-width: 767px) {
  .p-feature-box__inner::after {
    inset: -1rem;
    height: 23.125rem;
  }
}
.p-feature-box__content {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 7.5rem 5rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-feature-box__content {
    padding: 2.5rem 1.25rem;
  }
}
.p-feature-box__logo {
  margin: 0 auto;
  width: 23.625rem;
}
@media (max-width: 767px) {
  .p-feature-box__logo {
    width: 13.75rem;
  }
}
.p-feature-box__text {
  margin: 3.125rem 0 0;
  text-align: center;
  color: #000;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-feature-box__text {
    margin: 1.5625rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.8;
  }
}
.p-feature-box__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem 2.5rem;
  margin-top: 3.25rem;
}
@media (max-width: 767px) {
  .p-feature-box__grid {
    grid-template-columns: 1fr;
    gap: 2.8125rem;
  }
}

.p-feature-card__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-feature-card__image img {
    border-radius: 0.625rem;
  }
}
.p-feature-card__lead {
  margin: 1.75rem 0 0;
  text-align: center;
  font-size: 1.5rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-feature-card__lead {
    margin: 0.875rem 0 0;
    font-size: 1.25rem;
  }
}
.p-feature-card__text {
  margin: 0.875rem 0 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #000;
}
@media (max-width: 767px) {
  .p-feature-card__text {
    margin: 0.5rem 0 0;
    font-size: 1rem;
  }
}
.p-feature-card__button {
  margin: 1.5rem auto 0;
  max-width: 20rem;
}
@media (max-width: 767px) {
  .p-feature-card__button {
    margin: 1rem auto 0;
    max-width: 15rem;
  }
}

.p-feature-footer {
  list-style: none;
  padding: 3rem 1.25rem;
  margin: 5rem 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  background: url("../../feature/images/bg-footer.jpg") repeat center center/cover;
}
@media (max-width: 767px) {
  .p-feature-footer {
    margin: 2.5rem 0 0;
    flex-direction: column;
    gap: 1rem;
    background-size: 100% auto;
  }
}
.p-feature-footer li {
  width: 20.3125rem;
}
@media (max-width: 767px) {
  .p-feature-footer li {
    width: 16.25rem;
  }
}
.p-feature-footer__link {
  box-shadow: none;
}
@media (min-width: 768px) {
  .p-feature-footer__link {
    min-height: 5.5rem;
  }
}

/**************************************************/
/* 伝えたい想い */
/**************************************************/
.p-concept-top {
  padding: 7.5rem 0 7.1875rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-top {
    padding: 3.75rem 0;
  }
}
.p-concept-top::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30.875rem;
  background: linear-gradient(205.04deg, rgba(177, 204, 246, 0) 71.88%, rgba(177, 204, 246, 0.5) 98.48%);
  transform: rotate(180deg);
  z-index: -1;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-top::after {
    height: 22.5rem;
  }
}

.p-concept-intro {
  padding-bottom: 2.5rem;
}
@media (max-width: 767px) {
  .p-concept-intro {
    padding: 0 1.25rem 1.25rem;
  }
}
.p-concept-intro__inner {
  max-width: 64rem;
  margin: 0 auto;
  position: relative;
}
.p-concept-intro__inner::before {
  position: absolute;
  top: 0;
  right: -4rem;
  width: 12rem;
  height: 12.5rem;
  background-image: url("data:image/svg+xml,%3Csvg width='192' height='200' viewBox='0 0 192 200' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H176C184.837 0 192 7.16344 192 16V200H0V0Z' fill='url(%23paint0_linear_0_256)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_0_256' x1='151.855' y1='100' x2='214.071' y2='45.7023' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFEEE1' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23B1CCF6'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 0 1rem 0 0;
  z-index: -1;
  content: "";
}
@media (min-width: 768px) and (max-width: 1160px) {
  .p-concept-intro__inner::before {
    right: -2.5rem;
  }
}
@media (max-width: 767px) {
  .p-concept-intro__inner::before {
    width: 6.25rem;
    height: 6.5rem;
    right: 0;
  }
}
.p-concept-intro__lead {
  color: var(--color-main);
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  .p-concept-intro__lead {
    font-size: 1rem;
    padding-left: 1.25rem;
  }
}
.p-concept-intro__wrapper {
  display: flex;
  margin: 2.5rem 0 0;
}
@media (max-width: 767px) {
  .p-concept-intro__wrapper {
    flex-direction: column-reverse;
    margin: 0.625rem 0 0;
    gap: 1.25rem;
  }
}
.p-concept-intro__image {
  width: 56rem;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-intro__image {
    width: calc(100% - 2.5rem);
    margin: 0 auto;
  }
}
.p-concept-intro__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-concept-intro__image img {
    border-radius: 0.625rem;
  }
}
.p-concept-intro__image::after {
  position: absolute;
  bottom: -2.5rem;
  left: -2.5rem;
  width: calc(100% + 2.5rem);
  height: 31.25rem;
  background: linear-gradient(var(--angle, 220deg), rgba(177, 204, 246, 0) 60.25%, rgba(177, 204, 246, 0.5) 79.9%);
  border-radius: 0 0 0 1rem;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-intro__image::after {
    --angle: 207deg;
    width: calc(100% + 1.25rem);
    height: calc(100% - 2.5rem);
    bottom: -1.25rem;
    left: -1.25rem;
    border-radius: 0 0 0 0.625rem;
  }
}
.p-concept-intro__text {
  flex-grow: 1;
  margin: 0;
  color: #000;
}
@media (min-width: 768px) {
  .p-concept-intro__text {
    font-size: 1.5rem;
    writing-mode: vertical-rl;
    line-height: 1.65;
    letter-spacing: 0.1666666667em;
  }
}
@media (max-width: 767px) {
  .p-concept-intro__text {
    font-size: 1.125rem;
    padding-left: 1.25rem;
  }
}
.p-concept-intro__line {
  display: block;
}
.p-concept-intro__line:nth-child(2) {
  margin-inline-start: 3.4375rem;
}
@media (max-width: 767px) {
  .p-concept-intro__line:nth-child(2) {
    margin-inline-start: 2.5rem;
  }
}

.p-concept-article {
  margin-top: 3.125rem;
}
@media (max-width: 767px) {
  .p-concept-article {
    margin-top: 1.875rem;
    padding: 0 1.25rem;
  }
}
.p-concept-article__inner {
  max-width: 64rem;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-article__inner {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .p-concept-article__group {
    padding-left: 2.625rem;
  }
}
@media (max-width: 767px) {
  .p-concept-article__group {
    display: contents;
  }
}
.p-concept-article__bottom {
  position: relative;
}
@media (min-width: 768px) {
  .p-concept-article__bottom {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.8125rem 3rem 0 0;
    margin: 2.25rem 0 0;
  }
}
@media (max-width: 767px) {
  .p-concept-article__bottom {
    padding: 0.625rem 1rem 0;
    margin: 2.1875rem 0 0;
    order: 1;
  }
}
.p-concept-article__bottom::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 9.4375rem;
  height: 7.0625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='151' height='113' viewBox='0 0 151 113' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H135C143.837 0 151 7.16344 151 16V113H0V0Z' fill='url(%23paint0_linear_0_281)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_0_281' x1='119.427' y1='56.5' x2='154.245' y2='14.204' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23B1CCF6' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23B1CCF6'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-article__bottom::after {
    width: 8.125rem;
    height: 6.0625rem;
  }
}
@media (min-width: 768px) {
  .p-concept-article__content {
    padding-top: 2.125rem;
  }
}
@media (max-width: 767px) {
  .p-concept-article__content {
    display: contents;
  }
}
.p-concept-article__heading {
  margin: 0;
  color: var(--color-main);
  font-weight: var(--font-weight-primary);
  font-size: 2.5rem;
}
@media (max-width: 767px) {
  .p-concept-article__heading {
    font-size: 1.625rem;
    text-align: center;
  }
}
.p-concept-article__lead {
  margin: 1.4375rem 0 0;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.5833333333;
}
@media (max-width: 767px) {
  .p-concept-article__lead {
    font-size: 1.125rem;
    margin: 1rem 0 0;
  }
}
.p-concept-article__text {
  margin: 1.625rem 0 0;
  font-size: 1.25rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-concept-article__text {
    margin: 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.8;
  }
}
.p-concept-article__link {
  display: inline-block;
  color: var(--color-main);
  font-size: 1.125rem;
  text-decoration: none;
  margin: 0.4375rem 0 0;
}
@media (max-width: 767px) {
  .p-concept-article__link {
    font-size: 1rem;
    margin: 0.25rem 0 0;
  }
}
.p-concept-article__link::after {
  display: inline-block;
  vertical-align: -0.1875rem;
  margin-left: 0.375rem;
  width: 0.6875rem;
  height: 1.125rem;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='18' viewBox='0 0 11 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 8.89744L1 17' stroke='%2378C8DC' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-article__link::after {
    width: 0.5625rem;
    height: 0.875rem;
    vertical-align: -0.125rem;
  }
}
@media (min-width: 768px) {
  .p-concept-article__image {
    position: absolute;
  }
}
.p-concept-article__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-concept-article__image img {
    border-radius: 0.625rem;
  }
}
.p-concept-article__image.-i1 {
  width: 9rem;
  top: 0;
  right: -0.5rem;
}
@media (max-width: 767px) {
  .p-concept-article__image.-i1 {
    width: 5.625rem;
    margin: 1.875rem 3.125rem 0 auto;
  }
}
.p-concept-article__image.-i2 {
  width: 25rem;
  top: 41%;
  right: 2.625rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-concept-article__image.-i2 {
    position: relative;
    width: 16.25rem;
    margin: 1.75rem auto 0;
  }
}
.p-concept-article__image.-i2::after {
  position: absolute;
  width: 12rem;
  height: 13.25rem;
  bottom: -2rem;
  right: -2rem;
  background: linear-gradient(47.73deg, rgba(177, 204, 246, 0) 65.24%, #B1CCF6 95.14%);
  border-radius: 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-article__image.-i2::after {
    width: 6.25rem;
    height: 6.875rem;
    bottom: -1rem;
    right: -1rem;
  }
}
.p-concept-article__image.-i3 {
  width: 15.625rem;
  top: 84%;
  right: -10.5rem;
}
@media (min-width: 768px) and (max-width: 1364px) {
  .p-concept-article__image.-i3 {
    right: -2.5rem;
  }
}
@media (max-width: 767px) {
  .p-concept-article__image.-i3 {
    width: 10rem;
    margin: 0.5rem 0 0 auto;
  }
}

@media (min-width: 768px) {
  .p-concept-inner {
    padding: 6.625rem 0 5rem;
  }
}

.p-concept-heading {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--font-weight-primary);
  line-height: 1.375;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-concept-heading {
    font-size: 1.375rem;
  }
}

.p-concept-title {
  margin: 3.3125rem 0 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-concept-title {
    font-size: 1.25rem;
    margin: 1.875rem 0 0;
  }
}

.p-concept-text {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .p-concept-text {
    margin: 0.75rem 0 0;
    font-size: 1.125rem;
    line-height: 1.8;
  }
}

.p-concept-voice {
  display: flex;
  margin: 4.25rem 0 0;
  padding: 5.75rem 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-voice {
    flex-direction: column;
    padding: 1rem 1rem 0;
    margin: 2.5rem 0 0;
  }
}
.p-concept-voice::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 11.5rem;
  height: 12.5rem;
  background: linear-gradient(47.73deg, rgba(177, 204, 246, 0) 65.24%, #B1CCF6 95.14%);
  border-radius: 0 1rem 0 0;
  content: "";
}
@media (max-width: 767px) {
  .p-concept-voice::before {
    border-radius: 0.625rem;
    width: 8.125rem;
    height: 8.8125rem;
  }
}
.p-concept-voice__figure {
  width: 48.5rem;
  margin: 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-voice__figure {
    width: 100%;
  }
}
.p-concept-voice__caption {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
  padding: 2rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-concept-voice__caption {
    padding: 0.625rem;
    gap: 0.3125rem;
  }
}
.p-concept-voice__tag {
  display: inline-block;
  padding: 0.5rem 1.375rem 0.625rem;
  background: var(--color-bg-primary);
  border-radius: 50vh;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  font-size: 1.125rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-concept-voice__tag {
    font-size: 0.875rem;
    padding: 0.5rem 0.625rem 0.625rem;
  }
}
.p-concept-voice__image {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-concept-voice__image {
    border-radius: 0.625rem;
  }
}
.p-concept-voice__text {
  flex-grow: 1;
  margin: 0;
  color: #000;
}
@media (min-width: 768px) {
  .p-concept-voice__text {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.5rem;
    writing-mode: vertical-rl;
    line-height: 2;
    letter-spacing: 0.1666666667em;
  }
}
@media (max-width: 767px) {
  .p-concept-voice__text {
    font-size: 1.125rem;
    margin: 1rem 0 0;
  }
}
.p-concept-voice__line {
  display: block;
}
.p-concept-voice__line.-indent {
  margin-inline-start: -1.75rem;
}
@media (max-width: 767px) {
  .p-concept-voice__line.-indent {
    margin-inline-start: -1.3125rem;
  }
}
@media (min-width: 768px) {
  .p-concept-voice.-reverse {
    flex-direction: row-reverse;
  }
}
.p-concept-voice.-reverse::before {
  right: auto;
  left: 0;
  transform: scaleX(-1);
}
.p-concept-voice.-reverse .p-concept-voice__caption {
  justify-content: flex-end;
}

.p-concept-card {
  margin: 5.5rem 2rem 0;
  border-radius: 1rem;
  border: 1px solid var(--color-main);
  background: linear-gradient(var(--angle, 90deg), #FFFFFF 0%, #FFEEE1 100%);
  display: flex;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-card {
    margin: 3.375rem 1rem 0;
    flex-direction: column-reverse;
    border-radius: 0.625rem;
  }
}
.p-concept-card + .p-concept-card {
  margin-top: 6rem;
}
@media (max-width: 767px) {
  .p-concept-card + .p-concept-card {
    margin-top: 3.75rem;
  }
}
.p-concept-card__content {
  padding: 3.125rem 2.5rem 3.75rem;
}
@media (max-width: 767px) {
  .p-concept-card__content {
    padding: 1.5rem 1rem;
  }
}
.p-concept-card__image {
  flex-shrink: 0;
  width: 29.75rem;
  margin-top: -2rem;
  margin-right: -2rem;
}
@media (max-width: 767px) {
  .p-concept-card__image {
    width: calc(100% + 2rem);
    margin: -1rem -1rem 0;
  }
}
.p-concept-card__image img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-concept-card__image img {
    border-radius: 0.625rem;
  }
}
.p-concept-card__title {
  margin: 0;
  font-weight: var(--font-weight-primary);
  color: var(--color-main);
  font-size: 1.5rem;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .p-concept-card__title {
    font-size: 1.25rem;
  }
}
.p-concept-card__text {
  margin: 0.75rem 0 0;
  color: #000;
  font-size: 1.125rem;
  line-height: 1.7777777778;
}
@media (max-width: 767px) {
  .p-concept-card__text {
    font-size: 1rem;
    margin: 0.5rem 0 0;
  }
}
.p-concept-card.-reverse {
  --angle: -90deg;
}
@media (min-width: 768px) {
  .p-concept-card.-reverse {
    flex-direction: row-reverse;
  }
  .p-concept-card.-reverse .p-concept-card__image {
    margin-right: 0;
    margin-left: -2rem;
  }
}
.p-concept-card.-family {
  background: #fff;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-card.-family {
    flex-direction: column;
  }
}
.p-concept-card.-family::after {
  position: absolute;
  inset: -2rem;
  height: 46.0625rem;
  background: linear-gradient(220deg, rgba(255, 255, 255, 0) 62%, rgba(177, 204, 246, 0.5) 80%);
  border-radius: 1rem;
  transform: matrix(1, 0, 0, -1, 0, 0);
  content: "";
  z-index: -1;
}
@media (max-width: 767px) {
  .p-concept-card.-family::after {
    inset: -1rem;
    height: 23.125rem;
  }
}
.p-concept-card.-family .p-concept-card__content {
  padding: 3.75rem 5rem;
}
@media (max-width: 767px) {
  .p-concept-card.-family .p-concept-card__content {
    padding: 1.5rem 1rem;
  }
}
.p-concept-card.-family .p-concept-card__image {
  position: absolute;
  bottom: 6.875rem;
  right: -1rem;
}
.p-concept-card.-family .p-concept-card__image img {
  border-radius: 0;
  transform: rotate(-4deg);
  box-shadow: 0.3125rem 0.3125rem 0.625rem 0 rgba(0, 0, 0, 0.2);
  width: 29rem;
}
@media (max-width: 767px) {
  .p-concept-card.-family .p-concept-card__image {
    position: static;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 0.25rem;
    margin-bottom: 1.875rem;
    margin-left: 0;
    margin-right: 0;
  }
  .p-concept-card.-family .p-concept-card__image img {
    box-shadow: 0.1875rem 0.1875rem 0.625rem 0 rgba(0, 0, 0, 0.2);
    width: 16.875rem;
  }
}
.p-concept-card.-family .p-concept-card__title {
  font-size: 2.5rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-concept-card.-family .p-concept-card__title {
    font-size: 1.375rem;
  }
}
.p-concept-card.-family .p-concept-card__subtitle {
  margin: 1.25rem 0 0;
  font-weight: var(--font-weight-primary);
  font-size: 1.5rem;
  line-height: 1.5833333333;
}
@media (max-width: 767px) {
  .p-concept-card.-family .p-concept-card__subtitle {
    font-size: 1.125rem;
    margin: 1rem 0 0;
  }
}
.p-concept-card.-family .p-concept-card__text {
  margin: 1.875rem 0 0;
  color: #000;
  font-size: 1.25rem;
  line-height: 2;
}
.p-concept-card.-family .p-concept-card__text .mb-br {
  display: block;
  margin-bottom: 1.875rem;
}
@media (max-width: 767px) {
  .p-concept-card.-family .p-concept-card__text {
    font-size: 1rem;
    margin: 1.25rem 0 0;
  }
  .p-concept-card.-family .p-concept-card__text .mb-br {
    margin-bottom: 1rem;
  }
}

.p-concept-episode {
  margin: 4rem 2rem 5rem;
  border-radius: 1rem;
  background: radial-gradient(74.84% 74.84% at 21.51% 78.98%, #DDEBFF 0%, #E6E6FF 100%);
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .p-concept-episode {
    flex-direction: column;
    margin: 2.5rem 1rem 3.125rem;
    padding: 0.875rem 1rem 1.125rem;
    gap: 1rem;
  }
}
.p-concept-episode__title {
  margin: 0;
  color: var(--color-main);
  font-size: 1.5rem;
  font-weight: var(--font-weight-primary);
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-concept-episode__title {
    text-align: center;
    font-size: 1.25rem;
    white-space: nowrap;
  }
}
.p-concept-episode__link {
  display: block;
  flex-grow: 1;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-main);
  border-radius: 0.5rem;
  text-decoration: none;
  padding: 1rem 1.5rem 1.125rem;
  line-height: 1.35;
  min-width: 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-concept-episode__link {
    padding: 0.875rem 3.125rem 1rem 0.875rem;
  }
}
.p-concept-episode__link::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -0.4375rem;
  width: 0.5rem;
  height: 0.8125rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 12.5L6.5 6.5L0.5 0.5' stroke='%232C69BA' stroke-linecap='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 12.5L6.5 6.5L0.5 0.5' stroke='%232C69BA' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background: var(--color-main);
  content: "";
}
.p-concept-episode__lead {
  display: block;
  font-size: 1.125rem;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-concept-episode__lead {
    font-size: 1rem;
  }
}
.p-concept-episode__name {
  display: block;
  color: #000;
  font-size: 1.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-concept-episode__name {
    font-size: 1.125rem;
    white-space: normal;
    overflow: visible;
  }
}

.p-concept-cover {
  margin-bottom: 4.125rem;
}
@media (max-width: 767px) {
  .p-concept-cover {
    margin-bottom: 2.5rem;
  }
}
.p-concept-cover img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .p-concept-cover img {
    border-radius: 0.625rem;
  }
}

.p-concept-contact {
  margin: 4.125rem 0 0;
  padding: 2.5rem;
  border-radius: 1rem;
  background: var(--color-main-light);
  text-align: center;
}
@media (max-width: 767px) {
  .p-concept-contact {
    margin: 2.1875rem 0 0;
    border-radius: 0.625rem;
    padding: 1.25rem;
  }
}
.p-concept-contact__icon {
  width: 2.5rem;
  height: 2.5rem;
}
.p-concept-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  text-decoration: none;
  width: 21.875rem;
  color: var(--color-bg-primary);
  background: var(--gradient-primary);
  font-size: 1.125rem;
  border-radius: 0.25rem;
  padding: 1.25rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-concept-contact__button {
    width: 100%;
    font-size: 1rem;
    width: 17.5rem;
    padding: 0.875rem;
  }
}

.p-concept-footer {
  list-style: none;
  padding: 3rem 1.25rem;
  margin: 5rem 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  background: url("../../concept/images/bg-footer.jpg") repeat center center/cover;
}
@media (max-width: 767px) {
  .p-concept-footer {
    margin: 2.5rem 0 0;
    flex-direction: column;
    gap: 1rem;
    background-size: 100% auto;
  }
}
.p-concept-footer li {
  width: 20.3125rem;
}
@media (max-width: 767px) {
  .p-concept-footer li {
    width: 16.25rem;
  }
}
.p-concept-footer__link {
  box-shadow: none;
}
@media (min-width: 768px) {
  .p-concept-footer__link {
    min-height: 5.5rem;
  }
}

/**************************************************/
/* あなぶきの介護 LP */
/**************************************************/
@media (min-width: 768px) {
  :root:has(body.lp-al) {
    font-size: min(16px, 1.2698412698vw);
  }
}

body.lp-al {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding-bottom: 8.5rem;
}
@media (max-width: 767px) {
  body.lp-al {
    padding-bottom: 7rem;
  }
}

.lp-al-header {
  padding: 1.5rem;
}
@media (max-width: 767px) {
  .lp-al-header {
    padding: 1rem;
  }
}
.lp-al-header__logo {
  margin: 0 auto;
  width: 14rem;
}
@media (max-width: 767px) {
  .lp-al-header__logo {
    width: 8.75rem;
  }
}
.lp-al-header__logo img {
  display: block;
}

.lp-al-footer {
  padding: 2.1875rem 1.5rem;
}
@media (max-width: 767px) {
  .lp-al-footer {
    padding: 1.375rem;
  }
}
.lp-al-footer__inner {
  max-width: 64rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .lp-al-footer__inner {
    flex-direction: column;
  }
}
.lp-al-footer__logo {
  width: 15.625rem;
}
@media (max-width: 767px) {
  .lp-al-footer__logo {
    width: 13.125rem;
  }
}
.lp-al-footer__copyright {
  margin: 0;
  font-size: 0.75rem;
  color: #545454;
  font-family: "Inter", sans-serif;
  font-weight: normal;
}
@media (max-width: 767px) {
  .lp-al-footer__copyright {
    font-size: 0.625rem;
    margin-top: 0.75rem;
  }
}

.lp-al-mv {
  position: relative;
  height: 49.125rem;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .lp-al-mv {
    height: auto;
    padding: 56.25% 1.25rem 1.875rem;
  }
}
.lp-al-mv__inner {
  max-width: 90rem;
  height: 100%;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .lp-al-mv__inner {
    padding-bottom: 2.8125rem;
  }
}
@media (min-width: 768px) {
  .lp-al-mv__wrapper {
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    margin: 0 auto;
  }
}
.lp-al-mv__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 28.5rem;
  background-image: url("../../promo/a-living/images/mv-bg.jpg");
  background-size: cover;
  background-position: center;
  aspect-ratio: 3/2;
  clip-path: ellipse(85% 100% at 50% 0%);
}
@media (max-width: 767px) {
  .lp-al-mv__background {
    height: 10rem;
    clip-path: ellipse(90% 100% at 50% 0%);
  }
}
.lp-al-mv__layer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 42.25rem;
  background-image: url("../../promo/a-living/images/mv-layer.jpg");
  background-size: cover;
  background-position: center;
  z-index: -1;
}
@media (max-width: 767px) {
  .lp-al-mv__layer {
    height: 82%;
    background-position: bottom center;
  }
}
.lp-al-mv__brand {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  color: #fff;
  text-transform: uppercase;
  font-size: 9.75rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 200;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}
@media (max-width: 767px) {
  .lp-al-mv__brand {
    font-size: 3.25rem;
    top: 62%;
  }
}
.lp-al-mv__brand::before, .lp-al-mv__brand::after {
  display: block;
  height: 0;
  width: 0;
  content: "";
}
.lp-al-mv__brand::before {
  margin-block-end: -0.1555555556em;
}
.lp-al-mv__brand::after {
  margin-block-start: -0.1333333333em;
}
.lp-al-mv__bubble {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: #fff;
  border-radius: 1rem;
  position: relative;
  font-size: 1.75rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 0.125rem;
  padding: 0.5rem 2rem 0.5rem 2.125rem;
  letter-spacing: 0.04em;
  filter: drop-shadow(0 0.5rem 0.75rem #F7CD91);
}
@media (max-width: 767px) {
  .lp-al-mv__bubble {
    border-radius: 0.625rem;
    font-size: 1rem;
    padding: 0.375rem 1.25rem 0.375rem 1.375rem;
    filter: drop-shadow(0 0.375rem 0.625rem #F7CD91);
  }
}
.lp-al-mv__bubble::after {
  position: absolute;
  bottom: -1.625rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.1875rem;
  height: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg width='51' height='36' viewBox='0 0 51 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.3716 33.4933C26.7701 35.5329 23.681 35.5329 22.0795 33.4933L0.861161 6.47028C-1.19975 3.84557 0.670092 2.5193e-06 4.00722 2.81053e-06L46.444 6.51395e-06C49.7811 6.80518e-06 51.6509 3.84558 49.59 6.47029L28.3716 33.4933Z' fill='white'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-mv__bubble::after {
    width: 1.6875rem;
    height: 1.25rem;
    bottom: -0.75rem;
  }
}
.lp-al-mv__bubble-pref {
  font-size: 2.5rem;
  font-weight: bold;
  background: linear-gradient(91.17deg, #F05745 9.79%, #EC6537 17.09%, #ED852F 86.49%, #EDA528 97.46%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 767px) {
  .lp-al-mv__bubble-pref {
    font-size: 1.25rem;
  }
}
.lp-al-mv__bubble-underline {
  background: linear-gradient(90deg, #EDA329 0%, #ED623C 34.62%, #ED6B36 100%);
  background-size: 100% 0.25rem;
  background-position: 0 100%;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .lp-al-mv__bubble-underline {
    background-size: 100% 0.1875rem;
  }
}
.lp-al-mv__lead {
  width: 51.375rem;
  margin: 1.75rem auto 0;
}
@media (max-width: 767px) {
  .lp-al-mv__lead {
    width: 20rem;
    margin: 1.125rem auto 0;
  }
}
@media (min-width: 768px) {
  .lp-al-mv__text {
    margin: 0;
    position: absolute;
    left: 3.875rem;
    bottom: 5.5rem;
    writing-mode: vertical-rl;
  }
}
@media (min-width: 768px) and (max-width: 1312px) {
  .lp-al-mv__text {
    left: 0.9375rem;
  }
}
@media (max-width: 767px) {
  .lp-al-mv__text {
    margin: 1rem 0 0;
  }
}
.lp-al-mv__text-highlight {
  display: inline;
  font-size: 1.125rem;
  letter-spacing: 0.15em;
  font-weight: 500;
  color: #ff5634;
  background: #fff;
  line-height: 2.46;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  border-radius: 0.25rem;
  padding-block: 0.25rem;
  padding-inline-start: 0.5rem;
  padding-inline-end: 0;
}
@media (max-width: 767px) {
  .lp-al-mv__text-highlight {
    font-size: 0.875rem;
    line-height: 2.9;
    padding-block: 0.375rem;
    padding-inline: 0.5rem;
  }
}
.lp-al-mv__illust {
  position: absolute;
}
@media (min-width: 768px) {
  .lp-al-mv__illust {
    top: -3.0625rem;
    right: -11.6875rem;
    width: 14.5rem;
  }
}
@media (max-width: 767px) {
  .lp-al-mv__illust {
    width: 5.375rem;
    top: -6.25rem;
    right: -1.125rem;
  }
}

.lp-al-service {
  padding: 6.25rem 0;
  position: relative;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .lp-al-service {
    padding: 3.75rem 1.25rem;
  }
}
.lp-al-service__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.lp-al-service__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 767px) {
  .lp-al-service__list {
    grid-template-columns: 1fr;
  }
}
.lp-al-service__brand {
  position: absolute;
  text-transform: uppercase;
  font-size: 8.4375rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  background: linear-gradient(267.24deg, rgba(240, 87, 69, 0.3) -70.4%, rgba(236, 101, 55, 0.3) -10.43%, rgba(237, 165, 40, 0.3) 87.91%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}
@media (max-width: 767px) {
  .lp-al-service__brand {
    font-size: 3.25rem;
  }
}
.lp-al-service__brand::before, .lp-al-service__brand::after {
  display: block;
  height: 0;
  width: 0;
  content: "";
}
.lp-al-service__brand::before {
  margin-block-end: -0.1555555556em;
}
.lp-al-service__brand::after {
  margin-block-start: -0.1333333333em;
}
.lp-al-service.-s1 {
  background-image: url("../../promo/a-living/images/s1-bg.jpg");
  background-size: cover;
}
.lp-al-service.-s1 .lp-al-service__brand {
  top: 12.5rem;
  left: 0;
}
@media (max-width: 767px) {
  .lp-al-service.-s1 .lp-al-service__brand {
    top: 17.25rem;
  }
}
.lp-al-service.-s1 .lp-al-service__list {
  margin-top: 14.6875rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-service.-s1 .lp-al-service__list {
    margin-top: 5.3125rem;
  }
}
.lp-al-service.-s1 .lp-al-service__list::before {
  position: absolute;
  top: -4.5rem;
  right: -12.9375rem;
  width: 27.5rem;
  height: 31.3125rem;
  background-image: url("../../promo/a-living/images/s1-shine-02.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.lp-al-service.-s1 .lp-al-service__list::after {
  position: absolute;
  bottom: -15.8125rem;
  left: -12.9375rem;
  width: 25.5625rem;
  height: 25.3125rem;
  background-image: url("../../promo/a-living/images/s1-shine-02.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.lp-al-service.-s2 {
  background-image: url("../../promo/a-living/images/s2-bg.jpg");
  background-size: 100% auto;
  background-repeat: repeat-y;
}
.lp-al-service.-s2 .lp-al-service__brand {
  top: 14.1875rem;
  right: 0;
}
@media (max-width: 767px) {
  .lp-al-service.-s2 .lp-al-service__brand {
    top: 17.25rem;
  }
}
.lp-al-service.-s2 .lp-al-service__list {
  margin-top: 7.75rem;
}
@media (max-width: 767px) {
  .lp-al-service.-s2 .lp-al-service__list {
    margin-top: 5.625rem;
  }
}
.lp-al-service.-s3 {
  background: #FFFAF9;
}
.lp-al-service.-s3 .lp-al-service__brand {
  top: 12.5rem;
  left: 0;
}
@media (max-width: 767px) {
  .lp-al-service.-s3 .lp-al-service__brand {
    top: 17.5rem;
  }
}
.lp-al-service.-s3 .lp-al-service__list {
  margin-top: 10.625rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-service.-s3 .lp-al-service__list {
    margin-top: 5.3125rem;
  }
}
.lp-al-service.-s3 .lp-al-service__list::after {
  position: absolute;
  top: 2.875rem;
  right: -9rem;
  width: 41rem;
  height: 41.0625rem;
  background-image: url("../../promo/a-living/images/s3-shine.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.lp-al-service-article {
  position: relative;
  z-index: 1;
}
.lp-al-service-article__image {
  width: 45.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-service-article__image {
    width: calc(100% - 1.25rem);
  }
}
.lp-al-service-article__image img {
  display: block;
  border-radius: 2.5rem;
}
@media (max-width: 767px) {
  .lp-al-service-article__image img {
    border-radius: 1rem;
  }
}
.lp-al-service-article__content {
  background: linear-gradient(180deg, #FDFBF4 0%, #FDFBF4 80%, rgba(253, 251, 244, 0) 100%);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .lp-al-service-article__content {
    position: absolute;
    top: 10.25rem;
    right: -6.5625rem;
    padding: 4rem 0 4rem 4rem;
    border-radius: 3rem;
  }
}
@media (max-width: 767px) {
  .lp-al-service-article__content {
    position: relative;
    width: calc(100% - 1.25rem);
    border-radius: 1.25rem;
    padding: 1.5rem 0 1.5rem 1.5rem;
    margin-left: auto;
    margin-top: -2rem;
  }
}
.lp-al-service-article__title {
  margin: 0;
  letter-spacing: 0.15em;
  font-weight: bold;
  font-size: 0.9375rem;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #ee5233;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 767px) {
  .lp-al-service-article__title {
    font-size: 0.75rem;
  }
}
.lp-al-service-article__title::after {
  width: 3.25rem;
  border-bottom: 1px solid currentColor;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-service-article__title::after {
    width: 2.5rem;
  }
}
.lp-al-service-article__heading {
  margin: 2.5rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-service-article__heading {
    margin: 1.25rem 0 0;
  }
}
.lp-al-service-article__heading img {
  display: block;
  max-width: none;
  width: auto;
  height: 8rem;
}
@media (max-width: 767px) {
  .lp-al-service-article__heading img {
    height: 4.5rem;
  }
}
.lp-al-service-article__lead {
  margin: 1.25rem 0 0;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: #ee5233;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .lp-al-service-article__lead {
    font-size: 1.125rem;
    margin: 1rem 0 0;
  }
}
.lp-al-service-article__text {
  max-width: 21.625rem;
  margin: 1.25rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .lp-al-service-article__text {
    font-size: 0.875rem;
    line-height: 1.9;
    margin: 0.375rem 0 0;
  }
}
.lp-al-service-article__illust {
  position: absolute;
}
.lp-al-service-article.-s1 .lp-al-service-article__image::after {
  position: absolute;
  top: 20.4375rem;
  left: -11.3125rem;
  width: 32.6875rem;
  height: 27rem;
  background-image: url("../../promo/a-living/images/s1-shine-01.png");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  content: "";
}
.lp-al-service-article.-s1 .lp-al-service-article__illust {
  top: -4.375rem;
  right: -3.25rem;
  width: 16.875rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-service-article.-s1 .lp-al-service-article__illust {
    right: 0;
  }
}
@media (max-width: 767px) {
  .lp-al-service-article.-s1 .lp-al-service-article__illust {
    top: -1.75rem;
    right: 0;
    width: 7.25rem;
  }
}
@media (min-width: 768px) {
  .lp-al-service-article.-s2 .lp-al-service-article__content {
    width: 29.5rem;
  }
}
@media (min-width: 768px) {
  .lp-al-service-article.-s2 .lp-al-service-article__illust {
    top: -10.25rem;
    left: -5.75rem;
    width: 8.75rem;
  }
}
@media (max-width: 767px) {
  .lp-al-service-article.-s2 .lp-al-service-article__illust {
    top: -1.5rem;
    right: 0.625rem;
    width: 3.75rem;
  }
}
.lp-al-service-article.-s2 .lp-al-service-article__text {
  max-width: 24.625rem;
}
.lp-al-service-article.-s3 .lp-al-service-article__image::after {
  position: absolute;
  top: -14.3125rem;
  left: -27rem;
  width: 41rem;
  height: 41.0625rem;
  background-image: url("../../promo/a-living/images/s3-shine.png");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  content: "";
}
@media (min-width: 768px) {
  .lp-al-service-article.-s3 .lp-al-service-article__content {
    top: 6.25rem;
    right: 0;
    width: 29.625rem;
  }
}
.lp-al-service-article.-s3 .lp-al-service-article__illust {
  top: -4.75rem;
  right: -1.5rem;
  width: 13.75rem;
}
@media (max-width: 767px) {
  .lp-al-service-article.-s3 .lp-al-service-article__illust {
    top: -1.75rem;
    right: 0.3125rem;
    width: 5.9375rem;
  }
}
@media (min-width: 768px) {
  .lp-al-service-article.-s3 .lp-al-service-article__heading {
    margin-top: 1.625rem;
  }
}
@media (min-width: 768px) {
  .lp-al-service-article.-s3 .lp-al-service-article__lead {
    margin-top: 1.625rem;
  }
}
.lp-al-service-article.-s3 .lp-al-service-article__text {
  max-width: 25.625rem;
}
.lp-al-service-article.-reverse .lp-al-service-article__image {
  margin-left: auto;
}
.lp-al-service-article.-reverse .lp-al-service-article__content {
  background: linear-gradient(170.92deg, #FFF8F3 17.08%, #F8F8F7 46.69%, #FAE8D4 97.83%);
}
@media (min-width: 768px) {
  .lp-al-service-article.-reverse .lp-al-service-article__content {
    padding: 4rem 1.625rem 3.375rem 2.5rem;
    right: auto;
    left: 0;
  }
}
@media (max-width: 767px) {
  .lp-al-service-article.-reverse .lp-al-service-article__content {
    margin-left: 0;
  }
}

.lp-al-service-bubble {
  margin-top: 11.75rem;
}
@media (max-width: 767px) {
  .lp-al-service-bubble {
    margin-top: 1.875rem;
  }
}
.lp-al-service-bubble__wrapper {
  position: relative;
  filter: drop-shadow(0.625rem 0.625rem 0.75rem #F7CD91);
}
@media (max-width: 767px) {
  .lp-al-service-bubble__wrapper {
    filter: drop-shadow(0.375rem 0.375rem 0.5rem #F7CD91);
  }
}
.lp-al-service-bubble__content {
  border-radius: 2.5rem;
  min-height: 26.625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='1025' height='426' viewBox='0 0 1025 426' fill='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M984.5 0C1006.87 0.000263885 1025 18.1326 1025 40.5V353.5C1025 375.867 1006.87 394 984.5 394H541.308L519.153 422.41C515.95 426.517 509.739 426.517 506.536 422.41L484.382 394H40.5C18.1325 394 0 375.868 0 353.5V40.5C4.1239e-06 18.1325 18.1325 0 40.5 0H984.5Z' fill='url(%23pattern0_4026_763)'/%3E%3Cdefs%3E%3Cpattern id='pattern0_4026_763' patternUnits='userSpaceOnUse' patternTransform='matrix(45 0 0 45 -0.5 -0.5)' preserveAspectRatio='none' viewBox='-0.5 -0.5 45 45' width='1' height='1'%3E%3Cuse xlink:href='%23pattern0_4026_763_inner' transform='translate(-45 -45)'/%3E%3Cuse xlink:href='%23pattern0_4026_763_inner' transform='translate(0 -45)'/%3E%3Cuse xlink:href='%23pattern0_4026_763_inner' transform='translate(-45 0)'/%3E%3Cg id='pattern0_4026_763_inner'%3E%3Crect width='45' height='45' fill='white' stroke='%23FAF6EF'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
  padding: 2.5rem 2.5rem 3.75rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__content {
    border-radius: 1rem;
    padding: 1.5rem 1.125rem 3.125rem;
    background-image: url("data:image/svg+xml,%3Csvg width='335' height='500' viewBox='0 0 335 500' fill='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M318.503 0C327.616 0 335.003 7.3873 335.003 16.5V461.221C335.003 470.333 327.616 477.721 318.503 477.721H186.134L170.706 498.397C169.106 500.541 165.894 500.541 164.294 498.397L148.866 477.721H16.5C7.38742 477.721 0.000184829 470.333 0 461.221V16.5C0 7.3873 7.3873 0 16.5 0H318.503Z' fill='url(%23pattern0_2123_19371)'/%3E%3Cdefs%3E%3Cpattern id='pattern0_2123_19371' patternUnits='userSpaceOnUse' patternTransform='matrix(45 0 0 45 -0.5 -0.5)' preserveAspectRatio='none' viewBox='-0.5 -0.5 45 45' width='1' height='1'%3E%3Cuse xlink:href='%23pattern0_2123_19371_inner' transform='translate(-45 -45)'/%3E%3Cuse xlink:href='%23pattern0_2123_19371_inner' transform='translate(0 -45)'/%3E%3Cuse xlink:href='%23pattern0_2123_19371_inner' transform='translate(-45 0)'/%3E%3Cg id='pattern0_2123_19371_inner'%3E%3Crect width='45' height='45' fill='white' stroke='%23FAF6EF'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3C/svg%3E%0A");
  }
}
.lp-al-service-bubble__logos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__logos {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.lp-al-service-bubble__logos .-anabuki {
  width: 19.9375rem;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__logos .-anabuki {
    width: 12.5rem;
  }
}
.lp-al-service-bubble__logos .-jpx {
  width: 3.6875rem;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__logos .-jpx {
    width: 2.5rem;
  }
}
.lp-al-service-bubble__title {
  margin: 1.875rem 0 0;
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
  color: #241d15;
  font-weight: bold;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__title {
    font-size: 1rem;
    margin: 1.25rem 0 0;
  }
}
.lp-al-service-bubble__highlight {
  display: inline-block;
  line-height: 1;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  border-radius: 0.125rem;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding: 0.125rem 0.3125rem 0.375rem;
  color: #fff;
  margin: 0 0.5rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__highlight {
    margin: 0 0.25rem 0 0;
  }
}
.lp-al-service-bubble__highlight.-px0 {
  padding-left: 0;
  padding-right: 0;
  margin: 0 0.5rem;
}
.lp-al-service-bubble__text {
  margin: 1.5rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #322313;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__text {
    font-size: 0.875rem;
    margin: 0.75rem 0 0;
  }
}
.lp-al-service-bubble__tag {
  width: -moz-fit-content;
  width: fit-content;
  background: #F26F33;
  box-shadow: 0.25rem 0.25rem 0.75rem rgba(0, 0, 0, 0.16);
  border-radius: 0.75rem 0.75rem 0 0;
  display: grid;
  grid-template-columns: 2.8125rem 1fr;
  gap: 1rem;
  align-items: center;
  color: #fff;
  padding: 0.5625rem 1.5rem;
  margin-left: 4rem;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__tag {
    margin-left: 1rem;
    gap: 0.5rem;
    border-radius: 0.375rem 0.375rem 0 0;
    padding: 0.375rem 0.875rem;
    grid-template-columns: 1.875rem 1fr;
  }
}
.lp-al-service-bubble__tag-lead {
  font-size: 0.75rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #fde1d1;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__tag-lead {
    font-size: 0.5rem;
  }
}
.lp-al-service-bubble__tag-text {
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.1166666667em;
}
@media (max-width: 767px) {
  .lp-al-service-bubble__tag-text {
    font-size: 0.875rem;
  }
}

.lp-al-point-card {
  position: relative;
}
.lp-al-point-card::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(88.93deg, rgba(240, 87, 69, 0.33) -0.5%, rgba(236, 101, 55, 0.33) 65.14%, rgba(237, 165, 40, 0.33) 100.79%);
  filter: blur(1.1875rem);
  content: "";
}
@media (max-width: 767px) {
  .lp-al-point-card + .lp-al-point-card {
    margin-top: 4.6875rem;
  }
}
@media (min-width: 768px) {
  .lp-al-point-card:nth-child(2) {
    margin-top: 5rem;
  }
}
.lp-al-point-card__inner {
  border-radius: 2rem;
  padding: 1.5rem;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-al-point-card__inner {
    padding: 1.25rem;
    border-radius: 1rem;
  }
}
.lp-al-point-card__index {
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  top: -5.125rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5625rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 100.79%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 767px) {
  .lp-al-point-card__index {
    font-size: 1.25rem;
    top: -4rem;
  }
}
.lp-al-point-card__number {
  display: block;
  font-size: 5.3125rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .lp-al-point-card__number {
    font-size: 4rem;
  }
}
.lp-al-point-card__image img {
  display: block;
  border-radius: 1.5rem;
}
@media (max-width: 767px) {
  .lp-al-point-card__image img {
    border-radius: 0.75rem;
  }
}
.lp-al-point-card__lead {
  margin: 0.75rem 0 0;
  text-align: center;
  background: linear-gradient(91.17deg, #F05745 9.79%, #EC6537 75.51%, #EDA528 97.46%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  letter-spacing: 0.04em;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .lp-al-point-card__lead {
    font-size: 1.375rem;
    margin: 0.5rem 0 0;
  }
}
.lp-al-point-card__text {
  font-size: 1rem;
  line-height: 1.8;
  margin: 0.9375rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-point-card__text {
    font-size: 0.875rem;
    margin: 0.375rem 0 0;
  }
}

.lp-al-believe {
  background-image: url("../../promo/a-living/images/what-we-believe-bg.jpg");
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding: 6.25rem 1.5rem;
  position: relative;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .lp-al-believe {
    padding: 3.125rem 1.25rem;
  }
}
.lp-al-believe__brand {
  position: absolute;
  top: 4.75rem;
  right: 0;
  text-transform: uppercase;
  font-size: 8.4375rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  background: linear-gradient(267.24deg, rgba(240, 87, 69, 0.3) -70.4%, rgba(236, 101, 55, 0.3) -10.43%, rgba(237, 165, 40, 0.3) 87.91%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}
@media (max-width: 767px) {
  .lp-al-believe__brand {
    top: 40%;
    font-size: 3.25rem;
  }
}
.lp-al-believe__brand::before, .lp-al-believe__brand::after {
  display: block;
  height: 0;
  width: 0;
  content: "";
}
.lp-al-believe__brand::before {
  margin-block-end: -0.1555555556em;
}
.lp-al-believe__brand::after {
  margin-block-start: -0.1333333333em;
}
.lp-al-believe__inner {
  max-width: 64rem;
  margin: 0 auto;
}
.lp-al-believe__title {
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  color: #EE5233;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .lp-al-believe__title {
    font-size: 0.6875rem;
  }
}
.lp-al-believe__heading {
  margin: 1.5rem 0 0;
  text-align: center;
  color: #241D15;
  font-size: 2.75rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-al-believe__heading {
    font-size: 1.5rem;
    margin: 0.875rem 0 0;
  }
}
.lp-al-believe__highlight {
  display: inline-block;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  position: relative;
}
@media (min-width: 768px) {
  .lp-al-believe__highlight {
    margin-right: 1.25rem;
  }
}
.lp-al-believe__highlight::after {
  position: absolute;
  top: -0.375rem;
  left: -1.75rem;
  width: 25.75rem;
  height: 5.6875rem;
  background-image: url("data:image/svg+xml,%3Csvg width='412' height='91' viewBox='0 0 412 91' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M200.804 86.5118C200.202 86.7189 199.601 86.9259 191.576 87.2642C183.551 87.6024 168.121 88.0656 146.752 86.9573C125.384 85.8491 98.5448 83.1553 79.6284 80.6363C60.712 78.1173 50.5316 75.8547 41.3274 73.0259C32.1232 70.1972 24.2037 66.8709 18.0475 63.8488C11.8913 60.8268 7.73835 58.2099 5.26925 55.7515C2.80016 53.293 2.14077 51.0724 3.03475 48.1383C3.92872 45.2042 6.39604 41.6239 10.8559 38.0782C15.3158 34.5326 21.6934 31.1302 32.7878 27.3795C43.8822 23.6288 59.5001 19.633 83.6145 15.6292C107.729 11.6255 139.867 7.73497 168.564 5.40525C197.262 3.07552 221.546 2.42449 247.059 2.72236C272.572 3.02023 298.579 4.28672 320.832 6.02777C343.084 7.76881 360.795 9.94604 373.028 12.0524C385.261 14.1587 391.48 16.1282 396.387 18.4359C401.294 20.7436 404.701 23.33 406.717 25.5645C408.734 27.7991 409.257 29.6035 407.903 32.0788C406.549 34.554 403.302 37.6456 394.173 41.8014C385.045 45.9572 370.132 51.0836 335.454 56.3884C300.775 61.6932 246.783 67.0209 216.954 69.6745C187.126 72.328 183.097 72.1459 179.281 71.7969C175.464 71.448 171.982 70.9379 170.678 70.1582C169.373 69.3784 170.352 68.3446 171.443 67.2169' stroke='url(%23paint0_linear_2108_19869)' stroke-opacity='0.56' stroke-width='5.30973' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2108_19869' x1='-3.67805' y1='45.1547' x2='408.655' y2='45.1548' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FE8E5B'/%3E%3Cstop offset='1' stop-color='%23FFC681'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-believe__highlight::after {
    top: -0.25rem;
    left: -1rem;
    width: 14.125rem;
    height: 3.25rem;
  }
}
.lp-al-believe__group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.25rem;
  margin: 3.125rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-believe__group {
    grid-template-columns: 1fr;
    margin: 2rem 0 0;
    gap: 4.875rem;
  }
}
@media (min-width: 768px) {
  .lp-al-believe__col {
    grid-row: 1/span 2;
    display: grid;
    grid-template-rows: subgrid;
    gap: 9.375rem 0;
  }
}
.lp-al-believe__col + .lp-al-believe__col {
  position: relative;
}
.lp-al-believe__col + .lp-al-believe__col::before {
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.26982 0.739945C3.29364 -0.236237 1.70832 -0.236237 0.732136 0.739945C-0.244045 1.71613 -0.244045 3.30144 0.732136 4.27763L11.4623 15L0.739945 25.7302C-0.236237 26.7064 -0.236237 28.2917 0.739945 29.2679C1.71613 30.244 3.30144 30.244 4.27763 29.2679L15 18.5377L25.7302 29.2601C26.7064 30.2362 28.2917 30.2362 29.2679 29.2601C30.244 28.2839 30.244 26.6986 29.2679 25.7224L18.5377 15L29.2601 4.26982C30.2362 3.29364 30.2362 1.70832 29.2601 0.732136C28.2839 -0.244045 26.6986 -0.244045 25.7224 0.732136L15 11.4623L4.26982 0.739945Z' fill='url(%23paint0_linear_2108_19923)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2108_19923' x1='-1.32051' y1='1.36207e-07' x2='30.2315' y2='-0.589365' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0.0192308' stop-color='%23F05745'/%3E%3Cstop offset='0.654753' stop-color='%23EC6537'/%3E%3Cstop offset='1' stop-color='%23EDA528'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (min-width: 768px) {
  .lp-al-believe__col + .lp-al-believe__col::before {
    bottom: 7.5rem;
    left: -2.625rem;
    width: 1.875rem;
    height: 1.875rem;
  }
}
@media (max-width: 767px) {
  .lp-al-believe__col + .lp-al-believe__col::before {
    top: -3.125rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.625rem;
    height: 1.625rem;
  }
}

.lp-al-believe-bubble {
  padding: 2rem 2rem 1.5rem;
  background: #fff;
  border-radius: 2rem;
  filter: drop-shadow(0 0 1.875rem rgba(0, 0, 0, 0.06));
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble {
    border-radius: 1rem;
    padding: 1.25rem;
    filter: drop-shadow(0 0 0.9375rem rgba(0, 0, 0, 0.06));
  }
}
.lp-al-believe-bubble::after {
  position: absolute;
  width: 4.6875rem;
  height: 3.375rem;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='75' height='54' viewBox='0 0 75 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M43.7627 50.4782C40.5597 54.5605 34.3778 54.5605 31.1748 50.4782L1.72082 12.9383C-2.39824 7.6884 1.34185 -1.48648e-07 8.01475 4.33692e-07L66.9227 5.57455e-06C73.5956 6.15689e-06 77.3358 7.6884 73.2167 12.9383L43.7627 50.4782Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-believe-bubble::after {
    width: 2.75rem;
    height: 2.125rem;
    bottom: -1.625rem;
  }
}
.lp-al-believe-bubble__figure {
  margin: 0;
  position: relative;
}
.lp-al-believe-bubble__figure img {
  display: block;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__figure img {
    border-radius: 0.875rem;
  }
}
.lp-al-believe-bubble__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  border-radius: 0 1.25rem 0 1rem;
  padding: 0.375rem 1.6875rem;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__caption {
    font-size: 0.875rem;
    padding: 0.25rem 1.25rem;
  }
}
.lp-al-believe-bubble__title {
  margin: 1.5rem 0 0;
  font-size: 1.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ee5233;
  padding-left: 2rem;
  position: relative;
  min-height: 4.6875rem;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__title {
    font-size: 1.25rem;
    padding-left: 0.875rem;
    min-height: 0;
    margin: 0.9375rem 0 0;
  }
}
.lp-al-believe-bubble__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.4375rem;
  height: 84%;
  background: linear-gradient(to bottom, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  border-radius: 0.125rem;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__title::before {
    width: 0.1875rem;
  }
}
.lp-al-believe-bubble__lead {
  margin: 0.875rem 0 0;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__lead {
    font-size: 1.125rem;
    margin: 0.5rem 0 0;
  }
}
.lp-al-believe-bubble__lead-text {
  display: inline-block;
  background: linear-gradient(91.17deg, #F05745 9.79%, #EC6537 75.51%, #EDA528 97.46%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}
.lp-al-believe-bubble__text {
  margin: 0.875rem 0 0;
  font-size: 1rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .lp-al-believe-bubble__text {
    font-size: 0.875rem;
    margin: 0.4375rem 0 0;
  }
}

.lp-al-believe-box {
  margin: 0;
  padding: 2.6875rem 2rem 2.9375rem;
  color: #fff;
  background: linear-gradient(145.33deg, #FF5C49 31.26%, #FF6C3B 49.3%, #EDA528 91.39%);
  border-radius: 2rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-believe-box {
    border-radius: 1rem;
    margin: 6.25rem 0 0;
    padding: 2.25rem 1.5rem 1.5rem;
  }
}
.lp-al-believe-box__illust {
  position: absolute;
  bottom: calc(100% - 1.75rem);
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .lp-al-believe-box__illust {
    bottom: calc(100% - 1.125rem);
  }
}
.lp-al-believe-box__illust.-i1 {
  width: 14.875rem;
}
@media (max-width: 767px) {
  .lp-al-believe-box__illust.-i1 {
    width: 8.25rem;
  }
}
.lp-al-believe-box__illust.-i2 {
  width: 9.875rem;
}
@media (max-width: 767px) {
  .lp-al-believe-box__illust.-i2 {
    width: 5.9375rem;
  }
}
.lp-al-believe-box__lead {
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .lp-al-believe-box__lead {
    font-size: 1.125rem;
  }
}
.lp-al-believe-box__text {
  margin: 1rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .lp-al-believe-box__text {
    font-size: 0.875rem;
    margin: 0.5rem 0 0;
  }
}

.lp-al-facilities {
  padding: 6.75rem 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-facilities {
    padding: 6.25rem 0 0;
  }
}
.lp-al-facilities::before {
  position: absolute;
  width: 100%;
  height: 43.125rem;
  top: 0;
  left: 0;
  background-image: url("../../promo/a-living/images/facilities-bg-04.png"), url("../../promo/a-living/images/facilities-bg-01.jpg");
  background-size: 100% auto, cover;
  background-position: bottom center, top center;
  background-repeat: no-repeat;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-facilities::before {
    height: 30.125rem;
  }
}
.lp-al-facilities__inner {
  max-width: 90rem;
  margin: 0 auto;
  position: relative;
}
.lp-al-facilities__wrapper {
  max-width: 64rem;
  margin: 0 auto;
}
.lp-al-facilities__bottom {
  padding: 5.25rem 0 6.25rem;
  background-image: url("../../promo/a-living/images/facilities-bg-03.png"), url("../../promo/a-living/images/facilities-bg-02.jpg");
  background-size: 100% auto, cover;
  background-position: bottom center, top center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .lp-al-facilities__bottom {
    padding: 4rem 1.25rem 3.75rem;
  }
}
.lp-al-facilities__heading {
  margin: 0;
  text-align: center;
  color: #EE5233;
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .lp-al-facilities__heading {
    font-size: 1rem;
  }
}
.lp-al-facilities__heading-sub {
  display: block;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  font-size: 3.75rem;
  letter-spacing: 0.09em;
  margin-bottom: 0.8125rem;
}
@media (max-width: 767px) {
  .lp-al-facilities__heading-sub {
    font-size: 1.875rem;
    margin-bottom: 0.5rem;
  }
}
.lp-al-facilities__heading.-sm {
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .lp-al-facilities__heading.-sm {
    font-size: 0.875rem;
  }
}
.lp-al-facilities__heading.-sm .lp-al-facilities__heading-sub {
  font-size: 2.75rem;
}
@media (max-width: 767px) {
  .lp-al-facilities__heading.-sm .lp-al-facilities__heading-sub {
    font-size: 1.625rem;
  }
}
.lp-al-facilities__title {
  margin: 2.25rem 0 0;
  font-size: 2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .lp-al-facilities__title {
    font-size: 1.125rem;
    margin: 1.25rem 0 0;
  }
}
.lp-al-facilities__title-text {
  display: inline-block;
  letter-spacing: 0.04em;
  background: linear-gradient(91.34deg, #F05745 17.05%, #EC6537 72.58%, #EDA528 91.12%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  position: relative;
  padding-bottom: 1rem;
}
.lp-al-facilities__title-text::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 29.25rem;
  height: 1.0625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='468' height='17' viewBox='0 0 468 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.50018 13.5759C3.16051 13.4831 3.82083 13.3903 38.465 11.4053C73.1092 9.42027 141.717 5.5459 176.335 3.7733C210.952 2.0007 209.499 2.44726 207.107 2.93541C204.714 3.42355 201.426 3.93975 198.037 4.47158' stroke='url(%23paint0_linear_2051_24492)' stroke-opacity='0.8' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M116.69 13.9228C116.709 13.9229 116.728 13.923 174.264 12.2023C231.8 10.4816 346.854 7.04 465.273 3.45998' stroke='url(%23paint1_linear_2051_24492)' stroke-opacity='0.8' stroke-width='5' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2051_24492' x1='-0.674686' y1='7.47765' x2='208.15' y2='8.5896' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FE8E5B'/%3E%3Cstop offset='1' stop-color='%23FFC681'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_2051_24492' x1='111.287' y1='7.73455' x2='465.24' y2='9.61929' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FE8E5B'/%3E%3Cstop offset='1' stop-color='%23FFC681'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-facilities__title-text::after {
    width: 100%;
  }
}
.lp-al-facilities__text {
  margin: 2.875rem 0 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .lp-al-facilities__text {
    margin: 0.625rem 0 0;
    font-size: 0.875rem;
    padding: 0 2.1875rem;
  }
}
.lp-al-facilities__illust {
  position: absolute;
}
.lp-al-facilities__illust.-i1 {
  width: 16.375rem;
  top: 2.5rem;
  left: 5.375rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-facilities__illust.-i1 {
    left: 1.25rem;
  }
}
@media (max-width: 767px) {
  .lp-al-facilities__illust.-i1 {
    width: 5.9375rem;
    top: -4.875rem;
    left: 0.3125rem;
  }
}
.lp-al-facilities__illust.-i2 {
  width: 15.0625rem;
  top: 5.625rem;
  right: 7.1875rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-facilities__illust.-i2 {
    right: 2.375rem;
  }
}
@media (max-width: 767px) {
  .lp-al-facilities__illust.-i2 {
    width: 6.25rem;
    top: -5.5rem;
    right: 0.625rem;
  }
}

.lp-al-facilities-slider {
  margin: 4.375rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider {
    margin: 2.1875rem 0 0;
  }
}
.lp-al-facilities-slider__figure {
  margin: 0;
  position: relative;
}
.lp-al-facilities-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 77%, rgba(0, 0, 0, 0.5) 93%);
  color: var(--color-bg-primary);
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 1.125rem;
  box-sizing: border-box;
  border-radius: 0 0 0.75rem 0.75rem;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__caption {
    border-radius: 0 0 0.5rem 0.5rem;
    padding: 0.75rem;
    font-size: 0.75rem;
  }
}
.lp-al-facilities-slider__main .swiper-slide {
  width: 51.25rem;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__main .swiper-slide {
    width: 18.75rem;
  }
}
.lp-al-facilities-slider__main .swiper-slide img {
  max-width: none;
  width: 100%;
  border-radius: 0.75rem;
  display: block;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__main .swiper-slide img {
    border-radius: 0.5rem;
  }
}
.lp-al-facilities-slider__thumb {
  margin: 2rem auto 0;
  padding: 0 2.25rem;
  width: 38.75rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__thumb {
    width: calc(100% - 3.75rem);
    margin: 0.5rem auto 0;
    padding: 0 1.75rem;
  }
}
.lp-al-facilities-slider__thumb .swiper-slide {
  width: 8.9375rem;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__thumb .swiper-slide {
    width: calc(25% - 0.375rem);
  }
}
.lp-al-facilities-slider__thumb .swiper-slide img {
  border-radius: 0.25rem;
  display: block;
}
.lp-al-facilities-slider__thumb .swiper-slide::after {
  position: absolute;
  inset: 0;
  border: 0.25rem solid #EE5233;
  border-radius: 0.25rem;
  opacity: 0;
  transition: 0.4s opacity;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__thumb .swiper-slide::after {
    border-width: 0.125rem;
  }
}
.lp-al-facilities-slider__thumb .swiper-slide:last-child {
  margin-right: 0 !important;
}
.lp-al-facilities-slider__thumb .swiper-slide-thumb-active::after {
  opacity: 1;
}
.lp-al-facilities-slider__thumb .swiper-button-prev, .lp-al-facilities-slider__thumb .swiper-button-next {
  --swiper-navigation-sides-offset: 0;
  width: 1rem;
  height: 1.5rem;
  margin-top: -0.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='24' viewBox='0 0 16 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.494167 12.6732C-0.165034 12.1621 -0.165034 11.1665 0.494167 10.6554L13.8894 0.27011C14.7282 -0.380233 15.9482 0.217599 15.9482 1.279L15.9482 22.0496C15.9482 23.111 14.7282 23.7089 13.8894 23.0585L0.494167 12.6732Z' fill='%23EE5233'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .lp-al-facilities-slider__thumb .swiper-button-prev, .lp-al-facilities-slider__thumb .swiper-button-next {
    --swiper-navigation-sides-offset: 0.375rem;
    width: 0.8125rem;
    height: 1.1875rem;
    margin-top: -0.5625rem;
  }
}
.lp-al-facilities-slider__thumb .swiper-button-prev::after, .lp-al-facilities-slider__thumb .swiper-button-next::after {
  display: none;
}
.lp-al-facilities-slider__thumb .swiper-button-next {
  transform: scale(-1);
}

.lp-al-facilities-article + .lp-al-facilities-article {
  margin-top: 4.6875rem;
}
@media (max-width: 767px) {
  .lp-al-facilities-article + .lp-al-facilities-article {
    margin-top: 2.8125rem;
  }
}
.lp-al-facilities-article__inner {
  position: relative;
  margin: -2.1875rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__inner {
    margin: -0.25rem 0 0;
  }
}
.lp-al-facilities-article__content {
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  border-radius: 1.75rem;
  background: var(--color-bg-primary);
  display: flex;
  justify-content: center;
  padding: 4.125rem 1.5rem 2.375rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .lp-al-facilities-article__content {
    position: absolute;
    right: 0;
    top: 50%;
    width: 30rem;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .lp-al-facilities-article__content {
    position: relative;
    width: 100%;
    padding: 3.25rem 1rem 1.5rem;
    border-radius: 0.875rem;
    margin: 2.125rem 0 0;
  }
}
.lp-al-facilities-article__heading {
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 6.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__heading {
    font-size: 2rem;
  }
}
.lp-al-facilities-article__heading-text {
  display: inline-block;
  background: linear-gradient(89.44deg, rgba(255, 85, 52, 0.2) 8.06%, rgba(237, 165, 40, 0.2) 102.4%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.lp-al-facilities-article__image {
  margin: 0;
  filter: drop-shadow(0 0 2.25rem rgba(154, 79, 42, 0.4));
  width: 36.75rem;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__image {
    width: 100%;
    filter: drop-shadow(0 0 1.25rem rgba(154, 79, 42, 0.4));
  }
}
.lp-al-facilities-article__image img {
  display: block;
  border-radius: 0.75rem;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__image img {
    border-radius: 0.5rem;
  }
}
.lp-al-facilities-article__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.5) 90%);
  color: var(--color-bg-primary);
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 1.75rem 2rem;
  box-sizing: border-box;
  border-radius: 0 0 0.75rem 0.75rem;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__caption {
    border-radius: 0 0 0.5rem 0.5rem;
    padding: 0.875rem 1rem;
    font-size: 0.75rem;
  }
}
.lp-al-facilities-article__index {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  font-size: 5.25rem;
  font-style: italic;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__index {
    top: -1.75rem;
    font-size: 3.75rem;
  }
}
.lp-al-facilities-article__index-number {
  position: relative;
  display: inline-block;
  background: linear-gradient(67.08deg, #F05745 31.67%, #EC6537 198.32%, #EDA528 288.85%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.lp-al-facilities-article__index-number::after {
  position: absolute;
  bottom: -0.3125rem;
  left: 50%;
  transform: translateX(-44%);
  width: 10.6875rem;
  height: 1.6875rem;
  background-image: url("data:image/svg+xml,%3Csvg width='171' height='27' viewBox='0 0 171 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.50377 14.9646C2.90668 14.8669 3.30959 14.7691 24.1992 13.1886C45.0889 11.6081 86.4531 8.54779 107.308 7.22797C128.164 5.90815 127.256 6.42152 125.783 6.96267C124.31 7.50381 122.299 8.05718 120.227 8.6273' stroke='url(%23paint0_linear_2108_18940)' stroke-opacity='0.8' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M38.6541 19.7641C38.661 19.7645 38.6679 19.7648 60.0689 18.857C81.4698 17.9491 124.265 16.133 168.314 14.2261' stroke='url(%23paint1_linear_2108_18940)' stroke-opacity='0.8' stroke-width='5' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2108_18940' x1='1.13197' y1='7.38149' x2='125.736' y2='16.4533' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FE8E5B'/%3E%3Cstop offset='1' stop-color='%23FFC681'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_2108_18940' x1='37.0935' y1='13.5085' x2='167.674' y2='23.0175' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FE8E5B'/%3E%3Cstop offset='1' stop-color='%23FFC681'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-facilities-article__index-number::after {
    width: 8.75rem;
    height: 1.375rem;
    transform: translateX(-47%);
  }
}
.lp-al-facilities-article__title {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__title {
    font-size: 1.25rem;
  }
}
.lp-al-facilities-article__title-text {
  display: inline-block;
  background: linear-gradient(91.17deg, #F05745 9.79%, #EC6537 75.51%, #EDA528 97.46%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.lp-al-facilities-article__text {
  margin: 0.9375rem 0 0;
  font-size: 1rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .lp-al-facilities-article__text {
    font-size: 0.875rem;
    margin: 0.5rem 0 0;
  }
}
.lp-al-facilities-article.-reverse .lp-al-facilities-article__content {
  right: auto;
  left: 0;
}
.lp-al-facilities-article.-reverse .lp-al-facilities-article__image {
  margin-left: auto;
}

.lp-al-facilities-pricing {
  margin: 4.25rem 0 0;
}
.lp-al-facilities-pricing__table {
  width: 100%;
  overflow: auto;
  margin: 2.375rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-facilities-pricing__table {
    margin: 1.75rem 0 0;
  }
}
.lp-al-facilities-pricing__table-note {
  display: block;
  font-size: 1rem;
  color: #7A7A7A;
  font-weight: 500;
}
.lp-al-facilities-pricing__table-inner {
  width: 64rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.lp-al-facilities-pricing__table-inner thead th {
  color: var(--color-bg-primary);
  background: #FF654D;
  text-align: center;
  height: 5.5rem;
  vertical-align: middle;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-right: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
}
@media (max-width: 767px) {
  .lp-al-facilities-pricing__table-inner thead th {
    font-size: 1rem;
    height: 3.75rem;
  }
}
.lp-al-facilities-pricing__table-inner thead th:first-child {
  border-top-left-radius: 0.75rem;
  border-left: 1px solid #D6D6D6;
}
.lp-al-facilities-pricing__table-inner thead th:last-child {
  border-top-right-radius: 0.75rem;
}
.lp-al-facilities-pricing__table-inner thead td:last-child {
  border-top-right-radius: 1rem;
}
.lp-al-facilities-pricing__table-inner thead :is(th, td) {
  border-top: 1px solid #D6D6D6;
}
.lp-al-facilities-pricing__table-inner tbody th, .lp-al-facilities-pricing__table-inner tbody td {
  height: 5.5rem;
  vertical-align: middle;
  font-size: 1.125rem;
  line-height: 1.6;
  text-align: center;
  border-right: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
  background: var(--color-bg-primary);
  padding: 1rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .lp-al-facilities-pricing__table-inner tbody th, .lp-al-facilities-pricing__table-inner tbody td {
    font-size: 1rem;
    height: 3.75rem;
  }
}
.lp-al-facilities-pricing__table-inner tbody th {
  font-weight: bold;
  background: #FFF8F3;
}
.lp-al-facilities-pricing__table-inner tbody th:first-child {
  border-left: 1px solid #D6D6D6;
}
.lp-al-facilities-pricing__table-inner tbody tr:last-child th:first-child {
  border-bottom-left-radius: 0.75rem;
}
.lp-al-facilities-pricing__table-inner tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.75rem;
}
.lp-al-facilities-pricing__figure {
  margin: 0;
  padding: 1.25rem 0 0.875rem;
}
.lp-al-facilities-pricing__figure img {
  display: block;
  height: 4.25rem;
  width: auto;
  max-width: none;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .lp-al-facilities-pricing__figure img {
    height: 3.5rem;
  }
}
.lp-al-facilities-pricing__caption {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin: 0.9375rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-facilities-pricing__caption {
    font-size: 0.8125rem;
    margin: 0.625rem 0 0;
  }
}
.lp-al-facilities-pricing__bold {
  font-weight: bold;
}
.lp-al-facilities-pricing__bold.-underline {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.lp-al-facilities-pricing__bold.-underline::after {
  position: absolute;
  bottom: -0.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 108%;
  height: 0.625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='113' height='10' viewBox='0 0 113 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.00049 7C3.35831 6.93746 3.71614 6.87492 12.7074 6.05248C21.6986 5.23004 39.3123 3.6496 57.3577 3.168C75.4031 2.68641 93.3463 3.35155 102.318 3.76814C111.29 4.18472 110.748 4.3326 108.869 4.56746C106.99 4.80233 103.791 5.1197 100.495 5.44669' stroke='%23FFBDA8' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  content: "";
}

.lp-al-schedule {
  background: #FFFCFA;
  padding: 5.25rem 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-schedule {
    padding: 6.25rem 0 0;
  }
}
.lp-al-schedule__brand {
  position: absolute;
  top: 30.3125rem;
  left: 0;
  text-transform: uppercase;
  font-size: 8.4375rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  background: linear-gradient(267.24deg, rgba(240, 87, 69, 0.3) -70.4%, rgba(236, 101, 55, 0.3) -10.43%, rgba(237, 165, 40, 0.3) 87.91%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}
@media (max-width: 767px) {
  .lp-al-schedule__brand {
    font-size: 3.25rem;
    top: 38%;
  }
}
.lp-al-schedule__brand::before, .lp-al-schedule__brand::after {
  display: block;
  height: 0;
  width: 0;
  content: "";
}
.lp-al-schedule__brand::before {
  margin-block-end: -0.1555555556em;
}
.lp-al-schedule__brand::after {
  margin-block-start: -0.1333333333em;
}
.lp-al-schedule__inner {
  max-width: 90rem;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-schedule__inner {
    padding: 0 1.25rem;
  }
}
.lp-al-schedule__wrapper {
  max-width: 64rem;
  margin: 0 auto;
}
.lp-al-schedule__illust {
  position: absolute;
}
.lp-al-schedule__illust.-i1 {
  width: 12.5625rem;
  top: 1.5rem;
  left: 9.625rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-schedule__illust.-i1 {
    left: 3.125rem;
  }
}
@media (max-width: 767px) {
  .lp-al-schedule__illust.-i1 {
    width: 4.625rem;
    top: -5.25rem;
    left: 0.625rem;
  }
}
.lp-al-schedule__illust.-i2 {
  width: 14.875rem;
  top: 1.875rem;
  right: 7.5rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-schedule__illust.-i2 {
    right: 2rem;
  }
}
@media (max-width: 767px) {
  .lp-al-schedule__illust.-i2 {
    width: 5.875rem;
    top: -4.125rem;
    right: 0.625rem;
  }
}
.lp-al-schedule__heading {
  margin: 0;
  text-align: center;
  color: #EE5233;
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .lp-al-schedule__heading {
    font-size: 1rem;
  }
}
.lp-al-schedule__heading-sub {
  display: block;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  font-size: 3.75rem;
  letter-spacing: 0.09em;
  margin-bottom: 0.8125rem;
}
@media (max-width: 767px) {
  .lp-al-schedule__heading-sub {
    font-size: 1.875rem;
    margin-bottom: 0.5rem;
  }
}
.lp-al-schedule__text {
  margin: 1.875rem 0 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .lp-al-schedule__text {
    margin: 0.9375rem 0 0;
    font-size: 0.875rem;
    padding: 0 0.9375rem;
  }
}
.lp-al-schedule__note {
  font-size: 0.875rem;
  font-weight: 400;
  color: #7A7A7A;
}
@media (max-width: 767px) {
  .lp-al-schedule__note {
    font-size: 0.75rem;
  }
}
.lp-al-schedule__title {
  margin: 3.625rem 0 0;
  display: flex;
  align-items: center;
  color: var(--primary-color, #F16D31);
  font-size: 1.875rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .lp-al-schedule__title {
    font-size: 1.375rem;
    margin: 2.125rem 0 0;
  }
}
.lp-al-schedule__title::after {
  margin-left: 1.5rem;
  flex-grow: 1;
  border-bottom: 0.125rem solid var(--secondary-color, #F1C9B7);
  content: "";
}
@media (max-width: 767px) {
  .lp-al-schedule__title::after {
    margin-left: 1.125rem;
  }
}
.lp-al-schedule__title.-orange {
  --primary-color: #FF9D00;
  --secondary-color: #FFDEA9;
}
.lp-al-schedule__title.-yellow {
  --primary-color: #E8B32C;
  --secondary-color: #F1C9B7;
}
.lp-al-schedule__icon {
  display: inline-block;
  width: 2rem;
  margin-right: 0.625rem;
}
@media (max-width: 767px) {
  .lp-al-schedule__icon {
    width: 1.5rem;
    margin-right: 0.5rem;
  }
}
.lp-al-schedule__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin: 2rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-schedule__list {
    grid-template-columns: 1fr;
    gap: 1.625rem;
    margin: 1.5rem 0 0;
  }
}
.lp-al-schedule__figure {
  margin: 0;
}
.lp-al-schedule__image {
  display: block;
  border-radius: 1.75rem;
}
@media (max-width: 767px) {
  .lp-al-schedule__image {
    border-radius: 0.875rem;
  }
}
.lp-al-schedule__caption {
  text-align: center;
  font-size: 1rem;
  margin: 0.625rem 0 0;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .lp-al-schedule__caption {
    margin: 0.3125rem 0 0;
  }
}
.lp-al-schedule__bottom {
  background: var(--color-bg-primary);
  text-align: center;
  padding: 5rem 1.5rem;
}
@media (max-width: 767px) {
  .lp-al-schedule__bottom {
    padding: 2.5rem 0.625rem;
  }
}
.lp-al-schedule__button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  width: 45.375rem;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  color: var(--color-bg-primary);
  border-radius: 0.75rem;
  background: linear-gradient(259.78deg, #FF4834 -82.41%, #EC6537 52.7%, #EDA528 115.49%);
  box-shadow: 0 0 1.6875rem rgba(100, 44, 24, 0.2);
  padding: 1.375rem 0.625rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .lp-al-schedule__button {
    width: 100%;
    font-size: 0.875rem;
    border-radius: 0.5rem;
    padding: 0.75rem 0.625rem;
    box-shadow: 0 0 1rem rgba(100, 44, 24, 0.2);
  }
}

.lp-al-schedule-banner {
  margin: 5.9375rem 0 0;
  padding: 4rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.625rem;
  background-image: url("../../promo/a-living/images/schedule-banner-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner {
    flex-direction: column;
    margin: 3.125rem 0 0;
    padding: 2.5rem 1.25rem;
    gap: 3.125rem;
  }
}
.lp-al-schedule-banner__bubble {
  width: 35.1875rem;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(0.375rem);
  border-radius: 2.5rem;
  padding: 2.5rem 2.1875rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__bubble {
    width: 100%;
    padding: 1.875rem 1.25rem;
    border-radius: 1.25rem;
  }
}
.lp-al-schedule-banner__bubble::after {
  position: absolute;
  width: 2.875rem;
  height: 3.9375rem;
  background-image: url("data:image/svg+xml,%3Csvg width='46' height='63' viewBox='0 0 46 63' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M42.8065 24.7978C46.9515 28.0005 46.9515 34.2564 42.8065 37.459L12.8912 60.5724C7.63264 64.6354 4.33973e-06 60.8871 4.63021e-06 54.2419L6.65085e-06 8.01496C6.94132e-06 1.36969 7.63265 -2.37853 12.8912 1.68439L42.8065 24.7978Z' fill='%23f9f3ef'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (min-width: 768px) {
  .lp-al-schedule-banner__bubble::after {
    top: 50%;
    right: -1.75rem;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__bubble::after {
    bottom: -1.625rem;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: 2.3125rem;
    height: 3.3125rem;
    background-image: url("data:image/svg+xml,%3Csvg width='37' height='53' viewBox='0 0 37 53' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M35.1342 23.0076C37.2067 24.6089 37.2067 27.7368 35.1342 29.3381L6.44578 51.5037C3.8165 53.5351 0.000188091 51.661 0.000188236 48.3384L0.000190174 4.00731C0.000190319 0.684672 3.81651 -1.18943 6.44579 0.842028L35.1342 23.0076Z' fill='%23f9f3ef'/%3E%3C/svg%3E%0A");
  }
}
.lp-al-schedule-banner__highlight {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.375rem 0.75rem;
  color: var(--color-bg-primary);
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  border-radius: 0.1875rem;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__highlight {
    font-size: 1rem;
  }
}
.lp-al-schedule-banner__title {
  margin: 0.9375rem 0 0;
  text-align: center;
  font-size: 1.625rem;
  color: #322313;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__title {
    font-size: 1.25rem;
  }
}
.lp-al-schedule-banner__title-highlight {
  font-size: 1.875rem;
  background: linear-gradient(88.93deg, #F05745 -0.5%, #EC6537 65.14%, #EDA528 100.79%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__title-highlight {
    font-size: 1.5rem;
  }
}
.lp-al-schedule-banner__text {
  margin: 1.25rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: #322313;
  padding: 0 1rem;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__text {
    padding: 0;
    font-size: 0.875rem;
    margin: 0.75rem 0 0;
  }
}
.lp-al-schedule-banner__image {
  width: 17rem;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__image {
    width: 14.375rem;
  }
}
.lp-al-schedule-banner__image img {
  border-radius: 0.25rem;
  display: block;
  filter: drop-shadow(0 0 1.5rem rgba(126, 63, 24, 0.69));
}
.lp-al-schedule-banner__link {
  text-align: center;
  margin: 1.75rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__link {
    margin: 1.125rem 0 0;
  }
}
.lp-al-schedule-banner__button {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  text-align: center;
  background: linear-gradient(89.52deg, #FF4833 11.6%, #F85017 86.46%);
  border-radius: 0.625rem;
  width: 15.0625rem;
  color: var(--color-bg-primary);
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0.9375rem 0.625rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__button {
    border-radius: 0.5rem;
    width: 11.25rem;
    font-size: 1rem;
    gap: 0.5rem;
    padding: 0.625rem;
  }
}
.lp-al-schedule-banner__button-icon {
  width: 1.25rem;
  margin-top: 0.125rem;
}
@media (max-width: 767px) {
  .lp-al-schedule-banner__button-icon {
    width: 1.125rem;
    margin-top: 0.1875rem;
  }
}

.lp-al-location {
  background-image: url("../../promo/a-living/images/location-bg-02.png"), url("../../promo/a-living/images/location-bg-01.jpg");
  background-size: 100% auto, cover;
  background-position: bottom center, top center;
  background-repeat: no-repeat, repeat-y;
  padding-top: 6.75rem;
  position: relative;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .lp-al-location {
    padding: 6.25rem 1.25rem 0;
  }
}
.lp-al-location__brand {
  position: absolute;
  top: 20%;
  right: 0;
  text-transform: uppercase;
  font-size: 8.4375rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  background: linear-gradient(267.24deg, rgba(240, 87, 69, 0.3) -70.4%, rgba(236, 101, 55, 0.3) -10.43%, rgba(237, 165, 40, 0.3) 87.91%);
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}
@media (max-width: 767px) {
  .lp-al-location__brand {
    font-size: 3.25rem;
    top: 35%;
  }
}
.lp-al-location__brand::before, .lp-al-location__brand::after {
  display: block;
  height: 0;
  width: 0;
  content: "";
}
.lp-al-location__brand::before {
  margin-block-end: -0.1555555556em;
}
.lp-al-location__brand::after {
  margin-block-start: -0.1333333333em;
}
.lp-al-location__inner {
  max-width: 90rem;
  margin: 0 auto;
  position: relative;
}
.lp-al-location__wrapper {
  max-width: 64rem;
  margin: 0 auto;
}
.lp-al-location__heading {
  margin: 0;
  text-align: center;
  color: #EE5233;
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .lp-al-location__heading {
    font-size: 1rem;
  }
}
.lp-al-location__heading-sub {
  display: block;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  font-size: 3.75rem;
  letter-spacing: 0.09em;
  margin-bottom: 0.8125rem;
}
@media (max-width: 767px) {
  .lp-al-location__heading-sub {
    font-size: 1.875rem;
    margin-bottom: 0.5rem;
  }
}
.lp-al-location__list {
  list-style: none;
  padding: 0;
  margin: 5rem 0 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
@media (max-width: 767px) {
  .lp-al-location__list {
    gap: 0.25rem;
    margin: 2.5rem 0 0;
  }
}
.lp-al-location__list a {
  display: block;
  border: 0.125rem solid #CF9D53;
  border-radius: 0.5rem;
  background: var(--color-bg-primary);
  color: #CF9D53;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  padding: 0.75rem 0;
  box-sizing: border-box;
  transition: background 0.3s, color 0.3s;
}
@media (max-width: 767px) {
  .lp-al-location__list a {
    font-size: 0.875rem;
    padding: 0.625rem 0;
  }
}
.lp-al-location__list a > span {
  display: inline-block;
  position: relative;
}
.lp-al-location__list a > span::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='10' height='13' viewBox='0 0 10 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.23687 12.565C4.54937 12.8775 5.05687 12.8775 5.36937 12.565L9.36938 8.565C9.68188 8.2525 9.68188 7.745 9.36938 7.4325C9.05688 7.12 8.54937 7.12 8.23687 7.4325L5.60187 10.0675V0.8C5.60187 0.3575 5.24437 0 4.80187 0C4.35937 0 4.00187 0.3575 4.00187 0.8V10.0675L1.36688 7.4325C1.05438 7.12 0.546875 7.12 0.234375 7.4325C-0.078125 7.745 -0.078125 8.2525 0.234375 8.565L4.23437 12.565H4.23687Z' fill='currentColor'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='10' height='13' viewBox='0 0 10 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.23687 12.565C4.54937 12.8775 5.05687 12.8775 5.36937 12.565L9.36938 8.565C9.68188 8.2525 9.68188 7.745 9.36938 7.4325C9.05688 7.12 8.54937 7.12 8.23687 7.4325L5.60187 10.0675V0.8C5.60187 0.3575 5.24437 0 4.80187 0C4.35937 0 4.00187 0.3575 4.00187 0.8V10.0675L1.36688 7.4325C1.05438 7.12 0.546875 7.12 0.234375 7.4325C-0.078125 7.745 -0.078125 8.2525 0.234375 8.565L4.23437 12.565H4.23687Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #CF9D53;
  transition: background 0.3s;
  width: 0.625rem;
  height: 0.8125rem;
  content: "";
}
@media (min-width: 768px) {
  .lp-al-location__list a > span::after {
    position: absolute;
    top: 50%;
    right: -1.4375rem;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .lp-al-location__list a > span::after {
    display: inline-block;
    vertical-align: -0.0625rem;
    margin-left: 0.1875rem;
  }
}
.lp-al-location__list a:hover {
  opacity: 1;
  background: #CF9D53;
  color: var(--color-bg-primary);
}
.lp-al-location__list a:hover span::after {
  background: var(--color-bg-primary);
}
.lp-al-location__list a.-active {
  background: #CF9D53;
  color: var(--color-bg-primary);
}
.lp-al-location__list a.-active span::after {
  background: var(--color-bg-primary);
}
.lp-al-location__title {
  margin: 0;
  padding: 0 0 1.75rem;
  text-align: center;
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #EADFCE;
  background: linear-gradient(89.18deg, #F05745 42.34%, #EC6537 53.86%, #EDA528 60.12%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
@media (max-width: 767px) {
  .lp-al-location__title {
    font-size: 1.25rem;
    padding: 0 0 0.875rem;
  }
}
.lp-al-location__group {
  margin-top: 3.75rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-al-location__group {
    margin-top: 1.875rem;
  }
}
.lp-al-location__group::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(88.93deg, rgba(240, 87, 69, 0.33) -0.5%, rgba(236, 101, 55, 0.33) 65.14%, rgba(237, 165, 40, 0.33) 100.79%);
  filter: blur(1.1875rem);
  border-radius: 1.25rem;
  z-index: -1;
  content: "";
}
.lp-al-location__box {
  padding: 1.75rem 2.5rem 5.5rem;
  background: var(--color-bg-primary);
  border-radius: 1.25rem;
}
@media (max-width: 767px) {
  .lp-al-location__box {
    padding: 1.75rem 1.25rem 2.25rem;
    border-radius: 0.875rem;
  }
}
.lp-al-location__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2rem;
  margin: 3rem 0 0;
}
@media (max-width: 767px) {
  .lp-al-location__grid {
    grid-template-columns: 1fr;
    margin: 1.75rem 0 0;
    gap: 2.25rem 0;
  }
}
.lp-al-location__notice {
  text-align: center;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .lp-al-location__notice {
    margin-top: 1.5rem;
  }
}
.lp-al-location__notice-sub {
  color: #EE5233;
  font-size: 0.875rem;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .lp-al-location__notice-sub {
    font-size: 0.6875rem;
  }
}
.lp-al-location__notice-main {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  color: #322313;
  margin-top: 0.3125rem;
}
@media (max-width: 767px) {
  .lp-al-location__notice-main {
    font-size: 1.25rem;
  }
}
.lp-al-location__illust {
  position: absolute;
}
.lp-al-location__illust.-i1 {
  width: 15.0625rem;
  top: -0.375rem;
  left: 8.4375rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-location__illust.-i1 {
    left: 1.5rem;
  }
}
@media (max-width: 767px) {
  .lp-al-location__illust.-i1 {
    width: 7.5rem;
    top: -4.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.lp-al-location__illust.-i2 {
  width: 16.9375rem;
  bottom: 4rem;
  right: 5.625rem;
}
@media (min-width: 768px) and (max-width: 1340px) {
  .lp-al-location__illust.-i2 {
    right: 0.625rem;
  }
}
@media (max-width: 767px) {
  .lp-al-location__illust.-i2 {
    width: 7.5rem;
    bottom: 0.1875rem;
    right: 0;
  }
}
.lp-al-location__banners {
  padding: 5.5rem 0 6.25rem;
}
@media (max-width: 767px) {
  .lp-al-location__banners {
    padding-bottom: 6.875rem;
  }
}

.lp-al-location-card__image img {
  display: block;
  border-radius: 0.5rem;
}
.lp-al-location-card__tag {
  margin-top: 1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--accent, #c19313);
  background: var(--background, #FFF8E9);
  letter-spacing: 0.03em;
  border-radius: 0.1875rem;
  border: 1px solid currentColor;
  box-sizing: border-box;
  padding: 0.1875rem 0.375rem 0.3125rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .lp-al-location-card__tag {
    font-size: 0.75rem;
    margin: 0.75rem 0 0;
  }
}
.lp-al-location-card__tag.-orange {
  --accent: #FB620A;
  --background: #FFF4EA;
}
.lp-al-location-card__tag.-red {
  --accent: #F05745;
  --background: #FFF2F0;
}
.lp-al-location-card__tag.-brown {
  --accent: #968043;
  --background: #FFF8E9;
}
.lp-al-location-card__name {
  margin: 0.625rem 0 0;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
  min-height: 3.375rem;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .lp-al-location-card__name {
    font-size: 1rem;
    min-height: 0;
  }
}
.lp-al-location-card__subscribe {
  margin-top: 0.3125rem;
}
.lp-al-location-card__monthly {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #888;
}
@media (max-width: 767px) {
  .lp-al-location-card__monthly {
    font-size: 0.75rem;
  }
}
.lp-al-location-card__price {
  font-size: 1.5rem;
  font-weight: bold;
  color: #000;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 767px) {
  .lp-al-location-card__price {
    font-size: 1.25rem;
  }
}
.lp-al-location-card__unit {
  display: inline-block;
  letter-spacing: 0.03em;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 767px) {
  .lp-al-location-card__unit {
    font-size: 0.75rem;
  }
}
.lp-al-location-card__button {
  margin: 0.875rem 0 0;
  display: block;
  text-decoration: none;
  color: var(--color-main);
  background: #F0F6FF;
  border: 1px solid var(--color-main);
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.9375rem 2rem;
  box-sizing: border-box;
  transition: background 0.3s, color 0.3s;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-location-card__button {
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    margin: 0.625rem 0 0;
  }
}
.lp-al-location-card__button::after {
  position: absolute;
  top: 50%;
  right: 2.125rem;
  margin-top: -0.25rem;
  width: 0.6875rem;
  height: 0.5625rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 0.5H2.5V6.5H10.5V0.5Z' stroke='%232C69BA' stroke-miterlimit='10'/%3E%3Cpath d='M8.5 8.5H0.5V1.5' stroke='%232C69BA' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 0.5H2.5V6.5H10.5V0.5Z' stroke='%232C69BA' stroke-miterlimit='10'/%3E%3Cpath d='M8.5 8.5H0.5V1.5' stroke='%232C69BA' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: var(--color-main);
  transition: background 0.3s;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-location-card__button::after {
    right: 1.5rem;
  }
}
.lp-al-location-card__button:hover {
  opacity: 1;
  background: var(--color-main);
  color: #F0F6FF;
}
.lp-al-location-card__button:hover::after {
  background: #F0F6FF;
}

.lp-al-banner-contact {
  width: 40rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .lp-al-banner-contact {
    width: 100%;
  }
}
.lp-al-banner-contact__link {
  display: block;
  text-decoration: none;
  color: var(--color-bg-primary);
  background: linear-gradient(92.44deg, #FF4833 0%, #FB8B65 100%);
  border-radius: 0.9375rem;
  padding: 1.375rem 2.5rem 1.25rem;
  position: relative;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .lp-al-banner-contact__link {
    border-radius: 0.75rem;
    padding: 3.75rem 1.25rem 1.25rem;
  }
}
@media (min-width: 768px) {
  .lp-al-banner-contact__content {
    width: 18.125rem;
  }
}
.lp-al-banner-contact__bubble {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #EF6152;
  font-size: 0.8125rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  border-radius: 50vh;
  background: var(--color-bg-primary);
  padding: 0.25rem 0.625rem;
  position: relative;
}
.lp-al-banner-contact__bubble::after {
  position: absolute;
  width: 0.625rem;
  height: 0.5625rem;
  bottom: -0.375rem;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='9' viewBox='0 0 10 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.79554 8.26264C5.40999 8.92592 4.45197 8.92592 4.06643 8.26264L0.136991 1.50254C-0.250519 0.835879 0.23044 -2.2738e-08 1.00154 4.42197e-08L8.86042 7.26633e-07C9.63152 7.9359e-07 10.1125 0.835877 9.72497 1.50254L5.79554 8.26264Z' fill='%23FFF'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.lp-al-banner-contact__main {
  margin: 0.375rem 0 0;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  .lp-al-banner-contact__main {
    font-size: 1.375rem;
  }
}
.lp-al-banner-contact__sub {
  text-align: center;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.22em;
  font-family: "Montserrat", sans-serif;
}
@media (max-width: 767px) {
  .lp-al-banner-contact__sub {
    font-size: 0.75rem;
  }
}
.lp-al-banner-contact__illust {
  position: absolute;
}
@media (min-width: 768px) {
  .lp-al-banner-contact__illust {
    width: 17.0625rem;
    bottom: 0.5625rem;
    right: 1.3125rem;
  }
}
@media (max-width: 767px) {
  .lp-al-banner-contact__illust {
    width: 11.25rem;
    bottom: calc(100% - 3.125rem);
    left: 50%;
    transform: translateX(-50%);
  }
}

.lp-al-banner-logo {
  width: 40rem;
  height: 8.3125rem;
  margin: 3.5rem auto 0;
}
@media (max-width: 767px) {
  .lp-al-banner-logo {
    width: 100%;
    height: 4.375rem;
    margin: 2rem 0 0;
  }
}
.lp-al-banner-logo__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 3.625rem;
  width: 100%;
  height: 100%;
  background-image: url("../../promo/a-living/images/banner-logo-bg.jpg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  border-radius: 0.9375rem;
  box-sizing: border-box;
  position: relative;
  filter: drop-shadow(0 0 1.5625rem rgba(109, 57, 25, 0.46));
}
@media (max-width: 767px) {
  .lp-al-banner-logo__link {
    padding-right: 1.25rem;
  }
}
.lp-al-banner-logo__link::after {
  position: absolute;
  inset: 0.5rem;
  border-radius: 0.6875rem;
  background: linear-gradient(to left, #EDB59B, #fff) border-box;
  -webkit-mask: url("../../promo/a-living/images/banner-logo-bg.jpg") no-repeat padding-box, linear-gradient(#fff 0 0);
          mask: url("../../promo/a-living/images/banner-logo-bg.jpg") no-repeat padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-position: top -0.5rem left -0.5rem, 0 0;
          mask-position: top -0.5rem left -0.5rem, 0 0;
  -webkit-mask-size: calc(100% + 1rem) auto, auto;
          mask-size: calc(100% + 1rem) auto, auto;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  border: 1px solid transparent;
  opacity: 0.43;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-banner-logo__link::after {
    inset: 0.25rem;
    -webkit-mask-position: top -0.25rem left -0.25rem, 0 0;
            mask-position: top -0.25rem left -0.25rem, 0 0;
  }
}
.lp-al-banner-logo__image {
  width: 12.125rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-al-banner-logo__image {
    width: 6.875rem;
  }
}

.lp-al-bar {
  display: none;
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.5);
  padding: 2rem 0.625rem 1rem;
  box-sizing: border-box;
  backdrop-filter: blur(1.5rem);
}
@media (max-width: 767px) {
  .lp-al-bar {
    padding: 1.5rem 0.625rem 0.5rem;
  }
}
.lp-al-bar__inner {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .lp-al-bar__inner {
    display: flex;
    justify-content: center;
    gap: 3.5rem;
  }
}
@media (max-width: 767px) {
  .lp-al-bar__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
  }
}

.lp-al-bar-button {
  display: block;
  text-decoration: none;
  background: linear-gradient(89.52deg, #FF4833 11.6%, #F85017 86.46%);
  border-radius: 0.9375rem;
  color: var(--color-bg-primary);
  position: relative;
  width: 25rem;
  padding: 1.125rem 0 0.8125rem;
}
@media (max-width: 767px) {
  .lp-al-bar-button {
    width: 100%;
    margin: 0 auto;
    border-radius: 0.5rem;
    padding: 1.625rem 0 0.375rem;
  }
}
.lp-al-bar-button__bubble {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--bubble-text-color, #EF6152);
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  background: var(--color-bg-primary);
  border-radius: 50vh;
  padding: 0.125rem 1rem;
  white-space: nowrap;
  top: -0.9375rem;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
@media (max-width: 767px) {
  .lp-al-bar-button__bubble {
    font-size: 0.625rem;
  }
}
.lp-al-bar-button__bubble::after {
  position: absolute;
  left: 50%;
  bottom: -0.375rem;
  width: 0.625rem;
  height: 0.5625rem;
  transform: translateX(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='9' viewBox='0 0 10 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.76446 8.25C5.37956 8.91667 4.41731 8.91667 4.03241 8.25L0.135298 1.5C-0.249602 0.833333 0.231523 -1.59873e-08 1.00132 5.08572e-08L8.79555 7.27657e-07C9.56535 7.94501e-07 10.0465 0.833334 9.66158 1.5L5.76446 8.25Z' fill='%23FFF'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .lp-al-bar-button__bubble::after {
    bottom: -0.25rem;
    width: 0.4375rem;
    height: 0.375rem;
  }
}
.lp-al-bar-button__main {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
}
@media (max-width: 767px) {
  .lp-al-bar-button__main {
    font-size: 0.8125rem;
    line-height: 1.25;
  }
}
.lp-al-bar-button__sub {
  text-transform: uppercase;
  text-align: center;
  font-size: 0.875rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 0.22em;
}
@media (max-width: 767px) {
  .lp-al-bar-button__sub {
    font-size: 0.5rem;
    margin-top: 0.125rem;
  }
}
.lp-al-bar-button__icon {
  position: absolute;
  width: 2.5rem;
  top: 50%;
  transform: translateY(-50%) translateX(-100%);
}
@media (max-width: 767px) {
  .lp-al-bar-button__icon {
    width: 1.375rem;
    transform: translateY(-50%) translateX(-110%);
  }
}
.lp-al-bar-button.-yellow {
  --bubble-text-color: #EA9D21;
  background: linear-gradient(85.84deg, #FDA415 46.58%, #EDC411 103.01%);
}
/*# sourceMappingURL=site.css.map */