/* ========================================================================================= ^^
  Key visual for location
============================================================================================ ^^ */
.c-key-visual {
  background: url(../images/location/kv.jpg) no-repeat 50% 100%/cover;
}

/* ========================================================================================= ^^
  Introduction : location page
============================================================================================ ^^ */
#container .p-introduction {
  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%);
  text-align: center;
  padding: calc(50 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(32 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-introduction {
    padding: calc(104 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(32 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-introduction {
    padding: calc(104 * var(--rem-ratio)) calc(32 * var(--rem-ratio)) calc(32 * var(--rem-ratio));
  }
}
#container .p-introduction .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);
  color: #333;
  line-height: 1.7857142857;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-introduction .c-title {
    margin-bottom: calc(31 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-introduction .c-title {
    margin-bottom: calc(31 * var(--rem-ratio));
  }
}
#container .p-introduction .c-text {
  margin-bottom: calc(56 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  color: #333;
  line-height: 2.5;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-introduction .c-text {
    margin-bottom: calc(56 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-introduction .c-text {
    margin-bottom: calc(56 * var(--rem-ratio));
  }
}
#container .p-introduction .c-image {
  max-width: 1168px;
  width: 100%;
  margin: 0 auto;
}

/* ========================================================================================= ^^
  Position
============================================================================================ ^^ */
#container .p-position {
  padding: calc(17 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(65 * 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%);
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-position {
    padding: calc(17 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(130 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-position {
    padding: calc(17 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(130 * var(--rem-ratio));
  }
}
#container .p-position .c-title {
  margin-bottom: calc(35 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  color: #333;
  line-height: 1.7857142857;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-position .c-title {
    margin-bottom: calc(35 * var(--max-ratio));
    font-size: clamp(1.25rem, 0.528rem + 1.5vw, 1.75rem);
  }
}
@media (min-width: 1300px) {
  #container .p-position .c-title {
    margin-bottom: calc(35 * var(--rem-ratio));
  }
}
#container .p-position .c-wrap {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
}
#container .p-position .c-grid {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #container .p-position .c-grid {
    grid-template-columns: 42.3076923077% 57.6923076923%;
    align-items: center;
  }
}
@media (min-width: 768px) {
  #container .p-position .c-grid {
    padding-top: calc(50 * var(--max-ratio));
    padding-bottom: calc(50 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-position .c-grid {
    padding-top: calc(50 * var(--rem-ratio));
    padding-bottom: calc(50 * var(--rem-ratio));
  }
}
#container .p-position .c-text {
  padding: calc(20 * var(--min-ratio)) calc(10 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.695rem + 0.38vw, 1rem);
  color: #333;
  line-height: 2.5;
  letter-spacing: 0.08em;
  text-align: left;
}
@media not all and (min-width: 768px) {
  #container .p-position .c-text {
    font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
    grid-row: 2/3;
  }
}
@media (min-width: 768px) {
  #container .p-position .c-text {
    padding: 0 calc(20 * var(--max-ratio)) 0 calc(40 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-position .c-text {
    padding-left: calc(90 * var(--rem-ratio));
  }
}
@media not all and (min-width: 768px) {
  #container .p-position .c-image {
    grid-row: 1/2;
  }
}

/* ========================================================================================= ^^
  Shopping upper
============================================================================================ ^^ */
.p-shopping-upper {
  background-color: rgba(246, 241, 234, 0.77);
}

/* ========================================================================================= ^^
  Shopping box
============================================================================================ ^^ */
#container .p-shopping-box {
  max-width: 1132px;
  width: 100%;
  padding: calc(48 * var(--min-ratio)) calc(20 * var(--min-ratio)) calc(46 * var(--min-ratio));
  margin: calc(55 * var(--min-ratio)) auto calc(40 * var(--min-ratio));
  background-color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 768px) {
  #container .p-shopping-box {
    padding: calc(48 * var(--max-ratio)) calc(37 * var(--max-ratio)) calc(46 * var(--max-ratio)) calc(60 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-shopping-box {
    padding: calc(48 * var(--rem-ratio)) calc(37 * var(--rem-ratio)) calc(46 * var(--rem-ratio)) calc(60 * var(--rem-ratio));
    margin-top: calc(55 * var(--rem-ratio));
    margin-bottom: calc(40 * var(--rem-ratio));
  }
}
#container .p-shopping-box .c-grid {
  row-gap: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-shopping-box .c-grid {
    grid-template-columns: 44.0579710145% 53.5265700483%;
    -moz-column-gap: 1.9323671498%;
    column-gap: 1.9323671498%;
    row: unset;
  }
}
@media (min-width: 768px) {
  #container .p-shopping-box .c-content {
    padding-top: calc(55 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-shopping-box .c-content {
    padding-top: calc(55 * var(--rem-ratio));
  }
}
#container .p-shopping-box .c-title {
  margin-bottom: calc(27 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.25rem);
  color: #333;
  line-height: 2.1;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-shopping-box .c-title {
    margin-bottom: calc(54 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-shopping-box .c-title {
    margin-bottom: calc(54 * var(--rem-ratio));
  }
}
#container .p-shopping-box .c-text {
  font-family: var(--font-noto-serif);
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #333;
  line-height: 2.7142857143;
  letter-spacing: 0.08em;
}
#container .p-shopping-box .c-text span {
  font-size: clamp(0.625rem, 0.574rem + 0.22vw, 0.75rem);
}
#container .p-shopping-box .c-image {
  width: 100%;
  margin: 0 auto;
}

/* ========================================================================================= ^^
  Location tab menu
============================================================================================ ^^ */
#container .p-location-tab-menu {
  margin-top: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-tab-menu {
    margin-top: calc(35 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-tab-menu {
    margin-top: calc(35 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Location panel
============================================================================================ ^^ */
#container .p-location-panel.c-panel {
  width: 100vw;
  padding-bottom: calc(29 * var(--min-ratio));
  margin: 0 calc(50% - 50vw);
  display: block;
}
#container .p-location-panel.c-panel .c-tab-menu-wrap {
  margin-bottom: calc(44 * var(--min-ratio));
  position: relative;
  z-index: 1;
}
#container .p-location-panel.c-panel#shopping {
  padding-bottom: calc(33 * var(--min-ratio));
  margin-top: calc(-105 * var(--min-ratio));
}
#container .p-location-panel.c-panel#shopping .c-tab-menu-wrap {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  #container .p-location-panel.c-panel {
    padding-bottom: calc(98 * var(--max-ratio));
  }
  #container .p-location-panel.c-panel .c-tab-menu-wrap {
    margin-bottom: calc(95 * var(--max-ratio));
  }
  #container .p-location-panel.c-panel#shopping {
    padding-bottom: calc(100 * var(--max-ratio));
    margin-top: calc(-90 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel.c-panel {
    padding-bottom: calc(98 * var(--rem-ratio));
  }
  #container .p-location-panel.c-panel .c-tab-menu-wrap {
    margin-bottom: calc(95 * var(--rem-ratio));
  }
  #container .p-location-panel.c-panel#shopping {
    padding-bottom: calc(100 * var(--rem-ratio));
    margin-top: calc(-90 * var(--rem-ratio));
  }
}
#container .p-location-panel .c-inner {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  /* padding-top: calc(89 * var(--min-ratio)); */
}
#container #shopping.p-location-panel .c-inner {
  padding-top: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel .c-inner {
    /* padding-top: calc(89 * var(--max-ratio)); */
  }
  #container #shopping.p-location-panel .c-inner {
    padding-top: calc(35 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .c-inner {
    /* padding-top: calc(89 * var(--rem-ratio)); */
  }
  #container #shopping.p-location-panel .c-inner {
    padding-top: calc(35 * var(--rem-ratio));
  }
}
#container .p-location-panel .c-inner .p-shopping-upper {
  width: 100vw;
  padding-top: calc(170 * var(--min-ratio));
  margin: calc(-125 * var(--min-ratio)) calc(50% - 50vw) 0;
}
@media (min-width: 768px) {
  #container .p-location-panel .c-inner .p-shopping-upper {
    padding-top: calc(220 * var(--max-ratio));
    margin-top: calc(-125 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .c-inner .p-shopping-upper {
    padding-top: calc(220 * var(--rem-ratio));
    margin-top: calc(-125 * var(--rem-ratio));
  }
}
#container .p-location-panel .c-inner .p-shopping-upper .c-section-title {
  max-width: 1300px;
  margin-right: auto;
  margin-left: auto;
}
@media not all and (min-width: 768px) {
  #container .p-location-panel .c-inner .p-shopping-upper .c-section-title {
    padding-top: 0;
  }
}
#container .p-location-panel .c-grid {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}
#container .p-location-panel .c-grid + .c-grid {
  margin-top: calc(70 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel .c-grid + .c-grid {
    margin-top: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .c-grid + .c-grid {
    margin-top: calc(70 * var(--rem-ratio));
  }
}
#container .p-location-panel .c-grid + .c-image-box {
  margin-top: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel .c-grid + .c-image-box {
    margin-top: calc(30 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .c-grid + .c-image-box {
    margin-top: calc(30 * var(--rem-ratio));
  }
}
#container .p-location-panel .p-location-block {
  margin-bottom: calc(60 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel .p-location-block {
    margin-bottom: calc(120 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .p-location-block {
    margin-bottom: calc(120 * var(--rem-ratio));
  }
}
#container .p-location-panel .p-section-block {
  margin-bottom: calc(34 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel .p-section-block {
    margin-bottom: calc(69 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel .p-section-block {
    margin-bottom: calc(69 * var(--rem-ratio));
  }
}
#container .p-location-panel#shopping .p-section-block {
  margin-bottom: calc(59 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel#shopping .p-section-block {
    margin-bottom: calc(118 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel#shopping .p-section-block {
    margin-bottom: calc(118 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .p-location-panel#shopping .c-section-title {
    padding-top: calc(38 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel#shopping .c-section-title {
    padding-top: calc(12 * var(--rem-ratio));
  }
}
#container .p-location-panel#gourmet .c-grid {
  row-gap: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-location-panel#gourmet .c-grid {
    row-gap: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel#gourmet .c-grid {
    row-gap: calc(70 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .p-location-panel #child-care .c-section-title {
    padding-top: calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-panel #child-care .c-section-title {
    padding-top: calc(12 * 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;
  }
}

/* ========================================================================================= ^^
  Map contents
============================================================================================ ^^ */
.p-map-contents {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 100%;
  align-items: start;
  row-gap: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  .p-map-contents {
    grid-template-columns: 58.0357142857% 39.2857142857%;
    -moz-column-gap: 2.6785714286%;
    column-gap: 2.6785714286%;
    row-gap: unset;
  }
}
.p-map-contents .c-list {
  height: auto;
  padding-top: calc(15 * var(--min-ratio));
}
@media (min-width: 768px) {
  .p-map-contents .c-list {
    padding-top: calc(15 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .p-map-contents .c-list {
    padding-top: calc(15 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Area
============================================================================================ ^^ */
#container .p-area {
  padding: calc(26 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(25 * 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;
}
@media (min-width: 768px) {
  #container .p-area {
    padding: calc(53 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(103 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area {
    padding: calc(53 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(103 * var(--rem-ratio));
  }
}
#container .p-area .c-title {
  margin-bottom: calc(16 * 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;
  text-align: center;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .p-area .c-title {
    margin-bottom: calc(16 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area .c-title {
    margin-bottom: calc(16 * var(--rem-ratio));
  }
}
#container .p-area .c-text {
  margin-bottom: calc(40 * var(--min-ratio));
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-area .c-text {
    margin-bottom: calc(78 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area .c-text {
    margin-bottom: calc(78 * var(--rem-ratio));
  }
}
#container .p-area .c-image-text {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto calc(60 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-area .c-image-text {
    margin-bottom: calc(180 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area .c-image-text {
    margin-bottom: calc(180 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .p-area .c-image-text__content {
    padding-right: calc(45 * var(--max-ratio));
    padding-left: calc(145 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area .c-image-text__content {
    padding-right: calc(45 * var(--rem-ratio));
    padding-left: calc(85 * var(--rem-ratio));
  }
}
#container .p-area .c-image-text + .c-image-text {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  #container .p-area .c-image-text--reverse .c-image-text__content {
    padding-right: calc(145 * var(--max-ratio));
    padding-left: calc(45 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-area .c-image-text--reverse .c-image-text__content {
    padding-right: calc(85 * var(--rem-ratio));
    padding-left: calc(45 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Banner
============================================================================================ ^^ */
#container .p-banner-wrap {
  width: 100vw;
  padding: calc(25 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(26 * var(--min-ratio));
  margin: 0 calc(50% - 50vw);
  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-banner-wrap {
    padding: calc(55 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(52 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-banner-wrap {
    padding: calc(55 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(52 * var(--rem-ratio));
  }
}
#container .p-banner-wrap .c-banner {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}

/* ========================================================================================= ^^
  Life information
============================================================================================ ^^ */
#container .p-life-information {
  padding: calc(24 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(70 * 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-life-information {
    padding: calc(48 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(138 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-life-information {
    padding: calc(48 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(138 * var(--rem-ratio));
  }
}
#container .p-life-information .c-tab-menu {
  margin-bottom: calc(35 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-life-information .c-tab-menu {
    margin-bottom: calc(35 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-life-information .c-tab-menu {
    margin-bottom: calc(35 * var(--rem-ratio));
  }
}
#container .p-life-information .c-title {
  margin-bottom: calc(43 * var(--min-ratio));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: calc(28 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-life-information .c-title {
    margin-bottom: calc(43 * var(--max-ratio));
    row-gap: calc(28 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-life-information .c-title {
    margin-bottom: calc(43 * var(--rem-ratio));
    row-gap: calc(28 * var(--rem-ratio));
  }
}
#container .p-life-information .c-title .en {
  font-family: var(--font-cinzel);
  font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.25rem);
  color: #685e59;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0.1em;
}
#container .p-life-information .c-title .jpn {
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  color: #685e59;
  line-height: 1.7857142857;
  font-weight: 500;
  letter-spacing: 0.08em;
}

/* ========================================================================================= ^^
  Location note
============================================================================================ ^^ */
#container .p-location-note {
  width: 100vw;
  padding: calc(75 * var(--min-ratio)) calc(10 * var(--min-ratio));
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  color: #333;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  #container .p-location-note {
    padding: calc(75 * var(--max-ratio)) calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-location-note {
    padding: calc(75 * var(--rem-ratio)) calc(10 * var(--rem-ratio));
  }
}
#container .p-location-note .c-inner {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}

/* ========================================================================================= ^^
  Score
============================================================================================ ^^ */
#container .p-score {
  max-width: 1120px;
  width: 100%;
  padding: calc(40 * var(--min-ratio));
  margin: 0 auto calc(60 * var(--min-ratio));
  background-color: #fff;
}
@media (min-width: 768px) {
  #container .p-score {
    padding: calc(53 * var(--max-ratio)) calc(40 * var(--max-ratio)) calc(40 * var(--max-ratio));
    margin-bottom: calc(116 * var(--max-ratio));
    grid-template-columns: 50.2884615385% 48.8461538462%;
    -moz-column-gap: 0.8653846154%;
    column-gap: 0.8653846154%;
  }
}
@media (min-width: 1300px) {
  #container .p-score {
    padding: calc(53 * var(--rem-ratio)) calc(40 * var(--rem-ratio)) calc(40 * var(--rem-ratio));
    margin-bottom: calc(116 * var(--rem-ratio));
  }
}
#container .p-score .c-grid {
  grid-template-columns: 100%;
  row-gap: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-score .c-grid {
    grid-template-columns: 50.2884615385% 48.8461538462%;
    -moz-column-gap: 0.8653846154%;
    column-gap: 0.8653846154%;
    row-gap: unset;
  }
}
#container .p-score .c-content {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (min-width: 768px) {
  #container .p-score .c-content {
    padding-top: calc(50 * var(--max-ratio));
    grid-column: 2/3;
  }
}
@media (min-width: 1300px) {
  #container .p-score .c-content {
    padding-top: calc(50 * var(--rem-ratio));
  }
}
#container .p-score .c-content .c-image {
  margin: 0 auto calc(33 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-score .c-content .c-image {
    width: calc(478 * var(--max-ratio));
    margin-bottom: calc(33 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-score .c-content .c-image {
    width: calc(478 * var(--rem-ratio));
    margin-bottom: calc(33 * var(--rem-ratio));
  }
}
#container .p-score .c-content .c-text {
  margin-bottom: 0;
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: left;
}
#container .p-score .c-image {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media (min-width: 768px) {
  #container .p-score .c-image {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
#container .p-score .c-image img {
  margin: 0 auto;
  display: block;
}
@media (min-width: 768px) {
  #container .p-score .c-image img {
    width: calc(455 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-score .c-image img {
    width: calc(455 * var(--rem-ratio));
  }
}
#container .p-score .c-image figcaption {
  margin-top: calc(56 * var(--min-ratio));
  font-size: clamp(0.563rem, 0.563rem + 0vw, 0.563rem);
  line-height: 1.3;
  text-align: center;
}
@media (min-width: 768px) {
  #container .p-score .c-image figcaption {
    margin-top: calc(56 * var(--max-ratio));
    line-height: 1;
  }
}
@media (min-width: 1300px) {
  #container .p-score .c-image figcaption {
    margin-top: calc(56 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Location
============================================================================================ ^^ */