@charset "UTF-8";
/* ========================================
リセットCSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  overflow-wrap: break-word;
}

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

iframe {
  max-width: 100%;
  vertical-align: middle;
}

span {
  font: inherit;
  letter-spacing: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address {
  font: inherit;
}

input,
button,
textarea,
select {
  color: inherit;
  font: inherit;
  vertical-align: middle;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

/* ========================================
変数・関数
======================================== */
:root {
  --color-black: #000;
  --color-theme: #EA998F;
  --color-red: #9F2718;
  --color-green: #3B5C17;
  --font-base: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-shippori: "Shippori Mincho", serif;
  --z-index-headerLogo: 11;
  --z-index-gnavBtn: 11;
  --z-index-header: 10;
  --z-index-gnav: 10;
  --header-height-pc: 100px;
  --mg-pc: 5vw;
  --mg-sp: calc(20 / 375 * 100vw);
  --mg-sp-min: calc(10 / 375 * 100vw);
}

/* ========================================
mixin
======================================== */
/* ========================================
ベースCSS
======================================== */
body {
  min-height: 100vh;
  color: var(--color-black);
  font-family: var(--font-base);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 13px;
  }
}

*,
*::before,
*::after {
  letter-spacing: 0.02em;
}

a {
  color: inherit;
  text-decoration: none;
}

/* CLEAR-FIX */
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* ========================================
モジュール・パーツ m-
======================================== */
.m-inner {
  width: calc(100% - var(--mg-pc) * 2);
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .m-inner {
    width: calc(100% - var(--mg-sp) * 2);
  }
}

.m-btn-border {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  height: 39px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--color-theme);
  border-radius: 20px;
  color: var(--color-theme);
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .m-btn-border {
    height: 30px;
    padding: 0 min(calc(53 / 375 * 100vw), 53px);
    font-size: 14px;
    letter-spacing: 0.03em;
  }
}
@media (hover: hover) {
  .m-btn-border {
    transition: background-color 0.3s, color 0.3s;
  }
  .m-btn-border:hover {
    background-color: var(--color-theme);
    color: #fff;
  }
}

.m-btn-fill {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  height: 39px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--color-theme);
  border-radius: 20px;
  background-color: var(--color-theme);
  color: #fff;
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .m-btn-fill {
    height: 30px;
    padding: 0 min(calc(53 / 375 * 100vw), 53px);
    font-size: 14px;
    letter-spacing: 0.03em;
  }
}
@media (hover: hover) {
  .m-btn-fill {
    transition: background-color 0.3s, color 0.3s;
  }
  .m-btn-fill:hover {
    background-color: #fff;
    color: var(--color-theme);
  }
}

.m-secTtlEn {
  color: var(--color-theme);
  font-family: var(--font-serif);
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-secTtlEn {
    font-size: 25px;
  }
}

.m-secTtl {
  padding-left: 0.15em;
  font-size: 16px;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-secTtl {
    margin-top: 1px;
    padding-left: 0.1em;
    font-size: 12px;
    letter-spacing: 0.1em;
  }
}
.m-secTtl.-space2 {
  padding-left: 0.65em;
  letter-spacing: 0.65em;
}
@media screen and (max-width: 767px) {
  .m-secTtl.-space2 {
    padding-left: 0.6em;
    letter-spacing: 0.6em;
  }
}
.m-secTtl + .m-read {
  margin-top: 43px;
}
@media screen and (max-width: 767px) {
  .m-secTtl + .m-read {
    margin-top: 26px;
  }
}
.m-secTtl.-border {
  padding-bottom: 60px;
  border-bottom: 1px solid var(--color-theme);
}
@media screen and (max-width: 767px) {
  .m-secTtl.-border {
    padding-bottom: 15px;
  }
}
.m-secTtl.-border + .m-catch {
  margin-top: 94px;
}
@media screen and (max-width: 767px) {
  .m-secTtl.-border + .m-catch {
    margin-top: 23px;
  }
}

.m-catch {
  color: var(--color-theme);
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.8333333333;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-catch {
    font-size: 18px;
    line-height: 1.7777777778;
    letter-spacing: 0.1em;
  }
}

.m-read {
  max-width: 994px;
  margin: 40px auto 0;
  font-size: 18px;
  line-height: 1.8888888889;
  letter-spacing: 0.049em;
}
@media screen and (max-width: 767px) {
  .m-read {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.6923076923;
    letter-spacing: 0.02em;
  }
}

