@charset "utf-8";
:root {
--color-bg: #1F2A24;
--color-bg-dark: #1F2A24;
--color-gold: #B38F00;
--color-light: #F7F7EF;
--color-text-main: #F7F7EF;
--color-text-sub: rgba(247,247,239,0.7);
--fs-xs: 12px; 
--fs-sm: 14px; 
--fs-md: 16px;
--fs-md2: 18px;
--fs-lg: 20px;
--fs-xl: 24px;
--fs-xxl: 28px;
--fs-hero: 48px;
--fs-hero-lg: 70px;
--fw-normal: 400;
--fw-medium: 500;
--fw-bold: 700;
--radius-pill: 50px;
--bp-sp: 768px;
--bp-pc: 1080px;
--ff-sans: "Noto Sans JP", sans-serif;
--ff-serif: "Cormorant Garamond", serif;
--ff-mincho: "Shippori Mincho B1", serif;
}
/* common */
body{
font-family: var(--ff-sans);color: #000;font-size: var(--fs-sm);font-weight: 400;line-height: 1;
}
.pc{display: none;}
.sp{display: block;}
.text{
font-size: 10px;
line-height: 1.8;
}
.text--lead{
font-family: var(--ff-sans);
font-size: 14px;
font-weight: 400;
line-height: 2;
margin-top: 50px;
}
.heading--sm{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 20px;
font-weight: 700;
line-height: 2;
letter-spacing: 2px;
text-transform: uppercase;
}
.heading--lg{
font-family: var(--ff-mincho);
font-size: 28px;
font-weight: 400;
line-height: 1.571;
}
section{padding: 80px 40px;}
.section__inner{
max-width: 1080px;
margin: auto;
}
.section--dark {
background: var(--color-bg-dark);
}
.text--white,
.heading--white{
color: #fff;
}
.text--dark,
.heading--dark{
color: #000;
}
svg.arrow--lg{
width: 90px;
height: auto;
}
svg.arrow--md{
width: 40px;
height: auto;
}
svg.arrow-md-bottom{
width: 11px;
height: 33px;
}
.fadein {
opacity: 0;
transform: translateY(20px);
transition: opacity .6s ease, transform .6s ease;
}
.fadein.is-show {
opacity: 1;
transform: translateY(0);
}
.fadein-center {
  opacity: 0;
  transition: opacity 2.8s ease;
}
.fadein-center.is-show {
  opacity: 1;
}
.btn-primary{
display: flex;
width: 100%;
padding: 15px 0;
justify-content: center;
align-items: center;
gap: 10px;
border-radius: 30px;
color: #fff;
font-family: var(--ff-mincho);
font-size: 14px;
font-weight: 400;
line-height: 1;
letter-spacing: 1.4px;
position: relative;
background: var(--color-gold);
}
@media (width >= 768px) {
.pc{display: block;}
.sp{display: none;}
}
@media (width >= 980px) {
section{padding: 180px 20px 160px;}
}
/* End common */
/* header */
header{
background-image: url(/images_2024r/ppp/kv.webp);
background-size: cover;
}
.header.section--kv{padding: 150px 40px 0;}
/* overlay-styles.css */
.hamburger-overlay {
position: fixed;
top: 20px;
right: 20px;
z-index: 1000;
width: 58px;
height: 48px;
border: none;
background: transparent;
cursor: pointer;
}
.hamburger-overlay__line {
position: absolute;
left: 11px;
width: 40px;
height: 2px;
background-color: #333;
transition: all .6s;
}
.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
transform: translateY(10px) rotate(-20deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
transform: translateY(-8px) rotate(20deg);
}
.nav-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background-color: rgba(255, 255, 255, 0.95);
visibility: hidden;
opacity: 0;
transition: all .6s;
z-index: 900;
}
.nav-overlay.active {
visibility: visible;
opacity: 1;
}
.nav-overlay__content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100vh;
text-align: center;
overflow-y: auto;
padding: 150px 0;
}
.nav-overlay__list {
margin: 0;
padding: 0;
list-style: none;
}
.nav-overlay__item {
opacity: 0;
transform: translateY(20px);
transition: all .6s;
& + .nav-overlay__item{margin-top: 50px;}
}
.nav-overlay.active .nav-overlay__item {
opacity: 1;
transform: translateY(0);
}
.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__item:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__item:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay__link {
display: inline-block;
font-size: 24px;
text-decoration: none;
transition: color .3s;
}
.nav-overlay__link:hover {
opacity: .8;
}
.global-nav__title-en{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: clamp(14px, 0.799rem + 1.04vw, 16px);
font-style: normal;
font-weight: 700;
line-height: 40px;
letter-spacing: 1.6px;
text-transform: uppercase;
}
.global-nav__title-ja{
font-family: var(--ff-mincho);
font-size: clamp(16px, 0.799rem + 1.04vw, 20px);
font-weight: 400;
line-height: 1.6;
}
.header__inner{
max-width: 1080px;
margin: auto;
}
.header__inner--grid{
display: grid;
grid-template-areas: "a""b""c";gap: 50px;}
.header__catch{grid-area: a;}
.header__catch-main{
color: #000;
font-family: var(--ff-mincho);
font-size: clamp(2.5rem, 1.695rem + 4.16vw, 4.5rem);
font-weight: 400;
line-height: 1.5;
}
.header__catch-sub{
font-family: var(--ff-sans);
font-size: clamp(14px, 0.799rem + 1.04vw, 16px);
font-weight: 400;
line-height: 2;
margin-top: 50px;
}
.header__actions{
margin: 0;
position: relative;
grid-area: b;
width: 310px;
}
.kv__btn{
color: #000;
font-family: var(--ff-mincho);
font-size: var(--fs-md2);
font-weight: 400;
letter-spacing: 1.8px;
width: 160px;
display: flex;
aspect-ratio: 1/1;
border-radius: 50%;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 15px;
}
.kv__btn--outline{border: 1px solid #000;}
.header__brand.kv__brand{
width: 100vw;
margin: 0 calc(50% - 50vw);
grid-area: c;
}
.kv__logo{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 64px;
font-weight: 700;
line-height: 1;
letter-spacing: 2.56px;
margin: auto;
}
.kv__btn.kv__btn--side{
position: absolute;
top: 0;
left: 150px;
}
.kv__btn.kv__btn--side .arrow-md-bottom{transform: rotate(-90deg);}
@media (width >= 980px) {
.nav-overlay__content {padding: 120px 0;}
.header.section--kv{padding: 210px 0 160px;}
.header__inner--grid{
grid-template-areas:
"a b"
"c c";
gap: 100px 50px;
justify-content: space-between;
}
.header__actions{width: auto;}
.header__brand.kv__brand{
width: 100%;
margin: 0;
}
.kv__btn.kv__btn--side{top: 150px;left: 0;}
}
/* End header */
/* scenes */
.section__inner.scenes__inner{
  position: relative;
}
.scenes__slider--wrapper{
margin-top: 120px;
}
.scenes__slider{
width: 100%;
}
.scenes__slide{
}
.scenes__img{
aspect-ratio: 1/1;
border-radius: 10px;
display: block;
object-fit: cover;
width: 200px;
}
.scenes__caption{
font-family: var(--ff-mincho);
font-size: 14px;
font-weight: 400;
line-height: 1.714;
margin-top: 15px;
}
.scenes__slider.slick-initialized .slick-slide {
padding-right: 20px;
max-width: 200px;
}
.scenes__arrows {
display: flex;
align-items: center;
justify-content: flex-start;
margin: 30px 0 0;
position: relative;
gap: 10px;
}
.scenes__arrow {
display: block;
width: 50px;
aspect-ratio: 1 / 1;
background: url(/images_2024r/ppp/slide_arrow.webp) no-repeat center;
background-size: contain;
cursor: pointer;
}
.scenes__arrow--next {
transform: rotate(180deg);
}
.svg__container{
position: absolute;
width: 100vw;
max-width: 656px;
height: auto;
right: 50%;
transform: translateX(50%);
z-index: 1;
}
#text {
mask: url(#mask);
}
.handwriting {
width: 100%;
height: auto;
}
.handwriting__text {
fill: #000;
}
.handwriting__mask-line {
fill: none;
stroke: #fff;
stroke-width: 10;
stroke-linecap: round;
stroke-linejoin: round;
stroke-dasharray: 4000px;
animation: handwriting 8s linear infinite;
}
@keyframes handwriting {
0% {
stroke-dashoffset: 4000px;
}
100% {
stroke-dashoffset: 0;
}
}
@media (width >= 750px) {
.scenes__slider--wrapper{margin-top: 80px;}
.svg__container{
width: 60%;
top: 28%;
right: 0;
transform: none;
}
}
@media (width >= 980px) {
.scenes__slider{
width: 100vw;
max-width: 1260px;
}
.svg__container{top: 20%;}
}
/* End scenes */
/* venues */
section.venues{background: var(--color-bg-dark);}
.venues__list{margin-top: 100px;}
article.venue{
& + article.venue{margin-top: 40px;}
}
.venue__thumb{
border-radius: 10px;
max-width: 600px;
aspect-ratio: 600/360;
display: block;
width: calc(100% + 40px);
margin-left: -20px;
margin-right: -20px;
}
.venue__body{width: 100%;}
.venue__area{
color: var(--color-gold);
font-family: var(--ff-sans);
font-size: 12px;
font-weight: 400;
line-height: 2;
letter-spacing: 0.6px;
margin-top: 25px;
}
.venue__name{
font-family: var(--ff-mincho);
font-size: clamp(16px, 0.799rem + 1.04vw, 28px);
font-weight: 400;
line-height: 1.625;
margin-top: 15px;
}
.venue__info{
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #646464;
}
.venue__info-item{
font-size: 12px;
font-weight: 400;
line-height: 1.666;
letter-spacing: 0.6px;
display: grid;
grid-template-columns: 65px auto;
& + .venue__info-item{margin-top: 15px;}
}
.venue__info-label.venue__info-label--sm{
color: var(--color-gold);
}
.venue__detail{
margin-top: 25px;
padding: 10px 0;
display: flex;
justify-content: center;
align-items: center;
font-size: 12px;
font-weight: 400;
line-height: 1;
letter-spacing: 0.6px;
border-radius: 15px;
border: 1px solid #646464;
width: 100%;
position: relative;
&::after{
content: '';
position: absolute;
background: url(/images_2024r/ppp/arrow_sm.svg) no-repeat center;
background-size: contain;
width: 16px;
aspect-ratio: 16/5;
top: 50%;
right: 15px;
transform: translateY(-50%);
}
}
.venues__more{
font-family: var(--ff-mincho);
font-size: 16px;
font-weight: 400;
line-height: 1;
letter-spacing: 1.6px;
margin: 100px auto 0;
display: flex;
justify-content: center;
align-items: center;
padding: 20px 0;
border-radius: 25px;
border: 1px solid #fff;
max-width: 480px;
position: relative;
&::after{
content: '';
position: absolute;
background: url(/images_2024r/ppp/arrow_sm.svg) no-repeat center;
background-size: contain;
width: 26px;
aspect-ratio: 16/5;
top: 50%;
right: 20px;
transform: translateY(-50%) rotate(90deg);
}
}
@media (width >= 600px) {
.venue__thumb{
width: 100%;
margin-left: 0;
margin-right: 0;
}
}
@media (width >= 980px) {
article.venue{
padding: 0;
display: flex;
gap: 60px;
& + article.venue{margin-top: 80px;}
&:nth-of-type(even){flex-direction: row-reverse;}
}
.venue__info{
display: grid;
align-items: flex-start;
grid-template-columns: repeat(3, 1fr);
}
.venue__info-item {
& + .venue__info-item {
margin-top: 0;
}}
.venue__info-item{grid-template-columns: 1fr;}
}

/* End venues */
/* coordination */
section.coordination {
position: relative;
padding: 80px 40px;
}
section.coordination::before {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(rgba(237, 237, 237, .6),  rgba(237, 237, 237, .6)),  
url(/images_2024r/ppp/bg_coordination.webp) 50% / cover no-repeat;
filter: blur(3px);
z-index: -1;
}
.coordination__block{
margin-top: 50px;
padding: 40px 30px;
border-radius: 30px;
border: 1px solid var(--color-gold);
background: #fff;
}
.coordination__lead{
color: var(--color-gold);
font-family: var(--ff-mincho);
font-size: 20px;
font-weight: 500;
line-height: 1.6;
}
.coordination__text{
font-size: 12px;
font-weight: 400;
line-height: 1.83;
margin-top: 30px;
}
.coordination__actions{
margin-top: 30px;
display: grid;
gap: 10px;
justify-content: center;
grid-template-columns: 1fr;
}
.coordination__btn{
display: flex;
width: 100%;
padding: 15px 0;
justify-content: center;
align-items: center;
gap: 10px;
border-radius: 30px;
color: #fff;
font-family: var(--ff-mincho);
font-size: 14px;
font-weight: 400;
line-height: 1;
letter-spacing: 1.4px;
position: relative;
&::after{
content: '';
position: absolute;
background: url(/images_2024r/ppp/arrow_sm.svg) no-repeat center;
background-size: contain;
width: 16px;
aspect-ratio: 16/5;
top: 50%;
right: 15px;
transform: translateY(-50%);
}
}
.coordination__btn.coordination__btn--search{
background: var(--color-gold);
&::after{transform: rotate(90deg);}
}

.coordination__btn.coordination__btn--consult{background: #1f2a24;}
.scrol-slide__item{
padding: 40px;
background: var(--color-gold);
border-radius: 40px 0 0 40px;
}
.verticaltext.scrol-slide__label{
color: #fff;
font-family: var(--ff-serif);
font-size: clamp(12px, 0.934rem + 0.35vw, 28px);
font-weight: 700;
line-height: 1;
letter-spacing: 2px;
text-transform: uppercase;
writing-mode: tb;
position: absolute;
top: 60px;
left: 1rem;
}
.verticaltext.scrol-slide__label .sm{
font-size: 12px;
font-weight: 400;
line-height: 1;
margin-top: 25px;
}
.scrol-slide__title-en{
color: #fff;
font-family: var(--ff-serif);
font-size: 16px;
font-weight: 700;
line-height: 3.57;
letter-spacing: 1.4px;
text-transform: uppercase;
}
.scrol-slide__title-ja{
font-family: var(--ff-mincho);
font-size: clamp(12px, 0.934rem + 0.35vw, 20px);
font-weight: 500;
line-height: 1.4;
}
.scrol-slide__item--desc{max-width: 180px;}
.scrol-slide__subtitle{
color: #fff;
font-family: var(--ff-mincho);
font-size: 16px;
font-weight: 400;
line-height: 1.714;
letter-spacing: 0.7px;
margin-top: 30px;
}
.scrol-slide__text{
font-size: 1rem;
font-weight: 400;
line-height: 1.8;
letter-spacing: -0.2px;
margin-top: 30px;
}
.scrol-slide__item:nth-of-type(even){
background: var(--color-bg-dark);
& .scrol-slide__title-en{
color: var(--color-gold);
}
& .scrol-slide__title-ja{
color: #fff;
}
& .scrol-slide__subtitle{
color: var(--color-gold);
}
& .scrol-slide__text{
color: #fff;
}
}
.scrol-slide__image{
border-radius: 10px;
margin-top: 30px;
width: 100%;
height: auto;
}
.section-scrol{
height: 300vh;
position: relative;
}
.scrol_sticky {
position: sticky;
top: 0;
height: 100vh;
overflow: hidden;
}
.scrol-slide__item{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
will-change: transform;
overflow-y: auto;
}
.scrol-slide__item--facility {transform: translate3d(calc(100% - 10rem), 0, 0);}
.scrol-slide__item--support  {transform: translate3d(calc(100% - 7.5rem), 0, 0);}
.scrol-slide__item--food     {transform: translate3d(calc(100% - 5rem), 0, 0);}
.scrol-slide__item--access   {transform: translate3d(calc(100% - 2.5rem), 0, 0);}
.coordination__sp{padding: 0 40px;}

.coordination__slider--wrapper{
padding: 80px 0;
background: var(--color-bg-dark);
}
.coordination__slider{
width: 100%;
}
.coordination__img{
height: 100svh;
border-radius: 10px;
display: block;
object-fit: cover;
transform: scale(.9);
transition: transform .5s; 
}
.coordination__img.coordination__img-support{object-position: 72% 50%;}
.slick-center .coordination__img{
transform: scale(1);
}
.coordination__arrow {
display: block;
width: 50px;
aspect-ratio: 1 / 1;
background: url(/images_2024r/ppp/slide_arrow_white.webp) no-repeat center;
background-size: contain;
cursor: pointer;
position: absolute;
z-index: 1;
top: 50%;
transform: translateY(-50%);
}
.coordination__arrow--next {
transform: rotate(180deg);
right: 0;
top: calc(50% - 20px);
}
.coordination__slide.slick-center {
transform: scale(1.1);
transition: transform .3s ease;
}
.coordination__slide {
transition: transform .3s ease;
position: relative;
}
.coordination__slide-info{
position: absolute;
top: 50%;
color: #fff;
padding: 1rem;
max-width: 360px;
overflow-x: hidden;
transform: translateY(-50%);
opacity: 0;
pointer-events: none;
transition: opacity .4s ease;
z-index: 1;
}
.coordination__slide-info.is-active {
opacity: 1;
pointer-events: auto;
}
.coordination__slide::after {
content: "";
position: absolute;
inset: 0;
background: rgba(0,0,0,0);
transition: background .4s ease;
border-radius: 10px;
}
.coordination__slide.is-active::after {
background: rgba(0,0,0,0.5);
}
.coordination__slide-title-en{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 28px;
font-weight: 500;
line-height: 60px;
letter-spacing: 2.8px;
text-transform: uppercase;
}
.coordination__slide-desc{
font-family: var(--ff-mincho);
font-size: 16px;
font-weight: 400;
line-height: 28px;
letter-spacing: 0.8px;
}
.coordination__slide-subtitle{
color: var(--color-gold);
font-family: var(--ff-mincho);
font-size: 16px;
font-weight: 500;
line-height: 1.714;
letter-spacing: 0.7px;
margin-top: 20px;
}
.coordination__slide-text{
font-size: 12px;
font-weight: 400;
line-height: 1.8;
letter-spacing: -0.2px;
margin-top: 20px;
}
@media (width >= 750px) {
.scrol-slide__item{padding: 60px;}
.scrol-slide__item--desc{max-width: 280px;}
}
@media (width >= 980px) {
.scrol-slide__item{padding: 2% 60px;}
.coordination__actions{grid-template-columns: 1fr 1fr;}
.coordination-wrap {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
align-items: start;
}
.coordination__img.coordination__img-support{object-position: 50% 50%;}
section.coordination {
position: sticky;
top: 0;
height: 100vh;
overflow: hidden;
grid-area: 1 / 1;
}
.section-scrol{
grid-area: 1 / 1;
}
.coordination__block.pc{
border: none;
background: unset;
max-width: 420px;
padding: 0;
}
}
@media (width >= 1500px) {
.section-scrol{height: 300vh;}
.scrol-slide__item--desc{max-width: 60%;}
.scrol-slide__image{
width: 80%;
max-width: unset;
}
}
@media (width >= 1900px) {
.scrol-slide__item--desc{max-width: 50%;}
}
/* End coordination */
/* schedule */
.schedule__flow{
margin: 50px auto 0;
width: fit-content;
}
.schedule__inner{direction: ltr;}
.schedule__list{direction: ltr;}
.schedule__item{
display: grid;
direction: ltr;
grid-template-areas: "a b"
"a c";
grid-template-columns: 80px auto;
gap: 20px 15px;
position: relative;
& + .schedule__item{
margin-top: 50px;
&::before{
position: absolute;
content: '';
background: url(/images_2024r/ppp/arrow_bottom.svg) no-repeat center / contain;
width: 10px;
aspect-ratio: 1/3;
top: -50%;
left: 40px;
transform: translate(-50%, 0);
}
}
}
.schedule__step{
display: flex;
width: 80px;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 0;
aspect-ratio: 1/1;
border-radius: 60px;
border: 1px solid #646464;
grid-area: a;
}
.schedule__step-label{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 10px;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
}
.schedule__step-num{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 44px;
font-weight: 700;
line-height: 0.6;
text-transform: uppercase;
}
.schedule__title{
font-family: var(--ff-mincho);
font-size: 20px;
font-weight: 400;
line-height: 1.8;
grid-area: b;
}
.schedule__desc{
font-size: 12px;
font-weight: 400;
line-height: 1.666;
grid-area: c;
}
.schedule__item {
opacity: 0;
transform: translateY(20px);
transition: opacity .6s ease, transform .6s ease;
}

.schedule__item.is-show {
opacity: 1;
transform: translateY(0);
}
@media (width >= 980px) {
.schedule.section-grid{
display: grid;
direction: rtl;
gap: 100px;
grid-template-columns: repeat(2, minmax(0, 480px));
justify-content: center;
}
.schedule__inner{height: stretch;}
.schedule__flow{margin: 0;}
}
/* End schedule */
/* search */
section.search{background: #f7f7ef;}
.search-container{
display: grid;
grid-template-columns: 1fr;
gap: 100px 0;
}
.search-intro,
.search-panel,
.search-results {
grid-column: 1;
}
.venue-card__image{
aspect-ratio: 320/200;
border-radius: 10px;
overflow: hidden;
img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}}
.venue-card__body{
padding: 0 20px;
margin: 25px 0 0;
}
.search-header,
.search-results__header{
display: grid;
grid-template-columns: 1fr;
gap: 15px;
}
.search-header__title{
font-family: var(--ff-mincho);
font-size: 20px;
font-weight: 400;
text-align: center;
}
.search-header__dots,
.search-results__dots{
width: 2px;
aspect-ratio: 2/22;
display: block;
margin: auto;
}
#searchForm{margin-top: 10px;}
#searchForm .form_item{
display: grid;
grid-auto-columns: 1fr;
gap: 10px;
& + .form_item{margin-top: 20px;}
}
#filterStatus{
margin-top: 20px;
display: grid;
grid-template-columns: 1fr;
gap: 20px;
text-align: center;
}
#clearFilters {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
display: flex;
justify-content: center;
align-items: center;
background-color: transparent;
border: none;
color: #000;
cursor: pointer;
}
.search-results__title{
font-family: var(--ff-mincho);
font-size: 20px;
font-weight: 400;
text-align: center;
}
#searchForm .form_item select,
#searchForm .form_item input#guestCount{
position: relative;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
width: 100%;
padding: 8px;
border: 1px solid #646464;
border-radius: 20px;
font-size: 14px;
color: #646464;
background: url(/images_2024r/ppp/arrow_select.svg) no-repeat;
background-size: 8px 4px;
background-position: right 20px center;
}
#searchForm .form_item input#guestCount{
  background: none;
}
/* Chrome, Safari, Edge, Opera 向け */
#searchForm .form_item input#guestCount[type="number"]::-webkit-outer-spin-button,
#searchForm .form_item input#guestCount[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox 向け */
#searchForm .form_item input#guestCount[type="number"] {
  -moz-appearance: textfield;
}
.form_item__label span{font-size: 10px;}
.form_item__checkbox-group{
display: flex;
flex-wrap: wrap;
gap: 10px 20px;
}
.checkbox-item {
display: flex;
align-items: center;
gap: 6px;
}
#venueResults{
display: grid;
grid-template-columns: 1fr;
gap: 40px;
justify-content: center;
margin-top: 40px;
}
.venue-card__area{
color: var(--color-gold);
font-size: 12px;
font-weight: 400;
letter-spacing: 0.6px;
}
.venue-card__title,
.venue-card__room{
font-family: var(--ff-mincho);
font-size: 16px;
font-weight: 400;
line-height: 1.625;
}
.venue-card__details{padding: 25px 0 0;border-top: 1px solid #646464;}
.venue-card__detail{
display: grid;
grid-template-columns: 65px auto;
& + .venue-card__detail{margin-top: 15px;}
}
.venue-card__detail-label{
color: var(--color-gold);
font-size: 12px;
font-weight: 400;
letter-spacing: 0.6px;
}
.venue-card__link{margin: 25px 0 0;}
.venue-card__link-btn{
border-radius: 15px;
border: 1px solid #646464;
padding: 10px 0;
display: flex;
font-size: 12px;
justify-content: center;
position: relative;
&::before {
position: absolute;
content: '';
background: url(/images_2024r/ppp/arrow_bottom.svg) no-repeat center / contain;
width: 5px;
aspect-ratio: 5 / 16;
top: 50%;
right: 15px;
transform: translate(-50%, -50%) rotate(-90deg);
}
}
.venue-card__cap{
  display: block;
}
.venue-card__detail-value .venue-card__cap + .venue-card__cap{
  margin-top: 5px;
}
.search-results__more{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  margin-top: 60px;
}
.search-results__more-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  border: none;
  height: inherit;
  /* border: 1px solid #000; */
  color: #fff;
  background-color: var(--color-gold);
}
.hidden {
display: none !important;
}
#noResults{
display: flex;
flex-direction: column;
align-items: center;
color: rgb(107,114,128);
}

