/* ========================================================================================= ^^
  Key visual for design
============================================================================================ ^^ */
.c-key-visual {
  background: url(../images/design/kv.jpg) no-repeat 50% 100%/cover;
}

/* ========================================================================================= ^^
  Introduction for design
============================================================================================ ^^ */
#container .p-introduction {
  padding: calc(56 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(35 * var(--min-ratio));
  background: linear-gradient(90deg, rgb(217, 215, 204) 0%, rgb(222, 220, 211) 2.93%, rgb(231, 229, 222) 10.96%, rgb(236, 234, 229) 22.25%, rgb(237, 235, 231) 53.62%, rgb(236, 233, 229) 80.01%, rgb(231, 228, 222) 89.52%, rgb(224, 219, 211) 96.27%, rgb(217, 210, 200) 100%);
  color: #333;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-introduction {
    padding: calc(112 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-introduction {
    padding: calc(112 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(70 * var(--rem-ratio));
  }
}
#container .p-introduction .c-title {
  margin-bottom: calc(32 * var(--min-ratio));
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  #container .p-introduction .c-title {
    margin-bottom: calc(32 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-introduction .c-title {
    margin-bottom: calc(32 * var(--rem-ratio));
  }
}
#container .p-introduction .c-title .en {
  font-family: var(--font-cinzel);
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  color: #685e59;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0.14em;
}
#container .p-introduction .c-title .jpn {
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  line-height: 1.7857142857;
  font-weight: 400;
  letter-spacing: 0.08em;
}
#container .p-introduction .c-text {
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
  letter-spacing: 0.08em;
}