/* ========================================
補助的に使用 u-
======================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .u-sp-lg {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .u-pc-lg {
    display: none !important;
  }
}

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

.u-text-center {
  text-align: center !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-right {
  text-align: right !important;
}

.u-color-theme {
  color: var(--color-theme) !important;
}
.u-color-red {
  color: var(--color-red) !important;
}

.u-weight-100 {
  font-weight: 100 !important;
}

.u-weight-200 {
  font-weight: 200 !important;
}

.u-weight-300 {
  font-weight: 300 !important;
}

.u-weight-400 {
  font-weight: 400 !important;
}

.u-weight-500 {
  font-weight: 500 !important;
}

.u-weight-600 {
  font-weight: 600 !important;
}

.u-weight-700 {
  font-weight: 700 !important;
}

.u-weight-800 {
  font-weight: 800 !important;
}

.u-weight-900 {
  font-weight: 900 !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mt-15 {
  margin-top: 15px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mt-25 {
  margin-top: 25px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mt-35 {
  margin-top: 35px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mt-45 {
  margin-top: 45px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-mb-15 {
  margin-bottom: 15px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-mb-25 {
  margin-bottom: 25px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-mb-35 {
  margin-bottom: 35px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-mb-45 {
  margin-bottom: 45px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-mb-55 {
  margin-bottom: 55px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-mb-65 {
  margin-bottom: 65px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-mb-75 {
  margin-bottom: 75px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-mb-85 {
  margin-bottom: 85px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

/* ========================================
header
======================================== */
@media screen and (min-width: 1025px) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 25px 0 30px;
    height: var(--header-height-pc);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-header);
    transition: background-color 0.3s;
  }
  .is-headerChange .header {
    background-color: #fff;
  }
}
@media screen and (max-width: 1024px) {
  .header_logo {
    width: 92px;
    position: fixed;
    top: 10px;
    left: 20px;
    z-index: var(--z-index-headerLogo);
  }
}
.header_logo a {
  display: block;
  line-height: 0;
  position: relative;
}
.header_logo a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(/assets/osaka/image/common/logo-white.svg) center/contain no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s;
}
.is-headerChange .header_logo a::before, .is-menuActive .header_logo a::before {
  opacity: 0;
}
.header_logo img {
  opacity: 0;
  transition: opacity 0.3s;
}
.is-headerChange .header_logo img, .is-menuActive .header_logo img {
  opacity: 1;
}