#noResults .search-results__empty-icon{
color: rgba(156,163,175,.8);
margin-bottom: 20px;
}

#noResults .search-results__empty-text{
font-size: 16px;
margin-bottom: 10px;
}
@media (width >= 980px) {
#venueResults{
grid-template-columns: repeat(3, 1fr);
gap: 60px;
}
.search-container {grid-template-columns: 1fr 1fr;gap: 80px 0;}
.search-intro{grid-column: 1;}
.search-panel{grid-column: 2;}
.search-results {grid-column: 1 / -1;}
}
/* End search */
/* faq */
.faq__item{
border-top: 1px solid #646464;
padding: 30px 20px;
&:first-of-type{margin-top: 50px;}
}
.faq__question{
line-height: 1.5;
font-family: var(--ff-mincho);
font-size: clamp(16px, 0.799rem + 1.04vw, 24px);
font-weight: 400;
position: relative;
display: flex;
gap: 10px;
align-items: center;
&::before{
position: absolute;
content: '';
width: 15px;
height: 1px;
background: #646464;
right: -7px;
top: 7px;
}
&::after {
position: absolute;
content: '';
width: 1px;
height: 15px;
background: #646464;
right: 0;
top: 0;
transition: .5s;
}
}
details.faq__item[open] summary.faq__question::after {transform: rotate(90deg);}
.faq__answer{
font-family: var(--ff-sans);
font-size: 12px;
font-weight: 400;
letter-spacing: 0.6px;
padding-top: 20px;
line-height: 1.66;
display: flex;
gap: 10px;
align-items: flex-start;
}
.faq__icon{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 20px;
font-weight: 700;
text-transform: uppercase;
padding: 12px;
border-radius: 60px;
border: 1px solid #646464;
vertical-align: middle;
display: flex;
width: 40px;
height: 40px;
justify-content: center;
align-items: center;
gap: 10px;
aspect-ratio: 1/1;
}
details::details-content {
interpolate-size: allow-keywords;
transition: height 0.5s ease, content-visibility 0.5s ease allow-discrete;
height: 0;
overflow: clip;
}

