@charset "UTF-8";
:root{--bg:#f3f1eb;--ink:#1e2924;--muted:#68746e;--green:#315f50;--deep:#14372d;--white:#fff;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.85;letter-spacing:.045em}body.is-loading{overflow:hidden}a{color:inherit;text-decoration:none}
.opening{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0e1713;color:#fff;transition:opacity 1s,visibility 1s}.opening.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.opening__inner{text-align:center}.opening__small{font-size:.62rem;letter-spacing:.34em}.opening__date{margin:18px 0;font:500 clamp(3.2rem,10vw,7.5rem)/1 var(--serif);letter-spacing:.13em}.opening__rule{display:block;width:78px;height:1px;margin:26px auto;background:#ffffffb3}.opening__message{font:500 clamp(1rem,2vw,1.35rem)/2 var(--serif)}
.site-header{position:fixed;top:0;z-index:100;width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;color:#fff;transition:.35s}.site-header.is-scrolled{padding-block:13px;background:#102b22eb;backdrop-filter:blur(14px)}.site-logo{display:flex;flex-direction:column;line-height:1.35}.site-logo span{font-size:.64rem}.site-logo strong{font:500 .98rem var(--serif)}.site-nav{display:flex;align-items:center;gap:24px;font-size:.76rem}.nav-cta{padding:9px 17px;border:1px solid #ffffffa6;border-radius:99px}.nav-instagram img{width:27px;height:27px;display:block}.menu-button{display:none;background:none;border:0;color:#fff}
.hero{position:relative;height:100svh;min-height:680px;display:flex;align-items:center;overflow:hidden;color:#fff}.hero__scenes,.hero__scene,.hero__shade{position:absolute;inset:0}.hero__scene{background:center/cover no-repeat;opacity:0;transform:scale(1.04);transition:opacity 1.6s ease,transform 8s ease}.hero__scene.is-active{opacity:1;transform:scale(1)}.hero__scene--exterior{background-image:url("../images/exterior-day.png")}.hero__scene--dining{background-image:url("../images/dining.jpg")}.hero__scene--room{background-image:url("../images/room.jpg")}.hero__scene--garden{background-image:url("../images/garden.jpg")}.hero__shade{z-index:1;background:linear-gradient(90deg,#07140fcc,#07140f2e 68%),linear-gradient(0deg,#07140f70,transparent 52%)}.hero__content{position:relative;z-index:2;width:min(1180px,91%);height:390px;margin:auto}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity 1.15s,transform 1.15s,visibility 1.15s}.hero-copy.is-active{opacity:1;visibility:visible;transform:none}.hero-copy__eyebrow{margin:0 0 18px;font-size:.75rem;font-weight:600;letter-spacing:.24em}.hero-copy h1{margin:0;font:500 clamp(2.6rem,6vw,6rem)/1.38 var(--serif);letter-spacing:.075em}.hero-copy__lead{margin:25px 0 31px;font-size:clamp(.9rem,1.3vw,1.08rem)}.round-link{display:inline-flex;align-items:center;align-self:flex-start;gap:32px;padding:14px 21px;border:1px solid #ffffffb3;border-radius:99px}.hero-progress{position:absolute;right:4vw;bottom:42px;z-index:3;display:flex;gap:10px}.hero-progress span{width:30px;height:2px;background:#ffffff59;transition:.35s}.hero-progress span.is-active{width:54px;background:#fff}
.opening-bar{display:flex;justify-content:center;gap:28px;padding:18px 4vw;background:var(--deep);color:#fff;text-align:center}.opening-bar strong{font:500 1.05rem var(--serif)}.opening-bar span{font-size:.78rem;opacity:.78}
.section{width:min(1180px,90%);margin:auto;padding:125px 0}.section-title{display:grid;grid-template-columns:.48fr 1.52fr;gap:35px}.section-title>p,.recruit__content>p,.contact>p{margin:0 0 18px;font-size:.69rem;font-weight:600;letter-spacing:.3em}.section-title h2,.workplace-panel__text h2,.recruit__content h2,.contact h2{margin:0;font:500 clamp(2rem,4.3vw,4rem)/1.5 var(--serif)}.message__copy{width:min(690px,100%);margin:65px 0 0 auto;color:var(--muted)}
.workplace{width:min(1320px,94%);margin:auto;padding:20px 0 120px}.workplace-panel{display:grid;grid-template-columns:1.5fr .8fr;min-height:600px;margin-bottom:72px;background:#fff;overflow:hidden}.workplace-panel--reverse{grid-template-columns:.8fr 1.5fr}.workplace-panel--reverse .workplace-panel__image{order:2}.workplace-panel__image{background:center/cover no-repeat}.image-dining{background-image:url("../images/dining.jpg")}.image-room{background-image:url("../images/room.jpg")}.image-garden{background-image:url("../images/garden.jpg")}.workplace-panel__text{display:flex;flex-direction:column;justify-content:flex-end;padding:48px}.workplace-panel__text>p{margin:0;color:var(--green);font-size:.67rem;font-weight:600;letter-spacing:.18em}.workplace-panel__text h2{margin:13px 0 12px;font-size:clamp(1.9rem,3.3vw,3.2rem)}.workplace-panel__text span{color:var(--muted)}
.recruit{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;padding:8vw;color:#fff}.recruit__image{position:absolute;inset:-5%;background:url("../images/recruit.jpg") center/cover no-repeat}.recruit__shade{position:absolute;inset:0;background:linear-gradient(90deg,#071811e0,#0718112b)}.recruit__content{position:relative;z-index:2;width:min(650px,100%)}.recruit__content>span{display:block;margin:25px 0 34px}
.contact{text-align:center}.contact>span{display:block;margin-top:22px;color:var(--muted)}.contact__buttons{display:flex;justify-content:center;gap:14px;margin-top:40px}.button{min-width:235px;padding:14px 22px;border-radius:99px}.button--primary{background:var(--green);border:1px solid var(--green);color:#fff}.button--outline{border:1px solid var(--green)}
.site-footer{display:flex;justify-content:space-between;padding:55px 5vw;background:#102b22;color:#ffffffbf}.site-footer p,.site-footer strong{margin:0}.site-footer strong{font:500 1rem var(--serif);color:#fff}.reveal{opacity:0;transform:translateY(35px);transition:opacity .95s,transform .95s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:820px){.menu-button{z-index:2;display:block}.menu-button span{display:block;width:23px;height:1px;margin:7px;background:#fff}.site-nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;background:#0f2b22fa;opacity:0;visibility:hidden}.site-nav.is-open{opacity:1;visibility:visible}.hero__content{height:430px}.hero-copy h1{font-size:clamp(2.2rem,11vw,4rem)}.opening-bar{display:block}.section{padding:86px 0}.section-title{display:block}.message__copy{width:100%;margin:42px 0 0}.workplace{width:92%}.workplace-panel,.workplace-panel--reverse{display:block;min-height:auto;margin-bottom:28px}.workplace-panel--reverse .workplace-panel__image{order:initial}.workplace-panel__image{height:390px}.workplace-panel__text{padding:28px 25px 33px}.recruit{min-height:620px;padding:10vw 6vw}.contact__buttons{flex-direction:column;align-items:center}.button{width:100%;max-width:340px}.site-footer{display:block}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.opening{display:none}.reveal{opacity:1;transform:none}}



/* ========================================
   Turnstile・送信ボタン
======================================== */

.contact-form-submit {
  position: relative;
  width: 100%;
  margin-top: 36px;
  text-align: center;
}

.contact-form-submit .cf-turnstile {
  display: table;
  margin: 0 auto 14px;
}

/* CF7が自動生成するp */
.contact-form-submit > p {
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto;
}

/* 送信ボタン */
.contact-form-submit .wpcf7-submit {
  display: block;
  margin: 0;
}

/* スピナーをpの幅計算から外す */
.contact-form-submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: calc(100% + 12px);
  transform: translateY(-50%);
  margin: 0;
}

/* ========================================
   NEWS
======================================== */

.news-section {
  padding: 110px 6%;
  background: #fff;
}

.news-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.news-heading {
  margin-bottom: 48px;
}

.news-heading__en {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: #777;
}

.news-heading__ja {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.news-list {
  border-top: 1px solid #d9d9d9;
}

.news-item {
  display: grid;
  grid-template-columns: 120px 100px 1fr 30px;
  align-items: center;
  gap: 24px;

  padding: 24px 0;

  color: inherit;
  text-decoration: none;

  border-bottom: 1px solid #d9d9d9;

  transition:
    opacity 0.25s ease,
    padding-left 0.25s ease;
}

.news-item:hover {
  opacity: 0.65;
  padding-left: 8px;
}

.news-item time {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #777;
}

.news-item__category {
  display: inline-flex;
  justify-content: center;
  align-items: center;

  min-height: 26px;
  padding: 4px 12px;

  border: 1px solid #bdbdbd;

  font-size: 11px;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.news-item__title {
  font-size: 14px;
  line-height: 1.8;
}

.news-item__arrow {
  font-size: 16px;
  text-align: right;
}

.news-more {
  margin-top: 32px;
  text-align: right;
}

.news-more a {
  display: inline-flex;
  gap: 18px;
  align-items: center;

  color: inherit;
  text-decoration: none;

  font-size: 12px;
  letter-spacing: 0.15em;
}

.news-more a:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {

  .news-section {
    padding: 72px 7%;
  }

  .news-heading {
    margin-bottom: 30px;
  }

  .news-item {
    grid-template-columns: auto 1fr;
    gap: 8px 16px;
    padding: 20px 0;
  }

  .news-item time {
    grid-column: 1;
  }

  .news-item__category {
    grid-column: 2;
    justify-self: start;
  }

  .news-item__title {
    grid-column: 1 / 3;
    font-size: 14px;
  }

  .news-item__arrow {
    display: none;
  }

}