@media screen and (max-width: 1024px) {
  .gNav {
    display: block;
    width: 100%;
    height: 100%;
    padding: 117px var(--mg-sp) 15px;
    background: rgba(255, 255, 255, 0.97);
    border-top: 0;
    font-size: 16px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: var(--z-index-gnav);
    opacity: 0;
    transform: translateY(-100%);
    transition: opacity 0.3s 0s, transform 0s 0.3s;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .gNav::-webkit-scrollbar {
    display: none;
  }
  .is-menuActive .gNav {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s 0s, transform 0s 0s;
  }
}
@media screen and (max-width: 1024px) {
  .gNav_line a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 49px;
    background: #00b833;
    border-radius: 5px;
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.15em;
  }
  .gNav_line ._icon {
    transform: translateY(-10%);
    margin-right: 0.2em;
  }
  .gNav_line ._minText {
    font-size: 20px;
  }
}
.gNav_links {
  display: flex;
  justify-content: space-between;
  gap: 10px 0;
  margin-top: 23px;
}
.gNav_links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 47.7611940299%;
  height: 86px;
  border: 1px solid var(--color-theme);
  border-radius: 5px;
  color: var(--color-theme);
  line-height: 1.375;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .gNav_primary {
    display: flex;
    gap: 0 min(calc(34 / 1440 * 100vw), 34px);
  }
  .gNav_primary a {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .gNav_primary a {
    transition: color 0.3s;
  }
  .gNav_primary a:hover {
    color: var(--color-theme);
  }
}
@media screen and (min-width: 1025px) and (min-width: 768px) {
  .gNav_primary a {
    transition: color 0.3s;
  }
  .is-headerChange .gNav_primary a {
    color: var(--color-theme);
  }
}
@media screen and (min-width: 1025px) {
  .gNav_primary li.-btn {
    margin-left: -5px;
  }
  .gNav_primary li.-btn + .-btn {
    margin-left: -20px;
  }
  .gNav_primary li.-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 31px;
    padding: 0 9px;
    color: var(--color-theme);
    background-color: #fff;
    border: 1px solid var(--color-theme);
    border-radius: 3px;
    font-size: 14px;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .gNav_primary li.-btn a {
    transition: color 0.3s, background-color 0.3s;
  }
  .gNav_primary li.-btn a:hover {
    color: #fff;
    background-color: var(--color-theme);
  }
}
@media screen and (max-width: 1024px) {
  .gNav_primary {
    width: calc(100% + var(--mg-sp) * 2);
    margin-top: 50px;
    margin-left: calc(var(--mg-sp) * -1);
    border-top: 1px solid color-mix(in srgb, #707070 50%, transparent);
  }
  .gNav_primary a {
    display: block;
    padding: 15px 0 15px;
    color: #676767;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
  }
  .gNav_primary > li + li {
    border-top: 1px solid color-mix(in srgb, #707070 50%, transparent);
  }
}
@media screen and (max-width: 1024px) {
  .gNav_copyright {
    display: block;
    margin-top: 62px;
    font-family: var(--font-serif);
    font-size: 10px;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

@media screen and (min-width: 1025px) {
  .gNavBtn {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .gNavBtn {
    display: block;
    width: 40px;
    padding: 5px;
    position: fixed;
    top: 14px;
    right: 10px;
    z-index: var(--z-index-gnavBtn);
  }
  .gNavBtn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 1px;
    transition: transform 0.3s, background-color 0.3s;
  }
  .gNavBtn span + span {
    margin-top: 9px;
  }
  .is-headerChange .gNavBtn span, .is-menuActive .gNavBtn span {
    background-color: var(--color-theme);
  }
  .is-menuActive .gNavBtn span:nth-of-type(1) {
    transform: translateY(11px) rotate(-45deg);
  }
  .is-menuActive .gNavBtn span:nth-of-type(2) {
    opacity: 0;
  }
  .is-menuActive .gNavBtn span:nth-of-type(3) {
    transform: translateY(-11px) rotate(45deg);
  }
  .gNavBtn.back {
    z-index: 0;
  }
}

/* ========================================
footer
======================================== */
.footer {
  margin-top: 200px;
  background-color: var(--color-theme);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer {
    margin-top: 120px;
  }
}
.footer_container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 0;
}
@media screen and (max-width: 767px) {
  .footer_container {
    display: block;
    padding: 30px 0 70px;
  }
}
@media screen and (max-width: 767px) {
  .footer_logo {
    text-align: center;
  }
}
.footer_logo img {
  width: 167px;
}
@media screen and (max-width: 767px) {
  .footer_logo img {
    width: 132px;
  }
}
.footer_copyright {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .footer_copyright {
    margin-top: 28px;
    font-size: 10px;
    text-align: center;
  }
}

/* ========================================
レイアウト
======================================== */
.reserveFixed {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: fixed;
  right: 20px;
  bottom: 20px;
  visibility: hidden;
  opacity: 0;
  letter-spacing: 0.08em;
  transition: 0.4s;
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .reserveFixed a img {
    transition: filter 0.3s;
  }
  .reserveFixed a:hover img {
    filter: brightness(114%);
  }
}
@media screen and (max-width: 767px) {
  .reserveFixed {
    flex-direction: row;
    width: 100%;
    right: 0;
    bottom: 0;
  }
  .reserveFixed > a {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 50%;
    height: min(12.2666666667vw, 46px);
    padding: 0 2.6666666667vw 0 1.0666666667vw;
  }
  .reserveFixed > a._line {
    background-color: #00b833;
  }
  .reserveFixed > a._visit {
    background-color: #b01f24;
  }
  .reserveFixed > a img {
    height: min(14.9333333333vw, 56px);
  }
}
.reserveFixed.show {
  opacity: 1;
  visibility: visible;
}
.reserveFixed.hide {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .reserveFixed.hide {
    opacity: 1;
    visibility: visible;
  }
}

.p-homeMv {
  position: relative;
}
.p-homeMv::before {
  content: "";
  display: block;
  width: calc(347 / 1440 * 100vw);
  height: calc(347 / 1440 * 100vw);
  background: #EA998F;
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  left: calc(100 / 1440 * 100vw);
  z-index: 2;
  transform: translateY(-41%);
}
@media screen and (max-width: 767px) {
  .p-homeMv::before {
    width: calc(243 / 375 * 100vw);
    height: calc(243 / 375 * 100vw);
    top: calc(207 / 375 * 100vw);
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.p-homeMv_textBox {
  width: calc(347 / 1440 * 100vw);
  height: calc(347 / 1440 * 100vw);
  padding: calc(68 / 1440 * 100vw) calc(22 / 1440 * 100vw) 0;
  position: absolute;
  top: 50%;
  left: calc(100 / 1440 * 100vw);
  z-index: 3;
  transform: translateY(-41%);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-homeMv_textBox {
    width: calc(243 / 375 * 100vw);
    height: calc(243 / 375 * 100vw);
    padding: calc(47 / 375 * 100vw) calc(15 / 375 * 100vw) 0;
    top: calc(207 / 375 * 100vw);
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.p-homeMv_ttl {
  text-align: center;
  line-height: 1;
}
.p-homeMv_ttl ._logo {
  width: min(calc(280 / 1440 * 100vw), 280px);
}
@media screen and (max-width: 767px) {
  .p-homeMv_ttl ._logo {
    width: calc(196 / 375 * 100vw);
  }
}
.p-homeMv_ttl ._text01 {
  display: block;
  margin-top: calc(17 / 1440 * 100vw);
  padding-left: 0.6em;
  font-family: var(--font-serif);
  font-size: min(calc(45 / 1440 * 100vw), 45px);
  letter-spacing: 0.6em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homeMv_ttl ._text01 {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(32 / 375 * 100vw);
  }
}
.p-homeMv_new {
  margin-top: calc(36 / 1440 * 100vw);
  padding-top: calc(27 / 1440 * 100vw);
  border-top: 1px solid #fff;
  font-family: var(--font-serif);
  font-size: calc(50 / 1440 * 100vw);
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homeMv_new {
    margin-top: calc(25 / 375 * 100vw);
    padding-top: calc(18 / 375 * 100vw);
    font-size: calc(36 / 375 * 100vw);
  }
}
.p-homeMv_slide {
  pointer-events: none;
  width: 100%;
}
.p-homeMv_slide ._imgBox {
  padding-top: 64.4444444444%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-homeMv_slide ._imgBox {
    padding-top: 177.8666666667%;
  }
}
.p-homeMv_slide ._imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  transition: transform 0s 2s;
}
.p-homeMv_slide .is-active img,
.p-homeMv_slide .is-prev img {
  transform: scale(1.12);
  transition: transform 10s 0s linear;
}

.p-homeBanner {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  align-items: flex-end;
  max-width: 1080px;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-homeBanner {
    margin-top: 40px;
  }
}
.p-homeBanner ._diff2 {
  width: 101.3888888889%;
  max-width: 101.3888888889%;
  transform: translateX(-1.3888888889%);
  margin-bottom: min(2.4590163934vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-homeBanner ._diff2 {
    width: 102.9850746269%;
    max-width: 102.9850746269%;
    transform: translateX(-2.9850746269%);
    margin-bottom: 2.6666666667vw;
  }
}
.p-homeBanner ._diff {
  width: 102.7777777778%;
  max-width: 102.7777777778%;
  transform: translateX(-2.7777777778%);
}
@media screen and (max-width: 767px) {
  .p-homeBanner ._diff {
    width: 102.9850746269%;
    max-width: 102.9850746269%;
    transform: translateX(-2.9850746269%);
  }
}

.p-homeGreeting {
  margin-top: 117px;
}
@media screen and (max-width: 767px) {
  .p-homeGreeting {
    margin-top: 48px;
  }
  .p-homeGreeting .m-catch {
    font-size: 16px;
    line-height: 1.625;
  }
  .p-homeGreeting .m-read {
    margin-top: 22px;
    line-height: 1.8461538462;
  }
}

.p-homePrice {
  margin-top: 180px;
}
@media screen and (max-width: 767px) {
  .p-homePrice {
    margin-top: 68px;
  }
}
.p-homePrice_info {
  margin: 31px auto 0;
  max-width: 1080px;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info {
    margin-top: 24px;
  }
}
.p-homePrice_info ._head {
  padding: 22px 20px 20px;
  background: #EA998F;
  border-radius: 25px 25px 0 0;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._head {
    padding: 16px 5px 14px;
  }
}
.p-homePrice_info ._ttl {
  color: #FFFF00;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3636363636;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._ttl {
    font-size: 22px;
  }
}
.p-homePrice_info ._read {
  width: -moz-fit-content;
  width: fit-content;
  margin: 16px auto 0;
  padding: 4px 37px;
  background: #fff;
  border-radius: 24px;
  color: var(--color-red);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._read {
    margin-top: 12px;
    padding: 6px 8px;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0;
  }
}
.p-homePrice_info ._read * {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._read * {
    letter-spacing: 0;
  }
}
.p-homePrice_info ._list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px min(calc(60 / 1440 * 100vw), 60px);
  padding: 40px 20px 48px;
  border: 1px solid #EA998F;
  border-radius: 0 0 25px 25px;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._list {
    gap: 27px 0;
    padding: 30px calc(20 / 375 * 100vw) 26px;
  }
  .p-homePrice_info ._list > li {
    width: 50%;
  }
}
.p-homePrice_info ._iconBox {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._iconBox img {
    height: 48px;
  }
}
.p-homePrice_info ._contTtl {
  margin-top: 16px;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homePrice_info ._contTtl {
    font-size: 14px;
  }
}

.p-homeOpening {
  margin-top: 100px;
  padding: 50px 0 38px;
  background-color: var(--color-red);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homeOpening {
    margin-top: 50px;
    padding: 20px 0 15px;
  }
}
.p-homeOpening img {
  max-width: 90%;
}
@media screen and (max-width: 767px) {
  .p-homeOpening img {
    width: 90%;
    max-width: 335px;
  }
}

.p-homePhoto {
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-homePhoto {
    padding: 30px 0 50px;
  }
}
.p-homePhoto .m-inner {
  max-width: 1080px;
}
.p-homePhoto .m-read {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 22px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homePhoto .m-read {
    margin-top: 16px;
    line-height: 1.6923076923;
    text-align: left;
  }
}
.p-homePhoto_ttl {
  display: flex;
  align-items: center;
  gap: 0 min(calc(24 / 1440 * 100vw), 24px);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-homePhoto_ttl {
    gap: 0 10px;
    font-size: min(calc(18 / 375 * 100vw), 18px);
  }
}
.p-homePhoto_ttl::before, .p-homePhoto_ttl::after {
  content: "";
  display: block;
  flex: auto;
  height: 1px;
  background-color: #ccc;
}
.p-homePhoto.-location {
  background-color: color-mix(in srgb, var(--color-theme) 10%, transparent);
}
.p-homePhoto.-location .p-homePhoto_ttl {
  color: var(--color-red);
}
.p-homePhoto.-location .p-homePhoto_ttl::before, .p-homePhoto.-location .p-homePhoto_ttl::after {
  background-color: var(--color-red);
}
.p-homePhoto.-location .p-homePhotoList_ttl {
  background-color: var(--color-theme);
}
.p-homePhoto.-studio {
  margin-top: 54px;
  background-color: color-mix(in srgb, var(--color-green) 10%, transparent);
}
@media screen and (max-width: 767px) {
  .p-homePhoto.-studio {
    margin-top: 50px;
  }
}
.p-homePhoto.-studio .p-homePhoto_ttl {
  color: var(--color-green);
}
.p-homePhoto.-studio .p-homePhoto_ttl::before, .p-homePhoto.-studio .p-homePhoto_ttl::after {
  background-color: var(--color-green);
}
.p-homePhoto.-studio .p-homePhotoList_ttl {
  background-color: var(--color-green);
}
@media screen and (min-width: 768px) {
  .p-homePhoto.-studio .p-homePhotoList {
    margin-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhoto.-studio .p-homePhotoList {
    margin-top: 33px;
  }
}
@media screen and (min-width: 768px) {
  .p-homePhoto.-studio .p-homePhotoList_desc {
    margin-top: 34px;
  }
}

.p-homePhotoList {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList {
    margin-top: 58px;
  }
}
.p-homePhotoList > li {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList > li {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList > li {
    align-items: flex-start;
  }
}
.p-homePhotoList > li + li {
  margin-top: 99px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList > li + li {
    margin-top: 49px;
    padding-top: 50px;
    border-top: 1px solid #000;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList > li:has(.p-homePhotoList_special) .p-homePhotoList_ttl {
    padding-left: 30px;
  }
}
.p-homePhotoList_ttl {
  padding: 4px 30px;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.03mm;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_ttl {
    order: -2;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_ttl {
    padding: 2px 5px;
    font-size: min(calc(20 / 375 * 100vw), 20px);
    text-align: center;
  }
}
.p-homePhotoList_special {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 138px;
  height: 138px;
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid var(--color-red);
  color: var(--color-red);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transform: translate(-14%, -37%);
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_special {
    width: min(calc(64 / 375 * 100vw), 64px);
    height: min(calc(64 / 375 * 100vw), 64px);
    font-size: min(calc(13 / 375 * 100vw), 13px);
    transform: translate(-15%, -51%);
  }
}
.p-homePhotoList_special ._num {
  font-size: 1.3214285714em;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_special ._num {
    font-size: 1.3846153846em;
  }
}
.p-homePhotoList_special ._large {
  font-size: 1.0714285714em;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_special ._large {
    font-size: 1.1538461538em;
  }
}
.p-homePhotoList_container {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_container {
    display: contents;
  }
}
.p-homePhotoList_imgBox {
  width: 38.2407407407%;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_imgBox {
    width: 100%;
    margin-top: 20px;
    position: relative;
  }
}
.p-homePhotoList_imgBox img {
  width: 100%;
}
.p-homePhotoList_cut {
  display: flex;
  align-items: center;
  height: 36px;
  border: 1px solid var(--color-red);
  border-radius: 18px;
  position: absolute;
  top: 10px;
  right: 10px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_cut {
    display: block;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    top: -10px;
    right: -10px;
  }
}
.p-homePhotoList_cut dt {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 6px 0 10px;
  background-color: var(--color-red);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_cut dt {
    width: 100%;
    height: 37px;
    padding-top: 8px;
    font-size: 14px;
    letter-spacing: -0.1em;
  }
}
.p-homePhotoList_cut dd {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-width: 120px;
  padding: 2px 10px 0;
  background-color: #fff;
  color: var(--color-red);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_cut dd {
    flex: 1;
    display: block;
    width: 100%;
    min-width: 100%;
    padding: 0;
    font-size: 16px;
    text-align: center;
    letter-spacing: -0.01em;
  }
}
.p-homePhotoList_cut dd ._num {
  font-family: var(--font-shippori);
  font-size: 28px;
  transform: translateY(-2px);
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_cut dd ._num {
    display: block;
    transform: none;
    font-size: 28px;
    letter-spacing: -0.01em;
  }
}
.p-homePhotoList_contBox {
  flex: 1;
  padding: 28px 0 0 min(calc(30 / 1440 * 100vw), 30px);
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_contBox {
    display: contents;
  }
}
@media screen and (min-width: 1025px) {
  .p-homePhotoList_contBox:has(.p-homePhotoList_place) {
    padding-top: 22px;
  }
}
.p-homePhotoList_place {
  display: flex;
  border: 1px solid var(--color-theme);
  background: #fff;
  font-size: 23px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_place {
    order: -1;
    justify-content: center;
    width: 100%;
    padding: 5px 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_place {
    padding: 5px;
    font-size: 16px;
  }
}
.p-homePhotoList_place * {
  letter-spacing: 0.08em;
}
@media screen and (min-width: 1025px) {
  .p-homePhotoList_place dt,
  .p-homePhotoList_place dd {
    padding: 9px 5px 8px 14px;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_place dt,
  .p-homePhotoList_place dd {
    display: inline;
  }
}
@media screen and (min-width: 1025px) {
  .p-homePhotoList_place dt {
    width: 124px;
    border-right: 1px solid var(--color-theme);
  }
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_place dt::after {
    content: "：";
  }
}
@media screen and (min-width: 1025px) {
  .p-homePhotoList_place dd {
    flex: 1;
    letter-spacing: 0.08em;
  }
}
.p-homePhotoList_place dd.-minSpace {
  letter-spacing: 0.03em;
}
.p-homePhotoList_period {
  margin-top: 13px;
  margin-left: -1.5em;
  font-family: var(--font-shippori);
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_period {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period {
    width: calc(100% + var(--mg-sp) * 2);
    margin-left: calc(var(--mg-sp) * -1);
  }
}
.p-homePhotoList_period ._text01 {
  padding: 0 0.3em;
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text01 {
    padding: 0 0.1em;
    font-size: min(calc(28 / 375 * 100vw), 28px);
  }
}
.p-homePhotoList_period ._text02 {
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text02 {
    font-size: min(calc(22 / 375 * 100vw), 22px);
  }
}
.p-homePhotoList_period ._text03 {
  font-size: 29px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text03 {
    font-size: min(calc(25 / 375 * 100vw), 25px);
  }
}
.p-homePhotoList_period ._text04 {
  display: inline-block;
  margin: 0 0.2em 0 0.4em;
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text04 {
    margin: 0 0.1em 0 0.2em;
    font-size: min(calc(20 / 375 * 100vw), 20px);
  }
}
.p-homePhotoList_period ._text05 {
  font-size: 42px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text05 {
    font-size: min(calc(38 / 375 * 100vw), 38px);
  }
}
.p-homePhotoList_period ._text06 {
  display: inline-block;
  margin: 0 0.2em;
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._text06 {
    margin: 0 0.1em;
    font-size: min(calc(25 / 375 * 100vw), 25px);
  }
}
.p-homePhotoList_period ._circle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin: 0 0.3em;
  border-radius: 50%;
  background: #000;
  color: #fff;
  letter-spacing: 0;
  transform: translateY(-20%);
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_period ._circle {
    width: min(calc(22 / 375 * 100vw), 22px);
    height: min(calc(22 / 375 * 100vw), 22px);
    font-size: min(calc(14 / 375 * 100vw), 14px);
  }
}
.p-homePhotoList_period ._circle.-red {
  background-color: var(--color-red);
}
.p-homePhotoList_box01 {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_box01 {
    width: 100%;
  }
}
.p-homePhotoList_komi {
  width: 184px;
  height: 106px;
  padding-top: 18px;
  background: url(../image/location/balloon_pc.svg) center/contain no-repeat;
  color: #FFFF00;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-95%);
}
@media screen and (max-width: 1200px) {
  .p-homePhotoList_komi {
    width: 352px;
    max-width: 100%;
    height: 84px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 0;
    background-image: url(../image/location/balloon_sp.svg);
    position: static;
    transform: none;
    margin: 10px auto -35px;
    padding-bottom: 25px;
    font-size: min(calc(20 / 375 * 100vw), 20px);
    transform: translate(1%, 0);
  }
  .p-homePhotoList_komi br {
    display: none;
  }
}
.p-homePhotoList_price {
  margin-top: 31px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_price {
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price {
    width: 100%;
    margin-top: 24px;
  }
}
.p-homePhotoList_price dl {
  display: flex;
  align-items: center;
  gap: 0 min(calc(14 / 1200 * 100vw), 14px);
  color: #727272;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price dl {
    display: block;
  }
}
.p-homePhotoList_price dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(calc(104 / 1200 * 100vw), 104px);
  height: 33px;
  background-color: #fff;
  border: 1px solid var(--color-green);
  border-radius: 5px;
  color: var(--color-green);
  font-family: var(--font-serif);
  font-size: min(calc(23 / 1200 * 100vw), 23px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_price dt {
    width: 120px;
    font-size: 23px;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price dt {
    width: 100%;
    height: 28px;
    font-size: 18px;
  }
}
.p-homePhotoList_price dd {
  flex: 1;
  display: flex;
  gap: 0 min(calc(60 / 1440 * 100vw), 60px);
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price dd {
    justify-content: center;
    gap: 0 min(calc(40 / 375 * 100vw), 40px);
    margin-top: 15px;
    font-size: 22px;
  }
}
.p-homePhotoList_price dd ._cont:nth-child(2) {
  color: var(--color-red);
  position: relative;
}
.p-homePhotoList_price dd ._cont:nth-child(2)::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 11px solid #727272;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: max(calc(-30 / 1440 * 100vw), -30px);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price dd ._cont:nth-child(2)::before {
    left: max(calc(-20 / 375 * 100vw), -20px);
  }
}
.p-homePhotoList_price dd ._num {
  font-family: var(--font-shippori);
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 0.619047619;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_price dd ._num {
    font-size: min(calc(36 / 375 * 100vw), 36px);
  }
}
.p-homePhotoList_price.-col2 {
  display: flex;
  justify-content: space-between;
  max-width: 620px;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_price.-col2 {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-homePhotoList_price.-col2::before {
  content: "";
  display: block;
  width: 1px;
  border-right: 1px dashed #707070;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_price.-col2 dl {
    width: 43.2835820896%;
  }
}
.p-homePhotoList_price.-col2 dl:first-child {
  order: -1;
  color: var(--color-green);
}
.p-homePhotoList_price.-col2 dl.-holiday dt {
  border-color: var(--color-red);
  color: var(--color-red);
}
.p-homePhotoList_price.-col2 dl.-holiday dd {
  color: var(--color-red);
}
.p-homePhotoList_price.-col2 dd {
  white-space: nowrap;
}
.p-homePhotoList_desc, .p-homePhotoList_notes, .p-homePhotoList_other {
  margin-top: 19px;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .p-homePhotoList_desc, .p-homePhotoList_notes, .p-homePhotoList_other {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_desc, .p-homePhotoList_notes, .p-homePhotoList_other {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.5714285714;
  }
}
.p-homePhotoList_desc *, .p-homePhotoList_notes *, .p-homePhotoList_other * {
  letter-spacing: 0.05em;
}
.p-homePhotoList_desc {
  color: var(--color-red);
}
.p-homePhotoList_desc + .p-homePhotoList_notes {
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .p-homePhotoList_desc + .p-homePhotoList_notes {
    margin-top: 8px;
  }
}
.p-homePhotoList_notes {
  color: var(--color-red);
}
@media screen and (min-width: 768px) {
  .p-homePhotoList_notes > * {
    display: inline;
  }
}
.p-homePhotoList_other {
  margin-top: 8px;
}
.p-homePhotoList_other a {
  text-decoration: underline;
}

.p-homeCostume {
  margin-top: 175px;
}
@media screen and (max-width: 767px) {
  .p-homeCostume {
    margin-top: 69px;
  }
}
.p-homeCostume_list {
  display: flex;
  flex-wrap: wrap;
  gap: min(calc(20 / 1200 * 100vw), 20px) 1.8518518519%;
  max-width: 1080px;
  margin: 75px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeCostume_list {
    justify-content: space-between;
    gap: calc(10 / 375 * 100vw) 0;
    margin-top: 56px;
  }
}
.p-homeCostume_list > li {
  width: 18.5185185185%;
}
@media screen and (max-width: 767px) {
  .p-homeCostume_list > li {
    width: 48.6567164179%;
  }
}
.p-homeCostume_list ._imgBox {
  padding-top: 174%;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.p-homeCostume_list ._imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-homeCostume_link {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-homeCostume_link {
    margin-top: 20px;
  }
}

.p-homeLocation {
  margin-top: 178px;
}
@media screen and (max-width: 767px) {
  .p-homeLocation {
    margin-top: 70px;
  }
}

.p-homeLocationList {
  max-width: 1080px;
  margin: 72px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList > li {
    display: flex;
    flex-direction: column;
    position: relative;
  }
}
.p-homeLocationList > li + li {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList > li + li {
    margin-top: 69px;
  }
}
.p-homeLocationList_head {
  min-height: 126px;
  padding: 24px 20px 24px 136px;
  border-top: 1px solid color-mix(in srgb, #000 50%, transparent);
  border-bottom: 1px solid color-mix(in srgb, #000 50%, transparent);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_head {
    display: contents;
  }
}
.p-homeLocationList_available {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 96px;
  height: 96px;
  background-color: #fff;
  border: 1px solid var(--color-theme);
  border-radius: 50%;
  color: var(--color-theme);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1071428571;
  position: absolute;
  top: 14px;
  left: 14px;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_available {
    width: 54px;
    height: 54px;
    padding-left: 0.1em;
    font-size: 16px;
    letter-spacing: 0.1em;
    top: 8px;
    left: 8px;
  }
}
.p-homeLocationList_ttl {
  display: flex;
  align-items: center;
  gap: 0 22px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_ttl {
    display: block;
    padding: 14px 64px 12px;
    border-top: 1px solid color-mix(in srgb, #000 50%, transparent);
    border-bottom: 1px solid color-mix(in srgb, #000 50%, transparent);
    font-size: 18px;
    text-align: center;
    order: -2;
  }
}
.p-homeLocationList_ttl ._en {
  color: var(--color-theme);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_ttl ._en {
    display: block;
    margin-top: 2px;
    font-size: 13px;
  }
}
.p-homeLocationList_recommend {
  margin-top: 5px;
  text-indent: -10px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend {
    margin-top: 24px;
    padding: 0 20px;
    font-size: 16px;
    text-align: center;
    text-indent: 0;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend::before, .p-homeLocationList_recommend::after {
    display: block;
    width: 16px;
    height: 56px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend::before, .p-homeLocationList_recommend::after {
    content: "";
  }
}
@media screen and (min-width: 768px) {
  .p-homeLocationList_recommend::before {
    content: "〔";
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend::before {
    left: 0;
    background: url(/assets/osaka/image/location/brackets_left.svg) center/auto no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .p-homeLocationList_recommend::after {
    content: "〕";
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend::after {
    right: 0;
    background: url(/assets/osaka/image/location/brackets_right.svg) center/auto no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .p-homeLocationList_recommend dt {
    display: inline;
  }
  .p-homeLocationList_recommend dt::after {
    content: ":";
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend dt {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-homeLocationList_recommend dd {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_recommend dd {
    display: block;
    line-height: 1.5625;
  }
}
.p-homeLocationList_recommend ._season01 {
  color: #57A6C1;
}
.p-homeLocationList_recommend ._season02 {
  color: var(--color-theme);
}
.p-homeLocationList_recommend ._season03 {
  color: #BA83B7;
}
.p-homeLocationList_recommend ._season04 {
  color: #F6AD3D;
}
.p-homeLocationList_recommend ._season05 {
  color: var(--color-red);
}
.p-homeLocationList_recommend ._arrow {
  font-size: 14px;
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  .p-homeLocationList_recommend.-splarge::before {
    content: "〔";
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-homeLocationList_recommend.-splarge::before {
    height: 76px;
    background-image: url(/assets/osaka/image/location/brackets_left_l.svg);
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  .p-homeLocationList_recommend.-splarge::after {
    content: "〕";
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-homeLocationList_recommend.-splarge::after {
    height: 76px;
    background-image: url(/assets/osaka/image/location/brackets_right_l.svg);
  }
}
.p-homeLocationList_imgBox {
  display: grid;
  gap: min(calc(15 / 1200 * 100vw), 15px) min(calc(15 / 1200 * 100vw), 15px);
  grid-template-columns: 49.2592592593% 23.8888888889% 23.8888888889%;
  grid-row: 1fr 1fr;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_imgBox {
    order: -1;
    gap: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
    grid-template-columns: calc(163 / 375 * 100vw) calc(163 / 375 * 100vw);
    grid-template-rows: calc(223 / 375 * 100vw) calc(108 / 375 * 100vw) calc(108 / 375 * 100vw);
    margin-top: 19px;
  }
}
.p-homeLocationList_imgBox ._main {
  grid-column: 1/2;
  grid-row: 1/3;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_imgBox ._main {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .p-homeLocationList_imgBox ._main img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-homeLocationList_imgBox ._sub img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-homeLocationList_comment {
  display: flex;
  align-items: center;
  gap: 0 28px;
  min-height: 100px;
  margin-top: 20px;
  padding: 24px 29px;
  border: 1px solid var(--color-theme);
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_comment {
    display: block;
    margin-top: 30px;
    padding: 13px calc(18 / 375 * 100vw) 18px;
  }
}
.p-homeLocationList_comment dt {
  color: var(--color-theme);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_comment dt {
    font-size: 16px;
    text-align: center;
  }
}
.p-homeLocationList_comment dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-homeLocationList_comment dd {
    margin-top: 13px;
    line-height: 1.6923076923;
  }
}

.p-homeStore {
  margin-top: 178px;
}
@media screen and (max-width: 767px) {
  .p-homeStore {
    margin-top: 70px;
  }
}
.p-homeStore_container {
  max-width: 1080px;
  margin: 96px auto 0;
  display: flex;
  justify-content: space-between;
  gap: 0 40px;
}
@media screen and (max-width: 1024px) {
  .p-homeStore_container {
    display: block;
    margin-top: 29px;
  }
}
.p-homeStore_contBox {
  flex: 1;
}
.p-homeStore_ttl {
  margin-top: -15px;
  color: var(--color-theme);
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-homeStore_ttl {
    margin-top: 0;
    font-size: 18px;
    text-align: center;
  }
}
.p-homeStore_address {
  margin-top: 18px;
  font-size: 22px;
  line-height: 1.4545454545;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-homeStore_address {
    margin-top: 13px;
    font-size: 15px;
    line-height: 1.4666666667;
  }
}
.p-homeStore_info {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 22px 0;
    margin-top: 19px;
  }
}
.p-homeStore_info dl {
  display: flex;
  align-items: flex-start;
  gap: 0 20px;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info dl {
    display: block;
    text-align: center;
    width: calc(157 / 375 * 100vw);
  }
  .p-homeStore_info dl.-spFull {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-homeStore_info dl + dl {
    margin-top: 26px;
  }
}
.p-homeStore_info dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 127px;
  height: 32px;
  background: var(--color-theme);
  border-radius: 5px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info dt {
    width: 100%;
    font-size: 14px;
    height: 20px;
  }
}
.p-homeStore_info dd {
  flex: 1;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4545454545;
  letter-spacing: 0.07em;
  margin-top: -2px;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info dd {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.2857142857;
  }
}
.p-homeStore_info dd ._large {
  display: inline-block;
  font-size: 26px;
  line-height: 1.1818181818;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info dd ._large {
    font-size: 19px;
  }
}
.p-homeStore_info dd ._minText {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-homeStore_info dd ._minText {
    display: block;
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.5;
  }
}
.p-homeStore_mapBox {
  width: 44.8148148148%;
}
@media screen and (max-width: 1024px) {
  .p-homeStore_mapBox {
    width: 100%;
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeStore_mapBox {
    margin-top: 20px;
  }
}
.p-homeStore_map iframe {
  width: 100%;
  height: 300px;
}
@media screen and (max-width: 767px) {
  .p-homeStore_map iframe {
    height: 208px;
  }
}
.p-homeStore_mapLink {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-homeStore_mapLink a {
    width: 237px;
    height: 34px;
    max-width: 100%;
    padding: 0;
    font-size: 16px;
    font-weight: 500;
  }
}
@media screen and (max-width: 767px) {
  .p-homeStore_mapLink a {
    width: 180px;
    padding: 0;
  }
}

.p-homeGalleryion {
  margin-top: 177px;
}
@media screen and (max-width: 767px) {
  .p-homeGalleryion {
    margin-top: 70px;
  }
}
.p-homeGalleryion_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(5, min(18.9166666667vw, 227px));
  gap: min(calc(30 / 1200 * 100vw), 30px) min(calc(30 / 1200 * 100vw), 30px);
  max-width: 1080px;
  margin: 92px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeGalleryion_list {
    margin-top: 28px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 29.0666666667vw);
    gap: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
  }
}
.p-homeGalleryion_list > li {
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-homeGalleryion_list > li {
    border-radius: 10px;
  }
}
.p-homeGalleryion_list > li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-homeGalleryion_list > li._cont05 {
  grid-column: 1/2;
  grid-row: 1/3;
}
@media screen and (min-width: 768px) {
  .p-homeGalleryion_list > li._cont09 {
    grid-column: 1/3;
    grid-row: 4/6;
  }
}
@media screen and (min-width: 768px) {
  .p-homeGalleryion_list > li._cont10 {
    grid-column: 3/4;
    grid-row: 4/6;
  }
}
@media screen and (max-width: 767px) {
  .p-homeGalleryion_list > li._cont10 {
    grid-column: 2/3;
    grid-row: 5/7;
  }
}
.p-homeGalleryion_link {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-homeGalleryion_link {
    margin-top: 20px;
  }
}

.p-homeContact {
  margin-top: 179px;
}
@media screen and (max-width: 767px) {
  .p-homeContact {
    margin-top: 80px;
  }
}
.p-homeContact .m-read {
  margin-top: 95px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homeContact .m-read {
    margin-top: 21px;
    text-align: left;
  }
}
.p-homeContact_link {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-homeContact_link {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-homeContact_link a {
    width: 263px;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-homeContact_link a {
    width: 180px;
    padding: 0;
  }
}/*# sourceMappingURL=style.css.map */