﻿:root{
  --takatsuki-green: #5f7721;
  --takatsuki-yellow: #fff800;
  --takatsuki-orange: #f19b00;
  --takatsuki-white: #ffffff;
  --takatsuki-blue: #318eb9;
  --takatsuki-light-green: #7fbe32;
  --takatsuki-black: #17120d;
  --takatsuki-brown: #4f2f17;
  --paper: var(--takatsuki-white);
  --ink: var(--takatsuki-green);
  --muted: var(--takatsuki-green);
  --green: var(--takatsuki-green);
  --green-dark: var(--takatsuki-green);
  --yellow: var(--takatsuki-yellow);
  --orange: var(--takatsuki-orange);
  --red: var(--takatsuki-orange);
  --line: rgba(95, 119, 33, .18);
  --display: "Kaisei Tokumin", "Yu Mincho", serif;
  --sans: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
body{
  color: var(--ink);
  font-family: var(--sans);
  background: var(--paper);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  body{
    background: var(--paper);
  }
}
h1,
h2,
h3{
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: .08em;
}
h2{
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  h2{
    font-size: 1.375rem;
  }
}
.sectionInner{
  width: 95vw;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sectionInner{
    width: 65.3125rem;
  }
}
.takatsukiTtl{
  position: relative;
  z-index: 0;
  display: grid;
  justify-items: center;
  width: min(100%, 35vw);
  margin: 0 auto 3vw;
  padding: 1vw 0 1.5vw;
  text-align: center;
  background: rgba(255, 255, 255, 1);
  isolation: isolate;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiTtl{
    width: min(100%, 24.0625rem);
    margin: 0 auto 2.0625rem;
    padding: .6875rem 0 1.03125rem;
  }
}
.takatsukiTtl::before{
  position: absolute;
  top: -1.9vw;
  left: 50%;
  z-index: 3;
  width: 1vw;
  aspect-ratio: 1;
  content: "";
  background: var(--takatsuki-yellow);
  border-radius: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiTtl::before{
    top: -1.30625rem;
    width: .6875rem;
  }
}
.takatsukiTtl::after{
  position: absolute;
  top: -1.5vw;
  left: 50%;
  width: 6vw;
  height: 1.5vw;
  z-index: 0;
  content: "";
  background:
    linear-gradient(145deg, transparent calc(50% - .06vw), var(--takatsuki-brown) calc(50% - .06vw), var(--takatsuki-brown) calc(50% + .06vw), transparent calc(50% + .06vw)) left / 50% 100% no-repeat,
    linear-gradient(35deg, transparent calc(50% - .06vw), var(--takatsuki-brown) calc(50% - .06vw), var(--takatsuki-brown) calc(50% + .06vw), transparent calc(50% + .06vw)) right / 50% 100% no-repeat;
  transform: translateX(-50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiTtl::after{
    top: -1.03125rem;
    width: 4.125rem;
    height: 1.03125rem;
    background:
    linear-gradient(145deg, transparent calc(50% - .04125rem), var(--takatsuki-brown) calc(50% - .04125rem), var(--takatsuki-brown) calc(50% + .04125rem), transparent calc(50% + .04125rem)) left / 50% 100% no-repeat,
    linear-gradient(35deg, transparent calc(50% - .04125rem), var(--takatsuki-brown) calc(50% - .04125rem), var(--takatsuki-brown) calc(50% + .04125rem), transparent calc(50% + .04125rem)) right / 50% 100% no-repeat;
  }
}
.takatsukiTtl h2{
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--takatsuki-black);
}
.takatsukiTtl h3{
  position: relative;
  z-index: 1;
  margin: .55vw 0 0;
  color: var(--takatsuki-orange);
  font-family: var(--sans);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .2em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiTtl h3{
    margin: .37813rem 0 0;
  }
}
.actions,
.links{
  display: flex;
  flex-wrap: wrap;
  gap: .87vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .actions,
.links{
    gap: .59813rem;
  }
}
.actions{
  margin-top: 2.6vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .actions{
    margin-top: 1.7875rem;
  }
}
.btn,
.links a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .58vw;
  min-height: 3.33vw;
  padding: .87vw 1.3vw;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .07em;
  border-radius: .43vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .btn,
.links a{
    gap: .39875rem;
    min-height: 2.28938rem;
    padding: .59813rem .89375rem;
    border-radius: .29563rem;
  }
}
.btn{
  color: var(--ink);
  background: rgba(255, 250, 240, .94);
  border: .07vw solid rgba(255, 250, 240, .7);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .btn{
    border: .04813rem solid rgba(255, 250, 240, .7);
  }
}
.btnPrimary{
  color: #fffaf0;
  background: var(--red);
  border-color: rgba(255, 250, 240, .16);
}
.btn[target="_blank"]::after,
.links a[target="_blank"]::after{
  display: inline-block;
  width: .82em;
  height: .82em;
  margin-left: .18em;
  content: "";
  background: currentColor;
  opacity: .82;
  clip-path: path("M2 1.2h4.2v1.1H3.1v7.6h7.6V6.8h1.1V11H2V1.2Zm5.5 0H12v4.5h-1.1V3.1L6.8 7.2 6 6.4l4.1-4.1H7.5V1.2Z");
}
@media screen and (max-width: 768px){
  h2{
    font-size: 5.4vw;
  }
  .sectionInner{
    width: 92vw;
  }
  .actions,
  .links{
    display: grid;
  }
  .actions{
    margin-top: 8vw;
  }
  .btn,
  .links a{
    gap: 2vw;
    min-height: 11.8vw;
    padding: 3vw 4.6vw;
    border-radius: 1.5vw;
  }
}
.hero{
  position: relative;
  min-height: 52.2vw;
  padding: 8vw 0 11vw;
  color: #fffaf0;
  background: #1d2115;
  overflow: hidden;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .hero{
    min-height: 35.8875rem;
    padding: 5.5rem 0 7.5625rem;
  }
}
.hero::before{
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(22, 20, 14, .88), rgba(22, 20, 14, .58) 45%, rgba(22, 20, 14, .18)),
    url("../img/takatsuki/mainVisual.webp") center / cover no-repeat;
}
.heroInner{
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  min-height: 40.6vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .heroInner{
    min-height: 27.9125rem;
  }
}
.hero h1{
  max-width: 59.4vw;
  margin: 1vw 0 0;
  font-size: clamp(2.4rem, 4.8vw, 5.1rem);
  line-height: 1.36;
  letter-spacing: .1em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .hero h1{
    max-width: 40.8375rem;
    margin: .6875rem 0 0;
    font-size: 3.3rem;
  }
}
.hero h1 img{
  width: min(100%, 32vw);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .hero h1 img{
    width: min(100%, 22rem);
  }
}
.hero h2{
  margin: 3.4vw 0 0;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .hero h2{
    margin: 2.3375rem 0 0;
  }
}
.lead{
  max-width: 44vw;
  margin: 1.5vw 0 0;
  color: rgba(255, 250, 240, .92);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: .05em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .lead{
    max-width: 30.25rem;
    margin: 1.03125rem 0 0;
  }
}
@media screen and (max-width: 768px){
  .hero{
    min-height: auto;
    padding: 14.8vw 0 22vw;
  }
  .heroInner{
    min-height: auto;
  }
  .hero h1{
    margin-top: 2.2vw;
    max-width: 75vw;
  }
  .hero h1 img{
    width: min(100%, 75vw);
  }
  .hero h2{
    margin-top: 7vw;
  }
  .lead{
    max-width: 82vw;
    margin-top: 3.2vw;
    font-size: .86rem;
    line-height: 1.75;
  }
}
.joker{
  position: relative;
}
.joker::before{
  position: absolute;
  top: -3.65vw;
  left: calc((100% - min(100% - 4.65vw, 69.6vw)) / 2 - 5vw);
  width: 6vw;
  aspect-ratio: 1.45;
  content: "";
  background: url("../img/takatsuki/joker.webp") center / contain no-repeat;
  pointer-events: none;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .joker::before{
    top: -2.50938rem;
    left: calc((100% - min(100% - 3.19688rem, 47.85rem)) / 2 - 3.4375rem);
    width: 4.125rem;
  }
}
@media screen and (max-width: 768px){
  .joker::before{
    top: -6vw;
    left: 3vw;
    width: 10vw;
  }
}
.takatsukiAvailability{
  padding: 0;
  background: rgba(255, 255, 255, .6);
}
.takatsukiAvailability .sectionInner{
  padding: 5vw 0 2vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiAvailability .sectionInner{
    padding: 3.4375rem 0 1.375rem;
  }
}
.availabilityTtl{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .58vw 1.16vw;
  margin: 0;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilityTtl{
    gap: .39875rem .7975rem;
  }
}
.sectionMiniTtl::before{
  color: var(--takatsuki-light-green);
  font-size: 1em;
  margin-right: .35vw;
  content: "★";
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sectionMiniTtl::before{
    margin-right: .24063rem;
  }
}
.availabilityTtl h3{
  margin: 0;
  color: var(--takatsuki-black);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
}
.sectionMiniTtl{
  display: flex;
  align-items: baseline;
  gap: 0;
  margin: 0;
  color: var(--takatsuki-black);
  letter-spacing: .06em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sectionMiniTtl{
    gap: 0;
  }
}
.softCreamCard{
  background: linear-gradient(180deg, rgba(255, 253, 247, .88), rgba(255, 250, 240, .7));
  border: 0;
}
.availabilityClosed{
  margin-top: 1.2vw;
  padding: 1.3vw 1.45vw;
  color: var(--muted);
  background: rgba(250, 244, 232, .58);
  border: .07vw solid rgba(105, 93, 80, .14);
  border-radius: .58vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilityClosed{
    margin-top: .825rem;
    padding: .89375rem .99688rem;
    border: .04813rem solid rgba(105, 93, 80, .14);
    border-radius: .39875rem;
  }
}
.takatsukiAvailability.is-loading .availabilityClosed{
  display: flex;
  align-items: center;
  gap: .87vw;
  background: rgba(255, 253, 247, .86);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiAvailability.is-loading .availabilityClosed{
    gap: .59813rem;
  }
}
.takatsukiAvailability.is-loading .availabilityClosed::before{
  flex: 0 0 auto;
  width: 1.3vw;
  height: 1.3vw;
  content: "";
  border: .14vw solid rgba(105, 93, 80, .2);
  border-top-color: var(--green-dark);
  border-radius: 50%;
  animation: availabilityLoading 1s linear infinite;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiAvailability.is-loading .availabilityClosed::before{
    width: .89375rem;
    height: .89375rem;
    border: .09625rem solid rgba(105, 93, 80, .2);
  }
}
.availabilityClosed p{
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: .05em;
}
.availabilitySeatArea{
  margin-top: 1.8vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilitySeatArea{
    margin-top: 1.2375rem;
  }
}
.availabilitySeatGrid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .35vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilitySeatGrid{
    gap: .24063rem;
  }
}
.availabilitySeat{
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: .58vw;
  min-height: 8.1vw;
  padding: 1vw .58vw .72vw;
  color: var(--takatsuki-white);
  text-align: center;
  background: #999;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilitySeat{
    gap: .39875rem;
    min-height: 5.56875rem;
    padding: .6875rem .39875rem .495rem;
  }
}
.availabilitySeat span,
.availabilitySeat strong,
.availabilitySeat p{
  display: block;
}
.availabilitySeat span{
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
}
.availabilitySeat strong{
  display: grid;
  place-items: center;
  min-height: 2.75vw;
  padding: .43vw;
  color: inherit;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .03em;
  background: var(--takatsuki-white);
  border-radius: .87vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilitySeat strong{
    min-height: 1.89063rem;
    padding: .29563rem;
    border-radius: .59813rem;
  }
}
.availabilitySeat p{
  margin: .3vw 0 .35vw;
  color: inherit;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .03em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilitySeat p{
    margin: .20625rem 0 .24063rem;
  }
}
.availabilitySeat.is-available{
  background: var(--takatsuki-orange);
}
.availabilitySeat.is-available strong{
  color: var(--takatsuki-orange);
}
.availabilitySeat.is-sharing{
  background: var(--takatsuki-light-green);
}
.availabilitySeat.is-sharing strong{
  color: var(--takatsuki-light-green);
}
.availabilitySeat.is-check{
  background: var(--takatsuki-blue);
}
.availabilitySeat.is-check strong{
  color: var(--takatsuki-blue);
}
.availabilitySeat.is-busy,
.availabilitySeat.is-full,
.availabilitySeat.is-reserved{
  background: #999;
}
.availabilitySeat.is-busy strong,
.availabilitySeat.is-full strong,
.availabilitySeat.is-reserved strong{
  color: #999;
}
.availabilityCall,
.takatsukiCalendarNote{
  margin: 1.8vw 1vw 0;
  color: var(--takatsuki-black);
  font-size: 1.2vw;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .04em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .availabilityCall,
.takatsukiCalendarNote{
    margin: 1.2375rem .6875rem 0;
    font-size: .825rem;
  }
}
.takatsukiCalendarNote{
  margin: 2.6vw 0 0;
  padding-left: 0;
  list-style: none;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarNote{
    margin: 1.7875rem 0 0;
  }
}
.takatsukiCalendarNote li{
  padding-left: 0;
}
.takatsukiCalendarNote li span{
  display: inline-block;
  margin-right: .35em;
  color: var(--takatsuki-blue);
  font-weight: 700;
}
.takatsukiCalendarNote li + li{
  margin-top: .65em;
}
.availabilityCall a{
  margin: 0 .25em;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.availabilityCall{
  margin-right: 0;
  margin-left: 0;
}
@keyframes availabilityLoading{
  to{
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 768px){
  .takatsukiAvailability{
    padding: 0;
  }
  .takatsukiAvailability .sectionInner{
    padding-top: 8vw;
    padding-bottom: 6vw;
  }
  .availabilityTtl{
    gap: 1vw 3.1vw;
    margin-bottom: 3.5vw;
  }
  .availabilityTtl h3{
    font-size: .85rem;
  }
  .availabilityClosed{
    padding: 4.6vw 5vw;
    border-radius: 2vw;
  }
  .takatsukiAvailability.is-loading .availabilityClosed{
    gap: 3vw;
  }
  .takatsukiAvailability.is-loading .availabilityClosed::before{
    width: 4.6vw;
    height: 4.6vw;
    border-width: .52vw;
  }
  .availabilitySeatGrid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2vw;
  }
  .availabilitySeat{
    grid-template-columns: 1fr;
    gap: 1.5vw;
    align-content: center;
    min-height: 28vw;
    padding: 2.6vw 1.8vw 1.2vw;
    text-align: center;
  }
  .availabilitySeat strong{
    min-height: 8.8vw;
    padding: .8vw 1.5vw;
    border-radius: 2.2vw;
  }
  .availabilitySeat p{
    margin: 1vw 0 1.1vw;
  }
  .availabilityCall{
    font-size: 3vw;
  }
  .takatsukiCalendarNote{
    font-size: 3vw;
  }
}
.takatsukiCalendar{
  padding: 2.4vw 0 8vw;
  background: var(--takatsuki-white);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendar{
    padding: 1.65rem 0 5.5rem;
  }
}
.takatsukiCalendarGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5vw;
  margin-top: 2.2vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarGrid{
    gap: 1.71875rem;
    margin-top: 1.5125rem;
  }
}
.takatsukiCalendarPost{
  min-width: 0;
}
.takatsukiCalendarImageLink{
  position: relative;
  display: block;
  overflow: hidden;
  background: #fff;
  border: .07vw solid var(--line);
  border-radius: .58vw;
  box-shadow: 0 .8vw 1.2vw rgba(49, 68, 20, .08);
  transition: transform .2s ease;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarImageLink{
    border: .04813rem solid var(--line);
    border-radius: .39875rem;
    box-shadow: 0 .55rem .825rem rgba(49, 68, 20, .08);
  }
}
.takatsukiCalendarImageLink:hover{
  transform: translateY(-.14vw);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarImageLink:hover{
    transform: translateY(-.09625rem);
  }
}
.takatsukiCalendarImageLink img{
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
.takatsukiCalendarZoomIcon{
  position: absolute;
  right: .32vw;
  bottom: .32vw;
  width: 2.45vw;
  height: 2.45vw;
  background: var(--takatsuki-orange);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 .58vw 1.3vw rgba(49, 68, 20, .16);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon{
    right: .22rem;
    bottom: .22rem;
    width: 1.68438rem;
    height: 1.68438rem;
    box-shadow: 0 .39875rem .89375rem rgba(49, 68, 20, .16);
  }
}
.takatsukiCalendarZoomIcon::before{
  position: absolute;
  top: 42%;
  left: 42%;
  width: .82vw;
  height: .82vw;
  content: "";
  border: .18vw solid var(--takatsuki-white);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon::before{
    width: .56375rem;
    height: .56375rem;
    border: .12375rem solid var(--takatsuki-white);
  }
}
.takatsukiCalendarZoomIcon::after{
  position: absolute;
  top: 52%;
  left: 52%;
  width: .62vw;
  height: .18vw;
  content: "";
  background: var(--takatsuki-white);
  border-radius: 100vw;
  transform: translate(8%, 8%) rotate(45deg);
  transform-origin: left center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon::after{
    width: .42625rem;
    height: .12375rem;
    border-radius: 68.75rem;
  }
}
.takatsukiCalendarZoomIcon span::before,
.takatsukiCalendarZoomIcon span::after{
  position: absolute;
  content: "";
  background: var(--takatsuki-white);
  border-radius: 100vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon span::before,
.takatsukiCalendarZoomIcon span::after{
    border-radius: 68.75rem;
  }
}
.takatsukiCalendarZoomIcon span::before{
  top: 42%;
  left: 42%;
  width: .46vw;
  height: .14vw;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon span::before{
    width: .31625rem;
    height: .09625rem;
  }
}
.takatsukiCalendarZoomIcon span::after{
  top: 42%;
  left: 42%;
  width: .14vw;
  height: .46vw;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarZoomIcon span::after{
    width: .09625rem;
    height: .31625rem;
  }
}
.takatsukiCalendarModal{
  width: 96vw;
  max-width: none;
  max-height: 96svh;
  padding: 3.8vw 4.7vw;
  overflow: visible;
  background: transparent;
  border: 0;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModal{
    width: 66rem;
    padding: 2.6125rem 3.23125rem;
  }
}
.takatsukiCalendarModal::backdrop{
  background: rgba(20, 24, 14, .78);
}
.takatsukiCalendarModal img{
  display: block;
  width: 100%;
  max-height: calc(96svh - 7.6vw);
  object-fit: contain;
  background: #fff;
  border: .07vw solid rgba(255, 253, 247, .28);
  border-radius: .58vw;
  box-shadow: 0 1.6vw 4vw rgba(0, 0, 0, .28);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModal img{
    max-height: calc(96svh - 5.225rem);
    border: .04813rem solid rgba(255, 253, 247, .28);
    border-radius: .39875rem;
    box-shadow: 0 1.1rem 2.75rem rgba(0, 0, 0, .28);
  }
}
.takatsukiCalendarModalClose{
  position: absolute;
  top: .45vw;
  right: .45vw;
  z-index: 1;
  width: 3vw;
  height: 3vw;
  padding: 0;
  cursor: pointer;
  background: rgba(255, 253, 247, .96);
  border: .07vw solid rgba(49, 68, 20, .18);
  border-radius: 50%;
  box-shadow: 0 .72vw 1.6vw rgba(0, 0, 0, .22);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalClose{
    top: .30938rem;
    right: .30938rem;
    width: 2.0625rem;
    height: 2.0625rem;
    border: .04813rem solid rgba(49, 68, 20, .18);
    box-shadow: 0 .495rem 1.1rem rgba(0, 0, 0, .22);
  }
}
.takatsukiCalendarModalClose:focus{
  outline: 0;
}
.takatsukiCalendarModalClose:focus-visible{
  outline: .18vw solid rgba(255, 255, 255, .9);
  outline-offset: .22vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalClose:focus-visible{
    outline: .12375rem solid rgba(255, 255, 255, .9);
    outline-offset: .15125rem;
  }
}
.takatsukiCalendarModalClose::before,
.takatsukiCalendarModalClose::after{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.35vw;
  height: .15vw;
  content: "";
  background: var(--green-dark);
  border-radius: 100vw;
  transform-origin: center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalClose::before,
.takatsukiCalendarModalClose::after{
    width: .92813rem;
    height: .10313rem;
    border-radius: 68.75rem;
  }
}
.takatsukiCalendarModalClose::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
.takatsukiCalendarModalClose::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}
.takatsukiCalendarModalNav{
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 3.25vw;
  height: 3.25vw;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: translateY(-50%);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalNav{
    width: 2.23438rem;
    height: 2.23438rem;
  }
}
.takatsukiCalendarModalNav::before{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1vw;
  height: 1vw;
  content: "";
  border-top: .22vw solid var(--takatsuki-white);
  border-left: .22vw solid var(--takatsuki-white);
  transform-origin: center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalNav::before{
    width: .6875rem;
    height: .6875rem;
    border-top: .15125rem solid var(--takatsuki-white);
    border-left: .15125rem solid var(--takatsuki-white);
  }
}
.takatsukiCalendarModalNav.is-prev{
  left: .72vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalNav.is-prev{
    left: .495rem;
  }
}
.takatsukiCalendarModalNav.is-prev::before{
  transform: translate(-36%, -50%) rotate(-45deg);
}
.takatsukiCalendarModalNav.is-next{
  right: .72vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .takatsukiCalendarModalNav.is-next{
    right: .495rem;
  }
}
.takatsukiCalendarModalNav.is-next::before{
  transform: translate(-64%, -50%) rotate(135deg);
}
@media screen and (max-width: 768px){
  .takatsukiCalendar{
    padding-top: 4.6vw;
    padding-bottom: 12.3vw;
  }
  .sectionMiniTtl{
    gap: 0;
    letter-spacing: .02em;
    white-space: nowrap;
  }
  .takatsukiCalendarGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4vw;
    margin-top: 3.1vw;
  }
  .takatsukiCalendarImageLink{
    border-radius: 1.3vw;
    box-shadow: 0 2.6vw 5.6vw rgba(49, 68, 20, .08);
  }
  .takatsukiCalendarNote{
    margin-top: 5vw;
  }
  .takatsukiCalendarZoomIcon{
    right: .25vw;
    bottom: .25vw;
    width: 7.2vw;
    height: 7.2vw;
  }
  .takatsukiCalendarZoomIcon::before{
    width: 2.3vw;
    height: 2.3vw;
    border-width: .42vw;
  }
  .takatsukiCalendarZoomIcon::after{
    width: 1.8vw;
    height: .42vw;
  }
  .takatsukiCalendarZoomIcon span::before{
    width: 1.8vw;
    height: .42vw;
  }
  .takatsukiCalendarZoomIcon span::after{
    width: .42vw;
    height: 1.8vw;
  }
  .takatsukiCalendarModal{
    width: 99vw;
    padding: 8vw 5.4vw 5.8vw;
  }
  .takatsukiCalendarModalClose{
    top: 1.5vw;
    right: 1.5vw;
    width: 9.2vw;
    height: 9.2vw;
  }
  .takatsukiCalendarModalClose::before,
  .takatsukiCalendarModalClose::after{
    width: 4.1vw;
  }
  .takatsukiCalendarModalNav{
    width: 9.2vw;
    height: 9.2vw;
  }
  .takatsukiCalendarModalNav::before{
    width: 3.1vw;
    height: 3.1vw;
    border-width: .52vw;
  }
  .takatsukiCalendarModalNav.is-prev{
    left: -1.5vw;
  }
  .takatsukiCalendarModalNav.is-next{
    right: -1.5vw;
  }
}
.section{
  padding: 6vw 0 7vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .section{
    padding: 4.125rem 0 4.8125rem;
  }
}
.sectionSetLightGreen{
  color: var(--takatsuki-white);
  background: var(--takatsuki-light-green);
}
.sectionSetBlue{
  color: var(--takatsuki-white);
  background: var(--takatsuki-blue);
}
.sectionSetOrange{
  color: var(--takatsuki-white);
  background: var(--takatsuki-orange);
}
.sectionSetYellow{
  color: var(--takatsuki-green);
  background: var(--takatsuki-yellow);
}
.sectionSetYellow .takatsukiTtl::before{
  background: var(--takatsuki-blue);
}
.sectionSetOrange .takatsukiTtl::before{
  background: var(--takatsuki-yellow);
}
.sectionHeader{
  margin-bottom: 4vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sectionHeader{
    margin-bottom: 2.75rem;
  }
}
.takatsukiTtl h2{
  margin: 0;
}
.text,
.sectionHeader p,
.note,
.sns p,
.cta p{
  color: var(--muted);
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .05em;
}
.section h2 + .text,
.section h2 + p,
.sns h2 + p,
.cta h2 + p,
.takatsukiTtl + .text,
.takatsukiTtl + p{
  margin-top: 1vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .section h2 + .text,
.section h2 + p,
.sns h2 + p,
.cta h2 + p,
.takatsukiTtl + .text,
.takatsukiTtl + p{
    margin-top: .6875rem;
  }
}
.text{
  margin: 0;
}
.takatsukiTtl + .text{
  font-size: .95em;
}
.text + .text{
  margin-top: 1.45vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .text + .text{
    margin-top: .99688rem;
  }
}
.links{
  margin-top: 2.32vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .links{
    margin-top: 1.595rem;
  }
}
.links a{
  color: var(--green-dark);
  background: rgba(85, 111, 36, .08);
  border: .07vw solid rgba(85, 111, 36, .16);
}
.simpleList.sectionSetOrange .links a{
  color: var(--takatsuki-green);
  background: var(--takatsuki-yellow);
  border-color: var(--takatsuki-yellow);
}
.sns .links a{
  color: var(--takatsuki-white);
  background: var(--takatsuki-orange);
  border-color: var(--takatsuki-orange);
}
.access .links a{
  width: 100%;
  color: var(--takatsuki-green);
  background: var(--takatsuki-yellow);
  border-color: var(--takatsuki-yellow);
}
.simpleList.sectionSetOrange .links{
  justify-content: center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .links a{
    border: .04813rem solid rgba(85, 111, 36, .16);
  }
  .simpleList.sectionSetOrange .links a{
    min-width: 10.5rem;
  }
}
.note{
  margin-top: 2.32vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .note{
    margin-top: 1.595rem;
  }
}
.subArea{
  max-width: 60vw;
  margin: 0 auto;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .subArea{
    max-width: 41.25rem;
  }
}
@media screen and (max-width: 768px){
  .section{
    padding: 14vw 0;
  }
  .sectionHeader{
    margin-bottom: 8vw;
  }
  .takatsukiTtl h2{
    margin-top: 0;
  }
  .section h2 + .text,
  .section h2 + p,
  .sns h2 + p,
  .cta h2 + p,
  .takatsukiTtl + .text,
  .takatsukiTtl + p{
    margin-top: 3vw;
  }
  .text + .text{
    margin-top: 4vw;
  }
  .links{
    margin-top: 6vw;
  }
  .simpleList.sectionSetOrange .links{
    grid-template-columns: 1fr;
  }
  .simpleList.sectionSetOrange .links a,
  .sns .links a,
  .access .links a{
    display: flex;
    width: 100%;
  }
  .note{
    margin-top: 6vw;
  }
  .subArea{
    max-width: none;
  }
}
.sceneCards{
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 1vw;
  margin: 4vw 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sceneCards{
    gap: .6875rem;
    margin: 2.75rem 0 0;
  }
}
.sceneCards li{
  padding: 2vw;
  color: var(--takatsuki-black);
  border: 0;
  border-radius: .58vw;
  box-shadow: none;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sceneCards li{
    padding: 1.375rem;
    border-radius: .39875rem;
  }
}
.sceneMain{
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 3vw;
  align-items: center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sceneMain{
    gap: 2.0625rem;
  }
}
.sceneMain .scenePhoto{
  margin-top: 0;
}
.sceneHead{
  display: grid;
  gap: 1.3vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sceneHead{
    gap: .89375rem;
  }
}
.sceneHead p{
  margin: 0;
  font-size: .95em;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .02em;
}
.sectionHeader + .scenePhoto{
  margin-top: 0;
}
.sceneCards li :where(h3, p){
  color: var(--takatsuki-black);
}
.scenePhoto,
.roomCard{
  overflow: hidden;
  border-radius: .58vw;
  box-shadow: 0 1.45vw 3.62vw rgba(25, 20, 12, .1);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .scenePhoto,
.roomCard{
    border-radius: .39875rem;
    box-shadow: 0 .99688rem 2.48875rem rgba(25, 20, 12, .1);
  }
}
.scenePhoto{
  width: 100%;
  background: rgba(255, 250, 240, .9);
}
.roomCard{
  background: rgba(255, 253, 247, .92);
}
.roomGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .roomGrid{
    gap: .34375rem;
  }
}
.roomCard figcaption{
  display: grid;
  gap: .45vw;
  padding: 1.3vw;
  color: var(--takatsuki-black);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .roomCard figcaption{
    gap: .30938rem;
    padding: .89375rem;
  }
}
.roomCard h4{
  display: flex;
  gap: 1vw;
  align-items: center;
  margin: 0;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .roomCard h4{
    gap: .6875rem;
  }
}
.roomCard strong{
  color: var(--takatsuki-black);
  font-family: var(--display);
  font-size: 1.8vw;
  font-weight: 700;
  letter-spacing: .08em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .roomCard strong{
    font-size: 1.2375rem;
  }
}
.roomCard small{
  padding: .15em .9em;
  color: var(--takatsuki-white);
  font-size: .74em;
  background: var(--takatsuki-blue);
  border-radius: 999vw;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .06em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .roomCard small{
    border-radius: 686.8125rem;
  }
}
.roomCard p{
  margin: 0;
  color: var(--takatsuki-black);
  font-size: .9em;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .04em;
}
@media screen and (min-width: 769px){
  .sceneCards li{
    padding-right: 1.4vw;
    padding-left: 1.4vw;
  }
  .roomCard strong{
    font-size: 1.5vw;
  }
  .roomCard small{
    font-size: .62em;
  }
  .roomCard p{
    font-size: .81em;
  }
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sceneCards li{
    padding-right: .9625rem;
    padding-left: .9625rem;
  }
  .roomCard strong{
    font-size: 1.03125rem;
  }
}
@media screen and (max-width: 768px){
  .sceneMain{
    grid-template-columns: 1fr;
    gap: 5vw;
  }
  .sceneHead{
    gap: 3.6vw;
  }
  .sceneCards{
    grid-template-columns: 1fr;
    gap: 7vw;
    margin-top: 7vw;
  }
  .sceneCards li{
    padding: 5vw 4vw 4vw;
    border-radius: 2vw;
  }
  .scenePhoto,
  .roomCard{
    border-radius: 2vw;
    box-shadow: 0 4vw 10vw rgba(25, 20, 12, .1);
  }
  .roomGrid{
    grid-template-columns: 1fr;
    gap: 4vw;
  }
  .roomCard figcaption{
    gap: 1.4vw;
    padding: 4vw;
  }
  .roomCard h4{
    gap: 3vw;
  }
  .roomCard strong{
    font-size: 4.5vw;
  }
  .roomCard small{
    font-size: .68em;
  }
}
.flow{
  display: grid;
  gap: 0;
  margin: 3vw 0 0;
  padding: 0;
  list-style: none;
  counter-reset: flow;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .flow{
    margin: 2.0625rem 0 0;
  }
}
.flow li{
  display: grid;
  grid-template-columns: 3.25vw 1fr;
  column-gap: 1.4vw;
  row-gap: .55vw;
  align-items: start;
  padding: 1.15vw 0 1.35vw;
  border-bottom: .16vw solid rgba(105, 93, 80, .14);
  counter-increment: flow;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .flow li{
    grid-template-columns: 2.2344rem 1fr;
    column-gap: .9625rem;
    row-gap: .3781rem;
    padding: .7906rem 0 .9281rem;
    border-bottom: .11rem solid rgba(105, 93, 80, .14);
  }
}
.flow li:first-child{
  padding-top: 0;
}
.flow li:last-child{
  border-bottom: 0;
}
.flow li::before{
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 3vw;
  height: 3vw;
  color: #fff;
  font-family: var(--display);
  font-weight: 700;
  content: counter(flow);
  background: var(--green);
  border-radius: 50%;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .flow li::before{
    width: 2.0625rem;
    height: 2.0625rem;
  }
}
.flow strong,
.flow span{
  grid-column: 2;
}
.flow strong{
  font-family: var(--font-display);
  font-size: 1.12vw;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .06em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .flow strong{
    font-size: 1.12rem;
  }
}
.flow span{
  color: var(--muted);
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.9;
}
@media screen and (max-width: 768px){
  .flow{
    margin-top: 6vw;
  }
  .flow li{
    grid-template-columns: 10.25vw 1fr;
    column-gap: 3.6vw;
    row-gap: 1.8vw;
    padding: 4vw 0;
  }
  .flow li::before{
    width: 9.5vw;
    height: 9.5vw;
  }
  .flow strong{
    font-size: 4.5vw;
  }
}
.simpleList ul{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .87vw 1.75vw;
  margin: 2.32vw 0 3vw;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .simpleList ul{
    gap: .59813rem 1.20313rem;
    margin: 1.595rem 0 2.0625rem;
  }
}
.simpleList li{
  position: relative;
  padding-left: 1.3vw;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: .05em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .simpleList li{
    padding-left: .89375rem;
  }
}
.simpleList li::before{
  position: absolute;
  top: .7em;
  left: 0;
  width: .5vw;
  height: .5vw;
  content: "";
  background: var(--red);
  border-radius: 50%;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .simpleList li::before{
    width: .34375rem;
    height: .34375rem;
  }
}
.sectionSetOrange.simpleList li{
  color: var(--takatsuki-white);
}
.simpleList li small{
  font-size: .78em;
  font-weight: 500;
  letter-spacing: .03em;
}
.sectionSetOrange.simpleList li::before{
  background: var(--takatsuki-yellow);
}
@media screen and (max-width: 768px){
  .simpleList ul{
    grid-template-columns: 1fr;
    gap: 2.5vw;
    margin-top: 6vw;
  }
  .simpleList li{
    padding-left: 4vw;
  }
  .simpleList li::before{
    width: 1.8vw;
    height: 1.8vw;
  }
}
.infoGrid{
  display: grid;
  grid-template-columns: 1.35fr .85fr 1fr .8fr;
  margin-top: 2.32vw;
  overflow: hidden;
  background: rgba(255, 255, 255, .9);
  border: .07vw solid rgba(85, 111, 36, .16);
  border-radius: .58vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .infoGrid{
    margin-top: 1.595rem;
    border: .04813rem solid rgba(85, 111, 36, .16);
    border-radius: .39875rem;
  }
}
.infoItem{
  padding: 1.45vw 1.6vw;
  border-right: .07vw solid rgba(85, 111, 36, .14);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .infoItem{
    padding: .99688rem 1.1rem;
    border-right: .04813rem solid rgba(85, 111, 36, .14);
  }
}
.infoItem:last-child{
  border-right: 0;
}
.infoItem h3{
  margin: 0 0 .72vw;
  color: var(--green-dark);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .infoItem h3{
    margin: 0 0 .495rem;
  }
}
.infoItem p{
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.75;
}
.infoItem:first-child p{
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.1vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .infoItem:first-child p{
    column-gap: .75625rem;
  }
}
.priceCards{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3vw;
  margin-top: 1.9vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceCards{
    gap: 1.25rem;
    margin-top: 1.30625rem;
  }
}
.priceCard{
  padding: 3vw;
  border: .07vw solid rgba(85, 111, 36, .18);
  border-radius: .58vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceCard{
    padding: 2.0625rem;
    border: .04813rem solid rgba(85, 111, 36, .18);
    border-radius: .39875rem;
  }
}
.priceCard h3{
  display: flex;
  align-items: center;
  gap: .5vw;
  margin: 0;
  color: var(--green-dark);
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
}
.priceCard h3::before,
.priceCard h3::after{
  color: var(--takatsuki-blue);
  font-size: .9em;
  line-height: 1;
  content: "★";
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceCard h3{
    gap: .34375rem;
    font-size: 1.15rem;
  }
}
.priceList{
  display: grid;
  margin: 1.45vw 0 0;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceList{
    margin: .99688rem 0 0;
  }
}
.priceRow{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.3vw;
  align-items: baseline;
  padding: 1vw 0;
  border-bottom: .07vw solid rgba(105, 93, 80, .12);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceRow{
    gap: .89375rem;
    padding: .6875rem 0;
    border-bottom: .04813rem solid rgba(105, 93, 80, .12);
  }
}
.priceRow:first-child{
  padding-top: 0;
}
.priceRow:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}
.priceName{
  color: var(--muted);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.55;
}
.priceValue{
  font-family: var(--display);
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceValue{
    font-size: 1.2rem;
  }
}
.priceNote{
  display: block;
  margin-top: .3vw;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .priceNote{
    margin-top: .20625rem;
  }
}
@media screen and (max-width: 768px){
  .infoGrid,
  .priceCards{
    grid-template-columns: 1fr;
  }
  .infoGrid{
    margin-top: 6vw;
    border-radius: 2vw;
  }
  .infoItem{
    padding: 4.8vw;
    border-right: 0;
    border-bottom: .07vw solid rgba(85, 111, 36, .14);
  }
  .infoItem:last-child{
    border-bottom: 0;
  }
  .infoItem h3{
    margin-bottom: 1.2vw;
  }
  .infoItem:first-child p{
    column-gap: 4vw;
  }
  .priceCards{
    gap: 5vw;
    margin-top: 5vw;
  }
  .priceCard{
    padding: 6vw;
    border-radius: 2vw;
  }
  .priceList{
    margin-top: 4vw;
  }
  .priceRow{
    gap: 4vw;
    padding: 3.6vw 0;
  }
}
.access{
  display: grid;
  grid-template-columns: minmax(22.5vw, .72fr) minmax(0, 1.28fr);
  gap: 6vw;
  align-items: center;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .access{
    grid-template-columns: minmax(15.46875rem, .72fr) minmax(0, 1.28fr);
    gap: 4.125rem;
  }
}
.accessBody{
  display: grid;
  gap: 1.75vw;
  margin-top: 2.46vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .accessBody{
    gap: 1.20313rem;
    margin-top: 1.69125rem;
  }
}
.accessShopName{
  margin: 0;
  font-family: var(--display);
  font-size: 2.15vw;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  letter-spacing: .04em;
  white-space: nowrap;
}
.accessShopType{
  margin: 0 0 -1.1vw;
  padding-top: 1.25vw;
  color: var(--takatsuki-black);
  font-family: var(--display);
  font-size: .92vw;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  letter-spacing: .08em;
  border-top: .08vw solid var(--takatsuki-white);
}
.accessShopName{
  padding-bottom: 1.35vw;
  border-bottom: .08vw solid var(--takatsuki-white);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .accessShopName{
    padding-bottom: .92813rem;
    font-size: 1.47813rem;
    border-bottom-width: .055rem;
  }
  .accessShopType{
    margin-bottom: -.75625rem;
    padding-top: .85938rem;
    font-size: .6325rem;
    border-top-width: .055rem;
  }
}
.accessBlock{
  display: grid;
  grid-template-columns: 8.1vw minmax(0, 1fr);
  gap: 1.75vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .accessBlock{
    grid-template-columns: 5.56875rem minmax(0, 1fr);
    gap: 1.20313rem;
  }
}
.accessBlock h3{
  margin: 0;
  color: var(--green-dark);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.accessBlock p{
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.9;
}
.map{
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: rgba(255, 250, 240, .9);
  border: .07vw solid var(--line);
  border-radius: .58vw;
  box-shadow: 0 1.45vw 3.62vw rgba(25, 20, 12, .1);
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .map{
    border: .04813rem solid var(--line);
    border-radius: .39875rem;
    box-shadow: 0 .99688rem 2.48875rem rgba(25, 20, 12, .1);
  }
}
.map iframe{
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 768px){
  .access{
    grid-template-columns: 1fr;
    gap: 8vw;
  }
  .accessBody{
    gap: 5vw;
    margin-top: 6vw;
  }
  .accessShopType{
    margin-bottom: -3.4vw;
    padding-top: 3vw;
    font-size: 3vw;
    border-top-color: var(--takatsuki-white);
    border-top-width: .22vw;
  }
  .accessShopName{
    padding-bottom: 3.4vw;
    font-size: 7vw;
    border-bottom-color: var(--takatsuki-white);
    border-bottom-width: .22vw;
  }
  .accessBlock{
    grid-template-columns: 20vw minmax(0, 1fr);
    gap: 4vw;
  }
  .map{
    border-radius: 2vw;
  }
}
.sns{
  padding: 5vw 0 6vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .sns{
    padding: 3.4375rem 0 4.125rem;
  }
}
.contact{
  padding: 5vw 0 6vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .contact{
    padding: 3.4375rem 0 4.125rem;
  }
}
.contact p{
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .05em;
}
.contact .btn{
  color: var(--takatsuki-green);
  background: var(--takatsuki-yellow);
  border-color: var(--takatsuki-yellow);
}
.contact .btn:nth-child(2){
  background: var(--takatsuki-white);
  border-color: var(--takatsuki-white);
}
.sectionSetLightGreen :where(:not(.takatsukiTtl, .takatsukiTtl *, .sectionMiniTtl, .sectionMiniTtl *)),
.sectionSetBlue :where(:not(.takatsukiTtl, .takatsukiTtl *, .sectionMiniTtl, .sectionMiniTtl *)),
.sectionSetOrange :where(:not(.takatsukiTtl, .takatsukiTtl *, .sectionMiniTtl, .sectionMiniTtl *)){
  color: var(--takatsuki-white);
}
.sectionSetLightGreen p,
.sectionSetBlue p,
.sectionSetOrange p{
  color: var(--takatsuki-white);
}
.sectionSetBlue .infoItem p,
.sectionSetBlue .infoItem p *,
.sectionSetBlue .priceCard,
.sectionSetBlue .priceCard *{
  color: var(--takatsuki-black);
}
.sectionSetLightGreen .roomCard p{
  color: var(--takatsuki-black);
}
p.sceneText{
  margin-bottom: 2vw;
  color: var(--takatsuki-black);
  font-size: .9em;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  p.sceneText{
    margin-bottom: 1.375rem;
  }
}
@media screen and (max-width: 768px){
  p.sceneText{
    margin-bottom: 4vw;
  }
}
.sectionSetBlue .priceCard h3{
  color: var(--takatsuki-black);
}
.sectionSetYellow :where(.text, p){
  color: var(--takatsuki-green);
}
.cta{
  padding: 5vw 0 6vw;
}
@media screen and (min-width: 1100px){
  /* auto-fixed from vw at 1100px */
  .cta{
    padding: 3.4375rem 0 4.125rem;
  }
}
@media screen and (max-width: 768px){
  .takatsukiTtl{
    width: 82vw;
    margin-bottom: 6vw;
    padding: 3vw 5vw 4vw;
  }
  .takatsukiTtl::before{
    top: -5.1vw;
    width: 3.25vw;
  }
  .takatsukiTtl::after{
    top: -3.6vw;
    width: 16vw;
    height: 3.6vw;
    background:
      linear-gradient(145deg, transparent calc(50% - .18vw), var(--takatsuki-brown) calc(50% - .18vw), var(--takatsuki-brown) calc(50% + .18vw), transparent calc(50% + .18vw)) left / 50% 100% no-repeat,
      linear-gradient(35deg, transparent calc(50% - .18vw), var(--takatsuki-brown) calc(50% - .18vw), var(--takatsuki-brown) calc(50% + .18vw), transparent calc(50% + .18vw)) right / 50% 100% no-repeat;
  }
  .takatsukiTtl h3{
    margin-top: 1.5vw;
    font-size: 3vw;
  }
  .sns,
  .contact,
  .cta{
    padding: 12vw 0;
  }
}