/* ========================================================================================= ^^
  Appearance
============================================================================================ ^^ */
#container .p-appearance {
  width: 100vw;
  padding: calc(43 * var(--min-ratio)) calc(10 * var(--min-ratio)) 0;
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
  color: #333;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-appearance {
    padding: calc(85 * var(--max-ratio)) calc(10 * var(--max-ratio)) 0;
  }
}
@media (min-width: 1300px) {
  #container .p-appearance {
    padding: calc(85 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) 0;
  }
}
#container .p-appearance .c-title {
  margin-bottom: calc(31 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  line-height: 1.7857142857;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-appearance .c-title {
    margin-bottom: calc(31 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-appearance .c-title {
    margin-bottom: calc(31 * var(--rem-ratio));
  }
}
#container .p-appearance .c-text {
  margin-bottom: calc(56 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-appearance .c-text {
    margin-bottom: calc(56 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-appearance .c-text {
    margin-bottom: calc(56 * var(--rem-ratio));
  }
}
#container .p-appearance .c-image {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

/* ========================================================================================= ^^
  Entrance
============================================================================================ ^^ */
#container .p-entrance {
  padding-top: calc(45 * var(--min-ratio));
  background: linear-gradient(90deg, rgb(217, 215, 204) 0%, rgb(222, 220, 211) 2.93%, rgb(231, 229, 222) 10.96%, rgb(236, 234, 229) 22.25%, rgb(237, 235, 231) 53.62%, rgb(236, 233, 229) 80.01%, rgb(231, 228, 222) 89.52%, rgb(224, 219, 211) 96.27%, rgb(217, 210, 200) 100%);
}
@media (min-width: 768px) {
  #container .p-entrance {
    padding-top: calc(90 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-entrance {
    padding-top: calc(90 * var(--rem-ratio));
  }
}
@media not all and (min-width: 768px) {
  #container .p-entrance .c-section-title {
    padding-top: calc(52 * var(--min-ratio));
  }
}

/* ========================================================================================= ^^
  Lounge
============================================================================================ ^^ */
#container .p-lounge {
  padding-top: calc(35 * var(--min-ratio));
}
#container .p-lounge .l-section__inner {
  text-align: right;
}
#container .p-lounge .c-section-title {
  display: inline-block;
}
#container .p-lounge .p-section-block {
  text-align: left;
}
@media (min-width: 768px) {
  #container .p-lounge {
    padding-top: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-lounge {
    padding-top: calc(70 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Section block
============================================================================================ ^^ */
#container .p-section-block {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
}
#container .p-section-block .c-grid {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #container .p-section-block .c-grid {
    grid-template-columns: 35.3846153846% 64.6153846154%;
    align-items: center;
  }
}
#container .p-section-block .c-grid--pa {
  padding-top: calc(34 * var(--min-ratio));
  padding-bottom: 0;
}
@media (min-width: 768px) {
  #container .p-section-block .c-grid--pa {
    padding-top: calc(34 * var(--max-ratio));
    padding-bottom: calc(34 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block .c-grid--pa {
    padding-top: calc(34 * var(--rem-ratio));
    padding-bottom: calc(34 * var(--rem-ratio));
  }
}
#container .p-section-block .c-grid .c-contents {
  padding: calc(40 * var(--min-ratio)) calc(10 * var(--min-ratio));
}
@media not all and (min-width: 768px) {
  #container .p-section-block .c-grid .c-contents {
    grid-row: 2/3;
  }
}
@media (min-width: 768px) {
  #container .p-section-block .c-grid .c-contents {
    padding: 0 calc(20 * var(--max-ratio)) 0 calc(38 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block .c-grid .c-contents {
    padding: 0 calc(20 * var(--rem-ratio)) 0 calc(38 * var(--rem-ratio));
  }
}
#container .p-section-block .c-grid .c-title {
  margin-bottom: calc(20 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(0.938rem, 0.76rem + 0.76vw, 1.375rem);
  color: #333;
  line-height: 1.5454545455;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-section-block .c-grid .c-title {
    margin-bottom: calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block .c-grid .c-title {
    margin-bottom: calc(20 * var(--rem-ratio));
  }
}
#container .p-section-block .c-grid .c-text {
  font-family: var(--font-noto-serif);
  font-size: clamp(0.75rem, 0.699rem + 0.22vw, 0.875rem);
  color: #333;
  line-height: 2.4285714286;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media not all and (min-width: 768px) {
  #container .p-section-block .c-grid .c-image {
    grid-row: 1/2;
  }
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid {
    grid-template-columns: 56.1538461538% 37.9230769231%;
    -moz-column-gap: 5.9230769231%;
    column-gap: 5.9230769231%;
  }
}
#container .p-section-block--reverse .c-grid .c-title {
  margin-bottom: calc(20s * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-title {
    padding: 0 calc(20 * var(--max-ratio));
    margin-bottom: calc(43 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block--reverse .c-grid .c-title {
    padding: 0 calc(20 * var(--rem-ratio));
    margin-bottom: calc(43 * var(--rem-ratio));
  }
}
#container .p-section-block--reverse .c-grid .c-text {
  margin-bottom: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-text {
    padding: 0 calc(20 * var(--max-ratio));
    margin-bottom: calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block--reverse .c-grid .c-text {
    padding: 0 calc(20 * var(--rem-ratio));
    margin-bottom: calc(20 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-contents {
    padding: 0;
    grid-column: 2/3;
  }
}
#container .p-section-block--reverse .c-grid .c-contents ul {
  padding: calc(20 * var(--min-ratio)) calc(10 * var(--min-ratio));
  border: 1px solid #333;
  font-family: var(--font-shippori);
  font-size: clamp(0.688rem, 0.611rem + 0.32vw, 0.875rem);
  line-height: 1.2142857143;
  font-weight: 500;
  letter-spacing: 0.08em;
  display: grid;
  grid-template-columns: 100%;
  align-items: center;
  row-gap: calc(24 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-contents ul {
    padding: calc(20 * var(--max-ratio)) calc(18 * var(--max-ratio));
    row-gap: calc(24 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block--reverse .c-grid .c-contents ul {
    padding: calc(20 * var(--rem-ratio)) calc(18 * var(--rem-ratio));
    row-gap: calc(24 * var(--rem-ratio));
  }
}
#container .p-section-block--reverse .c-grid .c-contents ul::after {
  display: none;
}
#container .p-section-block--reverse .c-grid .c-contents ul li {
  display: grid;
  grid-template-columns: 1fr calc(40 * var(--min-ratio));
  align-items: center;
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-contents ul li {
    grid-template-columns: 1fr calc(40 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-section-block--reverse .c-grid .c-contents ul li {
    grid-template-columns: 1fr calc(40 * var(--rem-ratio));
  }
}
#container .p-section-block--reverse .c-grid .c-contents ul li .time {
  font-size: clamp(1rem, 0.924rem + 0.32vw, 1.188rem);
}
#container .p-section-block--reverse .c-grid .c-contents ul li .time span {
  font-size: clamp(0.75rem, 0.699rem + 0.22vw, 0.875rem);
}
@media (min-width: 768px) {
  #container .p-section-block--reverse .c-grid .c-image {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

/* ========================================================================================= ^^
  Material
============================================================================================ ^^ */
#container .p-material {
  padding: calc(90 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(60 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-material {
    padding: calc(180 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(120 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-material {
    padding: calc(180 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(120 * var(--rem-ratio));
  }
}
#container .p-material .c-section-title {
  margin-bottom: calc(30 * var(--min-ratio));
}
@media not all and (min-width: 768px) {
  #container .p-material .c-section-title {
    padding-top: calc(36 * var(--min-ratio));
  }
}
@media (min-width: 768px) {
  #container .p-material .c-section-title {
    margin-bottom: calc(60 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-material .c-section-title {
    margin-bottom: calc(60 * var(--rem-ratio));
  }
}
#container .p-material .c-grid {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  row-gap: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-material .c-grid {
    row-gap: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-material .c-grid {
    row-gap: calc(70 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Area plan
============================================================================================ ^^ */
#container .p-area-plan {
  padding: calc(52 * var(--min-ratio)) calc(10 * var(--min-ratio));
  background: linear-gradient(90deg, rgb(217, 215, 204) 0%, rgb(222, 220, 211) 2.93%, rgb(231, 229, 222) 10.96%, rgb(236, 234, 229) 22.25%, rgb(237, 235, 231) 53.62%, rgb(236, 233, 229) 80.01%, rgb(231, 228, 222) 89.52%, rgb(224, 219, 211) 96.27%, rgb(217, 210, 200) 100%);
  color: #333;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-area-plan {
    padding: calc(105 * var(--max-ratio)) calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan {
    padding: calc(105 * var(--rem-ratio)) calc(10 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-title {
  margin-bottom: calc(30 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  line-height: 1.7857142857;
  font-weight: 500;
  letter-spacing: 0.08em;
}
#container .p-area-plan .c-title span {
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  line-height: 2.9411764706;
}
@media (min-width: 768px) {
  #container .p-area-plan .c-title {
    margin-bottom: calc(48 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan .c-title {
    margin-bottom: calc(48 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-text {
  margin-bottom: calc(60 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
}
@media (min-width: 768px) {
  #container .p-area-plan .c-text {
    margin-bottom: calc(118 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan .c-text {
    margin-bottom: calc(118 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-image {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto calc(40 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-area-plan .c-image {
    margin-bottom: calc(80 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan .c-image {
    margin-bottom: calc(80 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-grid {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  grid-template-columns: 100%;
  row-gap: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-area-plan .c-grid {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.8828828829%;
    column-gap: 2.8828828829%;
    row-gap: unset;
  }
}
#container .p-area-plan .c-grid .c-image {
  margin: 0;
}
#container .p-area-plan .c-grid .c-image + figcaption {
  padding-top: calc(20 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-area-plan .c-grid .c-image + figcaption {
    padding-top: calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan .c-grid .c-image + figcaption {
    padding-top: calc(20 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-grid .c-image + figcaption .name {
  height: calc(42 * var(--min-ratio));
  padding-left: calc(15 * var(--min-ratio));
  margin-bottom: calc(17 * var(--min-ratio));
  border-left: 2px solid #685e59;
  font-family: calc(--font-shippori);
  font-size: clamp(0.8rem, 0.661rem + 0.59vw, 1.143rem);
  color: #685e59;
  line-height: 1.3336980306;
  font-weight: 500;
  letter-spacing: 0.06em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media (min-width: 768px) {
  #container .p-area-plan .c-grid .c-image + figcaption .name {
    height: calc(42 * var(--max-ratio));
    padding-left: calc(15 * var(--max-ratio));
    margin-bottom: calc(17 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area-plan .c-grid .c-image + figcaption .name {
    height: calc(42 * var(--rem-ratio));
    padding-left: calc(15 * var(--rem-ratio));
    margin-bottom: calc(17 * var(--rem-ratio));
  }
}
#container .p-area-plan .c-grid .c-text {
  margin-bottom: 0;
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #333;
  line-height: 1.8572433193;
  letter-spacing: 0.08em;
  text-align: left;
}

/* ========================================================================================= ^^
  Season flower
============================================================================================ ^^ */
#container .p-season-flower {
  padding: calc(53 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(70 * var(--min-ratio));
  color: #333;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-season-flower {
    padding: calc(106 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(140 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-season-flower {
    padding: calc(106 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(140 * var(--rem-ratio));
  }
}
#container .p-season-flower .c-title {
  margin-bottom: calc(32 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  line-height: 1.7857142857;
  font-weight: 500;
  letter-spacing: 0.08em;
}
#container .p-season-flower .c-title span {
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  line-height: 2.9411764706;
}
@media (min-width: 768px) {
  #container .p-season-flower .c-title {
    margin-bottom: calc(32 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-season-flower .c-title {
    margin-bottom: calc(32 * var(--rem-ratio));
  }
}
#container .p-season-flower .c-text {
  margin-bottom: calc(69 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
}
@media (min-width: 768px) {
  #container .p-season-flower .c-text {
    margin-bottom: calc(69 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-season-flower .c-text {
    margin-bottom: calc(69 * var(--rem-ratio));
  }
}
#container .p-season-flower .c-grid {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 2.8169014085%;
  column-gap: 2.8169014085%;
  row-gap: calc(20 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-season-flower .c-grid {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 2.6785714286%;
    column-gap: 2.6785714286%;
    row-gap: calc(40 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-season-flower .c-grid {
    row-gap: calc(40 * var(--rem-ratio));
  }
}
#container .p-season-flower .c-grid .c-image figcaption {
  padding-top: calc(9 * var(--min-ratio));
  font-size: clamp(0.813rem, 0.813rem + 0vw, 0.813rem);
  line-height: 1;
  text-align: center;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-season-flower .c-grid .c-image figcaption {
    padding-top: calc(9 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-season-flower .c-grid .c-image figcaption {
    padding-top: calc(9 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Design note
============================================================================================ ^^ */
#container .p-design-note {
  width: 100vw;
  padding: calc(53 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(50 * var(--min-ratio));
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
}
@media (min-width: 768px) {
  #container .p-design-note {
    padding: calc(106 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(100 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-design-note {
    padding: calc(106 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(100 * var(--rem-ratio));
  }
}
#container .p-design-note .c-inner {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}
#container .p-design-note .c-text {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  color: #333;
  line-height: 2;
  letter-spacing: 0.06em;
}

/* ========================================================================================= ^^
  Design
============================================================================================ ^^ */