details[open]::details-content {
height: auto;
}
/* Endfaq */
/* footer */
footer{
padding: 80px 40px;
}
.footer__reserve{
display: grid;
grid-template-areas:
"a"
"b"
"c"
"d"
;}
.footer__heading.heading--sm{
grid-area: a;
}
.footer__heading.heading--lg{
grid-area: b;
}
.footer__text.text--lead{
grid-area: c;
}
.footer__logo{
color: var(--color-gold);
font-family: var(--ff-serif);
font-size: 64px;
font-weight: 700;
line-height: 1;
letter-spacing: 2.56px;
margin-top: 50px;
}
.footer__actions{
margin: 50px auto 0;
position: relative;
grid-area: d;
width: 310px;
}
.footer__btn.footer__btn--outline{
position: absolute;
top: 0;
left: 150px;
}
.footer__nav{margin-top: 50px;}
.footer__links{
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
.footer__link{
color: #fff;
font-size: var(--fs-xs);
font-weight: 400;
letter-spacing: 0.6px;
}
.footer__btn{
color: #fff;
font-family: var(--ff-mincho);
font-size: var(--fs-md2);
font-weight: 400;
letter-spacing: 1.8px;
width: 160px;
display: flex;
aspect-ratio: 1/1;
border-radius: 50%;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 15px;
}
.footer__btn-text{
color: #fff;
font-family: var(--ff-mincho);
font-size: 18px;
font-weight: 400;
line-height: 32px;
letter-spacing: 1.8px;
}
.footer__btn--gold{
background: var(--color-gold);
}
.footer__btn--outline{
border: 1px solid #fff;
}
.footer__btn.footer__btn--gold .arrow{transform: rotate(-90deg)}
.footer__copy{
color: var(--color-gold);
font-family: "Roboto", sans-serif;
font-size: var(--fs-xs);
font-weight: 400;
letter-spacing: 0.6px;
margin-top: 50px;
text-align: left;
}
@media (width >= 980px) {
footer{padding: 180px 0 160px;}
.footer__reserve{
grid-template-areas:
"a d"
"b d"
"c d";
justify-content: space-between;
}
.footer__actions{width: 380px;margin: 0;}
.footer__btn.footer__btn--outline{left: 180px;}
.footer__btn{width: 200px;}
.footer__links{
display: flex;
flex-wrap: wrap;
margin-top: 20px;
}
}
/* End footer */
/* modal */
.modal {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.6);
display: flex;
align-items: center;
justify-content: center;
visibility: hidden;
opacity: 0;
pointer-events: none;
z-index: 2000;
transition: opacity .4s ease, visibility .4s ease;
}
.modal.is-open {
visibility: visible;
opacity: 1;
pointer-events: auto;
}
.modal__inner {
background: #fff;
width: min(90vw, 600px);
padding: 40px;
border-radius: 10px;
position: relative;
transform: scale(0.95);
opacity: 0;
transition: transform .4s ease, opacity .4s ease;
}

.modal.is-open .modal__inner {
transform: scale(1);
opacity: 1;
}
.modal__close {
position: absolute;
right: 20px;
top: 20px;
background: none;
border: none;
font-size: 24px;
cursor: pointer;
}
.modal__title {
  margin-bottom: 20px;
  text-align: center;
  color: var(--color-gold);
  font-family: var(--ff-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.modal__tel {
  display: inline-block;
  font-size: 18px;
  text-decoration: none;
  color: #333;
}
.modal__text {
  font-size: 16px;
  color: #555;
  line-height: 1.75;
}
.btn-primary.modal__btn{
margin: 40px auto 0;
max-width: 400px;
}
@media (width >= 980px) {
.modal__tel { pointer-events: none; }
}
/* End modal */

