@charset "UTF-8";
/*!
Theme Name: kayoiya
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

stylecreates is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@media screen and (max-width: 460px) {
  .lum-lightbox-inner img {
    max-height: 85vh !important;
    /* 上下に適度に余白 */
    max-width: 160vw !important;
    /* 軽くスワイプで左端から右端まで動かせる量 */
  }
}

.clearfix::after {
  clear: both;
  content: "";
  display: block;
}

img.centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img.alignright {
  display: inline;
  margin: 0 0 2px 10px;
  padding: 4px;
}

img.alignleft {
  display: inline;
  margin: 0 10px 2px 0;
  padding: 4px;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

/**
 * ViewportScale v0.2.2
 * Copyright (c) 2018 Kite
 * MIT License
 */
/*
 .hoge {
  z-index: map-get($layer, "header");
}
*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

input,
button,
select,
textarea {
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  margin: 0;
  padding: 0;
}

a {
  background: transparent;
  color: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  text-decoration: none;
  vertical-align: baseline;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
select {
  vertical-align: middle;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

main {
  display: block;
}

:root {
  --space-xxxs: .4rem;
  --space-xxs: 1rem;
  --space-xs: 1.6rem;
  --space-sm: 2rem;
  --space-md: 2.4rem;
  --space-lg: 3.2rem;
  --space-xl: 4rem;
  --space-xxl: 8rem;
  --space-xxxl: 10rem;
  --space-10: .8rem;
  --space-20: 1.2rem;
  --space-30: 2rem;
  --space-40: 3.2rem;
  --space-50: 4rem;
  --space-60: 5rem;
  --space-70: 6rem;
  --space-80: 7rem;
  --space-90: 8rem;
  --space-100: 8rem;
  --space-200: 10rem;
  --space-240: 12rem;
  --space-8: .6rem;
  --space-12: .7rem;
  --space-14: .8rem;
  --space-16: 1rem;
  --space-24: 1.6rem;
  --space-32: 2.4rem;
  --space-36: 2.8rem;
  --space-44: 3.6rem;
  --space-48: 4rem;
  --space-56: 4.8rem;
  --space-64: 5.4rem;
  --space-72: 6.4rem;
}

@media screen and (min-width: 768px) {
  :root {
    --space-xxxs: .8rem;
    --space-xxs: 1.6rem;
    --space-xs: 2.4rem;
    --space-sm: 3.2rem;
    --space-md: 4rem;
    --space-lg: 5.6rem;
    --space-xl: 6.4rem;
    --space-xxl: 10rem;
    --space-xxxl: 12.8rem;
    --space-10: 1rem;
    --space-20: 2rem;
    --space-30: 3rem;
    --space-36: 3.6rem;
    --space-40: 4rem;
    --space-50: 5rem;
    --space-60: 6rem;
    --space-70: 7rem;
    --space-80: 8rem;
    --space-90: 9rem;
    --space-100: 10rem;
    --space-200: 20rem;
    --space-240: 24rem;
    --space-8: .8rem;
    --space-12: 1.2rem;
    --space-14: 1.4rem;
    --space-16: 1.6rem;
    --space-24: 2.4rem;
    --space-32: 3.2rem;
    --space-40: 4rem;
    --space-44: 4.4rem;
    --space-48: 4.8rem;
    --space-56: 5.6rem;
    --space-64: 6.4rem;
    --space-72: 7.2rem;
  }
}

@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/webfonts/noto-sans-jp-v52-japanese-regular.woff2") format("woff2");
}

/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/webfonts/noto-sans-jp-v52-japanese-700.woff2") format("woff2");
}

html {
  color: #121212;
  font-size: 62.5%;
}

body:not(br) {
  color: #121212;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-stretch: normal;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1.71;
}

@media screen and (min-width: 768px) {
  body:not(br) {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}


h2.c-heading {
  font-size: 2.4rem;
  color: #623210;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  padding: 0 20px;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}

h2.c-heading::before,
h2.c-heading::after {
  content: '';
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
  border-color: #623210;
  border-style: solid;
}

h2.c-heading.white {
  color: #fff;
}

h2.c-heading.white::before,
h2.c-heading.white::after {
  border-color: #fff;
}

/* 見出し（括弧） */
h2.c-heading::before {
  left: -10px;
  border-width: 1px 0 0 1px;
}

h2.c-heading::after {
  right: -10px;
  bottom: 0px;
  top: auto;
  border-width: 0 1px 1px 0;
}

@media screen and (min-width: 768px) {
  h2.c-heading {
    font-size: 3.2rem;
  }
}

.l-content {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-width, 1168px);
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  width: 100%;
}

/*@media screen and (min-width: 992px) {
  .l-content {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}*/
.l-content--sm {
  --content-width: 856px;
}

.l-content--lg {
  --content-width: 1044px;
}

.l-content--has-column {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 6.4rem;
}

@media screen and (min-width: 768px) {
  .l-content--has-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-bottom: 10rem;
  }
}

.l-content__main.l-main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-top: 0;
}

.l-content__side {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 min(272px, 24%);
  flex: 0 0 min(272px, 24%);
  padding-top: 6.4rem;
}

@media screen and (min-width: 768px) {
  .l-content__side {
    margin-left: 1.5%;
    padding-top: 0;
  }
}

.l-header {
  -webkit-transition-duration: 0.4s;
  background: #fff;
  height: 72px;
  position: fixed;
  transition-duration: 0.4s;
  width: 100%;
  z-index: 120;
}

@media screen and (min-width: 1236px) {
  .l-header {
    height: 100px;
  }
}

.l-header__inner {
  align-items: center;
  column-gap: 2.4rem;
  display: flex;
  height: 100%;
  justify-content: space-between;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

@media screen and (min-width: 1236px) {
  .l-header__inner {
    padding-left: 5rem;
    padding-right: initial;
  }
}

.l-header__logo {
  width: 56px;
}

@media screen and (min-width: 1236px) {
  .l-header__logo {
    width: 80px;
  }
}

.l-header__logo img {
  display: block;
  height: auto;
  width: 100%;
}

.l-header__navs {
  display: none;
}

@media screen and (min-width: 1236px) {
  .l-header__navs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    row-gap: 1.2rem;
  }
}

body.is-drawerActive {
  overflow: hidden;
}

body.is-drawerActive .l-header {
  -webkit-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0);
  background-color: transparent;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0);
}

body.is-drawerActive .l-header__logo {
  visibility: hidden;
}

.l-main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  counter-reset: title-counter;
  display: block;
  flex: 1;
  margin-top: 72px;
  width: 100%;
}

@media screen and (min-width: 1236px) {
  .l-main {
    margin-top: 100px;
  }
}

.l-main--no-visual {
  margin-top: 60px;
}

@media screen and (min-width: 1236px) {
  .l-main--no-visual {
    margin-top: 100px;
  }
}

.l-main__full-wide {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

.l-sidebar {
  background-color: #FFF6E9;
  height: 100%;
  padding: 1.6rem 1.6rem 4.4rem;
}

.l-sidebar__cat-list {
  font-size: 1.4rem;
  list-style: disc;
  padding-left: 1.5em;
}

.l-sidebar__title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
  color: #623210;
}

.l-sidebar__list.p-cards {
  gap: 2rem 0;
}

.l-sidebar__card.p-card {
  row-gap: 1rem;
}

.l-sidebar__item-title.p-card__title {
  color: #121212;
  font-size: 1.4rem;
  font-weight: normal;
}

.l-site-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.c-breadcrumbs {
  font-size: 1.2rem;
}

.c-breadcrumbs a {
  color: #115FFB;
}

.c-breadcrumbs__inner {
  padding-bottom: 2.2rem;
  padding-top: 2rem;
}

.c-drawer+.c-breadcrumbs {
  margin-top: 60px;
}

@media screen and (min-width: 1236px) {
  .c-drawer+.c-breadcrumbs {
    margin-top: 120px;
  }
}

.c-comming-soon-text {
  text-align: center;
}

.c-level1-heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background: #623210;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 2.4rem 1.6rem;
}

@media screen and (min-width: 768px) {
  .c-level1-heading {
    padding: 5.4rem 1.6rem;
    padding: 8rem 1.6rem;
  }
}

.c-level1-heading .text {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.5em;
  line-height: 1.5;
  margin-right: -0.5em;
}

@media screen and (min-width: 768px) {
  .c-level1-heading .text {
    font-size: 3.2rem;
    letter-spacing: 1em;
    margin-right: -1em;
  }
}

.c-level2-heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
  position: relative;
}

@media screen and (min-width: 544px) {
  .c-level2-heading {
    gap: 2.4rem;
    margin-bottom: 4.4rem;
  }
}

.c-level2-heading::after {
  background-image: url(assets/img/dst/common/dot-level2-heading.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 12px;
  width: 152px;
}

.c-level2-heading .wrap {
  overflow: hidden;
}

.c-level2-heading .text {
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.6em;
  line-height: 150%;
  margin-right: -0.6em;
  text-align: center;
}

@media screen and (min-width: 544px) {
  .c-level2-heading .text {
    font-size: 3.2rem;
    letter-spacing: 1em;
    margin-right: -1em;
  }
}

.c-level3-heading {
  color: #20A899;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2.8rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-level3-heading {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}

.c-underline-heading {
  border-bottom: 1px solid #623210;
  color: #623210;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  padding-bottom: 0.8rem;
}

@media screen and (min-width: 768px) {
  .c-underline-heading {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}

.c-fill-heading {
  background-color: #623210;
  border-radius: 8px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
  padding: 1.5rem 1rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-fill-heading {
    font-size: 2.4rem;
    margin-bottom: 3.2rem;
    padding: 1rem;
  }
}

.c-horizontal-line-heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #623210;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3.2rem;
  position: relative;
  text-align: center;
}

.c-horizontal-line-heading::before,
.c-horizontal-line-heading::after {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  background-color: currentColor;
  content: "";
  display: block;
  flex: 1;
  height: 1px;
}

.c-horizontal-line-heading__text {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  max-width: calc(100% - 48px);
  padding: 0 2.4rem;
}

.c-balloon-heading {
  background-color: #623210;
  border-radius: 16px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 47px;
  padding: 1.6rem 1.6rem 2.2rem;
  position: relative;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-balloon-heading {
    font-size: 4rem;
    margin-bottom: 60px;
    padding: 1.2rem 1.6rem;
  }
}

.c-balloon-heading::after {
  -webkit-transform: translateX(-50%);
  border-color: #623210 transparent transparent transparent;
  border-style: solid;
  border-width: 36px 21px 0 21px;
  content: "";
  display: block;
  height: 0;
  height: 0;
  left: 50%;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
  width: 0;
}

.c-label {
  background-color: #623210;
  color: #fff;
  display: inline-block;
  padding: 0.4rem 1.6rem;
  border-radius: 100px;
}

.c-link--arrow-left {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  gap: 1.6rem;
}

.c-link--arrow-left::before {
  background-image: url(assets/img/dst/common/icon-link-arrow-left.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 40px;
  width: 40px;
}

.c-link--arrow-right {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  gap: 1.6rem;
}

.c-link--arrow-right::after {
  background-image: url(assets/img/dst/common/icon-link-arrow-right.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 40px;
  width: 40px;
}

.c-link--icon-left {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  gap: 1.6rem;
}

.c-link--icon-left i {
  font-size: 2.8rem;
}

.c-pagination {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 3.2rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 4rem;
  }
}

.c-pagination__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  position: relative;
}

.c-pagination__item+.c-pagination__item {
  margin-left: 1rem;
}

.notNumbering.c-pagination__item,
.c-pagination__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background: #FFF6E9;
  color: #623210;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 4rem;
  justify-content: center;
  width: 3rem;
}

.c-pagination__item.current {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background: #623210;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 4rem;
  justify-content: center;
  width: 3rem;
}

.c-pagination__prev>a,
.c-pagination__next>a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  color: #121212;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 4rem;
  justify-content: center;
  width: 3rem;
}

.c-pagination__prev {
  left: -4rem;
  position: absolute;
  top: 0;
}

.c-pagination__next {
  position: absolute;
  right: -4rem;
  top: 0;
}

.navigation.post-navigation {
  border-top: 4px solid #623210;
  font-size: 1.4rem;
  margin-top: 3.2rem;
  padding-top: 1.6rem;
}

@media screen and (min-width: 768px) {
  .navigation.post-navigation {
    font-size: 1.6rem;
    margin-top: 4.8rem;
    padding-top: 1.6rem;
  }
}

.navigation.post-navigation .screen-reader-text {
  display: none;
}

.navigation.post-navigation .nav-links::after {
  clear: both;
  content: "";
  display: block;
}

.navigation.post-navigation .nav-previous {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
}

.navigation.post-navigation .nav-next {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
}

.pager_nav .pre {
  float: left;
}

.pager_nav .next {
  float: right;
}

.c-button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: none;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
}

.c-button__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-button__icon img {
  display: block;
  height: auto;
  max-width: 100%;
}

.c-button--arrow-right {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-transition-duration: 0.2s;
  align-items: center;
  background: #fff;
  border-radius: 100px;
  font-size: 1.2rem;
  gap: 1.6rem;
  justify-content: space-between;
  min-width: 105px;
  overflow: hidden;
  padding: 0.8rem 0.8rem 0.8rem 3.2rem;
  position: relative;
  transition-duration: 0.2s;
}

.c-button--arrow-right .text {
  display: block;
  position: relative;
  z-index: 1;
}

.c-button--arrow-right .arrow {
  display: block;
  height: 40px;
  position: relative;
  width: 40px;
  z-index: 1;
}

/*.c-button--arrow-right::after {
  -webkit-transition-duration: 0.3s;
  background-color: #623210;
  border-radius: 50%;
  content: "";
  display: block;
  height: 40px;
  position: absolute;
  right: 8px;
  top: 8px;
  transition-duration: 0.3s;
  width: 40px;
}
.c-button--arrow-right:hover {
  -webkit-box-shadow: transparent;
  box-shadow: transparent;
  color: #fff;
}
.c-button--arrow-right:hover::after {
  -webkit-transform: scale(14);
  transform: scale(14);
}*/
.c-button--arrow-right-reverse {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  background: #fff;
  border-radius: 100px;
  color: #623210;
  font-size: 1.4rem;
  gap: 1.6rem;
  justify-content: space-between;
  min-width: 200px;
  padding: 0.8rem 1.4rem;
  position: relative;
}

.c-button--arrow-right-reverse::after {
  background-image: url(assets/img/dst/common/icon-arrow-right-reverse.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 12px;
  width: 6px;
}

.c-button--arrow-right-reverse:hover {
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}

.c-button--icon-right {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  background-color: #8DE5FF;
  border-radius: 100px;
  font-size: 1.8rem;
  font-weight: bold;
  gap: 5.6rem;
  justify-content: space-between;
  padding: 1.4rem 2.4rem;
  position: relative;
}

@media screen and (min-width: 1236px) {
  .c-button--icon-right {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    font-size: 2.4rem;
    justify-content: center;
    padding: 1.4rem 14.8rem;
  }
}

.c-button--icon-right::after {
  background-image: url(assets/img/dst/common/icon-button-icon-right.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 40px;
  width: 40px;
}

@media screen and (min-width: 1236px) {
  .c-button--icon-right::after {
    position: absolute;
    right: 56px;
    top: 15px;
  }
}

.c-button--icon-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  background-color: #623210;
  color: #fff;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0.8rem;
}

.c-button--icon-top i {
  font-size: 2rem;
}

.c-button--icon-top .c-button__label {
  margin-top: 0.2rem;
  text-align: center;
}

.c-button--icon-left {
  background-color: #fff;
  border: 1px solid currentColor;
  border-radius: 100px;
  color: #623210;
  gap: 1.6rem;
  padding: 0.9rem 2rem;
}

.c-button--icon-left i {
  font-size: 2rem;
  margin-top: 4px;
}

.c-button--icon-left .c-button__label {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.c-button--submit {
  background-color: #8DE5FF;
  border-radius: 100px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  padding: 1.4rem 4rem;
}

.c-button--round {
  background: -webkit-gradient(linear, left top, left bottom, from(#3BBBDB), to(#D8F1F8));
  background: -webkit-linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  background: linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  border-radius: 100px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 1rem 6.4rem;
  text-align: center;
}

.c-button--fill {
  background-color: #623210;
  color: #fff;
  font-size: 1.6rem;
  padding: 0.4rem 1.6rem;
}

.c-hamburger {
  -webkit-box-shadow: 0 0 2rem transparent;
  -webkit-transition: all 0.3s ease-in-out;
  box-shadow: 0 0 2rem transparent;
  display: block;
  height: 28px;
  outline: none;
  transition: all 0.3s ease-in-out;
  width: 40px;
  z-index: 100;
}

@media screen and (min-width: 1236px) {
  .c-hamburger {
    display: none;
  }
}

.c-hamburger__bar {
  -webkit-transition: inherit;
  background-color: #623210;
  display: block;
  height: 2px;
  position: relative;
  transition: inherit;
  width: 40px;
}

.c-hamburger__bar:before,
.c-hamburger__bar:after {
  -webkit-transition: inherit;
  background-color: #623210;
  background-color: inherit;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  transition: inherit;
  width: 40px;
}

.c-hamburger__bar:before {
  top: -16px;
}

.c-hamburger__bar:after {
  top: 16px;
}

.c-hamburger[aria-expanded=true]>.c-hamburger__bar {
  background-color: transparent;
}

.c-hamburger[aria-expanded=true]>.c-hamburger__bar:before,
.c-hamburger[aria-expanded=true]>.c-hamburger__bar:after {
  background-color: #623210;
  top: 0;
}

.c-hamburger[aria-expanded=true]>.c-hamburger__bar:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-hamburger[aria-expanded=true]>.c-hamburger__bar:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c-scroll-button {
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  border: 1px solid #fff;
  bottom: 11.6rem;
  cursor: pointer;
  height: 32px;
  position: fixed;
  right: 16px;
  width: 32px;
  z-index: 30;
}

@media screen and (min-width: 768px) {
  .c-scroll-button {
    bottom: 65px;
    height: 50px;
    right: 50px;
    width: 50px;
  }
}

@media screen and (min-width: 1236px) {
  .c-scroll-button {
    bottom: 40px;
    right: 50px;
  }
}

.c-scroll-button a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  pointer-events: none;
  width: 100%;
}

.c-scroll-button::after {
  -webkit-transform: rotate(45deg);
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  content: "";
  display: block;
  height: 1.6rem;
  left: 8px;
  position: absolute;
  top: 12px;
  transform: rotate(45deg);
  width: 1.6rem;
}

@media screen and (min-width: 768px) {
  .c-scroll-button::after {
    height: 20px;
    left: 14px;
    top: 18px;
    width: 20px;
  }
}

.c-drawer {
  background: #fff;
  bottom: 0;
  display: none;
  height: 100%;
  overflow-y: scroll;
  padding: 8.6rem 0;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 40;
}

.c-drawer__list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.c-drawer__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  padding: 1rem 1rem;
  width: 100%;
}

.c-drawer__item-title {
  display: block;
  padding-bottom: 0.8rem;
}

.c-drawer__child-list {
  margin: -0.6rem -1rem;
  padding-top: 0.8rem;
}

.c-drawer__child-item {
  font-size: max(1.2rem, min(1.0113207547rem + 0.3144654088vw, 1.4rem));
  font-size: clamp(1.2rem, 1.0113207547rem + 0.3144654088vw, 1.4rem);
  font-weight: normal;
  padding: 0.6rem 1rem;
}

.c-drawer .c-sns-nav {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 4rem;
}

.c-mobile-nav {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  justify-content: space-between;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 30;
}

@media screen and (min-width: 1236px) {
  .c-mobile-nav {
    display: none !important;
  }
}

.c-mobile-nav__tab {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  height: 100%;
  justify-content: center;
  padding: 0.4rem;
}

.c-mobile-nav__tab--phone {
  transition: background-color 0.3s ease, transform 0.3s ease;
  cursor: pointer;
  background: #121212;
  color: #fff;
  flex: 1 0 50%;
  font-size: 1.6rem;
}

.c-mobile-nav__tab--contact {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 50%;
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  color: #fff;
  flex: 1 0 50%;
  font-size: 1.6rem;
}

.c-mobile-nav__tab span img {
  max-width: 43px;
}

.c-mobile-nav__tab i {
  font-size: 2rem;
}

@media screen and (min-width: 1236px) {
  .c-gnav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 2.4rem;
    -moz-column-gap: 2.4rem;
    align-items: center;
    column-gap: 2.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
  }
}

.c-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.2rem;
}

.c-gnav__item>a {
  font-size: 1.6rem;
}

.c-gnav__item a {
  transition: color 0.3s ease;
}

.c-gnav__item a:hover {
  color: #FF3F04;
}

.c-gnav__button--wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 250px;
  margin: 0 auto;
}

.c-gnav__button--wrap li:nth-of-type(1) img {
  padding-bottom: 6px;
}

.c-gnav__button {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  color: #fff;
  min-width: 100px;
  min-height: 100px;
  text-decoration: none;
  transition: all 0.3s ease;
  padding: 10px 5px;
}

.c-button__icon {
  margin-bottom: 5px;
}

.c-gnav__button i {
  font-size: 2.1rem;
}

.c-gnav__button .c-button__label {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.2;
}

.c-gnav__button--insta {
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  position: relative;
}

.c-gnav__button--mail {
  background-color: #121212;
  position: relative;
}

/* hover用フィルター */
.c-gnav__button--insta::before,
.c-gnav__button--mail::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.6s ease;
  z-index: 0;
}

.c-gnav__button--insta:hover::before,
.c-gnav__button--mail:hover::before {
  opacity: 1;
}

/* テキストを前面に */
.c-gnav__button--insta span,
.c-gnav__button--mail span {
  position: relative;
  z-index: 1;
}

.c-gnav__button--phone .c-button__label {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .c-gnav__button .c-button__label {
    font-size: 1.4rem;
    text-align: center;
  }
}

@keyframes slide-bg {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.p-f-overview__inner .c-button {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-f-overview__inner .c-button {
    align-items: center;
    border: none;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    text-decoration: none;
  }

  .c-button__icon {
    display: grid;
    align-items: flex-end;
  }
}

.c-sns-nav {
  align-items: center;
  column-gap: 2.4rem;
  display: flex;
  justify-content: flex-end;
}

@media screen and (min-width: 1236px) {
  .c-sns-nav {
    column-gap: 1.6rem;
  }
}

.c-sns-nav img {
  display: block;
  height: auto;
  width: 18px;
}


.p-bkg-contents {
  background-color: #20A899;
  border-radius: 16px;
  padding: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-bkg-contents {
    padding: 3.2rem;
  }
}

.p-bkg-contents__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-bkg-contents__body {
    gap: 1.6rem;
  }
}

.p-bkg-contents__title {
  color: #20A899;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-bkg-contents__title {
    font-size: 2.4rem;
  }
}

.p-bkg-contents__text {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-bkg-contents__text {
    font-size: 1.8rem;
  }
}

.p-breakthrough-media__img-wrapper {
  border-radius: 24px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-breakthrough-media__img-wrapper {
    border-radius: 50px;
  }
}

.p-breakthrough-media__img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.p-breakthrough-media__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#3BBBDB), to(#D8F1F8));
  background: -webkit-linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  background: linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  margin-top: -4rem;
  padding: 1.6rem;
  position: relative;
  row-gap: 2.4rem;
  width: 90%;
}

@media screen and (min-width: 768px) {
  .p-breakthrough-media__body {
    border-radius: 50px;
    margin-top: -15rem;
    padding: 4.8rem;
    width: 85.6514%;
  }
}

.p-breakthrough-media__body .c-level2-heading {
  margin-bottom: 0;
}

.p-breakthrough-media__body-inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  column-gap: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
}

@media screen and (min-width: 992px) {
  .p-breakthrough-media__body-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.p-breakthrough-media__text {
  color: #20A899;
}

.p-card {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  row-gap: 1.2rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-card {
    row-gap: 1.6rem;
  }
}

.p-card__img-wrapper {
  aspect-ratio: 368/245;
  display: block;
  overflow: hidden;
  width: 100%;
}

.p-card__img-wrapper--square {
  aspect-ratio: 1/1;
}

.p-card__img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
  height: auto;
}

.p-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  row-gap: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-card__body {
    row-gap: 1.6rem;
  }
}

.p-card__title {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-card__summary {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  display: -webkit-box;
  overflow: hidden;
}

.p-card__labels {
  -ms-flex-item-align: start;
  -ms-flex-wrap: wrap;
  align-self: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.p-card__labels .c-label {
  font-size: 1.4rem;
  margin-bottom: 0;
}

.p-cards {
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  display: -ms-grid;
  display: grid;
  row-gap: 2.4rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-cards {
    -webkit-column-gap: 1.6rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    row-gap: 4.8rem;
  }
}

.p-cards--col1 {
  -ms-grid-columns: (minmax(0, 1fr))[1];
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col1-sm {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col1-md {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col1-lg {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col1-xl {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.p-cards--col2 {
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col2-sm {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col2-md {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col2-lg {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col2-xl {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-cards--col3 {
  -ms-grid-columns: (minmax(0, 1fr))[3];
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col3-sm {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col3-md {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col3-lg {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col3-xl {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.p-cards--col4 {
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col4-sm {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col4-md {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col4-lg {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col4-xl {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.p-cards--col5 {
  -ms-grid-columns: (minmax(0, 1fr))[5];
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col5-sm {
    -ms-grid-columns: (minmax(0, 1fr))[5];
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col5-md {
    -ms-grid-columns: (minmax(0, 1fr))[5];
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col5-lg {
    -ms-grid-columns: (minmax(0, 1fr))[5];
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col5-xl {
    -ms-grid-columns: (minmax(0, 1fr))[5];
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.p-cards--col6 {
  -ms-grid-columns: (minmax(0, 1fr))[6];
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col6-sm {
    -ms-grid-columns: (minmax(0, 1fr))[6];
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col6-md {
    -ms-grid-columns: (minmax(0, 1fr))[6];
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col6-lg {
    -ms-grid-columns: (minmax(0, 1fr))[6];
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col6-xl {
    -ms-grid-columns: (minmax(0, 1fr))[6];
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.p-cards--col7 {
  -ms-grid-columns: (minmax(0, 1fr))[7];
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col7-sm {
    -ms-grid-columns: (minmax(0, 1fr))[7];
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col7-md {
    -ms-grid-columns: (minmax(0, 1fr))[7];
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col7-lg {
    -ms-grid-columns: (minmax(0, 1fr))[7];
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col7-xl {
    -ms-grid-columns: (minmax(0, 1fr))[7];
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

.p-cards--col8 {
  -ms-grid-columns: (minmax(0, 1fr))[8];
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col8-sm {
    -ms-grid-columns: (minmax(0, 1fr))[8];
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col8-md {
    -ms-grid-columns: (minmax(0, 1fr))[8];
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col8-lg {
    -ms-grid-columns: (minmax(0, 1fr))[8];
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col8-xl {
    -ms-grid-columns: (minmax(0, 1fr))[8];
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

.p-cards--col9 {
  -ms-grid-columns: (minmax(0, 1fr))[9];
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col9-sm {
    -ms-grid-columns: (minmax(0, 1fr))[9];
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col9-md {
    -ms-grid-columns: (minmax(0, 1fr))[9];
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col9-lg {
    -ms-grid-columns: (minmax(0, 1fr))[9];
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col9-xl {
    -ms-grid-columns: (minmax(0, 1fr))[9];
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
}

.p-cards--col10 {
  -ms-grid-columns: (minmax(0, 1fr))[10];
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

@media screen and (min-width: 544px) {
  .p-cards--col10-sm {
    -ms-grid-columns: (minmax(0, 1fr))[10];
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-cards--col10-md {
    -ms-grid-columns: (minmax(0, 1fr))[10];
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@media screen and (min-width: 992px) {
  .p-cards--col10-lg {
    -ms-grid-columns: (minmax(0, 1fr))[10];
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1236px) {
  .p-cards--col10-xl {
    -ms-grid-columns: (minmax(0, 1fr))[10];
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

.p-cards__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.p-cards__more {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: var(--space-40);
}

.p-cards__none {
  margin-top: 3rem;
  text-align: center;
}

.p-categories__wrapper {
  border-bottom: 1px solid #B0A695;
  border-top: 1px solid #B0A695;
  padding: 1.4rem 0 1.6rem;
}

.p-categories__title {
  margin: 0.8rem 0;
}

@media screen and (min-width: 768px) {
  .p-categories__wrapper {
    padding: 1.7rem 0 2.4rem;
  }

  .p-categories__title {
    margin-bottom: 1.7rem 0 0.8rem;
  }
}

.p-categories {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  gap: 8px 16px;
  grid-template-columns: repeat(2, 1fr);
  padding-bottom: 8px;
}

@media screen and (min-width: 544px) {
  .p-categories {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-categories {
    -ms-grid-columns: (1fr)[4];
    gap: 1rem;
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-categories {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-categories {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

.p-categories__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background-color: #FFF6E9;
  color: #623210;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0.4rem 1rem;
  border: 1px solid #623210;
  border-radius: 100px;
}

.p-categories__link.current {
  color: #fff;
  background-color: #623210;
}

.p-circle-card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  gap: 1.4rem;
  justify-content: center;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-circle-card {
    font-size: 2rem;
    gap: 1.6rem;
  }
}

@media screen and (min-width: 544px) and (max-width: 767px) {
  .p-circle-card {
    font-size: 3.5vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .p-circle-card {
    font-size: 2.1vw;
  }
}

@media screen and (max-width: 543px) {
  .p-circle-card {
    max-width: 240px;
  }
}

.p-circle-cards {
  -webkit-column-gap: 2.4rem;
  -moz-column-gap: 2.4rem;
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  column-gap: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 2rem;
}

@media screen and (min-width: 768px) {
  .p-circle-cards {
    -webkit-column-gap: 1.6rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
  }
}

@media screen and (min-width: 992px) {
  .p-circle-cards {
    -webkit-column-gap: 4%;
    -moz-column-gap: 4%;
    column-gap: 4%;
  }
}

.p-circle-cards__item {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1 0 100%;
  justify-content: center;
}

@media screen and (min-width: 544px) {
  .p-circle-cards__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc((100% - 2.4rem) / 2);
    flex: 0 0 calc((100% - 2.4rem) / 2);
  }
}

@media screen and (min-width: 768px) {
  .p-circle-cards__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc((100% - 3.2rem) / 3);
    flex: 0 0 calc((100% - 3.2rem) / 3);
  }
}

@media screen and (min-width: 992px) {
  .p-circle-cards__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30.6666666667%;
    flex: 0 0 30.6666666667%;
  }
}

.p-column-single .p-post-article__wrap {
  background: #FFF6E9;
  padding: 26px;
}

.p-column-single .p-post-article__entry-data {
  display: flex;
  justify-content: space-between;
}

.p-column-archive__posts-title {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .p-column-archive__posts-title {
    font-size: 2.4rem;
  }
}

.p-column-archive__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

.p-column-single__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

.p-column__lead {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-column__lead {
    gap: 1.6rem;
  }
}

.p-column__lead-title {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-column__lead-title {
    font-size: 2rem;
  }
}

.p-column__link {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-column__link {
    padding-top: 4rem;
  }
}

.p-columns {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: min(-1%, -0.8rem);
}

.p-columns__column {
  padding: min(1%, 0.8rem);
}

.p-columns--justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-columns--col2 .p-columns__column {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-columns--col2 .p-columns__column {
    width: 50%;
  }
}

.p-columns--col2 .p-columns__column>* {
  width: 100%;
}

.p-columns--col3 .p-columns__column {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-columns--col3 .p-columns__column {
    width: 33.33%;
  }
}

.p-columns--col3 .p-columns__column>* {
  width: 100%;
}

.p-columns--col4 .p-columns__column {
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-columns--col4 .p-columns__column {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .p-columns--col4 .p-columns__column {
    width: 25%;
  }
}

.p-columns--col4 .p-columns__column>* {
  width: 100%;
}

.p-columns--col5 .p-columns__column {
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-columns--col5 .p-columns__column {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .p-columns--col5 .p-columns__column {
    width: 33.33%;
  }
}

@media screen and (min-width: 992px) {
  .p-columns--col5 .p-columns__column {
    width: 20%;
  }
}

.p-columns--col5 .p-columns__column>* {
  width: 100%;
}

.p-columns--col6 .p-columns__column {
  width: 50%;
}

@media screen and (min-width: 544px) {
  .p-columns--col6 .p-columns__column {
    width: 33.33%;
  }
}

@media screen and (min-width: 768px) {
  .p-columns--col6 .p-columns__column {
    width: 25%;
  }
}

@media screen and (min-width: 992px) {
  .p-columns--col6 .p-columns__column {
    width: 20%;
  }
}

@media screen and (min-width: 1236px) {
  .p-columns--col6 .p-columns__column {
    width: 16.66%;
  }
}

.p-columns--col6 .p-columns__column>* {
  width: 100%;
}


/* cta (ブロック) */
.p-cta {
  position: relative;
  background-image: url('assets/img/dst/common/visual-top-pc.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 24px 20px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-cta {
    padding: 50px 20px;
  }
}

/* cta__overlay (要素: 背景オーバーレイ) */
.p-cta__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(49, 23, 4, 0.56);
  z-index: 1;
}

/* cta__inner (要素: コンテンツラッパー) */
.p-cta__inner {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

/* cta__heading (要素: 見出し) */
.p-cta__heading {
  font-size: 2.4rem;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  padding: 0 20px;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}

.p-cta__heading::before,
.p-cta__heading::after {
  content: '';
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
  border-color: #ffffff;
  border-style: solid;
}

/* 見出し（括弧） */
.p-cta__heading::before {
  left: -10px;
  border-width: 1px 0 0 1px;
}

.p-cta__heading::after {
  right: -10px;
  bottom: 0px;
  top: auto;
  border-width: 0 1px 1px 0;
}

/* cta__container (要素: ブロックコンテナ) */
.p-cta__container {
  display: flex;
  flex-direction: column;
  /* モバイル: 縦積み */
  gap: 20px;
  /* ブロック間の余白 */
}

/* cta__block (要素: お問い合わせ/予約ブロック) */
.p-cta__block {
  background-color: rgba(244, 244, 240, 0.8);
  padding: 16px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

@media (min-width: 768px) {
  .p-cta__block {
    padding: 36px;
  }
}

/* cta__text (要素: 説明文) */
.p-cta__text {
  font-size: 1.8rem;
  color: #623210;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 20px;
  text-align: left;
}

/* cta__button (要素: 共通ボタン) */
.p-cta__button {
  display: grid;
  grid-template-columns: 1fr 4fr 1fr;
  align-items: baseline;
  justify-content: center;
  width: 100%;
  max-width: 440px;
  padding: 15px 0;
  color: #ffffff;
  font-size: 1.4rem;
  text-decoration: none;
  border: none;
  border-radius: 50px;
  transition: background-color 0.3s ease, transform 0.3s ease;
  cursor: pointer;
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  margin: 0 auto;
}

.p-cta__button:hover {
  background: #FFE500;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  animation: slide-bg 2s ease infinite;
}

/* cta__button-icon (要素: ボタン内アイコン) */
.p-cta__button-icon {
  width: 32px;
  height: 22px;
  margin-left: 30px;
}

/* cta__button-text (要素: ボタン内テキスト) */
.p-cta__button-text {
  flex-grow: 1;
  text-align: left;
  margin-left: 16px;
}

/* cta__button-arrow (要素: ボタン内矢印) */
.p-cta__button-arrow {
  width: 20px;
  height: 20px;
  margin-left: 12px;
}

.p-cta__button._reserve {
  margin-top: 64px;
  max-width: 343px;
}

@media (min-width: 1024px) {
  .p-cta {
    padding: 80px 40px;
  }

  .p-cta__heading {
    font-size: 3.2rem;
    margin-bottom: 50px;
  }

  .p-cta__container {
    flex-direction: row;
    justify-content: center;
    gap: 30px;
  }

  .p-cta__block {
    flex: 1;
    max-width: 560px;
    padding: 35px 10px;
  }

  .p-cta__button-icon {
    width: 40px;
    height: 27px;
  }

  .p-cta__text {
    margin-bottom: 32px;
    text-align: center;
  }

  .p-cta__button {
    width: auto;
    min-width: 440px;
    font-size: 2.4rem;
  }

  /* グラデーションhover動作設定 */
  .p-cta__button {
    width: auto;
    min-width: 440px;
    font-size: 2.4rem;
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    max-width: 440px;
    padding: 15px 0;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  }

  /* hover用フィルター */
  .p-cta__button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
  }

  .p-cta__button:hover::before {
    opacity: 1;
  }

  /* テキストを前面に */
  .p-cta__button>* {
    position: relative;
    z-index: 1;
  }

}

/*.p-cta {
  background-image: url(assets/img/dst/common/cta-bkg-sp.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 4rem;
  padding-top: 3.2rem;
}
@media screen and (min-width: 768px) {
  .p-cta {
    background-image: url(assets/img/dst/common/cta-bkg-pc.png);
  }
}

.p-cta__cards.p-cards {
  row-gap: 2rem;
}

.p-cta__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  background-color: #fff;
  border-radius: 32px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
  container-type: inline-size;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  height: 100%;
  justify-content: space-between;
  padding: 2.4rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-cta__item {
    padding: 3.2rem 1rem;
  }
}
.p-cta__item--mail .p-cta__note {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .p-cta__item--mail .p-cta__note {
    font-size: 1.8rem;
  }
}
.p-cta__item--phone i {
  font-size: 3.6rem;
}
@media screen and (min-width: 768px) {
  .p-cta__item--phone i {
    font-size: 4rem;
  }
}
.p-cta__item--mail i {
  font-size: 4rem;
}

.p-cta__item-title {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-cta__item-title {
    font-size: 1.8rem;
  }
}

.p-cta__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 0.8rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-cta__body {
    gap: 1rem;
  }
}

.p-cta__contents {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  color: #623210;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 0.4rem 2.4rem;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-cta__contents {
    gap: 0.4rem 3.2rem;
  }
}
.p-cta__contents .num {
  font-size: 3.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-cta__contents .num {
    font-size: 3.6rem;
  }
}
.p-cta__contents .wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
}
@media screen and (min-width: 768px) {
  .p-cta__contents .wrap {
    gap: 3.2rem;
  }
}
.p-cta__contents .text {
  font-size: 2.8rem;
  font-weight: bold;
}
.p-cta__contents .arrow-wrap {
  position: relative;
}
.p-cta__contents .arrow {
  display: block;
  height: 40px;
  position: relative;
  width: 40px;
  z-index: 1;
}
.p-cta__contents .arrow-wrap::after {
  -webkit-transition-duration: 0.2s;
  background-color: #623210;
  border-radius: 50%;
  content: "";
  display: block;
  height: 40px;
  left: 0;
  position: absolute;
  top: 0;
  transition-duration: 0.2s;
  width: 40px;
}
.p-cta__contents:hover .arrow-wrap::after {
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
}

@container (min-width: 320px) {
  .p-cta__contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 3.2rem;
  }
}
.p-cta__note {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  column-gap: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  justify-content: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-cta__note {
    font-size: 1.6rem;
  }
}*/

.p-f-map {
  background-color: #FFF6E9;
  padding: 2.4rem 0;
}

@media screen and (min-width: 768px) {
  .p-f-map {
    padding-bottom: 9.6rem;
    padding-top: 4.8rem;
  }
}

.p-f-map__list {
  -ms-grid-columns: (1fr)[2];
  -webkit-column-gap: 1.4rem;
  -moz-column-gap: 1.4rem;
  column-gap: 1.4rem;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  row-gap: 2.4rem;
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-f-map__list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-f-map__list {
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    -ms-grid-columns: (1fr)[4];
    column-gap: 2rem;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 3.2rem;
  }
}

.p-f-map__item {
  overflow: hidden;
  position: relative;
}

.p-f-map__item-title {
  display: block;
  font-weight: bold;
  margin-right: -0.15em;
}

@media screen and (min-width: 768px) {
  .p-f-map__item-title {
    margin-right: -1em;
  }
}

a.p-f-map__item-title:hover {
  color: #454545;
}

.p-f-map__inner ul li a {
  color: #623210;
  transition: color 0.3s ease;
}

.p-f-map__inner ul li a:hover {
  color: #FF3F04;
}

.p-f-map__child-item {
  font-size: 1.4rem;
}

.p-f-map__child-item:hover {
  color: #454545;
}

.p-f-overview {
  padding-bottom: 2.4rem;
  padding-top: 2.4rem;
}

@media screen and (min-width: 992px) {
  .p-f-overview {
    padding-bottom: 2.8rem;
    padding-top: 4rem;
  }
}

.p-f-overview__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  justify-content: center;
}

@media screen and (min-width: 992px) {
  .p-f-overview__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    flex-direction: row;
    gap: 2rem;
    justify-content: space-between;
  }
}

@media screen and (min-width: 1236px) {
  .p-f-overview__inner {
    gap: 4.4rem;
  }
}

.p-f-overview__logo {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.p-f-overview__logo img {
  display: block;
  max-width: 100%;
}

.p-f-overview__info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

@media screen and (max-width: 991px) {
  .p-f-overview__info {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-f-overview__info-title {
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}

@media screen and (min-width: 992px) {
  .p-f-overview__info-title {
    -moz-text-align-last: left;
    text-align-last: left;
  }
}

@media screen and (max-width: 991px) {
  .p-f-overvies__button {
    display: none;
  }
}

.p-flow {
  display: -ms-grid;
  display: grid;
  row-gap: 4rem;
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-flow {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-flow {
    -ms-grid-columns: (1fr)[3] calc(25% - 32px);
    grid-template-columns: repeat(3, 1fr) calc(25% - 32px);
  }
}

.p-flow__item {
  -ms-grid-columns: 112px 1.6rem 1fr;
  -ms-grid-rows: 96px 1fr 30px;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  display: -ms-grid;
  display: grid;
  grid-template-areas: "area1 area3" "area2 area3" "area4 area4";
  grid-template-columns: 112px 1fr;
  grid-template-rows: 96px 1fr 30px;
}

@media screen and (min-width: 544px) {
  .p-flow__item {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    -ms-grid-columns: 100px 0 1fr 0 32px;
    -ms-grid-rows: 104px 1.6rem 1fr;
    column-gap: 0;
    grid-template-areas: "area1 area2 area4" "area3 area3 .";
    grid-template-columns: 100px 1fr 32px;
    grid-template-rows: 104px 1fr;
    row-gap: 1.6rem;
  }
}

@media screen and (min-width: 992px) {
  .p-flow__item:last-of-type {
    -ms-grid-columns: 100px 1fr;
    grid-template-columns: 100px 1fr;
  }
}

.p-flow__icon {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  background-color: #fff;
  border-radius: 8px 8px 0 0;
  grid-area: area1;
  padding: 1.6rem 1.6rem 0;
}

@media screen and (min-width: 544px) {
  .p-flow__icon {
    border-radius: 8px 0 0 8px;
    padding: 1.6rem 1.2rem 1.2rem 2rem;
  }
}

.p-flow__icon img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 80px;
}

.p-flow__item-title {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  color: #623210;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  font-weight: bold;
  grid-area: area2;
  justify-content: center;
  padding: 0.5rem 0 1.6rem;
  padding-bottom: 1.6rem;
}

@media screen and (min-width: 544px) {
  .p-flow__item-title {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    border-radius: 0 8px 8px 0;
    justify-content: flex-start;
    padding: 1.6rem 2rem 1.6rem 1.2rem;
  }
}

.p-flow__item-body {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 3;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  grid-area: area3;
}

@media screen and (min-width: 544px) {
  .p-flow__item-body {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    font-size: 1.8rem;
  }
}

.p-flow__arrow {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: area4;
  justify-content: center;
}

@media screen and (min-width: 544px) {
  .p-flow__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .p-flow__item-title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }

  .p-flow__item-body {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }

  .p-flow__arrow {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
}

.p-flow__arrow::after {
  border-color: #623210 transparent transparent transparent;
  border-style: solid;
  border-width: 18px 10px 0 10px;
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 544px) {
  .p-flow__arrow::after {
    border-color: transparent transparent transparent #623210;
    border-style: solid;
    border-width: 10px 0 10px 18px;
    height: 0;
    width: 0;
  }
}

.p-fluid-card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-fluid-card {
    gap: 2.4rem;
  }
}

@media screen and (max-width: 375px) {
  .p-fluid-card__icon-wrapper {
    max-width: 244px;
  }
}

.p-fluid-card__icon {
  display: block;
  margin-inline: auto;
  max-width: 100%;
}

.p-fluid-card__body {
  padding-left: 3.4rem;
  padding-right: 3.4rem;
}

@media screen and (min-width: 768px) {
  .p-fluid-card__body {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

#footer-sitemap.p-f-map__title {
  font-size: 2.4rem;
  margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
  .p-f-map.p-f-map__title {
    font-size: 2.8rem;
    margin-bottom: 24px;
  }
}

.p-footer {
  margin-bottom: 60px;
}

@media screen and (min-width: 1236px) {
  .p-footer {
    margin-bottom: 0;
  }
}

.p-footer__wave img {
  display: block;
  width: 100%;
}

.p-footer__copyright {
  color: #623210;
  display: block;
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 0.4rem 1.6rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-footer__copyright {
    font-size: 1.4rem;
  }
}

.p-form__lead {
  display: table;
  font-size: 1.4rem;
  margin-bottom: 1.2rem;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-form__lead {
    font-size: 1.6rem;
  }
}

.p-form__success-title {
  font-size: 2rem;
  margin-bottom: 3rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-form__success-title {
    font-size: 2.4rem;
  }
}

.p-gcolumns {
  display: -ms-grid;
  display: grid;
  gap: var(--columns-space, min(1.5vw, 1.6rem));
}

.p-gcolumns--have-text {
  gap: var(--columns-space, 4rem min(1.5vw, 1.6rem));
}

.p-gcolumns--fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-gcolumns--col1 {
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col1-sm {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col1-md {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col1-lg {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col1-xl {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-gcolumns--col2 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col2-sm {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col2-md {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col2-lg {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col2-xl {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-gcolumns--col3 {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col3-sm {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col3-md {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col3-lg {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col3-xl {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-gcolumns--col4 {
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col4-sm {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col4-md {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col4-lg {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col4-xl {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-gcolumns--col5 {
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col5-sm {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col5-md {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col5-lg {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col5-xl {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
}

.p-gcolumns--col6 {
  -ms-grid-columns: (1fr)[6];
  grid-template-columns: repeat(6, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col6-sm {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col6-md {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col6-lg {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col6-xl {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

.p-gcolumns--col7 {
  -ms-grid-columns: (1fr)[7];
  grid-template-columns: repeat(7, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col7-sm {
    -ms-grid-columns: (1fr)[7];
    grid-template-columns: repeat(7, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col7-md {
    -ms-grid-columns: (1fr)[7];
    grid-template-columns: repeat(7, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col7-lg {
    -ms-grid-columns: (1fr)[7];
    grid-template-columns: repeat(7, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col7-xl {
    -ms-grid-columns: (1fr)[7];
    grid-template-columns: repeat(7, 1fr);
  }
}

.p-gcolumns--col8 {
  -ms-grid-columns: (1fr)[8];
  grid-template-columns: repeat(8, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col8-sm {
    -ms-grid-columns: (1fr)[8];
    grid-template-columns: repeat(8, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col8-md {
    -ms-grid-columns: (1fr)[8];
    grid-template-columns: repeat(8, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col8-lg {
    -ms-grid-columns: (1fr)[8];
    grid-template-columns: repeat(8, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col8-xl {
    -ms-grid-columns: (1fr)[8];
    grid-template-columns: repeat(8, 1fr);
  }
}

.p-gcolumns--col9 {
  -ms-grid-columns: (1fr)[9];
  grid-template-columns: repeat(9, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col9-sm {
    -ms-grid-columns: (1fr)[9];
    grid-template-columns: repeat(9, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col9-md {
    -ms-grid-columns: (1fr)[9];
    grid-template-columns: repeat(9, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col9-lg {
    -ms-grid-columns: (1fr)[9];
    grid-template-columns: repeat(9, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col9-xl {
    -ms-grid-columns: (1fr)[9];
    grid-template-columns: repeat(9, 1fr);
  }
}

.p-gcolumns--col10 {
  -ms-grid-columns: (1fr)[10];
  grid-template-columns: repeat(10, 1fr);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--col10-sm {
    -ms-grid-columns: (1fr)[10];
    grid-template-columns: repeat(10, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--col10-md {
    -ms-grid-columns: (1fr)[10];
    grid-template-columns: repeat(10, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--col10-lg {
    -ms-grid-columns: (1fr)[10];
    grid-template-columns: repeat(10, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--col10-xl {
    -ms-grid-columns: (1fr)[10];
    grid-template-columns: repeat(10, 1fr);
  }
}

.p-gcolumns--auto1 {
  -ms-grid-columns: (auto)[1];
  grid-template-columns: repeat(1, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto1-sm {
    -ms-grid-columns: (auto)[1];
    grid-template-columns: repeat(1, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto1-md {
    -ms-grid-columns: (auto)[1];
    grid-template-columns: repeat(1, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto1-lg {
    -ms-grid-columns: (auto)[1];
    grid-template-columns: repeat(1, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto1-xl {
    -ms-grid-columns: (auto)[1];
    grid-template-columns: repeat(1, auto);
  }
}

.p-gcolumns--auto2 {
  -ms-grid-columns: (auto)[2];
  grid-template-columns: repeat(2, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto2-sm {
    -ms-grid-columns: (auto)[2];
    grid-template-columns: repeat(2, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto2-md {
    -ms-grid-columns: (auto)[2];
    grid-template-columns: repeat(2, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto2-lg {
    -ms-grid-columns: (auto)[2];
    grid-template-columns: repeat(2, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto2-xl {
    -ms-grid-columns: (auto)[2];
    grid-template-columns: repeat(2, auto);
  }
}

.p-gcolumns--auto3 {
  -ms-grid-columns: (auto)[3];
  grid-template-columns: repeat(3, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto3-sm {
    -ms-grid-columns: (auto)[3];
    grid-template-columns: repeat(3, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto3-md {
    -ms-grid-columns: (auto)[3];
    grid-template-columns: repeat(3, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto3-lg {
    -ms-grid-columns: (auto)[3];
    grid-template-columns: repeat(3, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto3-xl {
    -ms-grid-columns: (auto)[3];
    grid-template-columns: repeat(3, auto);
  }
}

.p-gcolumns--auto4 {
  -ms-grid-columns: (auto)[4];
  grid-template-columns: repeat(4, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto4-sm {
    -ms-grid-columns: (auto)[4];
    grid-template-columns: repeat(4, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto4-md {
    -ms-grid-columns: (auto)[4];
    grid-template-columns: repeat(4, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto4-lg {
    -ms-grid-columns: (auto)[4];
    grid-template-columns: repeat(4, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto4-xl {
    -ms-grid-columns: (auto)[4];
    grid-template-columns: repeat(4, auto);
  }
}

.p-gcolumns--auto5 {
  -ms-grid-columns: (auto)[5];
  grid-template-columns: repeat(5, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto5-sm {
    -ms-grid-columns: (auto)[5];
    grid-template-columns: repeat(5, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto5-md {
    -ms-grid-columns: (auto)[5];
    grid-template-columns: repeat(5, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto5-lg {
    -ms-grid-columns: (auto)[5];
    grid-template-columns: repeat(5, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto5-xl {
    -ms-grid-columns: (auto)[5];
    grid-template-columns: repeat(5, auto);
  }
}

.p-gcolumns--auto6 {
  -ms-grid-columns: (auto)[6];
  grid-template-columns: repeat(6, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto6-sm {
    -ms-grid-columns: (auto)[6];
    grid-template-columns: repeat(6, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto6-md {
    -ms-grid-columns: (auto)[6];
    grid-template-columns: repeat(6, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto6-lg {
    -ms-grid-columns: (auto)[6];
    grid-template-columns: repeat(6, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto6-xl {
    -ms-grid-columns: (auto)[6];
    grid-template-columns: repeat(6, auto);
  }
}

.p-gcolumns--auto7 {
  -ms-grid-columns: (auto)[7];
  grid-template-columns: repeat(7, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto7-sm {
    -ms-grid-columns: (auto)[7];
    grid-template-columns: repeat(7, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto7-md {
    -ms-grid-columns: (auto)[7];
    grid-template-columns: repeat(7, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto7-lg {
    -ms-grid-columns: (auto)[7];
    grid-template-columns: repeat(7, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto7-xl {
    -ms-grid-columns: (auto)[7];
    grid-template-columns: repeat(7, auto);
  }
}

.p-gcolumns--auto8 {
  -ms-grid-columns: (auto)[8];
  grid-template-columns: repeat(8, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto8-sm {
    -ms-grid-columns: (auto)[8];
    grid-template-columns: repeat(8, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto8-md {
    -ms-grid-columns: (auto)[8];
    grid-template-columns: repeat(8, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto8-lg {
    -ms-grid-columns: (auto)[8];
    grid-template-columns: repeat(8, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto8-xl {
    -ms-grid-columns: (auto)[8];
    grid-template-columns: repeat(8, auto);
  }
}

.p-gcolumns--auto9 {
  -ms-grid-columns: (auto)[9];
  grid-template-columns: repeat(9, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto9-sm {
    -ms-grid-columns: (auto)[9];
    grid-template-columns: repeat(9, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto9-md {
    -ms-grid-columns: (auto)[9];
    grid-template-columns: repeat(9, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto9-lg {
    -ms-grid-columns: (auto)[9];
    grid-template-columns: repeat(9, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto9-xl {
    -ms-grid-columns: (auto)[9];
    grid-template-columns: repeat(9, auto);
  }
}

.p-gcolumns--auto10 {
  -ms-grid-columns: (auto)[10];
  grid-template-columns: repeat(10, auto);
}

@media screen and (min-width: 544px) {
  .p-gcolumns--auto10-sm {
    -ms-grid-columns: (auto)[10];
    grid-template-columns: repeat(10, auto);
  }
}

@media screen and (min-width: 768px) {
  .p-gcolumns--auto10-md {
    -ms-grid-columns: (auto)[10];
    grid-template-columns: repeat(10, auto);
  }
}

@media screen and (min-width: 992px) {
  .p-gcolumns--auto10-lg {
    -ms-grid-columns: (auto)[10];
    grid-template-columns: repeat(10, auto);
  }
}

@media screen and (min-width: 1236px) {
  .p-gcolumns--auto10-xl {
    -ms-grid-columns: (auto)[10];
    grid-template-columns: repeat(10, auto);
  }
}

.p-gcolumns__column>* {
  height: 100%;
}

.p-half-media {
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  column-gap: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  row-gap: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-half-media {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    align-items: flex-start;
    flex-direction: row;
  }
}

.p-half-media__img-wrapper {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 0 1 100%;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-half-media__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc((100% - 1.6rem) / 2);
    flex: 0 0 calc((100% - 1.6rem) / 2);
  }
}

.p-half-media__img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.p-half-media__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-half-media__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.6rem;
}

@media screen and (min-width: 768px) {
  .p-half-media__title {
    font-size: 2rem;
    margin-bottom: 0.4rem;
  }
}

.p-half-media__title::first-letter {
  color: #623210;
}

.p-horizontal-card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  align-items: center;
  background-color: #fff;
  border-radius: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-grow: 1;
  padding: 1.6rem;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-horizontal-card {
    padding: 2.2rem 2.4rem;
  }
}

.p-horizontal-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(100% - 38px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 0 0 calc(100% - 38px);
  flex-direction: column;
  row-gap: 0.4rem;
  width: calc(100% - 38px);
}

@media screen and (min-width: 768px) {
  .p-horizontal-card__body {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    align-items: flex-start;
    flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .p-horizontal-card__date {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 96px;
    flex: 0 0 96px;
    width: 96px;
  }
}

@media screen and (min-width: 768px) {
  .p-horizontal-card__title {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: hidden;
    width: calc(100% - 96px);
  }
}

.p-horizontal-card__summary {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-horizontal-card__arrow {
  -webkit-transform: translateY(-50%);
  height: 24px;
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
}

.p-horizontal-card__arrow img {
  display: block;
  width: 100%;
}

.p-horizontal-cards__item+.p-horizontal-cards__item {
  margin-top: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-horizontal-cards__item+.p-horizontal-cards__item {
    margin-top: 1.6rem;
  }
}

.p-horizontal-separate-table__inner {
  border-collapse: separate;
  border-spacing: 0 0.8rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-horizontal-separate-table__inner {
    border-spacing: 0 1rem;
  }
}

.p-horizontal-separate-table__body-row:first-of-type .p-horizontal-separate-table__header {
  margin-top: -0.8rem;
}

@media screen and (min-width: 768px) {
  .p-horizontal-separate-table__body-row:first-of-type .p-horizontal-separate-table__header {
    margin-top: -1rem;
  }
}

.p-horizontal-separate-table__header {
  background-color: #623210;
  border-radius: 8px 0 0 8px;
  color: #fff;
  font-weight: normal;
  padding: 1rem 0.4rem;
  text-align: center;
  vertical-align: middle;
  width: 90px;
}

@media screen and (min-width: 768px) {
  .p-horizontal-separate-table__header {
    display: table-cell;
    font-size: 1.6rem;
    padding: 2rem 1.6rem;
    width: 176px;
  }
}

.p-horizontal-separate-table__text {
  background-color: #fff;
  border-radius: 0 8px 8px 0;
  padding: 1rem;
}

@media screen and (min-width: 768px) {
  .p-horizontal-separate-table__text {
    padding: 2rem 1.6rem;
  }
}

.p-horizontal-table__inner {
  border-collapse: collapse;
  width: 100%;
}

.p-horizontal-table__body-row:last-of-type .p-horizontal-table__text {
  border-bottom: 2px solid #623210;
}

@media screen and (min-width: 768px) {
  .p-horizontal-table__body-row:last-of-type .p-horizontal-table__header {
    border-bottom: 2px solid #623210;
  }
}

.p-horizontal-table__header {
  background-color: #F0FFE6;
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
  padding: 1rem 1.6rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-horizontal-table__header {
    border-bottom: 1px solid #808080;
    display: table-cell;
    font-size: 1.8rem;
    width: 25%;
  }
}

.p-horizontal-table__text {
  background-color: #fff;
  border-bottom: 1px solid #808080;
  display: block;
  padding: 1rem 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-horizontal-table__text {
    display: table-cell;
    font-size: 1.8rem;
    padding: 1.6rem;
  }
}

.p-horizontal-table__caption {
  background-color: #623210;
  caption-side: top;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 1.6rem;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-horizontal-table__caption {
    font-size: 2rem;
    padding: 1.3rem 3.2rem;
  }
}

.p-horizontal-table__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-horizontal-table__button {
    margin-top: 4.4rem;
  }
}

.p-icon-card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
}

.p-icon-card__icon {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

.p-icon-card__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-top: 2rem;
  width: 100%;
}

.p-icon-card__title {
  font-size: max(1.6rem, min(1.4113207547rem + 0.3144654088vw, 1.8rem));
  font-size: clamp(1.6rem, 1.4113207547rem + 0.3144654088vw, 1.8rem);
  font-weight: bold;
  text-align: center;
}

.p-icon-card__text {
  font-size: max(1.2rem, min(1.0113207547rem + 0.3144654088vw, 1.4rem));
  font-size: clamp(1.2rem, 1.0113207547rem + 0.3144654088vw, 1.4rem);
  text-align: center;
}

.p-icon-cards.p-gcolumns {
  row-gap: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-icon-cards.p-gcolumns {
    row-gap: 5.6rem;
  }
}

.p-index-list {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  gap: 0.8rem 1.6rem;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-index-list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 992px) {
  .p-index-list {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 1236px) {
  .p-index-list {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}

.p-index-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-index-list__item .c-button {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-jumbotron {
  background-image: url(assets/img/dst/common/jumbotron-bkg.png);
  background-size: 155px 155px;
  display: block;
  padding-bottom: 4rem;
  padding-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-jumbotron {
    height: 260px;
    padding: 0;
  }
}

.p-jumbotron__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin-inline: auto;
  max-width: 792px;
  padding: 0 1.6rem;
  position: relative;
  row-gap: 2rem;
  width: 100%;
}

.p-jumbotron__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4.8rem;
  -moz-column-gap: 4.8rem;
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  color: #fff;
  column-gap: 4.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-jumbotron__title {
    margin-left: 160px;
  }
}

.p-jumbotron__title .text {
  display: block;
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.24em;
  line-height: 100%;
  margin-right: -0.24em;
}

@media screen and (min-width: 768px) {
  .p-jumbotron__title .text {
    font-size: min(6.4rem, 6vw);
    letter-spacing: 0.6em;
    margin-right: -0.6em;
  }
}

.p-jumbotron__title::after {
  -webkit-transition-duration: 0.2s;
  background-image: url(assets/img/dst/common/icon-arrow-jumbotron.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 64px;
  transition-duration: 0.2s;
  width: 64px;
}

.p-jumbotron:hover .p-jumbotron__title::after {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.p-jumbotron__img-wrapper {
  width: 157px;
}

@media screen and (min-width: 768px) {
  .p-jumbotron__img-wrapper {
    left: 1.6rem;
    position: absolute;
    top: -23px;
  }
}

.p-jumbotron__img {
  display: block;
  width: 100%;
}

.p-labeled-card {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  border-radius: 16px;
  container-type: inline-size;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 100%;
  overflow: hidden;
}

.p-labeled-card__img-wrapper {
  aspect-ratio: 343/245;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-labeled-card__img-wrapper {
    aspect-ratio: 368/245;
  }
}

.p-labeled-card__img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-labeled-card__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  justify-content: center;
  padding: 1.6rem;
  width: 100%;
}

.p-top-service__item:nth-child(1) .p-labeled-card__body {
  background-color: #FFA8DE;
}

.p-top-service__item:nth-child(2) .p-labeled-card__body {
  background-color: #B0FFB9;
}

.p-top-service__item:nth-child(3) .p-labeled-card__body {
  background-color: #8DE5FF;
}

.p-top-service__item:nth-child(4) .p-labeled-card__body {
  background-color: #D9B4FF;
}

.p-top-service__item:nth-child(5) .p-labeled-card__body {
  background-color: #FFD771;
}

.p-top-service__item:nth-child(6) .p-labeled-card__body {
  background-color: #FFA28D;
}

.p-labeled-card__label {
  font-size: 1.8rem;
  font-weight: bold;
}

@container (min-width: 332px) {
  .p-labeled-card__label {
    font-size: 2rem;
  }
}

.p-list {
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
}

.p-list__child-list {
  padding-left: 1em;
  text-indent: -1em;
}

.p-main-product {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-main-product {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 1.6rem;
  }
}

.p-main-product__gallery {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-main-product__gallery {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(50% - 0.8rem);
    flex: 0 0 calc(50% - 0.8rem);
    width: calc(50% - 0.8rem);
  }
}

.p-main-product__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-main-product__body {
    gap: 4rem;
  }
}

.p-main-product__dlist {
  font-size: max(1.2rem, min(1.0113207547rem + 0.3144654088vw, 1.4rem));
  font-size: clamp(1.2rem, 1.0113207547rem + 0.3144654088vw, 1.4rem);
}

.p-main-product__drow {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-main-product__drow+.p-main-product__drow {
  margin-top: 0.8rem;
}

.p-main-product__point-title {
  border: 1px solid currentColor;
  border-radius: 100px;
  color: #623210;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
  padding: 0.7rem 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-main-product__point-title {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}

.p-main-product__point-text a {
  color: #115FFB;
  text-decoration: underline;
}

.p-media-card {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-media-card {
    -ms-grid-columns: 4fr 6fr;
    gap: 1.6rem;
    grid-template-columns: 4fr 6fr;
  }
}

.p-media-card__img-wrapper {
  -ms-grid-column-align: center;
  aspect-ratio: 1/1;
  display: block;
  justify-self: center;
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-media-card__img-wrapper {
    max-width: 400px;
  }
}

.p-media-card__img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-media-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-media-card__title {
  font-size: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-media-card__title {
    font-size: 2.8rem;
  }
}

.p-media-card__label {
  background-color: #623210;
  border-radius: 8px;
  color: #fff;
  padding: 0.4rem 2.4rem;
}

.p-media-card__dlist {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.p-media-card__drow {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
}

.p-media-card__dtitle {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 64px;
  flex: 0 0 64px;
}

@media screen and (min-width: 768px) {
  .p-media-card__dtitle {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 80px;
    flex: 0 0 80px;
  }
}

.p-media-cards__item+.p-media-cards__item {
  margin-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-media-cards__item+.p-media-cards__item {
    margin-top: 4rem;
  }
}

.p-media-map {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.p-media-map__img-wrapper {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 100%;
  flex: 0 1 100%;
  position: relative;
}

.p-media-map__img-wrapper::before {
  content: "";
  float: left;
  padding-top: 75%;
}

.p-media-map__img-wrapper::after {
  clear: both;
  content: "";
  display: block;
}

.p-media-map__img-wrapper> :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-media-map__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 49.29577%;
    flex: 0 1 49.29577%;
  }
}

.p-media-map__img {
  display: block;
  height: auto;
  width: 100%;
}

.p-media-map__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-media-map__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.7rem;
}

.p-media-map__body-inner {
  border-bottom: 2px solid #623210;
  border-top: 2px solid #623210;
  padding-bottom: 2.4rem;
  padding-top: 2.4rem;
}

.p-media-map__text {
  font-size: 1.6rem;
}

.p-media-map__text--columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}

.p-media {
  -webkit-column-gap: 1.8rem;
  -moz-column-gap: 1.8rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  column-gap: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-media {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    align-items: flex-start;
    flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .p-media--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .p-media--center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-media--mobile-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .p-media--mobile-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.p-media__img-wrapper {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 0 1 100%;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-media__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 40.66901%;
    flex: 0 1 40.66901%;
  }
}

.p-media__img-wrapper--round {
  border-radius: 24px;
  overflow: hidden;
}

.p-media__img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.p-media__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-media__body {
    gap: 1.6rem;
  }
}

.p-media__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-media__title {
    font-size: 2rem;
    margin-bottom: 1.6rem;
  }
}

.p-media__label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  font-size: 2rem;
  font-weight: bold;
  justify-content: center;
  padding: 0.8rem 1rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-media__label {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 0.8rem 2.4rem;
  }
}

.p-media__label1 {
  background-color: #FFA8DE;
}

.p-media__label2 {
  background-color: #B0FFB9;
}

.p-media__label3 {
  background-color: #8DE5FF;
}

.p-media__label4 {
  background-color: #D9B4FF;
}

.p-media__label5 {
  background-color: #FFD771;
}

.p-media__label6 {
  background-color: #FFA28D;
}

.p-mv {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-mv {
    height: 600px;
  }
}

@media screen and (max-width: 767px) {
  .p-mv {
    aspect-ratio: 375/390;
    height: auto;
  }
}

.p-mv .l-content {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  justify-content: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-mv .l-content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    align-items: center;
    justify-content: flex-start;
    padding-bottom: 0;
  }
}

.p-mv__img-wrapper {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.p-mv__img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-mv__title-wrapper {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  background-color: rgba(255, 255, 255, 0.8);
  border-top-left-radius: 120px;
  border-top-right-radius: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 120px;
  justify-content: center;
  padding-top: 6rem;
  width: 240px;
}

@media screen and (min-width: 544px) {
  .p-mv__title-wrapper {
    border-top-left-radius: 200px;
    border-top-right-radius: 200px;
    height: 200px;
    padding-top: 9rem;
    width: 400px;
  }
}

@media screen and (min-width: 768px) {
  .p-mv__title-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    height: 400px;
    padding-top: 0;
    width: 400px;
  }
}

.p-mv__title {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  color: #623210;
  font-size: 2.4rem;
  font-weight: bold;
  justify-content: center;
  letter-spacing: 0.5em;
  margin-right: -0.5em;
  text-align: center;
}

@media screen and (min-width: 544px) {
  .p-mv__title {
    font-size: 3.2rem;
    letter-spacing: 1em;
    margin-right: -1em;
  }
}

.p-news-archive__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding-top: 4.8rem;
}

@media screen and (min-width: 768px) {
  .p-news-archive__button {
    padding-top: 5.6rem;
  }
}

.p-news-single .p-post-article__title {
  border-bottom: 4px solid #623210;
  font-size: 2rem;
  margin-bottom: 0.8rem;
  padding-bottom: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-news-single .p-post-article__title {
    font-size: 2.8rem;
    padding-bottom: 1.6rem;
  }
}

.p-news-single .p-post-article__date {
  margin-bottom: 1rem;
  text-align: right;
}

.p-news-single__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-news-single__button {
    padding-top: 4.8rem;
  }
}

.p-news-single figure.wp-block-image {
  margin: 18px 0;
}

@media screen and (min-width: 768px) {
  .p-news-single figure.wp-block-image {
    margin: 48px 0;
  }
}

.p-news-single .p-post-article__text a {
  text-decoration: underline;
}

.p-not-found__title {
  font-size: max(2.8rem, min(1.6679245283rem + 1.8867924528vw, 4rem));
  font-size: clamp(2.8rem, 1.6679245283rem + 1.8867924528vw, 4rem);
  text-align: center;
}

.p-not-found__lead {
  font-size: 2rem;
  margin-top: var(--space-xs);
  text-align: center;
}

.p-not-found__txt {
  margin-top: var(--space-sm);
  text-align: center;
}

.p-numbered-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  background-color: #20A899;
  border-radius: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2.4rem 2rem 2rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-numbered-card {
    padding: 2.5rem 3.2rem 3.2rem;
  }
}

.p-numbered-card::before {
  color: #20A899;
  content: counter(card-counter, decimal-leading-zero) ".";
  counter-increment: card-counter;
  font-size: 3.2rem;
  font-weight: bold;
  left: 2rem;
  line-height: 1;
  position: absolute;
  top: -1.6rem;
}

@media screen and (min-width: 768px) {
  .p-numbered-card::before {
    font-size: 3.2rem;
    left: 3.2rem;
  }
}

.p-numbered-card-title {
  color: #20A899;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media screen and (min-width: 768px) {
  .p-numbered-card-title {
    font-size: 2.4rem;
    margin-bottom: 1.3rem;
  }
}

.p-numbered-card-text {
  font-size: 1.6rem;
}

.p-numbered-cards {
  counter-reset: card-counter;
  row-gap: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 8.8rem;
  }
}

.p-overwrap-media__img {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 74.64788%;
    flex: 0 1 74.64788%;
  }
}

.p-overwrap-media__img img {
  display: block;
  height: auto;
  width: 100%;
}

.p-overwrap-media__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 90.67055%;
  background: -webkit-gradient(linear, left top, left bottom, from(#3BBBDB), to(#D8F1F8));
  background: -webkit-linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  background: linear-gradient(#3BBBDB 0%, #D8F1F8 100%);
  container-type: inline-size;
  flex: 0 0 90.67055%;
  padding: 1.4rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-bottom: -8.8rem;
    margin-left: -23.94366%;
    padding: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-overwrap-media__body {
    margin-inline: auto;
    margin-top: -2rem;
    width: 90.67055%;
  }
}

.p-overwrap-media__num {
  color: #20A899;
  font-size: 5.6rem;
  font-weight: bold;
  line-height: 4.6rem;
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__num {
    font-size: 10rem;
    line-height: 8.4rem;
  }
}

.p-overwrap-media__num .sub {
  font-size: 3.8rem;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__num .sub {
    font-size: 7rem;
  }
}

.p-overwrap-media__label {
  background-color: #fff;
  border-radius: 100px;
  font-size: 1.6rem;
  padding: 0.5rem 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__label {
    padding: 0.5rem 2rem;
  }
}

.p-overwrap-media__label+* {
  margin-top: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__label+* {
    margin-top: 1.6rem;
  }
}

.p-overwrap-media__name .main {
  font-size: 1.6rem;
  letter-spacing: 0.25em;
}

@media screen and (min-width: 768px) {
  .p-overwrap-media__name .main {
    font-size: 2.8rem;
  }
}

.p-overwrap-media__dlist {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-overwrap-media__dlist {
    margin-top: 0.8rem;
  }
}

.p-overwrap-media__drow {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.p-overwrap-media__drow+.p-overwrap-media__drow {
  margin-top: 0.8rem;
}

@container (min-width: 400px) {
  .p-overwrap-media__drow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .p-overwrap-media__drow+.p-overwrap-media__drow {
    margin-top: 0;
  }

  .p-overwrap-media__dtitle {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 152px;
    flex: 0 0 152px;
  }
}

.p-page-company__text {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-page-company__text {
    font-size: 1.8rem;
  }
}

.p-page-company__text+.p-page-company__text {
  margin-top: 1.5em;
}

.p-page-company__president {
  font-size: 1.4rem;
  margin-top: 1.6rem;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .p-page-company__president {
    font-size: 1.6rem;
  }
}

.p-page-company__president .main {
  font-size: 2rem;
  margin-left: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-page-company__president .main {
    font-size: 2.4rem;
  }
}

.p-page-contact__center-contents {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.p-page-privacy__lead,
.p-page-privacy__text {
  font-size: 1.6rem;
}

.p-page-privacy__list {
  border-bottom: 1px solid #FCFCFC;
}

.p-page-privacy__list--columns {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {

  .p-page-privacy__lead,
  .p-page-privacy__text {
    font-size: 2rem;
  }

  .p-page-privacy__list--columns {
    -ms-grid-columns: 1fr 1fr;
    display: -ms-grid;
    display: grid;
    gap: 6.4rem 5.6rem;
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .p-page-privacy__list--columns .p-page-privacy__item+.p-page-privacy__item {
    margin-top: 0;
  }
}

.p-page-privacy__item {
  list-style: none;
}

.p-page-privacy__item+.p-page-privacy__item {
  margin-top: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-page-privacy__item+.p-page-privacy__item {
    margin-top: 3.2rem;
  }
}

.p-page-privacy__item-title {
  color: #623210;
  font-size: max(2rem, calc(1.8183rem + 0.7757vw), 2.4rem));
  font-size: clamp(2rem, calc(1.8183rem + 0.7757vw), 2.4rem);
  font-weight: bold;
  margin-bottom: 0.8rem;
}

.p-page-privacy__child-list {
  font-size: 1.6rem;
  list-style-type: disc;
  margin-top: 0.8rem;
  padding-left: 1.5em;
}

.p-page-privacy__child-num-item {
  list-style: decimal;
  padding-left: 1.5em;
}

.p-page-privacy__child-item {
  font-weight: normal;
}

.p-page-privacy__contact {
  border: 1px solid #717171;
  margin-top: 6.4rem;
  padding: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-page-privacy__child-list {
    font-size: 2rem;
  }

  .p-page-privacy__contact {
    margin-top: 5.2rem;
    width: calc(50% - 2.8rem);
  }
}

.p-page-privacy__contact-title {
  font-size: 1.8rem;
  font-weight: bold;
}

.p-page-privacy__contact-body {
  font-size: 1.6rem;
  margin-top: 0.8rem;
}

.p-page-privacy__contact-text {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-page-privacy__contact-title {
    font-size: 2rem;
  }

  .p-page-privacy__contact-body {
    font-size: 1.8rem;
  }

  .p-page-privacy__contact-text {
    font-size: 1.8rem;
  }
}

.p-page-recruit__text {
  font-size: 1.6rem;
}

.p-page-recruit__text+.p-page-recruit__text {
  margin-top: 1.75em;
}

.p-page-recruit__staff {
  font-size: 1.6rem;
  margin-top: 1.6rem;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .p-page-recruit__staff {
    margin-top: 4.8rem;
  }
}

.p-page-recruit__president {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 2.4rem;
  -moz-column-gap: 2.4rem;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  align-items: center;
  column-gap: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  margin-top: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-page-recruit__president {
    margin-top: 2.4rem;
  }
}

.p-page-recruit__president .main {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .p-page-recruit__president .main {
    font-size: 2.4rem;
  }
}

.p-page-service__lead-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-page-service__lead-title {
    font-size: 2.4rem;
  }
}

.p-page-service__lead-text {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-page-service__lead-text {
    font-size: 1.8rem;
  }
}

.p-page-service__media+.p-page-service__media {
  margin-top: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-page-service__media+.p-page-service__media {
    margin-top: 2rem;
  }
}

.p-post-article a {
  color: #115FFB;
}

.p-post-article img {
  display: block;
  max-width: 100%;
}

.p-post-article__entry-data .p-card__labels a {
  color: #fff;
}

.p-post-article__title {
  font-size: 2rem;
  font-weight: normal;
  margin-bottom: 2rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-post-article__title {
    font-size: 3.2rem;
  }
}

.p-post-article__img-wrapper {
  aspect-ratio: 848/565;
}

.p-post-article__img-wrapper img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-post-article-news__wrap {
  width: fit-content;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: center;
  margin: 16px 0 24px auto;
}

.p-post-article__cat a {
  color: #fff;
  text-decoration: none;
}

.p-post-index {
  color: #fff;
  border-radius: 0;
  margin-bottom: 3.6rem;
  margin-top: 2rem;
  padding: 2.4rem;
  background: #623210;
}

.p-post-index__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-post-index__title {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}

.p-post-index__item {
  margin-left: 1.5em;
}

.p-post-index__item {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-post-index__item a {
  color: #fff;
  text-decoration: none;
}

.p-post-index__item+.p-post-index__item {
  margin-top: 2rem;
}

.p-section {
  padding-bottom: 6rem;
  padding-top: 6rem;
}

@media screen and (min-width: 768px) {
  .p-section {
    padding-bottom: 8rem;
    padding-top: 8rem;
  }
}

.p-section--bkg {
  background-color: #FFFFE6;
  padding-bottom: 4rem;
  padding-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-section--bkg {
    padding-bottom: 5.6rem;
    padding-top: 5.6rem;
  }
}

.p-section--first {
  padding-top: 0;
}

.p-section--last {
  padding-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .p-section--last {
    padding-bottom: 10rem;
  }
}

.p-child-section+.p-child-section {
  margin-top: 6rem;
}

@media screen and (min-width: 768px) {
  .p-child-section+.p-child-section {
    margin-top: 8rem;
  }
}

.p-shadow-contents {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border-radius: 24px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-shadow-contents {
    border-radius: 50px;
    padding: 4.8rem 8rem;
  }
}

.p-shadow-contents__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (min-width: 768px) {
  .p-shadow-contents__body {
    gap: 1.6rem;
  }
}

.p-shadow-contents__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shadow-contents__title {
    font-size: 2.4rem;
  }
}

.p-shadow-contents__list {
  list-style: none;
}

.p-shadow-contents__item {
  font-size: 1.8rem;
  padding-left: 1.25em;
  text-indent: -1.25em;
}

.p-shadow-contents__item::first-letter {
  color: #623210;
}

@media screen and (min-width: 768px) {
  .p-shadow-contents__item {
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-shadow-contents__item+.p-shadow-contents__item {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-staff-archive .p-mv__title-wrapper {
    padding-top: 3.4rem;
  }
}

.p-staff-archive__post+.p-staff-archive__post {
  border-top: 1px solid #A0A0A0;
  margin-top: 3.2rem;
  padding-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-staff-archive__post+.p-staff-archive__post {
    margin-top: 4.8rem;
    padding-top: 4.8rem;
  }
}

.p-staff-archive__post-title {
  font-size: 2.4rem;
  margin-bottom: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-staff-archive__post-title {
    font-size: 2.8rem;
  }
}

.p-staff-archive__block {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
}

.p-staff-archive__block+.p-staff-archive__block {
  margin-top: 1.8rem;
}

@media screen and (min-width: 768px) {
  .p-staff-archive__block+.p-staff-archive__block {
    margin-top: 2.4rem;
  }
}

.p-staff-archive__label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #623210;
  border-radius: 8px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  gap: 0.4rem;
  padding: 0.4rem 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-staff-archive__label {
    font-size: 1.6rem;
  }
}

.p-staff-archive__label::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 32px;
  width: 32px;
}

.p-staff-archive__label--like::before {
  background-image: url(assets/img/dst/common/icon-staff_post-star.png);
}

.p-staff-archive__label--message::before {
  background-image: url(assets/img/dst/common/icon-staff_post-balloon.png);
}

.p-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-tabs__wrapper {
  display: block;
  z-index: 2;
}

.p-tabs__item {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-bottom: 20px;
  width: 50%;
}

.p-tabs__item.is-current .p-tabs__link {
  background-color: #623210;
  color: #fff;
}

.p-tabs__item.is-current .p-tabs__link::after {
  -webkit-transform: translateX(-50%);
  border-color: #623210 transparent transparent transparent;
  border-style: solid;
  border-width: 20px 11px 0 11px;
  bottom: -20px;
  content: "";
  display: block;
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

.p-tabs__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background-color: #A0A0A0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0.4rem 1rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-tabs__link {
    padding: 0.8rem;
  }
}

.p-tabs__label {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-tabs__label {
    font-size: 1.8rem;
  }
}

.p-tabs__contents {
  display: none;
}

.p-tabs__contents.is-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-top-member .c-level2-heading .text {
  letter-spacing: 0.3em;
  margin-right: -0.3em;
  text-align: center;
}

@media screen and (min-width: 544px) {
  .p-top-member .c-level2-heading .text {
    letter-spacing: 0.6em;
    margin-right: -0.6em;
  }
}

.p-top-member__list.p-gcolumns {
  row-gap: 2.4rem;
}

.p-top-member__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  background-color: #fff;
  border-radius: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-top-member__item {
    padding: 2.4rem;
  }
}

.p-top-member__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  align-items: center;
  column-gap: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-top-member__title {
    -webkit-column-gap: 2.4rem;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
}

.p-top-member__title .icon {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 60px;
  flex: 0 1 60px;
}

@media screen and (min-width: 768px) {
  .p-top-member__title .icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 80px;
    flex: 0 1 80px;
  }
}

.p-top-member__title .text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  color: #623210;
  flex: 1;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-top-member__title .text {
    font-size: 2.4rem;
  }
}

.p-top-member__item-body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-top-member__item-body>*+* {
  margin-top: 1em;
}

.p-top-member__item-note {
  border: 1px solid #623210;
  font-size: 1.4rem;
  padding: 1.6rem;
}

.p-top-mv {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 547px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-mv {
    aspect-ratio: 1512/754;
    height: auto;
  }
}

.p-top-mv__img-wrapper {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.p-top-mv__img {
  -o-object-fit: cover;
  -o-object-position: right;
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: right;
  position: absolute;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-top-mv__img {
    -o-object-position: center;
    object-position: center;
  }
}

.p-top-mv__inner {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  height: 100%;
  padding: 2rem 0;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-top-mv__inner {
    flex-direction: row;
    gap: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv__title-wrapper {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

.p-top-mv__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-top-mv__title {
    -moz-text-align-last: left;
    font-size: 3.2rem;
    text-align-last: left;
    white-space: nowrap;
  }
}

.p-top-mv__title .bold {
  font-weight: bold;
}

.p-top-mv__contents-img-wrapper {
  max-width: 100%;
  width: 343px;
}

@media screen and (min-width: 768px) {
  .p-top-mv__contents-img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 57.9925%;
    flex: 0 1 57.9925%;
    width: 57.9925%;
  }
}

.p-top-mv__contents-img {
  display: block;
  width: 100%;
}

/* お知らせ一覧（トップ）*/
.news-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 2px solid #623210;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  flex-wrap: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #6B4423 #f5f5f5;
}

@media screen and (min-width: 768px) {
  .news-section {
    max-width: 940px;
    margin: 0 auto;
  }
}

button.tab-button {
  border-top: 1px solid #623210;
  border-left: 1px solid #623210;
  border-right: 1px solid #623210;
  border-radius: 8px 8px 0 0;
  padding: 4px 10px;
  color: #623210;
}

button.active {
  background: #623210;
  width: 88px;
  color: #fff;
  border-radius: 8px 8px 0 0;
}

.news-item {
  margin-top: 20px;
}

.news_item-wrap {
  display: flex;
  align-items: anchor-center;
  gap: 10px;
  margin-bottom: 5px;
}

.news-category {
  background: #623210;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 100px;
  padding: 6px 16px;
}

h3.news-item-title {
  font-weight: normal;
}

.news-tabs::-webkit-scrollbar {
  height: 6px;
}

.news-tabs::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.news-tabs::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}

.news-tabs::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.tab-button {
  background: transparent;
  border: none;
  padding: 12px 24px;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.3s;
  position: relative;
  flex-shrink: 0;
  min-width: fit-content;
}

.news-more a.more-button {
  display: block;
  padding: 8px 24px;
  border: 1px solid #623210;
  border-radius: 25px;
  color: #623210;
  text-decoration: none;
  font-size: 1.2rem;
  transition: all 0.3s;
  max-width: 105px;
  margin-left: auto;
  position: relative;
}

.news-more a.more-button::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #623210;
  border-right: 1px solid #623210;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 2px;
}

/* hover用フィルター */
.news-more a.more-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 25px;
}

.news-more a.more-button:hover::before {
  opacity: 1;
}

/* テキストを前面に */
.news-more a.more-button span {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  button.tab-button {
    border-radius: 16px 16px 0 0;
  }
}


.p-section.p-top-recruit {
  padding-top: 0;
}

.p-top-recruit__media {
  margin-top: -4rem;
  row-gap: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-top-recruit__media {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    justify-content: space-between;
    margin-top: -4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-recruit__media .p-media__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 56.95422%;
    flex: 0 0 56.95422%;
  }
}

.p-top-recruit__media .p-media__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0;
}

@media screen and (min-width: 768px) {
  .p-top-recruit__media .p-media__body {
    max-width: 373px;
    padding-bottom: 10.4rem;
    padding-top: 10.4rem;
  }
}

.p-top-service {
  position: relative;
}

.p-top-service__media {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-top-service__media {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    align-items: center;
    flex-direction: row;
    gap: 2rem;
  }
}

.p-top-service__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-top-service__body>*+* {
  margin-top: 1em;
}

.p-top-service__img-wrapper {
  max-width: 100%;
  width: 272px;
}

@media screen and (min-width: 768px) {
  .p-top-service__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 272px;
    flex: 0 0 272px;
  }
}

.p-top-service__items {
  display: -ms-grid;
  display: grid;
  gap: 1.6rem;
  width: 100%;
}

@media screen and (min-width: 544px) {
  .p-top-service__items {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-service__items {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 544px) {
  .p-top-service__item:nth-child(2n) {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-service__item:nth-child(2n) {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-top-service__item:nth-child(3n-1) {
    margin-top: 4rem;
  }
}

.p-top-service__text {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-top-service__text {
    font-size: 1.8rem;
  }
}

.p-top-service__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 3.2rem;
}

@media screen and (min-width: 768px) {
  .p-top-service__button {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top__media {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .p-top__media .p-media__img-wrapper {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

.p-top__media .p-media__img {
  display: block;
  margin-inline: auto;
  max-width: 100%;
  width: auto;
}

@media screen and (min-width: 768px) {
  .p-top__media .p-media__img {
    margin-inline: 0 auto;
  }
}

.p-top__media .p-media__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-top__media .p-media__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 468px;
    flex: 0 0 468px;
    min-width: 468px;
  }
}

.p-vertical-table {
  border-right-width: 0;
}

@media screen and (min-width: 768px) {
  .p-vertical-table {
    border-right-width: 1px;
  }
}

.p-vertical-table__inner {
  min-width: 100%;
  width: auto;
}

@media screen and (min-width: 768px) {
  .p-vertical-table__inner {
    width: 100%;
  }
}

.p-vertical-table__header {
  background-color: #623210;
  border-left: 1px solid #fff;
  color: #fff;
  font-weight: normal;
  padding: 0.8rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-vertical-table__header {
    padding: 0.6rem;
  }
}

.p-vertical-table__body {
  background-color: #fff;
}

.p-vertical-table__text {
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  padding: 0.8rem;
  vertical-align: middle;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-vertical-table__text {
    padding: 0.6rem 1rem;
  }
}

.p-vertical-table__text--title {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-vertical-table__text .link {
  color: #115FFB;
}

.p-vertical-table__header:first-child,
.p-vertical-table__text:first-child {
  border-left-width: 0;
}

.p-vertical-table__body-row:last-child .p-vertical-table__text {
  border-bottom-width: 0;
}

.p-vertical-table__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-vertical-table__button {
    margin-top: 4.4rem;
  }
}

.p-voice__item+.p-voice__item {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-voice__item+.p-voice__item {
    margin-top: 7.2rem;
  }
}

.p-voice__media {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-voice__media {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 1.6rem;
  }
}

.p-voice__img-wrapper {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  -ms-grid-column-align: center;
  aspect-ratio: 558/372;
  background-color: #D0D0D0;
  border-radius: 8px;
  display: block;
  flex: 0 0 100%;
  justify-self: center;
  overflow: hidden;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-voice__img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 49.11971%;
    flex: 0 0 49.11971%;
  }
}

@media screen and (max-width: 767px) {
  .p-voice__img-wrapper {
    max-width: 400px;
  }
}

.p-voice__img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-voice__media-body {
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  align-self: stretch;
  background-color: #623210;
  border-radius: 8px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.6rem;
  padding: 2rem 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-voice__media-body {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    border-radius: 16px;
    padding: 2rem;
  }
}

.p-voice__name {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid currentColor;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2.8rem;
  font-weight: bold;
  gap: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-voice__name {
    font-size: 3.2rem;
  }
}

.p-voice__name .sm {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-voice__name .sm {
    font-size: 1.8rem;
  }
}

.p-voice__body {
  margin-top: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-voice__body {
    margin-top: 3.2rem;
  }
}

.p-works-archive__posts-title {
  color: #623210;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-works-archive__posts-title {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}

.p-works-single__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-works-single__button {
    margin-top: 3.2rem;
  }
}

.u-alignment-center {
  text-align: center;
}

.u-box {
  background-color: var(--box-background-color);
  border-radius: var(--box-border-radius);
}

.u-flex-container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: var(--flex-column-gap);
  -moz-column-gap: var(--flex-column-gap);
  align-items: center;
  column-gap: var(--flex-column-gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: var(--flex-row-gap);
}

@media screen and (max-width: 543px) {
  .u-flex-container {
    -webkit-column-gap: calc(var(--flex-column-gap) * 0.6);
    -moz-column-gap: calc(var(--flex-column-gap) * 0.6);
    column-gap: calc(var(--flex-column-gap) * 0.6);
  }
}

.u-flex-container>* {
  -ms-flex-preferred-size: var(--flex-basis);
  -webkit-box-flex: var(--flex-grow);
  -ms-flex-positive: var(--flex-grow);
  -ms-flex-negative: var(--flex-shrink);
  flex-basis: var(--flex-basis);
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  min-width: 0;
}

@media screen and (max-width: 543px) {
  .u-flex-container>* {
    -ms-flex-preferred-size: calc(var(--flex-basis) * 0.8);
    flex-basis: calc(var(--flex-basis) * 0.8);
  }
}

.u-font-bold {
  font-weight: bold;
}

.u-font-main-color {
  color: #623210;
}

.u-font-color-red {
  color: #FF0000;
}

.u-font-color-orange {
  color: #8DE5FF;
}

.u-font-color-brown {
  color: #8DE5FF;
}

.u-font-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #54C3F1));
  background: -webkit-linear-gradient(transparent 70%, #54C3F1 70%);
  background: linear-gradient(transparent 70%, #54C3F1 70%);
}

.u-font-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(84, 195, 241, 0.8)));
  background: -webkit-linear-gradient(transparent 70%, rgba(84, 195, 241, 0.8) 70%);
  background: linear-gradient(transparent 70%, rgba(84, 195, 241, 0.8) 70%);
}

.u-font-base {
  font-size: max(1.4rem, min(1.2113207547rem + 0.3144654088vw, 1.6rem));
  font-size: clamp(1.4rem, 1.2113207547rem + 0.3144654088vw, 1.6rem);
}

.u-font0 {
  font-size: 0rem !important;
}

.u-font1 {
  font-size: 0.1rem !important;
}

.u-font2 {
  font-size: 0.2rem !important;
}

.u-font3 {
  font-size: 0.3rem !important;
}

.u-font4 {
  font-size: 0.4rem !important;
}

.u-font5 {
  font-size: 0.5rem !important;
}

.u-font6 {
  font-size: 0.6rem !important;
}

.u-font7 {
  font-size: 0.7rem !important;
}

.u-font8 {
  font-size: 0.8rem !important;
}

.u-font9 {
  font-size: 0.9rem !important;
}

.u-font10 {
  font-size: 1rem !important;
}

.u-font11 {
  font-size: 1.1rem !important;
}

.u-font12 {
  font-size: 1.2rem !important;
}

.u-font13 {
  font-size: 1.3rem !important;
}

.u-font14 {
  font-size: 1.4rem !important;
}

.u-font15 {
  font-size: 1.5rem !important;
}

.u-font16 {
  font-size: 1.6rem !important;
}

.u-font17 {
  font-size: 1.7rem !important;
}

.u-font18 {
  font-size: 1.8rem !important;
}

.u-font19 {
  font-size: 1.9rem !important;
}

.u-font20 {
  font-size: 2rem !important;
}

.u-font21 {
  font-size: 2.1rem !important;
}

.u-font22 {
  font-size: 2.2rem !important;
}

.u-font23 {
  font-size: 2.3rem !important;
}

.u-font24 {
  font-size: 2.4rem !important;
}

.u-font25 {
  font-size: 2.5rem !important;
}

.u-font26 {
  font-size: 2.6rem !important;
}

.u-font27 {
  font-size: 2.7rem !important;
}

.u-font28 {
  font-size: 2.8rem !important;
}

.u-font29 {
  font-size: 2.9rem !important;
}

.u-font30 {
  font-size: 3rem !important;
}

.u-font31 {
  font-size: 3.1rem !important;
}

.u-font32 {
  font-size: 3.2rem !important;
}

.u-font33 {
  font-size: 3.3rem !important;
}

.u-font34 {
  font-size: 3.4rem !important;
}

.u-font35 {
  font-size: 3.5rem !important;
}

.u-font36 {
  font-size: 3.6rem !important;
}

.u-font37 {
  font-size: 3.7rem !important;
}

.u-font38 {
  font-size: 3.8rem !important;
}

.u-font39 {
  font-size: 3.9rem !important;
}

.u-font40 {
  font-size: 4rem !important;
}

.u-font41 {
  font-size: 4.1rem !important;
}

.u-font42 {
  font-size: 4.2rem !important;
}

.u-font43 {
  font-size: 4.3rem !important;
}

.u-font44 {
  font-size: 4.4rem !important;
}

.u-font45 {
  font-size: 4.5rem !important;
}

.u-font46 {
  font-size: 4.6rem !important;
}

.u-font47 {
  font-size: 4.7rem !important;
}

.u-font48 {
  font-size: 4.8rem !important;
}

.u-font49 {
  font-size: 4.9rem !important;
}

.u-font50 {
  font-size: 5rem !important;
}

.u-font51 {
  font-size: 5.1rem !important;
}

.u-font52 {
  font-size: 5.2rem !important;
}

.u-font53 {
  font-size: 5.3rem !important;
}

.u-font54 {
  font-size: 5.4rem !important;
}

.u-font55 {
  font-size: 5.5rem !important;
}

.u-font56 {
  font-size: 5.6rem !important;
}

.u-font57 {
  font-size: 5.7rem !important;
}

.u-font58 {
  font-size: 5.8rem !important;
}

.u-font59 {
  font-size: 5.9rem !important;
}

.u-font60 {
  font-size: 6rem !important;
}

@media screen and (min-width: 768px) {
  .u-font0-md {
    font-size: 0rem !important;
  }

  .u-font1-md {
    font-size: 0.1rem !important;
  }

  .u-font2-md {
    font-size: 0.2rem !important;
  }

  .u-font3-md {
    font-size: 0.3rem !important;
  }

  .u-font4-md {
    font-size: 0.4rem !important;
  }

  .u-font5-md {
    font-size: 0.5rem !important;
  }

  .u-font6-md {
    font-size: 0.6rem !important;
  }

  .u-font7-md {
    font-size: 0.7rem !important;
  }

  .u-font8-md {
    font-size: 0.8rem !important;
  }

  .u-font9-md {
    font-size: 0.9rem !important;
  }

  .u-font10-md {
    font-size: 1rem !important;
  }

  .u-font11-md {
    font-size: 1.1rem !important;
  }

  .u-font12-md {
    font-size: 1.2rem !important;
  }

  .u-font13-md {
    font-size: 1.3rem !important;
  }

  .u-font14-md {
    font-size: 1.4rem !important;
  }

  .u-font15-md {
    font-size: 1.5rem !important;
  }

  .u-font16-md {
    font-size: 1.6rem !important;
  }

  .u-font17-md {
    font-size: 1.7rem !important;
  }

  .u-font18-md {
    font-size: 1.8rem !important;
  }

  .u-font19-md {
    font-size: 1.9rem !important;
  }

  .u-font20-md {
    font-size: 2rem !important;
  }

  .u-font21-md {
    font-size: 2.1rem !important;
  }

  .u-font22-md {
    font-size: 2.2rem !important;
  }

  .u-font23-md {
    font-size: 2.3rem !important;
  }

  .u-font24-md {
    font-size: 2.4rem !important;
  }

  .u-font25-md {
    font-size: 2.5rem !important;
  }

  .u-font26-md {
    font-size: 2.6rem !important;
  }

  .u-font27-md {
    font-size: 2.7rem !important;
  }

  .u-font28-md {
    font-size: 2.8rem !important;
  }

  .u-font29-md {
    font-size: 2.9rem !important;
  }

  .u-font30-md {
    font-size: 3rem !important;
  }

  .u-font31-md {
    font-size: 3.1rem !important;
  }

  .u-font32-md {
    font-size: 3.2rem !important;
  }

  .u-font33-md {
    font-size: 3.3rem !important;
  }

  .u-font34-md {
    font-size: 3.4rem !important;
  }

  .u-font35-md {
    font-size: 3.5rem !important;
  }

  .u-font36-md {
    font-size: 3.6rem !important;
  }

  .u-font37-md {
    font-size: 3.7rem !important;
  }

  .u-font38-md {
    font-size: 3.8rem !important;
  }

  .u-font39-md {
    font-size: 3.9rem !important;
  }

  .u-font40-md {
    font-size: 4rem !important;
  }

  .u-font41-md {
    font-size: 4.1rem !important;
  }

  .u-font42-md {
    font-size: 4.2rem !important;
  }

  .u-font43-md {
    font-size: 4.3rem !important;
  }

  .u-font44-md {
    font-size: 4.4rem !important;
  }

  .u-font45-md {
    font-size: 4.5rem !important;
  }

  .u-font46-md {
    font-size: 4.6rem !important;
  }

  .u-font47-md {
    font-size: 4.7rem !important;
  }

  .u-font48-md {
    font-size: 4.8rem !important;
  }

  .u-font49-md {
    font-size: 4.9rem !important;
  }

  .u-font50-md {
    font-size: 5rem !important;
  }

  .u-font51-md {
    font-size: 5.1rem !important;
  }

  .u-font52-md {
    font-size: 5.2rem !important;
  }

  .u-font53-md {
    font-size: 5.3rem !important;
  }

  .u-font54-md {
    font-size: 5.4rem !important;
  }

  .u-font55-md {
    font-size: 5.5rem !important;
  }

  .u-font56-md {
    font-size: 5.6rem !important;
  }

  .u-font57-md {
    font-size: 5.7rem !important;
  }

  .u-font58-md {
    font-size: 5.8rem !important;
  }

  .u-font59-md {
    font-size: 5.9rem !important;
  }

  .u-font60-md {
    font-size: 6rem !important;
  }
}

.u-hidden {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.u-img {
  height: auto;
  width: var(--img-width);
}

.u-img.--1-1 {
  aspect-ratio: 1/1;
}

.u-img.--4-3 {
  aspect-ratio: 4/3;
}

.u-img .--3-4 {
  aspect-ratio: 3/4;
}

.u-img.--3-2 {
  aspect-ratio: 3/2;
}

.u-img.--2-3 {
  aspect-ratio: 2/3;
}

.u-img.--16-9 {
  aspect-ratio: 16/9;
}

.u-img.--9-16 {
  aspect-ratio: 9/16;
}

.u-img.--9-16 {
  aspect-ratio: 9/16;
}

.u-img.--9-16 {
  aspect-ratio: 9/16;
}

.u-img.--cover {
  -o-object-fit: cover;
  object-fit: cover;
}

.u-img.--contain {
  -o-object-fit: cover;
  object-fit: cover;
}

.u-link a {
  color: #115FFB;
}

.u-link a:hover {
  color: #0338a3;
}

a.u-link {
  color: #115FFB;
}

a.u-link:hover {
  color: #0338a3;
}

.u-margin-top0-sm {
  margin-top: 0rem !important;
}

.u-margin-bottom0-sm {
  margin-bottom: 0rem !important;
}

.u-margin-left0-sm {
  margin-left: 0rem !important;
}

.u-margin-right0-sm {
  margin-right: 0rem !important;
}

.u-margin-top1-sm {
  margin-top: 0.1rem !important;
}

.u-margin-bottom1-sm {
  margin-bottom: 0.1rem !important;
}

.u-margin-left1-sm {
  margin-left: 0.1rem !important;
}

.u-margin-right1-sm {
  margin-right: 0.1rem !important;
}

.u-margin-top2-sm {
  margin-top: 0.2rem !important;
}

.u-margin-bottom2-sm {
  margin-bottom: 0.2rem !important;
}

.u-margin-left2-sm {
  margin-left: 0.2rem !important;
}

.u-margin-right2-sm {
  margin-right: 0.2rem !important;
}

.u-margin-top3-sm {
  margin-top: 0.3rem !important;
}

.u-margin-bottom3-sm {
  margin-bottom: 0.3rem !important;
}

.u-margin-left3-sm {
  margin-left: 0.3rem !important;
}

.u-margin-right3-sm {
  margin-right: 0.3rem !important;
}

.u-margin-top4-sm {
  margin-top: 0.4rem !important;
}

.u-margin-bottom4-sm {
  margin-bottom: 0.4rem !important;
}

.u-margin-left4-sm {
  margin-left: 0.4rem !important;
}

.u-margin-right4-sm {
  margin-right: 0.4rem !important;
}

.u-margin-top5-sm {
  margin-top: 0.5rem !important;
}

.u-margin-bottom5-sm {
  margin-bottom: 0.5rem !important;
}

.u-margin-left5-sm {
  margin-left: 0.5rem !important;
}

.u-margin-right5-sm {
  margin-right: 0.5rem !important;
}

.u-margin-top6-sm {
  margin-top: 0.6rem !important;
}

.u-margin-bottom6-sm {
  margin-bottom: 0.6rem !important;
}

.u-margin-left6-sm {
  margin-left: 0.6rem !important;
}

.u-margin-right6-sm {
  margin-right: 0.6rem !important;
}

.u-margin-top7-sm {
  margin-top: 0.7rem !important;
}

.u-margin-bottom7-sm {
  margin-bottom: 0.7rem !important;
}

.u-margin-left7-sm {
  margin-left: 0.7rem !important;
}

.u-margin-right7-sm {
  margin-right: 0.7rem !important;
}

.u-margin-top8-sm {
  margin-top: 0.8rem !important;
}

.u-margin-bottom8-sm {
  margin-bottom: 0.8rem !important;
}

.u-margin-left8-sm {
  margin-left: 0.8rem !important;
}

.u-margin-right8-sm {
  margin-right: 0.8rem !important;
}

.u-margin-top9-sm {
  margin-top: 0.9rem !important;
}

.u-margin-bottom9-sm {
  margin-bottom: 0.9rem !important;
}

.u-margin-left9-sm {
  margin-left: 0.9rem !important;
}

.u-margin-right9-sm {
  margin-right: 0.9rem !important;
}

.u-margin-top10-sm {
  margin-top: 1rem !important;
}

.u-margin-bottom10-sm {
  margin-bottom: 1rem !important;
}

.u-margin-left10-sm {
  margin-left: 1rem !important;
}

.u-margin-right10-sm {
  margin-right: 1rem !important;
}

.u-margin-top11-sm {
  margin-top: 1.1rem !important;
}

.u-margin-bottom11-sm {
  margin-bottom: 1.1rem !important;
}

.u-margin-left11-sm {
  margin-left: 1.1rem !important;
}

.u-margin-right11-sm {
  margin-right: 1.1rem !important;
}

.u-margin-top12-sm {
  margin-top: 1.2rem !important;
}

.u-margin-bottom12-sm {
  margin-bottom: 1.2rem !important;
}

.u-margin-left12-sm {
  margin-left: 1.2rem !important;
}

.u-margin-right12-sm {
  margin-right: 1.2rem !important;
}

.u-margin-top13-sm {
  margin-top: 1.3rem !important;
}

.u-margin-bottom13-sm {
  margin-bottom: 1.3rem !important;
}

.u-margin-left13-sm {
  margin-left: 1.3rem !important;
}

.u-margin-right13-sm {
  margin-right: 1.3rem !important;
}

.u-margin-top14-sm {
  margin-top: 1.4rem !important;
}

.u-margin-bottom14-sm {
  margin-bottom: 1.4rem !important;
}

.u-margin-left14-sm {
  margin-left: 1.4rem !important;
}

.u-margin-right14-sm {
  margin-right: 1.4rem !important;
}

.u-margin-top15-sm {
  margin-top: 1.5rem !important;
}

.u-margin-bottom15-sm {
  margin-bottom: 1.5rem !important;
}

.u-margin-left15-sm {
  margin-left: 1.5rem !important;
}

.u-margin-right15-sm {
  margin-right: 1.5rem !important;
}

.u-margin-top16-sm {
  margin-top: 1.6rem !important;
}

.u-margin-bottom16-sm {
  margin-bottom: 1.6rem !important;
}

.u-margin-left16-sm {
  margin-left: 1.6rem !important;
}

.u-margin-right16-sm {
  margin-right: 1.6rem !important;
}

.u-margin-top17-sm {
  margin-top: 1.7rem !important;
}

.u-margin-bottom17-sm {
  margin-bottom: 1.7rem !important;
}

.u-margin-left17-sm {
  margin-left: 1.7rem !important;
}

.u-margin-right17-sm {
  margin-right: 1.7rem !important;
}

.u-margin-top18-sm {
  margin-top: 1.8rem !important;
}

.u-margin-bottom18-sm {
  margin-bottom: 1.8rem !important;
}

.u-margin-left18-sm {
  margin-left: 1.8rem !important;
}

.u-margin-right18-sm {
  margin-right: 1.8rem !important;
}

.u-margin-top19-sm {
  margin-top: 1.9rem !important;
}

.u-margin-bottom19-sm {
  margin-bottom: 1.9rem !important;
}

.u-margin-left19-sm {
  margin-left: 1.9rem !important;
}

.u-margin-right19-sm {
  margin-right: 1.9rem !important;
}

.u-margin-top20-sm {
  margin-top: 2rem !important;
}

.u-margin-bottom20-sm {
  margin-bottom: 2rem !important;
}

.u-margin-left20-sm {
  margin-left: 2rem !important;
}

.u-margin-right20-sm {
  margin-right: 2rem !important;
}

.u-margin-top21-sm {
  margin-top: 2.1rem !important;
}

.u-margin-bottom21-sm {
  margin-bottom: 2.1rem !important;
}

.u-margin-left21-sm {
  margin-left: 2.1rem !important;
}

.u-margin-right21-sm {
  margin-right: 2.1rem !important;
}

.u-margin-top22-sm {
  margin-top: 2.2rem !important;
}

.u-margin-bottom22-sm {
  margin-bottom: 2.2rem !important;
}

.u-margin-left22-sm {
  margin-left: 2.2rem !important;
}

.u-margin-right22-sm {
  margin-right: 2.2rem !important;
}

.u-margin-top23-sm {
  margin-top: 2.3rem !important;
}

.u-margin-bottom23-sm {
  margin-bottom: 2.3rem !important;
}

.u-margin-left23-sm {
  margin-left: 2.3rem !important;
}

.u-margin-right23-sm {
  margin-right: 2.3rem !important;
}

.u-margin-top24-sm {
  margin-top: 2.4rem !important;
}

.u-margin-bottom24-sm {
  margin-bottom: 2.4rem !important;
}

.u-margin-left24-sm {
  margin-left: 2.4rem !important;
}

.u-margin-right24-sm {
  margin-right: 2.4rem !important;
}

.u-margin-top25-sm {
  margin-top: 2.5rem !important;
}

.u-margin-bottom25-sm {
  margin-bottom: 2.5rem !important;
}

.u-margin-left25-sm {
  margin-left: 2.5rem !important;
}

.u-margin-right25-sm {
  margin-right: 2.5rem !important;
}

.u-margin-top26-sm {
  margin-top: 2.6rem !important;
}

.u-margin-bottom26-sm {
  margin-bottom: 2.6rem !important;
}

.u-margin-left26-sm {
  margin-left: 2.6rem !important;
}

.u-margin-right26-sm {
  margin-right: 2.6rem !important;
}

.u-margin-top27-sm {
  margin-top: 2.7rem !important;
}

.u-margin-bottom27-sm {
  margin-bottom: 2.7rem !important;
}

.u-margin-left27-sm {
  margin-left: 2.7rem !important;
}

.u-margin-right27-sm {
  margin-right: 2.7rem !important;
}

.u-margin-top28-sm {
  margin-top: 2.8rem !important;
}

.u-margin-bottom28-sm {
  margin-bottom: 2.8rem !important;
}

.u-margin-left28-sm {
  margin-left: 2.8rem !important;
}

.u-margin-right28-sm {
  margin-right: 2.8rem !important;
}

.u-margin-top29-sm {
  margin-top: 2.9rem !important;
}

.u-margin-bottom29-sm {
  margin-bottom: 2.9rem !important;
}

.u-margin-left29-sm {
  margin-left: 2.9rem !important;
}

.u-margin-right29-sm {
  margin-right: 2.9rem !important;
}

.u-margin-top30-sm {
  margin-top: 3rem !important;
}

.u-margin-bottom30-sm {
  margin-bottom: 3rem !important;
}

.u-margin-left30-sm {
  margin-left: 3rem !important;
}

.u-margin-right30-sm {
  margin-right: 3rem !important;
}

.u-margin-top31-sm {
  margin-top: 3.1rem !important;
}

.u-margin-bottom31-sm {
  margin-bottom: 3.1rem !important;
}

.u-margin-left31-sm {
  margin-left: 3.1rem !important;
}

.u-margin-right31-sm {
  margin-right: 3.1rem !important;
}

.u-margin-top32-sm {
  margin-top: 3.2rem !important;
}

.u-margin-bottom32-sm {
  margin-bottom: 3.2rem !important;
}

.u-margin-left32-sm {
  margin-left: 3.2rem !important;
}

.u-margin-right32-sm {
  margin-right: 3.2rem !important;
}

.u-margin-top33-sm {
  margin-top: 3.3rem !important;
}

.u-margin-bottom33-sm {
  margin-bottom: 3.3rem !important;
}

.u-margin-left33-sm {
  margin-left: 3.3rem !important;
}

.u-margin-right33-sm {
  margin-right: 3.3rem !important;
}

.u-margin-top34-sm {
  margin-top: 3.4rem !important;
}

.u-margin-bottom34-sm {
  margin-bottom: 3.4rem !important;
}

.u-margin-left34-sm {
  margin-left: 3.4rem !important;
}

.u-margin-right34-sm {
  margin-right: 3.4rem !important;
}

.u-margin-top35-sm {
  margin-top: 3.5rem !important;
}

.u-margin-bottom35-sm {
  margin-bottom: 3.5rem !important;
}

.u-margin-left35-sm {
  margin-left: 3.5rem !important;
}

.u-margin-right35-sm {
  margin-right: 3.5rem !important;
}

.u-margin-top36-sm {
  margin-top: 3.6rem !important;
}

.u-margin-bottom36-sm {
  margin-bottom: 3.6rem !important;
}

.u-margin-left36-sm {
  margin-left: 3.6rem !important;
}

.u-margin-right36-sm {
  margin-right: 3.6rem !important;
}

.u-margin-top37-sm {
  margin-top: 3.7rem !important;
}

.u-margin-bottom37-sm {
  margin-bottom: 3.7rem !important;
}

.u-margin-left37-sm {
  margin-left: 3.7rem !important;
}

.u-margin-right37-sm {
  margin-right: 3.7rem !important;
}

.u-margin-top38-sm {
  margin-top: 3.8rem !important;
}

.u-margin-bottom38-sm {
  margin-bottom: 3.8rem !important;
}

.u-margin-left38-sm {
  margin-left: 3.8rem !important;
}

.u-margin-right38-sm {
  margin-right: 3.8rem !important;
}

.u-margin-top39-sm {
  margin-top: 3.9rem !important;
}

.u-margin-bottom39-sm {
  margin-bottom: 3.9rem !important;
}

.u-margin-left39-sm {
  margin-left: 3.9rem !important;
}

.u-margin-right39-sm {
  margin-right: 3.9rem !important;
}

.u-margin-top40-sm {
  margin-top: 4rem !important;
}

.u-margin-bottom40-sm {
  margin-bottom: 4rem !important;
}

.u-margin-left40-sm {
  margin-left: 4rem !important;
}

.u-margin-right40-sm {
  margin-right: 4rem !important;
}

.u-margin-top41-sm {
  margin-top: 4.1rem !important;
}

.u-margin-bottom41-sm {
  margin-bottom: 4.1rem !important;
}

.u-margin-left41-sm {
  margin-left: 4.1rem !important;
}

.u-margin-right41-sm {
  margin-right: 4.1rem !important;
}

.u-margin-top42-sm {
  margin-top: 4.2rem !important;
}

.u-margin-bottom42-sm {
  margin-bottom: 4.2rem !important;
}

.u-margin-left42-sm {
  margin-left: 4.2rem !important;
}

.u-margin-right42-sm {
  margin-right: 4.2rem !important;
}

.u-margin-top43-sm {
  margin-top: 4.3rem !important;
}

.u-margin-bottom43-sm {
  margin-bottom: 4.3rem !important;
}

.u-margin-left43-sm {
  margin-left: 4.3rem !important;
}

.u-margin-right43-sm {
  margin-right: 4.3rem !important;
}

.u-margin-top44-sm {
  margin-top: 4.4rem !important;
}

.u-margin-bottom44-sm {
  margin-bottom: 4.4rem !important;
}

.u-margin-left44-sm {
  margin-left: 4.4rem !important;
}

.u-margin-right44-sm {
  margin-right: 4.4rem !important;
}

.u-margin-top45-sm {
  margin-top: 4.5rem !important;
}

.u-margin-bottom45-sm {
  margin-bottom: 4.5rem !important;
}

.u-margin-left45-sm {
  margin-left: 4.5rem !important;
}

.u-margin-right45-sm {
  margin-right: 4.5rem !important;
}

.u-margin-top46-sm {
  margin-top: 4.6rem !important;
}

.u-margin-bottom46-sm {
  margin-bottom: 4.6rem !important;
}

.u-margin-left46-sm {
  margin-left: 4.6rem !important;
}

.u-margin-right46-sm {
  margin-right: 4.6rem !important;
}

.u-margin-top47-sm {
  margin-top: 4.7rem !important;
}

.u-margin-bottom47-sm {
  margin-bottom: 4.7rem !important;
}

.u-margin-left47-sm {
  margin-left: 4.7rem !important;
}

.u-margin-right47-sm {
  margin-right: 4.7rem !important;
}

.u-margin-top48-sm {
  margin-top: 4.8rem !important;
}

.u-margin-bottom48-sm {
  margin-bottom: 4.8rem !important;
}

.u-margin-left48-sm {
  margin-left: 4.8rem !important;
}

.u-margin-right48-sm {
  margin-right: 4.8rem !important;
}

.u-margin-top49-sm {
  margin-top: 4.9rem !important;
}

.u-margin-bottom49-sm {
  margin-bottom: 4.9rem !important;
}

.u-margin-left49-sm {
  margin-left: 4.9rem !important;
}

.u-margin-right49-sm {
  margin-right: 4.9rem !important;
}

.u-margin-top50-sm {
  margin-top: 5rem !important;
}

.u-margin-bottom50-sm {
  margin-bottom: 5rem !important;
}

.u-margin-left50-sm {
  margin-left: 5rem !important;
}

.u-margin-right50-sm {
  margin-right: 5rem !important;
}

.u-margin-top51-sm {
  margin-top: 5.1rem !important;
}

.u-margin-bottom51-sm {
  margin-bottom: 5.1rem !important;
}

.u-margin-left51-sm {
  margin-left: 5.1rem !important;
}

.u-margin-right51-sm {
  margin-right: 5.1rem !important;
}

.u-margin-top52-sm {
  margin-top: 5.2rem !important;
}

.u-margin-bottom52-sm {
  margin-bottom: 5.2rem !important;
}

.u-margin-left52-sm {
  margin-left: 5.2rem !important;
}

.u-margin-right52-sm {
  margin-right: 5.2rem !important;
}

.u-margin-top53-sm {
  margin-top: 5.3rem !important;
}

.u-margin-bottom53-sm {
  margin-bottom: 5.3rem !important;
}

.u-margin-left53-sm {
  margin-left: 5.3rem !important;
}

.u-margin-right53-sm {
  margin-right: 5.3rem !important;
}

.u-margin-top54-sm {
  margin-top: 5.4rem !important;
}

.u-margin-bottom54-sm {
  margin-bottom: 5.4rem !important;
}

.u-margin-left54-sm {
  margin-left: 5.4rem !important;
}

.u-margin-right54-sm {
  margin-right: 5.4rem !important;
}

.u-margin-top55-sm {
  margin-top: 5.5rem !important;
}

.u-margin-bottom55-sm {
  margin-bottom: 5.5rem !important;
}

.u-margin-left55-sm {
  margin-left: 5.5rem !important;
}

.u-margin-right55-sm {
  margin-right: 5.5rem !important;
}

.u-margin-top56-sm {
  margin-top: 5.6rem !important;
}

.u-margin-bottom56-sm {
  margin-bottom: 5.6rem !important;
}

.u-margin-left56-sm {
  margin-left: 5.6rem !important;
}

.u-margin-right56-sm {
  margin-right: 5.6rem !important;
}

.u-margin-top57-sm {
  margin-top: 5.7rem !important;
}

.u-margin-bottom57-sm {
  margin-bottom: 5.7rem !important;
}

.u-margin-left57-sm {
  margin-left: 5.7rem !important;
}

.u-margin-right57-sm {
  margin-right: 5.7rem !important;
}

.u-margin-top58-sm {
  margin-top: 5.8rem !important;
}

.u-margin-bottom58-sm {
  margin-bottom: 5.8rem !important;
}

.u-margin-left58-sm {
  margin-left: 5.8rem !important;
}

.u-margin-right58-sm {
  margin-right: 5.8rem !important;
}

.u-margin-top59-sm {
  margin-top: 5.9rem !important;
}

.u-margin-bottom59-sm {
  margin-bottom: 5.9rem !important;
}

.u-margin-left59-sm {
  margin-left: 5.9rem !important;
}

.u-margin-right59-sm {
  margin-right: 5.9rem !important;
}

.u-margin-top60-sm {
  margin-top: 6rem !important;
}

.u-margin-bottom60-sm {
  margin-bottom: 6rem !important;
}

.u-margin-left60-sm {
  margin-left: 6rem !important;
}

.u-margin-right60-sm {
  margin-right: 6rem !important;
}

.u-margin-top61-sm {
  margin-top: 6.1rem !important;
}

.u-margin-bottom61-sm {
  margin-bottom: 6.1rem !important;
}

.u-margin-left61-sm {
  margin-left: 6.1rem !important;
}

.u-margin-right61-sm {
  margin-right: 6.1rem !important;
}

.u-margin-top62-sm {
  margin-top: 6.2rem !important;
}

.u-margin-bottom62-sm {
  margin-bottom: 6.2rem !important;
}

.u-margin-left62-sm {
  margin-left: 6.2rem !important;
}

.u-margin-right62-sm {
  margin-right: 6.2rem !important;
}

.u-margin-top63-sm {
  margin-top: 6.3rem !important;
}

.u-margin-bottom63-sm {
  margin-bottom: 6.3rem !important;
}

.u-margin-left63-sm {
  margin-left: 6.3rem !important;
}

.u-margin-right63-sm {
  margin-right: 6.3rem !important;
}

.u-margin-top64-sm {
  margin-top: 6.4rem !important;
}

.u-margin-bottom64-sm {
  margin-bottom: 6.4rem !important;
}

.u-margin-left64-sm {
  margin-left: 6.4rem !important;
}

.u-margin-right64-sm {
  margin-right: 6.4rem !important;
}

.u-margin-top65-sm {
  margin-top: 6.5rem !important;
}

.u-margin-bottom65-sm {
  margin-bottom: 6.5rem !important;
}

.u-margin-left65-sm {
  margin-left: 6.5rem !important;
}

.u-margin-right65-sm {
  margin-right: 6.5rem !important;
}

.u-margin-top66-sm {
  margin-top: 6.6rem !important;
}

.u-margin-bottom66-sm {
  margin-bottom: 6.6rem !important;
}

.u-margin-left66-sm {
  margin-left: 6.6rem !important;
}

.u-margin-right66-sm {
  margin-right: 6.6rem !important;
}

.u-margin-top67-sm {
  margin-top: 6.7rem !important;
}

.u-margin-bottom67-sm {
  margin-bottom: 6.7rem !important;
}

.u-margin-left67-sm {
  margin-left: 6.7rem !important;
}

.u-margin-right67-sm {
  margin-right: 6.7rem !important;
}

.u-margin-top68-sm {
  margin-top: 6.8rem !important;
}

.u-margin-bottom68-sm {
  margin-bottom: 6.8rem !important;
}

.u-margin-left68-sm {
  margin-left: 6.8rem !important;
}

.u-margin-right68-sm {
  margin-right: 6.8rem !important;
}

.u-margin-top69-sm {
  margin-top: 6.9rem !important;
}

.u-margin-bottom69-sm {
  margin-bottom: 6.9rem !important;
}

.u-margin-left69-sm {
  margin-left: 6.9rem !important;
}

.u-margin-right69-sm {
  margin-right: 6.9rem !important;
}

.u-margin-top70-sm {
  margin-top: 7rem !important;
}

.u-margin-bottom70-sm {
  margin-bottom: 7rem !important;
}

.u-margin-left70-sm {
  margin-left: 7rem !important;
}

.u-margin-right70-sm {
  margin-right: 7rem !important;
}

.u-margin-top71-sm {
  margin-top: 7.1rem !important;
}

.u-margin-bottom71-sm {
  margin-bottom: 7.1rem !important;
}

.u-margin-left71-sm {
  margin-left: 7.1rem !important;
}

.u-margin-right71-sm {
  margin-right: 7.1rem !important;
}

.u-margin-top72-sm {
  margin-top: 7.2rem !important;
}

.u-margin-bottom72-sm {
  margin-bottom: 7.2rem !important;
}

.u-margin-left72-sm {
  margin-left: 7.2rem !important;
}

.u-margin-right72-sm {
  margin-right: 7.2rem !important;
}

.u-margin-top73-sm {
  margin-top: 7.3rem !important;
}

.u-margin-bottom73-sm {
  margin-bottom: 7.3rem !important;
}

.u-margin-left73-sm {
  margin-left: 7.3rem !important;
}

.u-margin-right73-sm {
  margin-right: 7.3rem !important;
}

.u-margin-top74-sm {
  margin-top: 7.4rem !important;
}

.u-margin-bottom74-sm {
  margin-bottom: 7.4rem !important;
}

.u-margin-left74-sm {
  margin-left: 7.4rem !important;
}

.u-margin-right74-sm {
  margin-right: 7.4rem !important;
}

.u-margin-top75-sm {
  margin-top: 7.5rem !important;
}

.u-margin-bottom75-sm {
  margin-bottom: 7.5rem !important;
}

.u-margin-left75-sm {
  margin-left: 7.5rem !important;
}

.u-margin-right75-sm {
  margin-right: 7.5rem !important;
}

.u-margin-top76-sm {
  margin-top: 7.6rem !important;
}

.u-margin-bottom76-sm {
  margin-bottom: 7.6rem !important;
}

.u-margin-left76-sm {
  margin-left: 7.6rem !important;
}

.u-margin-right76-sm {
  margin-right: 7.6rem !important;
}

.u-margin-top77-sm {
  margin-top: 7.7rem !important;
}

.u-margin-bottom77-sm {
  margin-bottom: 7.7rem !important;
}

.u-margin-left77-sm {
  margin-left: 7.7rem !important;
}

.u-margin-right77-sm {
  margin-right: 7.7rem !important;
}

.u-margin-top78-sm {
  margin-top: 7.8rem !important;
}

.u-margin-bottom78-sm {
  margin-bottom: 7.8rem !important;
}

.u-margin-left78-sm {
  margin-left: 7.8rem !important;
}

.u-margin-right78-sm {
  margin-right: 7.8rem !important;
}

.u-margin-top79-sm {
  margin-top: 7.9rem !important;
}

.u-margin-bottom79-sm {
  margin-bottom: 7.9rem !important;
}

.u-margin-left79-sm {
  margin-left: 7.9rem !important;
}

.u-margin-right79-sm {
  margin-right: 7.9rem !important;
}

.u-margin-top80-sm {
  margin-top: 8rem !important;
}

.u-margin-bottom80-sm {
  margin-bottom: 8rem !important;
}

.u-margin-left80-sm {
  margin-left: 8rem !important;
}

.u-margin-right80-sm {
  margin-right: 8rem !important;
}

.u-margin-top81-sm {
  margin-top: 8.1rem !important;
}

.u-margin-bottom81-sm {
  margin-bottom: 8.1rem !important;
}

.u-margin-left81-sm {
  margin-left: 8.1rem !important;
}

.u-margin-right81-sm {
  margin-right: 8.1rem !important;
}

.u-margin-top82-sm {
  margin-top: 8.2rem !important;
}

.u-margin-bottom82-sm {
  margin-bottom: 8.2rem !important;
}

.u-margin-left82-sm {
  margin-left: 8.2rem !important;
}

.u-margin-right82-sm {
  margin-right: 8.2rem !important;
}

.u-margin-top83-sm {
  margin-top: 8.3rem !important;
}

.u-margin-bottom83-sm {
  margin-bottom: 8.3rem !important;
}

.u-margin-left83-sm {
  margin-left: 8.3rem !important;
}

.u-margin-right83-sm {
  margin-right: 8.3rem !important;
}

.u-margin-top84-sm {
  margin-top: 8.4rem !important;
}

.u-margin-bottom84-sm {
  margin-bottom: 8.4rem !important;
}

.u-margin-left84-sm {
  margin-left: 8.4rem !important;
}

.u-margin-right84-sm {
  margin-right: 8.4rem !important;
}

.u-margin-top85-sm {
  margin-top: 8.5rem !important;
}

.u-margin-bottom85-sm {
  margin-bottom: 8.5rem !important;
}

.u-margin-left85-sm {
  margin-left: 8.5rem !important;
}

.u-margin-right85-sm {
  margin-right: 8.5rem !important;
}

.u-margin-top86-sm {
  margin-top: 8.6rem !important;
}

.u-margin-bottom86-sm {
  margin-bottom: 8.6rem !important;
}

.u-margin-left86-sm {
  margin-left: 8.6rem !important;
}

.u-margin-right86-sm {
  margin-right: 8.6rem !important;
}

.u-margin-top87-sm {
  margin-top: 8.7rem !important;
}

.u-margin-bottom87-sm {
  margin-bottom: 8.7rem !important;
}

.u-margin-left87-sm {
  margin-left: 8.7rem !important;
}

.u-margin-right87-sm {
  margin-right: 8.7rem !important;
}

.u-margin-top88-sm {
  margin-top: 8.8rem !important;
}

.u-margin-bottom88-sm {
  margin-bottom: 8.8rem !important;
}

.u-margin-left88-sm {
  margin-left: 8.8rem !important;
}

.u-margin-right88-sm {
  margin-right: 8.8rem !important;
}

.u-margin-top89-sm {
  margin-top: 8.9rem !important;
}

.u-margin-bottom89-sm {
  margin-bottom: 8.9rem !important;
}

.u-margin-left89-sm {
  margin-left: 8.9rem !important;
}

.u-margin-right89-sm {
  margin-right: 8.9rem !important;
}

.u-margin-top90-sm {
  margin-top: 9rem !important;
}

.u-margin-bottom90-sm {
  margin-bottom: 9rem !important;
}

.u-margin-left90-sm {
  margin-left: 9rem !important;
}

.u-margin-right90-sm {
  margin-right: 9rem !important;
}

.u-margin-top91-sm {
  margin-top: 9.1rem !important;
}

.u-margin-bottom91-sm {
  margin-bottom: 9.1rem !important;
}

.u-margin-left91-sm {
  margin-left: 9.1rem !important;
}

.u-margin-right91-sm {
  margin-right: 9.1rem !important;
}

.u-margin-top92-sm {
  margin-top: 9.2rem !important;
}

.u-margin-bottom92-sm {
  margin-bottom: 9.2rem !important;
}

.u-margin-left92-sm {
  margin-left: 9.2rem !important;
}

.u-margin-right92-sm {
  margin-right: 9.2rem !important;
}

.u-margin-top93-sm {
  margin-top: 9.3rem !important;
}

.u-margin-bottom93-sm {
  margin-bottom: 9.3rem !important;
}

.u-margin-left93-sm {
  margin-left: 9.3rem !important;
}

.u-margin-right93-sm {
  margin-right: 9.3rem !important;
}

.u-margin-top94-sm {
  margin-top: 9.4rem !important;
}

.u-margin-bottom94-sm {
  margin-bottom: 9.4rem !important;
}

.u-margin-left94-sm {
  margin-left: 9.4rem !important;
}

.u-margin-right94-sm {
  margin-right: 9.4rem !important;
}

.u-margin-top95-sm {
  margin-top: 9.5rem !important;
}

.u-margin-bottom95-sm {
  margin-bottom: 9.5rem !important;
}

.u-margin-left95-sm {
  margin-left: 9.5rem !important;
}

.u-margin-right95-sm {
  margin-right: 9.5rem !important;
}

.u-margin-top96-sm {
  margin-top: 9.6rem !important;
}

.u-margin-bottom96-sm {
  margin-bottom: 9.6rem !important;
}

.u-margin-left96-sm {
  margin-left: 9.6rem !important;
}

.u-margin-right96-sm {
  margin-right: 9.6rem !important;
}

.u-margin-top97-sm {
  margin-top: 9.7rem !important;
}

.u-margin-bottom97-sm {
  margin-bottom: 9.7rem !important;
}

.u-margin-left97-sm {
  margin-left: 9.7rem !important;
}

.u-margin-right97-sm {
  margin-right: 9.7rem !important;
}

.u-margin-top98-sm {
  margin-top: 9.8rem !important;
}

.u-margin-bottom98-sm {
  margin-bottom: 9.8rem !important;
}

.u-margin-left98-sm {
  margin-left: 9.8rem !important;
}

.u-margin-right98-sm {
  margin-right: 9.8rem !important;
}

.u-margin-top99-sm {
  margin-top: 9.9rem !important;
}

.u-margin-bottom99-sm {
  margin-bottom: 9.9rem !important;
}

.u-margin-left99-sm {
  margin-left: 9.9rem !important;
}

.u-margin-right99-sm {
  margin-right: 9.9rem !important;
}

.u-margin-top100-sm {
  margin-top: 10rem !important;
}

.u-margin-bottom100-sm {
  margin-bottom: 10rem !important;
}

.u-margin-left100-sm {
  margin-left: 10rem !important;
}

.u-margin-right100-sm {
  margin-right: 10rem !important;
}

@media screen and (min-width: 768px) {
  .u-margin-top0-md {
    margin-top: 0rem !important;
  }

  .u-margin-bottom0-md {
    margin-bottom: 0rem !important;
  }

  .u-margin-left0-md {
    margin-left: 0rem !important;
  }

  .u-margin-right0-md {
    margin-right: 0rem !important;
  }

  .u-margin-top1-md {
    margin-top: 0.1rem !important;
  }

  .u-margin-bottom1-md {
    margin-bottom: 0.1rem !important;
  }

  .u-margin-left1-md {
    margin-left: 0.1rem !important;
  }

  .u-margin-right1-md {
    margin-right: 0.1rem !important;
  }

  .u-margin-top2-md {
    margin-top: 0.2rem !important;
  }

  .u-margin-bottom2-md {
    margin-bottom: 0.2rem !important;
  }

  .u-margin-left2-md {
    margin-left: 0.2rem !important;
  }

  .u-margin-right2-md {
    margin-right: 0.2rem !important;
  }

  .u-margin-top3-md {
    margin-top: 0.3rem !important;
  }

  .u-margin-bottom3-md {
    margin-bottom: 0.3rem !important;
  }

  .u-margin-left3-md {
    margin-left: 0.3rem !important;
  }

  .u-margin-right3-md {
    margin-right: 0.3rem !important;
  }

  .u-margin-top4-md {
    margin-top: 0.4rem !important;
  }

  .u-margin-bottom4-md {
    margin-bottom: 0.4rem !important;
  }

  .u-margin-left4-md {
    margin-left: 0.4rem !important;
  }

  .u-margin-right4-md {
    margin-right: 0.4rem !important;
  }

  .u-margin-top5-md {
    margin-top: 0.5rem !important;
  }

  .u-margin-bottom5-md {
    margin-bottom: 0.5rem !important;
  }

  .u-margin-left5-md {
    margin-left: 0.5rem !important;
  }

  .u-margin-right5-md {
    margin-right: 0.5rem !important;
  }

  .u-margin-top6-md {
    margin-top: 0.6rem !important;
  }

  .u-margin-bottom6-md {
    margin-bottom: 0.6rem !important;
  }

  .u-margin-left6-md {
    margin-left: 0.6rem !important;
  }

  .u-margin-right6-md {
    margin-right: 0.6rem !important;
  }

  .u-margin-top7-md {
    margin-top: 0.7rem !important;
  }

  .u-margin-bottom7-md {
    margin-bottom: 0.7rem !important;
  }

  .u-margin-left7-md {
    margin-left: 0.7rem !important;
  }

  .u-margin-right7-md {
    margin-right: 0.7rem !important;
  }

  .u-margin-top8-md {
    margin-top: 0.8rem !important;
  }

  .u-margin-bottom8-md {
    margin-bottom: 0.8rem !important;
  }

  .u-margin-left8-md {
    margin-left: 0.8rem !important;
  }

  .u-margin-right8-md {
    margin-right: 0.8rem !important;
  }

  .u-margin-top9-md {
    margin-top: 0.9rem !important;
  }

  .u-margin-bottom9-md {
    margin-bottom: 0.9rem !important;
  }

  .u-margin-left9-md {
    margin-left: 0.9rem !important;
  }

  .u-margin-right9-md {
    margin-right: 0.9rem !important;
  }

  .u-margin-top10-md {
    margin-top: 1rem !important;
  }

  .u-margin-bottom10-md {
    margin-bottom: 1rem !important;
  }

  .u-margin-left10-md {
    margin-left: 1rem !important;
  }

  .u-margin-right10-md {
    margin-right: 1rem !important;
  }

  .u-margin-top11-md {
    margin-top: 1.1rem !important;
  }

  .u-margin-bottom11-md {
    margin-bottom: 1.1rem !important;
  }

  .u-margin-left11-md {
    margin-left: 1.1rem !important;
  }

  .u-margin-right11-md {
    margin-right: 1.1rem !important;
  }

  .u-margin-top12-md {
    margin-top: 1.2rem !important;
  }

  .u-margin-bottom12-md {
    margin-bottom: 1.2rem !important;
  }

  .u-margin-left12-md {
    margin-left: 1.2rem !important;
  }

  .u-margin-right12-md {
    margin-right: 1.2rem !important;
  }

  .u-margin-top13-md {
    margin-top: 1.3rem !important;
  }

  .u-margin-bottom13-md {
    margin-bottom: 1.3rem !important;
  }

  .u-margin-left13-md {
    margin-left: 1.3rem !important;
  }

  .u-margin-right13-md {
    margin-right: 1.3rem !important;
  }

  .u-margin-top14-md {
    margin-top: 1.4rem !important;
  }

  .u-margin-bottom14-md {
    margin-bottom: 1.4rem !important;
  }

  .u-margin-left14-md {
    margin-left: 1.4rem !important;
  }

  .u-margin-right14-md {
    margin-right: 1.4rem !important;
  }

  .u-margin-top15-md {
    margin-top: 1.5rem !important;
  }

  .u-margin-bottom15-md {
    margin-bottom: 1.5rem !important;
  }

  .u-margin-left15-md {
    margin-left: 1.5rem !important;
  }

  .u-margin-right15-md {
    margin-right: 1.5rem !important;
  }

  .u-margin-top16-md {
    margin-top: 1.6rem !important;
  }

  .u-margin-bottom16-md {
    margin-bottom: 1.6rem !important;
  }

  .u-margin-left16-md {
    margin-left: 1.6rem !important;
  }

  .u-margin-right16-md {
    margin-right: 1.6rem !important;
  }

  .u-margin-top17-md {
    margin-top: 1.7rem !important;
  }

  .u-margin-bottom17-md {
    margin-bottom: 1.7rem !important;
  }

  .u-margin-left17-md {
    margin-left: 1.7rem !important;
  }

  .u-margin-right17-md {
    margin-right: 1.7rem !important;
  }

  .u-margin-top18-md {
    margin-top: 1.8rem !important;
  }

  .u-margin-bottom18-md {
    margin-bottom: 1.8rem !important;
  }

  .u-margin-left18-md {
    margin-left: 1.8rem !important;
  }

  .u-margin-right18-md {
    margin-right: 1.8rem !important;
  }

  .u-margin-top19-md {
    margin-top: 1.9rem !important;
  }

  .u-margin-bottom19-md {
    margin-bottom: 1.9rem !important;
  }

  .u-margin-left19-md {
    margin-left: 1.9rem !important;
  }

  .u-margin-right19-md {
    margin-right: 1.9rem !important;
  }

  .u-margin-top20-md {
    margin-top: 2rem !important;
  }

  .u-margin-bottom20-md {
    margin-bottom: 2rem !important;
  }

  .u-margin-left20-md {
    margin-left: 2rem !important;
  }

  .u-margin-right20-md {
    margin-right: 2rem !important;
  }

  .u-margin-top21-md {
    margin-top: 2.1rem !important;
  }

  .u-margin-bottom21-md {
    margin-bottom: 2.1rem !important;
  }

  .u-margin-left21-md {
    margin-left: 2.1rem !important;
  }

  .u-margin-right21-md {
    margin-right: 2.1rem !important;
  }

  .u-margin-top22-md {
    margin-top: 2.2rem !important;
  }

  .u-margin-bottom22-md {
    margin-bottom: 2.2rem !important;
  }

  .u-margin-left22-md {
    margin-left: 2.2rem !important;
  }

  .u-margin-right22-md {
    margin-right: 2.2rem !important;
  }

  .u-margin-top23-md {
    margin-top: 2.3rem !important;
  }

  .u-margin-bottom23-md {
    margin-bottom: 2.3rem !important;
  }

  .u-margin-left23-md {
    margin-left: 2.3rem !important;
  }

  .u-margin-right23-md {
    margin-right: 2.3rem !important;
  }

  .u-margin-top24-md {
    margin-top: 2.4rem !important;
  }

  .u-margin-bottom24-md {
    margin-bottom: 2.4rem !important;
  }

  .u-margin-left24-md {
    margin-left: 2.4rem !important;
  }

  .u-margin-right24-md {
    margin-right: 2.4rem !important;
  }

  .u-margin-top25-md {
    margin-top: 2.5rem !important;
  }

  .u-margin-bottom25-md {
    margin-bottom: 2.5rem !important;
  }

  .u-margin-left25-md {
    margin-left: 2.5rem !important;
  }

  .u-margin-right25-md {
    margin-right: 2.5rem !important;
  }

  .u-margin-top26-md {
    margin-top: 2.6rem !important;
  }

  .u-margin-bottom26-md {
    margin-bottom: 2.6rem !important;
  }

  .u-margin-left26-md {
    margin-left: 2.6rem !important;
  }

  .u-margin-right26-md {
    margin-right: 2.6rem !important;
  }

  .u-margin-top27-md {
    margin-top: 2.7rem !important;
  }

  .u-margin-bottom27-md {
    margin-bottom: 2.7rem !important;
  }

  .u-margin-left27-md {
    margin-left: 2.7rem !important;
  }

  .u-margin-right27-md {
    margin-right: 2.7rem !important;
  }

  .u-margin-top28-md {
    margin-top: 2.8rem !important;
  }

  .u-margin-bottom28-md {
    margin-bottom: 2.8rem !important;
  }

  .u-margin-left28-md {
    margin-left: 2.8rem !important;
  }

  .u-margin-right28-md {
    margin-right: 2.8rem !important;
  }

  .u-margin-top29-md {
    margin-top: 2.9rem !important;
  }

  .u-margin-bottom29-md {
    margin-bottom: 2.9rem !important;
  }

  .u-margin-left29-md {
    margin-left: 2.9rem !important;
  }

  .u-margin-right29-md {
    margin-right: 2.9rem !important;
  }

  .u-margin-top30-md {
    margin-top: 3rem !important;
  }

  .u-margin-bottom30-md {
    margin-bottom: 3rem !important;
  }

  .u-margin-left30-md {
    margin-left: 3rem !important;
  }

  .u-margin-right30-md {
    margin-right: 3rem !important;
  }

  .u-margin-top31-md {
    margin-top: 3.1rem !important;
  }

  .u-margin-bottom31-md {
    margin-bottom: 3.1rem !important;
  }

  .u-margin-left31-md {
    margin-left: 3.1rem !important;
  }

  .u-margin-right31-md {
    margin-right: 3.1rem !important;
  }

  .u-margin-top32-md {
    margin-top: 3.2rem !important;
  }

  .u-margin-bottom32-md {
    margin-bottom: 3.2rem !important;
  }

  .u-margin-left32-md {
    margin-left: 3.2rem !important;
  }

  .u-margin-right32-md {
    margin-right: 3.2rem !important;
  }

  .u-margin-top33-md {
    margin-top: 3.3rem !important;
  }

  .u-margin-bottom33-md {
    margin-bottom: 3.3rem !important;
  }

  .u-margin-left33-md {
    margin-left: 3.3rem !important;
  }

  .u-margin-right33-md {
    margin-right: 3.3rem !important;
  }

  .u-margin-top34-md {
    margin-top: 3.4rem !important;
  }

  .u-margin-bottom34-md {
    margin-bottom: 3.4rem !important;
  }

  .u-margin-left34-md {
    margin-left: 3.4rem !important;
  }

  .u-margin-right34-md {
    margin-right: 3.4rem !important;
  }

  .u-margin-top35-md {
    margin-top: 3.5rem !important;
  }

  .u-margin-bottom35-md {
    margin-bottom: 3.5rem !important;
  }

  .u-margin-left35-md {
    margin-left: 3.5rem !important;
  }

  .u-margin-right35-md {
    margin-right: 3.5rem !important;
  }

  .u-margin-top36-md {
    margin-top: 3.6rem !important;
  }

  .u-margin-bottom36-md {
    margin-bottom: 3.6rem !important;
  }

  .u-margin-left36-md {
    margin-left: 3.6rem !important;
  }

  .u-margin-right36-md {
    margin-right: 3.6rem !important;
  }

  .u-margin-top37-md {
    margin-top: 3.7rem !important;
  }

  .u-margin-bottom37-md {
    margin-bottom: 3.7rem !important;
  }

  .u-margin-left37-md {
    margin-left: 3.7rem !important;
  }

  .u-margin-right37-md {
    margin-right: 3.7rem !important;
  }

  .u-margin-top38-md {
    margin-top: 3.8rem !important;
  }

  .u-margin-bottom38-md {
    margin-bottom: 3.8rem !important;
  }

  .u-margin-left38-md {
    margin-left: 3.8rem !important;
  }

  .u-margin-right38-md {
    margin-right: 3.8rem !important;
  }

  .u-margin-top39-md {
    margin-top: 3.9rem !important;
  }

  .u-margin-bottom39-md {
    margin-bottom: 3.9rem !important;
  }

  .u-margin-left39-md {
    margin-left: 3.9rem !important;
  }

  .u-margin-right39-md {
    margin-right: 3.9rem !important;
  }

  .u-margin-top40-md {
    margin-top: 4rem !important;
  }

  .u-margin-bottom40-md {
    margin-bottom: 4rem !important;
  }

  .u-margin-left40-md {
    margin-left: 4rem !important;
  }

  .u-margin-right40-md {
    margin-right: 4rem !important;
  }

  .u-margin-top41-md {
    margin-top: 4.1rem !important;
  }

  .u-margin-bottom41-md {
    margin-bottom: 4.1rem !important;
  }

  .u-margin-left41-md {
    margin-left: 4.1rem !important;
  }

  .u-margin-right41-md {
    margin-right: 4.1rem !important;
  }

  .u-margin-top42-md {
    margin-top: 4.2rem !important;
  }

  .u-margin-bottom42-md {
    margin-bottom: 4.2rem !important;
  }

  .u-margin-left42-md {
    margin-left: 4.2rem !important;
  }

  .u-margin-right42-md {
    margin-right: 4.2rem !important;
  }

  .u-margin-top43-md {
    margin-top: 4.3rem !important;
  }

  .u-margin-bottom43-md {
    margin-bottom: 4.3rem !important;
  }

  .u-margin-left43-md {
    margin-left: 4.3rem !important;
  }

  .u-margin-right43-md {
    margin-right: 4.3rem !important;
  }

  .u-margin-top44-md {
    margin-top: 4.4rem !important;
  }

  .u-margin-bottom44-md {
    margin-bottom: 4.4rem !important;
  }

  .u-margin-left44-md {
    margin-left: 4.4rem !important;
  }

  .u-margin-right44-md {
    margin-right: 4.4rem !important;
  }

  .u-margin-top45-md {
    margin-top: 4.5rem !important;
  }

  .u-margin-bottom45-md {
    margin-bottom: 4.5rem !important;
  }

  .u-margin-left45-md {
    margin-left: 4.5rem !important;
  }

  .u-margin-right45-md {
    margin-right: 4.5rem !important;
  }

  .u-margin-top46-md {
    margin-top: 4.6rem !important;
  }

  .u-margin-bottom46-md {
    margin-bottom: 4.6rem !important;
  }

  .u-margin-left46-md {
    margin-left: 4.6rem !important;
  }

  .u-margin-right46-md {
    margin-right: 4.6rem !important;
  }

  .u-margin-top47-md {
    margin-top: 4.7rem !important;
  }

  .u-margin-bottom47-md {
    margin-bottom: 4.7rem !important;
  }

  .u-margin-left47-md {
    margin-left: 4.7rem !important;
  }

  .u-margin-right47-md {
    margin-right: 4.7rem !important;
  }

  .u-margin-top48-md {
    margin-top: 4.8rem !important;
  }

  .u-margin-bottom48-md {
    margin-bottom: 4.8rem !important;
  }

  .u-margin-left48-md {
    margin-left: 4.8rem !important;
  }

  .u-margin-right48-md {
    margin-right: 4.8rem !important;
  }

  .u-margin-top49-md {
    margin-top: 4.9rem !important;
  }

  .u-margin-bottom49-md {
    margin-bottom: 4.9rem !important;
  }

  .u-margin-left49-md {
    margin-left: 4.9rem !important;
  }

  .u-margin-right49-md {
    margin-right: 4.9rem !important;
  }

  .u-margin-top50-md {
    margin-top: 5rem !important;
  }

  .u-margin-bottom50-md {
    margin-bottom: 5rem !important;
  }

  .u-margin-left50-md {
    margin-left: 5rem !important;
  }

  .u-margin-right50-md {
    margin-right: 5rem !important;
  }

  .u-margin-top51-md {
    margin-top: 5.1rem !important;
  }

  .u-margin-bottom51-md {
    margin-bottom: 5.1rem !important;
  }

  .u-margin-left51-md {
    margin-left: 5.1rem !important;
  }

  .u-margin-right51-md {
    margin-right: 5.1rem !important;
  }

  .u-margin-top52-md {
    margin-top: 5.2rem !important;
  }

  .u-margin-bottom52-md {
    margin-bottom: 5.2rem !important;
  }

  .u-margin-left52-md {
    margin-left: 5.2rem !important;
  }

  .u-margin-right52-md {
    margin-right: 5.2rem !important;
  }

  .u-margin-top53-md {
    margin-top: 5.3rem !important;
  }

  .u-margin-bottom53-md {
    margin-bottom: 5.3rem !important;
  }

  .u-margin-left53-md {
    margin-left: 5.3rem !important;
  }

  .u-margin-right53-md {
    margin-right: 5.3rem !important;
  }

  .u-margin-top54-md {
    margin-top: 5.4rem !important;
  }

  .u-margin-bottom54-md {
    margin-bottom: 5.4rem !important;
  }

  .u-margin-left54-md {
    margin-left: 5.4rem !important;
  }

  .u-margin-right54-md {
    margin-right: 5.4rem !important;
  }

  .u-margin-top55-md {
    margin-top: 5.5rem !important;
  }

  .u-margin-bottom55-md {
    margin-bottom: 5.5rem !important;
  }

  .u-margin-left55-md {
    margin-left: 5.5rem !important;
  }

  .u-margin-right55-md {
    margin-right: 5.5rem !important;
  }

  .u-margin-top56-md {
    margin-top: 5.6rem !important;
  }

  .u-margin-bottom56-md {
    margin-bottom: 5.6rem !important;
  }

  .u-margin-left56-md {
    margin-left: 5.6rem !important;
  }

  .u-margin-right56-md {
    margin-right: 5.6rem !important;
  }

  .u-margin-top57-md {
    margin-top: 5.7rem !important;
  }

  .u-margin-bottom57-md {
    margin-bottom: 5.7rem !important;
  }

  .u-margin-left57-md {
    margin-left: 5.7rem !important;
  }

  .u-margin-right57-md {
    margin-right: 5.7rem !important;
  }

  .u-margin-top58-md {
    margin-top: 5.8rem !important;
  }

  .u-margin-bottom58-md {
    margin-bottom: 5.8rem !important;
  }

  .u-margin-left58-md {
    margin-left: 5.8rem !important;
  }

  .u-margin-right58-md {
    margin-right: 5.8rem !important;
  }

  .u-margin-top59-md {
    margin-top: 5.9rem !important;
  }

  .u-margin-bottom59-md {
    margin-bottom: 5.9rem !important;
  }

  .u-margin-left59-md {
    margin-left: 5.9rem !important;
  }

  .u-margin-right59-md {
    margin-right: 5.9rem !important;
  }

  .u-margin-top60-md {
    margin-top: 6rem !important;
  }

  .u-margin-bottom60-md {
    margin-bottom: 6rem !important;
  }

  .u-margin-left60-md {
    margin-left: 6rem !important;
  }

  .u-margin-right60-md {
    margin-right: 6rem !important;
  }

  .u-margin-top61-md {
    margin-top: 6.1rem !important;
  }

  .u-margin-bottom61-md {
    margin-bottom: 6.1rem !important;
  }

  .u-margin-left61-md {
    margin-left: 6.1rem !important;
  }

  .u-margin-right61-md {
    margin-right: 6.1rem !important;
  }

  .u-margin-top62-md {
    margin-top: 6.2rem !important;
  }

  .u-margin-bottom62-md {
    margin-bottom: 6.2rem !important;
  }

  .u-margin-left62-md {
    margin-left: 6.2rem !important;
  }

  .u-margin-right62-md {
    margin-right: 6.2rem !important;
  }

  .u-margin-top63-md {
    margin-top: 6.3rem !important;
  }

  .u-margin-bottom63-md {
    margin-bottom: 6.3rem !important;
  }

  .u-margin-left63-md {
    margin-left: 6.3rem !important;
  }

  .u-margin-right63-md {
    margin-right: 6.3rem !important;
  }

  .u-margin-top64-md {
    margin-top: 6.4rem !important;
  }

  .u-margin-bottom64-md {
    margin-bottom: 6.4rem !important;
  }

  .u-margin-left64-md {
    margin-left: 6.4rem !important;
  }

  .u-margin-right64-md {
    margin-right: 6.4rem !important;
  }

  .u-margin-top65-md {
    margin-top: 6.5rem !important;
  }

  .u-margin-bottom65-md {
    margin-bottom: 6.5rem !important;
  }

  .u-margin-left65-md {
    margin-left: 6.5rem !important;
  }

  .u-margin-right65-md {
    margin-right: 6.5rem !important;
  }

  .u-margin-top66-md {
    margin-top: 6.6rem !important;
  }

  .u-margin-bottom66-md {
    margin-bottom: 6.6rem !important;
  }

  .u-margin-left66-md {
    margin-left: 6.6rem !important;
  }

  .u-margin-right66-md {
    margin-right: 6.6rem !important;
  }

  .u-margin-top67-md {
    margin-top: 6.7rem !important;
  }

  .u-margin-bottom67-md {
    margin-bottom: 6.7rem !important;
  }

  .u-margin-left67-md {
    margin-left: 6.7rem !important;
  }

  .u-margin-right67-md {
    margin-right: 6.7rem !important;
  }

  .u-margin-top68-md {
    margin-top: 6.8rem !important;
  }

  .u-margin-bottom68-md {
    margin-bottom: 6.8rem !important;
  }

  .u-margin-left68-md {
    margin-left: 6.8rem !important;
  }

  .u-margin-right68-md {
    margin-right: 6.8rem !important;
  }

  .u-margin-top69-md {
    margin-top: 6.9rem !important;
  }

  .u-margin-bottom69-md {
    margin-bottom: 6.9rem !important;
  }

  .u-margin-left69-md {
    margin-left: 6.9rem !important;
  }

  .u-margin-right69-md {
    margin-right: 6.9rem !important;
  }

  .u-margin-top70-md {
    margin-top: 7rem !important;
  }

  .u-margin-bottom70-md {
    margin-bottom: 7rem !important;
  }

  .u-margin-left70-md {
    margin-left: 7rem !important;
  }

  .u-margin-right70-md {
    margin-right: 7rem !important;
  }

  .u-margin-top71-md {
    margin-top: 7.1rem !important;
  }

  .u-margin-bottom71-md {
    margin-bottom: 7.1rem !important;
  }

  .u-margin-left71-md {
    margin-left: 7.1rem !important;
  }

  .u-margin-right71-md {
    margin-right: 7.1rem !important;
  }

  .u-margin-top72-md {
    margin-top: 7.2rem !important;
  }

  .u-margin-bottom72-md {
    margin-bottom: 7.2rem !important;
  }

  .u-margin-left72-md {
    margin-left: 7.2rem !important;
  }

  .u-margin-right72-md {
    margin-right: 7.2rem !important;
  }

  .u-margin-top73-md {
    margin-top: 7.3rem !important;
  }

  .u-margin-bottom73-md {
    margin-bottom: 7.3rem !important;
  }

  .u-margin-left73-md {
    margin-left: 7.3rem !important;
  }

  .u-margin-right73-md {
    margin-right: 7.3rem !important;
  }

  .u-margin-top74-md {
    margin-top: 7.4rem !important;
  }

  .u-margin-bottom74-md {
    margin-bottom: 7.4rem !important;
  }

  .u-margin-left74-md {
    margin-left: 7.4rem !important;
  }

  .u-margin-right74-md {
    margin-right: 7.4rem !important;
  }

  .u-margin-top75-md {
    margin-top: 7.5rem !important;
  }

  .u-margin-bottom75-md {
    margin-bottom: 7.5rem !important;
  }

  .u-margin-left75-md {
    margin-left: 7.5rem !important;
  }

  .u-margin-right75-md {
    margin-right: 7.5rem !important;
  }

  .u-margin-top76-md {
    margin-top: 7.6rem !important;
  }

  .u-margin-bottom76-md {
    margin-bottom: 7.6rem !important;
  }

  .u-margin-left76-md {
    margin-left: 7.6rem !important;
  }

  .u-margin-right76-md {
    margin-right: 7.6rem !important;
  }

  .u-margin-top77-md {
    margin-top: 7.7rem !important;
  }

  .u-margin-bottom77-md {
    margin-bottom: 7.7rem !important;
  }

  .u-margin-left77-md {
    margin-left: 7.7rem !important;
  }

  .u-margin-right77-md {
    margin-right: 7.7rem !important;
  }

  .u-margin-top78-md {
    margin-top: 7.8rem !important;
  }

  .u-margin-bottom78-md {
    margin-bottom: 7.8rem !important;
  }

  .u-margin-left78-md {
    margin-left: 7.8rem !important;
  }

  .u-margin-right78-md {
    margin-right: 7.8rem !important;
  }

  .u-margin-top79-md {
    margin-top: 7.9rem !important;
  }

  .u-margin-bottom79-md {
    margin-bottom: 7.9rem !important;
  }

  .u-margin-left79-md {
    margin-left: 7.9rem !important;
  }

  .u-margin-right79-md {
    margin-right: 7.9rem !important;
  }

  .u-margin-top80-md {
    margin-top: 8rem !important;
  }

  .u-margin-bottom80-md {
    margin-bottom: 8rem !important;
  }

  .u-margin-left80-md {
    margin-left: 8rem !important;
  }

  .u-margin-right80-md {
    margin-right: 8rem !important;
  }

  .u-margin-top81-md {
    margin-top: 8.1rem !important;
  }

  .u-margin-bottom81-md {
    margin-bottom: 8.1rem !important;
  }

  .u-margin-left81-md {
    margin-left: 8.1rem !important;
  }

  .u-margin-right81-md {
    margin-right: 8.1rem !important;
  }

  .u-margin-top82-md {
    margin-top: 8.2rem !important;
  }

  .u-margin-bottom82-md {
    margin-bottom: 8.2rem !important;
  }

  .u-margin-left82-md {
    margin-left: 8.2rem !important;
  }

  .u-margin-right82-md {
    margin-right: 8.2rem !important;
  }

  .u-margin-top83-md {
    margin-top: 8.3rem !important;
  }

  .u-margin-bottom83-md {
    margin-bottom: 8.3rem !important;
  }

  .u-margin-left83-md {
    margin-left: 8.3rem !important;
  }

  .u-margin-right83-md {
    margin-right: 8.3rem !important;
  }

  .u-margin-top84-md {
    margin-top: 8.4rem !important;
  }

  .u-margin-bottom84-md {
    margin-bottom: 8.4rem !important;
  }

  .u-margin-left84-md {
    margin-left: 8.4rem !important;
  }

  .u-margin-right84-md {
    margin-right: 8.4rem !important;
  }

  .u-margin-top85-md {
    margin-top: 8.5rem !important;
  }

  .u-margin-bottom85-md {
    margin-bottom: 8.5rem !important;
  }

  .u-margin-left85-md {
    margin-left: 8.5rem !important;
  }

  .u-margin-right85-md {
    margin-right: 8.5rem !important;
  }

  .u-margin-top86-md {
    margin-top: 8.6rem !important;
  }

  .u-margin-bottom86-md {
    margin-bottom: 8.6rem !important;
  }

  .u-margin-left86-md {
    margin-left: 8.6rem !important;
  }

  .u-margin-right86-md {
    margin-right: 8.6rem !important;
  }

  .u-margin-top87-md {
    margin-top: 8.7rem !important;
  }

  .u-margin-bottom87-md {
    margin-bottom: 8.7rem !important;
  }

  .u-margin-left87-md {
    margin-left: 8.7rem !important;
  }

  .u-margin-right87-md {
    margin-right: 8.7rem !important;
  }

  .u-margin-top88-md {
    margin-top: 8.8rem !important;
  }

  .u-margin-bottom88-md {
    margin-bottom: 8.8rem !important;
  }

  .u-margin-left88-md {
    margin-left: 8.8rem !important;
  }

  .u-margin-right88-md {
    margin-right: 8.8rem !important;
  }

  .u-margin-top89-md {
    margin-top: 8.9rem !important;
  }

  .u-margin-bottom89-md {
    margin-bottom: 8.9rem !important;
  }

  .u-margin-left89-md {
    margin-left: 8.9rem !important;
  }

  .u-margin-right89-md {
    margin-right: 8.9rem !important;
  }

  .u-margin-top90-md {
    margin-top: 9rem !important;
  }

  .u-margin-bottom90-md {
    margin-bottom: 9rem !important;
  }

  .u-margin-left90-md {
    margin-left: 9rem !important;
  }

  .u-margin-right90-md {
    margin-right: 9rem !important;
  }

  .u-margin-top91-md {
    margin-top: 9.1rem !important;
  }

  .u-margin-bottom91-md {
    margin-bottom: 9.1rem !important;
  }

  .u-margin-left91-md {
    margin-left: 9.1rem !important;
  }

  .u-margin-right91-md {
    margin-right: 9.1rem !important;
  }

  .u-margin-top92-md {
    margin-top: 9.2rem !important;
  }

  .u-margin-bottom92-md {
    margin-bottom: 9.2rem !important;
  }

  .u-margin-left92-md {
    margin-left: 9.2rem !important;
  }

  .u-margin-right92-md {
    margin-right: 9.2rem !important;
  }

  .u-margin-top93-md {
    margin-top: 9.3rem !important;
  }

  .u-margin-bottom93-md {
    margin-bottom: 9.3rem !important;
  }

  .u-margin-left93-md {
    margin-left: 9.3rem !important;
  }

  .u-margin-right93-md {
    margin-right: 9.3rem !important;
  }

  .u-margin-top94-md {
    margin-top: 9.4rem !important;
  }

  .u-margin-bottom94-md {
    margin-bottom: 9.4rem !important;
  }

  .u-margin-left94-md {
    margin-left: 9.4rem !important;
  }

  .u-margin-right94-md {
    margin-right: 9.4rem !important;
  }

  .u-margin-top95-md {
    margin-top: 9.5rem !important;
  }

  .u-margin-bottom95-md {
    margin-bottom: 9.5rem !important;
  }

  .u-margin-left95-md {
    margin-left: 9.5rem !important;
  }

  .u-margin-right95-md {
    margin-right: 9.5rem !important;
  }

  .u-margin-top96-md {
    margin-top: 9.6rem !important;
  }

  .u-margin-bottom96-md {
    margin-bottom: 9.6rem !important;
  }

  .u-margin-left96-md {
    margin-left: 9.6rem !important;
  }

  .u-margin-right96-md {
    margin-right: 9.6rem !important;
  }

  .u-margin-top97-md {
    margin-top: 9.7rem !important;
  }

  .u-margin-bottom97-md {
    margin-bottom: 9.7rem !important;
  }

  .u-margin-left97-md {
    margin-left: 9.7rem !important;
  }

  .u-margin-right97-md {
    margin-right: 9.7rem !important;
  }

  .u-margin-top98-md {
    margin-top: 9.8rem !important;
  }

  .u-margin-bottom98-md {
    margin-bottom: 9.8rem !important;
  }

  .u-margin-left98-md {
    margin-left: 9.8rem !important;
  }

  .u-margin-right98-md {
    margin-right: 9.8rem !important;
  }

  .u-margin-top99-md {
    margin-top: 9.9rem !important;
  }

  .u-margin-bottom99-md {
    margin-bottom: 9.9rem !important;
  }

  .u-margin-left99-md {
    margin-left: 9.9rem !important;
  }

  .u-margin-right99-md {
    margin-right: 9.9rem !important;
  }

  .u-margin-top100-md {
    margin-top: 10rem !important;
  }

  .u-margin-bottom100-md {
    margin-bottom: 10rem !important;
  }

  .u-margin-left100-md {
    margin-left: 10rem !important;
  }

  .u-margin-right100-md {
    margin-right: 10rem !important;
  }
}

#wrap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  #wrap {
    gap: 1.8rem;
  }
}

.slide-item {
  position: relative;
}

.slide-item::before {
  content: "";
  float: left;
  padding-top: 100%;
}

.slide-item::after {
  clear: both;
  content: "";
  display: block;
}

.slide-item> :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.slide-item img {
  -o-object-fit: contain;
  -o-object-position: center;
  object-fit: contain;
  object-position: center;
}

.p-thumbnail-slider__img-wrapper {
  padding: 0.4rem;
}

#thumbnail_slider {
  margin-left: 12px;
  margin-right: 12px;
  margin-top: -0.4rem;
}

@media screen and (min-width: 768px) {
  #thumbnail_slider {
    display: none;
  }
}

#thumbnail_slider .slick-track {
  margin: 0;
}

#thumbnail-list {
  display: none;
}

@media screen and (min-width: 768px) {
  #thumbnail-list {
    -ms-grid-columns: (1fr)[3];
    display: -ms-grid;
    display: grid;
    gap: 1.2rem;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }
}

.thumbnail-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  width: 100%;
}

.thumbnail-item::before {
  content: "";
  float: left;
  padding-top: 100%;
}

.thumbnail-item::after {
  clear: both;
  content: "";
  display: block;
}

.thumbnail-item> :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.thumbnail-item img {
  -o-object-fit: contain;
  -o-object-position: center;
  border: 1px solid #B8B8B8;
  height: 100%;
  object-fit: contain;
  object-position: center;
  position: relative;
  width: 100%;
}

.thumbnail-item.thumbnail-current img,
.thumbnail-item.slick-current img {
  border: 1px solid #000;
}

.slick-next,
.slick-prev {
  height: 12px !important;
  width: 6px !important;
}

.slick-prev {
  left: -12px !important;
}

.slick-next {
  right: -12px !important;
}

.slick-arrow:before {
  background-repeat: no-repeat;
  background-size: contain !important;
  content: "" !important;
  height: 100% !important;
  left: 0;
  position: absolute;
  top: 0;
  width: 100% !important;
}

.slick-next:before {
  background-image: url(assets/img/dst/common/slider-next.svg) !important;
}

.slick-prev:before {
  background-image: url(assets/img/dst/common/slider-prev.svg) !important;
}

.smf-form .smf-item .smf-text-control__control,
.smf-form .smf-item .smf-textarea-control__control {
  border: 1px solid #A0A0A0;
  border-radius: 0;
  font-size: 1.6rem;
}

@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) or (-moz-appearance: none) {
  .smf-form .smf-item .smf-checkbox-control__control {
    border: 1px solid #A0A0A0;
    border-radius: 0;
  }
}

.smf-form--letter .smf-item {
  padding: 1rem 0;
}

.smf-form--letter .smf-item__col--label {
  padding-bottom: 0.4rem;
}

.smf-item__label__text {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  align-items: center;
  column-gap: 1.6rem;
  cursor: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1.6rem;
}

.wp-block-snow-monkey-forms-item.required .smf-item__label__text::after {
  background-color: #623210;
  color: #fff;
  content: "必須";
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 0.8rem;
}

.smf-form .smf-item .smf-radio-button-control {
  font-size: 1.6rem;
}

.smf-item__description>a {
  color: #121212;
  color: #115FFB;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-stretch: normal;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1.71;
}

@media screen and (min-width: 768px) {
  .smf-item__description>a {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

.smf-form--letter+.smf-action {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 0;
  margin-top: 2.8rem;
}

@media screen and (min-width: 768px) {
  .smf-form--letter+.smf-action {
    margin-top: 4.8rem;
  }
}

.smf-action .smf-button-control__control {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background: #623210;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1.6rem;
  justify-content: center;
  padding: 0.8rem 7rem;
  position: relative;
  text-decoration: none;
}

.smf-action .smf-button-control+.smf-button-control {
  margin: 0;
}

.smf-complete-content {
  font-size: 2.4rem;
}

.smf-focus-point {
  top: -60px;
}

@media screen and (min-width: 992px) {
  .smf-focus-point {
    top: -120px;
  }
}

.u-spacer0 {
  display: block;
  height: 0rem !important;
  width: 100%;
}

.u-spacer1 {
  display: block;
  height: 0.1rem !important;
  width: 100%;
}

.u-spacer2 {
  display: block;
  height: 0.2rem !important;
  width: 100%;
}

.u-spacer3 {
  display: block;
  height: 0.3rem !important;
  width: 100%;
}

.u-spacer4 {
  display: block;
  height: 0.4rem !important;
  width: 100%;
}

.u-spacer5 {
  display: block;
  height: 0.5rem !important;
  width: 100%;
}

.u-spacer6 {
  display: block;
  height: 0.6rem !important;
  width: 100%;
}

.u-spacer7 {
  display: block;
  height: 0.7rem !important;
  width: 100%;
}

.u-spacer8 {
  display: block;
  height: 0.8rem !important;
  width: 100%;
}

.u-spacer9 {
  display: block;
  height: 0.9rem !important;
  width: 100%;
}

.u-spacer10 {
  display: block;
  height: 1rem !important;
  width: 100%;
}

.u-spacer11 {
  display: block;
  height: 1.1rem !important;
  width: 100%;
}

.u-spacer12 {
  display: block;
  height: 1.2rem !important;
  width: 100%;
}

.u-spacer13 {
  display: block;
  height: 1.3rem !important;
  width: 100%;
}

.u-spacer14 {
  display: block;
  height: 1.4rem !important;
  width: 100%;
}

.u-spacer15 {
  display: block;
  height: 1.5rem !important;
  width: 100%;
}

.u-spacer16 {
  display: block;
  height: 1.6rem !important;
  width: 100%;
}

.u-spacer17 {
  display: block;
  height: 1.7rem !important;
  width: 100%;
}

.u-spacer18 {
  display: block;
  height: 1.8rem !important;
  width: 100%;
}

.u-spacer19 {
  display: block;
  height: 1.9rem !important;
  width: 100%;
}

.u-spacer20 {
  display: block;
  height: 2rem !important;
  width: 100%;
}

.u-spacer21 {
  display: block;
  height: 2.1rem !important;
  width: 100%;
}

.u-spacer22 {
  display: block;
  height: 2.2rem !important;
  width: 100%;
}

.u-spacer23 {
  display: block;
  height: 2.3rem !important;
  width: 100%;
}

.u-spacer24 {
  display: block;
  height: 2.4rem !important;
  width: 100%;
}

.u-spacer25 {
  display: block;
  height: 2.5rem !important;
  width: 100%;
}

.u-spacer26 {
  display: block;
  height: 2.6rem !important;
  width: 100%;
}

.u-spacer27 {
  display: block;
  height: 2.7rem !important;
  width: 100%;
}

.u-spacer28 {
  display: block;
  height: 2.8rem !important;
  width: 100%;
}

.u-spacer29 {
  display: block;
  height: 2.9rem !important;
  width: 100%;
}

.u-spacer30 {
  display: block;
  height: 3rem !important;
  width: 100%;
}

.u-spacer31 {
  display: block;
  height: 3.1rem !important;
  width: 100%;
}

.u-spacer32 {
  display: block;
  height: 3.2rem !important;
  width: 100%;
}

.u-spacer33 {
  display: block;
  height: 3.3rem !important;
  width: 100%;
}

.u-spacer34 {
  display: block;
  height: 3.4rem !important;
  width: 100%;
}

.u-spacer35 {
  display: block;
  height: 3.5rem !important;
  width: 100%;
}

.u-spacer36 {
  display: block;
  height: 3.6rem !important;
  width: 100%;
}

.u-spacer37 {
  display: block;
  height: 3.7rem !important;
  width: 100%;
}

.u-spacer38 {
  display: block;
  height: 3.8rem !important;
  width: 100%;
}

.u-spacer39 {
  display: block;
  height: 3.9rem !important;
  width: 100%;
}

.u-spacer40 {
  display: block;
  height: 4rem !important;
  width: 100%;
}

.u-spacer41 {
  display: block;
  height: 4.1rem !important;
  width: 100%;
}

.u-spacer42 {
  display: block;
  height: 4.2rem !important;
  width: 100%;
}

.u-spacer43 {
  display: block;
  height: 4.3rem !important;
  width: 100%;
}

.u-spacer44 {
  display: block;
  height: 4.4rem !important;
  width: 100%;
}

.u-spacer45 {
  display: block;
  height: 4.5rem !important;
  width: 100%;
}

.u-spacer46 {
  display: block;
  height: 4.6rem !important;
  width: 100%;
}

.u-spacer47 {
  display: block;
  height: 4.7rem !important;
  width: 100%;
}

.u-spacer48 {
  display: block;
  height: 4.8rem !important;
  width: 100%;
}

.u-spacer49 {
  display: block;
  height: 4.9rem !important;
  width: 100%;
}

.u-spacer50 {
  display: block;
  height: 5rem !important;
  width: 100%;
}

.u-spacer51 {
  display: block;
  height: 5.1rem !important;
  width: 100%;
}

.u-spacer52 {
  display: block;
  height: 5.2rem !important;
  width: 100%;
}

.u-spacer53 {
  display: block;
  height: 5.3rem !important;
  width: 100%;
}

.u-spacer54 {
  display: block;
  height: 5.4rem !important;
  width: 100%;
}

.u-spacer55 {
  display: block;
  height: 5.5rem !important;
  width: 100%;
}

.u-spacer56 {
  display: block;
  height: 5.6rem !important;
  width: 100%;
}

.u-spacer57 {
  display: block;
  height: 5.7rem !important;
  width: 100%;
}

.u-spacer58 {
  display: block;
  height: 5.8rem !important;
  width: 100%;
}

.u-spacer59 {
  display: block;
  height: 5.9rem !important;
  width: 100%;
}

.u-spacer60 {
  display: block;
  height: 6rem !important;
  width: 100%;
}

.u-spacer61 {
  display: block;
  height: 6.1rem !important;
  width: 100%;
}

.u-spacer62 {
  display: block;
  height: 6.2rem !important;
  width: 100%;
}

.u-spacer63 {
  display: block;
  height: 6.3rem !important;
  width: 100%;
}

.u-spacer64 {
  display: block;
  height: 6.4rem !important;
  width: 100%;
}

.u-spacer65 {
  display: block;
  height: 6.5rem !important;
  width: 100%;
}

.u-spacer66 {
  display: block;
  height: 6.6rem !important;
  width: 100%;
}

.u-spacer67 {
  display: block;
  height: 6.7rem !important;
  width: 100%;
}

.u-spacer68 {
  display: block;
  height: 6.8rem !important;
  width: 100%;
}

.u-spacer69 {
  display: block;
  height: 6.9rem !important;
  width: 100%;
}

.u-spacer70 {
  display: block;
  height: 7rem !important;
  width: 100%;
}

.u-spacer71 {
  display: block;
  height: 7.1rem !important;
  width: 100%;
}

.u-spacer72 {
  display: block;
  height: 7.2rem !important;
  width: 100%;
}

.u-spacer73 {
  display: block;
  height: 7.3rem !important;
  width: 100%;
}

.u-spacer74 {
  display: block;
  height: 7.4rem !important;
  width: 100%;
}

.u-spacer75 {
  display: block;
  height: 7.5rem !important;
  width: 100%;
}

.u-spacer76 {
  display: block;
  height: 7.6rem !important;
  width: 100%;
}

.u-spacer77 {
  display: block;
  height: 7.7rem !important;
  width: 100%;
}

.u-spacer78 {
  display: block;
  height: 7.8rem !important;
  width: 100%;
}

.u-spacer79 {
  display: block;
  height: 7.9rem !important;
  width: 100%;
}

.u-spacer80 {
  display: block;
  height: 8rem !important;
  width: 100%;
}

.u-spacer81 {
  display: block;
  height: 8.1rem !important;
  width: 100%;
}

.u-spacer82 {
  display: block;
  height: 8.2rem !important;
  width: 100%;
}

.u-spacer83 {
  display: block;
  height: 8.3rem !important;
  width: 100%;
}

.u-spacer84 {
  display: block;
  height: 8.4rem !important;
  width: 100%;
}

.u-spacer85 {
  display: block;
  height: 8.5rem !important;
  width: 100%;
}

.u-spacer86 {
  display: block;
  height: 8.6rem !important;
  width: 100%;
}

.u-spacer87 {
  display: block;
  height: 8.7rem !important;
  width: 100%;
}

.u-spacer88 {
  display: block;
  height: 8.8rem !important;
  width: 100%;
}

.u-spacer89 {
  display: block;
  height: 8.9rem !important;
  width: 100%;
}

.u-spacer90 {
  display: block;
  height: 9rem !important;
  width: 100%;
}

.u-spacer91 {
  display: block;
  height: 9.1rem !important;
  width: 100%;
}

.u-spacer92 {
  display: block;
  height: 9.2rem !important;
  width: 100%;
}

.u-spacer93 {
  display: block;
  height: 9.3rem !important;
  width: 100%;
}

.u-spacer94 {
  display: block;
  height: 9.4rem !important;
  width: 100%;
}

.u-spacer95 {
  display: block;
  height: 9.5rem !important;
  width: 100%;
}

.u-spacer96 {
  display: block;
  height: 9.6rem !important;
  width: 100%;
}

.u-spacer97 {
  display: block;
  height: 9.7rem !important;
  width: 100%;
}

.u-spacer98 {
  display: block;
  height: 9.8rem !important;
  width: 100%;
}

.u-spacer99 {
  display: block;
  height: 9.9rem !important;
  width: 100%;
}

.u-spacer100 {
  display: block;
  height: 10rem !important;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .u-spacer0-md {
    display: block;
    height: 0rem !important;
    width: 100%;
  }

  .u-spacer1-md {
    display: block;
    height: 0.1rem !important;
    width: 100%;
  }

  .u-spacer2-md {
    display: block;
    height: 0.2rem !important;
    width: 100%;
  }

  .u-spacer3-md {
    display: block;
    height: 0.3rem !important;
    width: 100%;
  }

  .u-spacer4-md {
    display: block;
    height: 0.4rem !important;
    width: 100%;
  }

  .u-spacer5-md {
    display: block;
    height: 0.5rem !important;
    width: 100%;
  }

  .u-spacer6-md {
    display: block;
    height: 0.6rem !important;
    width: 100%;
  }

  .u-spacer7-md {
    display: block;
    height: 0.7rem !important;
    width: 100%;
  }

  .u-spacer8-md {
    display: block;
    height: 0.8rem !important;
    width: 100%;
  }

  .u-spacer9-md {
    display: block;
    height: 0.9rem !important;
    width: 100%;
  }

  .u-spacer10-md {
    display: block;
    height: 1rem !important;
    width: 100%;
  }

  .u-spacer11-md {
    display: block;
    height: 1.1rem !important;
    width: 100%;
  }

  .u-spacer12-md {
    display: block;
    height: 1.2rem !important;
    width: 100%;
  }

  .u-spacer13-md {
    display: block;
    height: 1.3rem !important;
    width: 100%;
  }

  .u-spacer14-md {
    display: block;
    height: 1.4rem !important;
    width: 100%;
  }

  .u-spacer15-md {
    display: block;
    height: 1.5rem !important;
    width: 100%;
  }

  .u-spacer16-md {
    display: block;
    height: 1.6rem !important;
    width: 100%;
  }

  .u-spacer17-md {
    display: block;
    height: 1.7rem !important;
    width: 100%;
  }

  .u-spacer18-md {
    display: block;
    height: 1.8rem !important;
    width: 100%;
  }

  .u-spacer19-md {
    display: block;
    height: 1.9rem !important;
    width: 100%;
  }

  .u-spacer20-md {
    display: block;
    height: 2rem !important;
    width: 100%;
  }

  .u-spacer21-md {
    display: block;
    height: 2.1rem !important;
    width: 100%;
  }

  .u-spacer22-md {
    display: block;
    height: 2.2rem !important;
    width: 100%;
  }

  .u-spacer23-md {
    display: block;
    height: 2.3rem !important;
    width: 100%;
  }

  .u-spacer24-md {
    display: block;
    height: 2.4rem !important;
    width: 100%;
  }

  .u-spacer25-md {
    display: block;
    height: 2.5rem !important;
    width: 100%;
  }

  .u-spacer26-md {
    display: block;
    height: 2.6rem !important;
    width: 100%;
  }

  .u-spacer27-md {
    display: block;
    height: 2.7rem !important;
    width: 100%;
  }

  .u-spacer28-md {
    display: block;
    height: 2.8rem !important;
    width: 100%;
  }

  .u-spacer29-md {
    display: block;
    height: 2.9rem !important;
    width: 100%;
  }

  .u-spacer30-md {
    display: block;
    height: 3rem !important;
    width: 100%;
  }

  .u-spacer31-md {
    display: block;
    height: 3.1rem !important;
    width: 100%;
  }

  .u-spacer32-md {
    display: block;
    height: 3.2rem !important;
    width: 100%;
  }

  .u-spacer33-md {
    display: block;
    height: 3.3rem !important;
    width: 100%;
  }

  .u-spacer34-md {
    display: block;
    height: 3.4rem !important;
    width: 100%;
  }

  .u-spacer35-md {
    display: block;
    height: 3.5rem !important;
    width: 100%;
  }

  .u-spacer36-md {
    display: block;
    height: 3.6rem !important;
    width: 100%;
  }

  .u-spacer37-md {
    display: block;
    height: 3.7rem !important;
    width: 100%;
  }

  .u-spacer38-md {
    display: block;
    height: 3.8rem !important;
    width: 100%;
  }

  .u-spacer39-md {
    display: block;
    height: 3.9rem !important;
    width: 100%;
  }

  .u-spacer40-md {
    display: block;
    height: 4rem !important;
    width: 100%;
  }

  .u-spacer41-md {
    display: block;
    height: 4.1rem !important;
    width: 100%;
  }

  .u-spacer42-md {
    display: block;
    height: 4.2rem !important;
    width: 100%;
  }

  .u-spacer43-md {
    display: block;
    height: 4.3rem !important;
    width: 100%;
  }

  .u-spacer44-md {
    display: block;
    height: 4.4rem !important;
    width: 100%;
  }

  .u-spacer45-md {
    display: block;
    height: 4.5rem !important;
    width: 100%;
  }

  .u-spacer46-md {
    display: block;
    height: 4.6rem !important;
    width: 100%;
  }

  .u-spacer47-md {
    display: block;
    height: 4.7rem !important;
    width: 100%;
  }

  .u-spacer48-md {
    display: block;
    height: 4.8rem !important;
    width: 100%;
  }

  .u-spacer49-md {
    display: block;
    height: 4.9rem !important;
    width: 100%;
  }

  .u-spacer50-md {
    display: block;
    height: 5rem !important;
    width: 100%;
  }

  .u-spacer51-md {
    display: block;
    height: 5.1rem !important;
    width: 100%;
  }

  .u-spacer52-md {
    display: block;
    height: 5.2rem !important;
    width: 100%;
  }

  .u-spacer53-md {
    display: block;
    height: 5.3rem !important;
    width: 100%;
  }

  .u-spacer54-md {
    display: block;
    height: 5.4rem !important;
    width: 100%;
  }

  .u-spacer55-md {
    display: block;
    height: 5.5rem !important;
    width: 100%;
  }

  .u-spacer56-md {
    display: block;
    height: 5.6rem !important;
    width: 100%;
  }

  .u-spacer57-md {
    display: block;
    height: 5.7rem !important;
    width: 100%;
  }

  .u-spacer58-md {
    display: block;
    height: 5.8rem !important;
    width: 100%;
  }

  .u-spacer59-md {
    display: block;
    height: 5.9rem !important;
    width: 100%;
  }

  .u-spacer60-md {
    display: block;
    height: 6rem !important;
    width: 100%;
  }

  .u-spacer61-md {
    display: block;
    height: 6.1rem !important;
    width: 100%;
  }

  .u-spacer62-md {
    display: block;
    height: 6.2rem !important;
    width: 100%;
  }

  .u-spacer63-md {
    display: block;
    height: 6.3rem !important;
    width: 100%;
  }

  .u-spacer64-md {
    display: block;
    height: 6.4rem !important;
    width: 100%;
  }

  .u-spacer65-md {
    display: block;
    height: 6.5rem !important;
    width: 100%;
  }

  .u-spacer66-md {
    display: block;
    height: 6.6rem !important;
    width: 100%;
  }

  .u-spacer67-md {
    display: block;
    height: 6.7rem !important;
    width: 100%;
  }

  .u-spacer68-md {
    display: block;
    height: 6.8rem !important;
    width: 100%;
  }

  .u-spacer69-md {
    display: block;
    height: 6.9rem !important;
    width: 100%;
  }

  .u-spacer70-md {
    display: block;
    height: 7rem !important;
    width: 100%;
  }

  .u-spacer71-md {
    display: block;
    height: 7.1rem !important;
    width: 100%;
  }

  .u-spacer72-md {
    display: block;
    height: 7.2rem !important;
    width: 100%;
  }

  .u-spacer73-md {
    display: block;
    height: 7.3rem !important;
    width: 100%;
  }

  .u-spacer74-md {
    display: block;
    height: 7.4rem !important;
    width: 100%;
  }

  .u-spacer75-md {
    display: block;
    height: 7.5rem !important;
    width: 100%;
  }

  .u-spacer76-md {
    display: block;
    height: 7.6rem !important;
    width: 100%;
  }

  .u-spacer77-md {
    display: block;
    height: 7.7rem !important;
    width: 100%;
  }

  .u-spacer78-md {
    display: block;
    height: 7.8rem !important;
    width: 100%;
  }

  .u-spacer79-md {
    display: block;
    height: 7.9rem !important;
    width: 100%;
  }

  .u-spacer80-md {
    display: block;
    height: 8rem !important;
    width: 100%;
  }

  .u-spacer81-md {
    display: block;
    height: 8.1rem !important;
    width: 100%;
  }

  .u-spacer82-md {
    display: block;
    height: 8.2rem !important;
    width: 100%;
  }

  .u-spacer83-md {
    display: block;
    height: 8.3rem !important;
    width: 100%;
  }

  .u-spacer84-md {
    display: block;
    height: 8.4rem !important;
    width: 100%;
  }

  .u-spacer85-md {
    display: block;
    height: 8.5rem !important;
    width: 100%;
  }

  .u-spacer86-md {
    display: block;
    height: 8.6rem !important;
    width: 100%;
  }

  .u-spacer87-md {
    display: block;
    height: 8.7rem !important;
    width: 100%;
  }

  .u-spacer88-md {
    display: block;
    height: 8.8rem !important;
    width: 100%;
  }

  .u-spacer89-md {
    display: block;
    height: 8.9rem !important;
    width: 100%;
  }

  .u-spacer90-md {
    display: block;
    height: 9rem !important;
    width: 100%;
  }

  .u-spacer91-md {
    display: block;
    height: 9.1rem !important;
    width: 100%;
  }

  .u-spacer92-md {
    display: block;
    height: 9.2rem !important;
    width: 100%;
  }

  .u-spacer93-md {
    display: block;
    height: 9.3rem !important;
    width: 100%;
  }

  .u-spacer94-md {
    display: block;
    height: 9.4rem !important;
    width: 100%;
  }

  .u-spacer95-md {
    display: block;
    height: 9.5rem !important;
    width: 100%;
  }

  .u-spacer96-md {
    display: block;
    height: 9.6rem !important;
    width: 100%;
  }

  .u-spacer97-md {
    display: block;
    height: 9.7rem !important;
    width: 100%;
  }

  .u-spacer98-md {
    display: block;
    height: 9.8rem !important;
    width: 100%;
  }

  .u-spacer99-md {
    display: block;
    height: 9.9rem !important;
    width: 100%;
  }

  .u-spacer100-md {
    display: block;
    height: 10rem !important;
    width: 100%;
  }
}

.u-spacer-border {
  background-image: url(assets/img/dst/common/dot-border.svg);
  background-position: left;
  background-repeat: repeat-x;
  background-size: 16px 4px;
  display: block;
  height: 4px;
  width: 100%;
}

.swiper-container {
  overflow: hidden;
  padding-bottom: 2.8rem;
  position: relative;
}

.swiper-slide {
  background-color: #fff;
  height: max(420px, min(64vw, 733px));
  position: relative;
}

.swiper-slide .p-mv__img {
  -o-object-fit: cover;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0;
}

.swiper-pagination-bullet {
  background: #D0D0D0;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #808080;
}

.u-xs-none {
  display: none;
}

@media screen and (min-width: 544px) {
  .u-sm-none {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-md-none {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .u-lg-none {
    display: none;
  }
}

@media screen and (min-width: 1236px) {
  .u-xl-none {
    display: none;
  }
}

.u-sm-block {
  display: none;
}

@media screen and (min-width: 544px) {
  .u-sm-block {
    display: block;
  }
}

.u-md-block {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-md-block {
    display: block;
  }
}

.u-lg-block {
  display: none;
}

@media screen and (min-width: 992px) {
  .u-lg-block {
    display: block;
  }
}

.u-xl-block {
  display: none;
}

@media screen and (min-width: 1236px) {
  .u-xl-block {
    display: block;
  }
}

.u-md-lg-block {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-md-lg-block {
    display: block;
  }
}

/*========= 切り替え ==========*/
.u-sp {
  display: block;
}

.u-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }

  .u-pc {
    display: block;
  }
}

/* =========================================================
   トップ
========================================================= */
/* 共通：SPはこれまで通り縦積みでOK */
.feature {
  /*padding: 0 0 20px 0;*/
}

@media screen and (min-width: 768px) {
  .feature__item {
    margin: 0 0 60px;
    padding: 30px 0 0;
  }
}

.feature__item:last-child {
  margin-bottom: 0;
}

.feature__content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ▼ 基本（1段目など奇数）＝左テキスト・右画像 */
.feature__item:nth-child(odd) .feature__image {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.feature__item:nth-child(odd) .feature__text {
  margin-right: initial;
  padding: initial;
  order: 2;
}

/* 差分 */
.feature__item:nth-child(odd) .feature__text,
.feature__item:nth-child(even) .feature__text {
  margin-top: -80px;
  background: rgba(255, 255, 255, 0.8);
  margin-right: initial;
  padding: 30px 20px 34px;
  order: 2;
  max-width: 83.5%;
  margin: -80px auto 0 auto;
}

@media (min-width: 768px) {
  .feature {
    padding: 40px 20px;
  }

  .feature__item {
    padding: initial;
  }
}

/* 差分 */
@media (min-width: 1024px) {
  .feature__item:nth-child(odd) .feature__text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
    max-width: 560px;
    margin-left: auto;
    margin-right: -16rem;
    background: rgba(255, 255, 255, 0.8);
    padding: 36px;
    position: relative;
    z-index: 1;
    margin-top: initial;
  }
}

/* ▼ 偶数（2段目など）＝右テキスト・左画像 */
.feature__item:nth-child(even) .feature__image {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.feature__title {
  line-height: 1.6;
  display: inline-block;
  font-size: clamp(2.8rem, 1.6rem + 2vw, 4rem);
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  margin: 0 0 16px;
  background: linear-gradient(90deg, #9B623A 0%, #4A2409 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.feature__description {
  font-size: clamp(1.6rem, 1.2rem + 0.6vw, 2rem);
}

@media (min-width: 1024px) {

  .feature {
    padding: 48px 0 0;
  }

  .feature__item {
    margin-bottom: 0;
  }

  .feature__content {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 2.5fr);
    align-items: stretch;
    margin-bottom: 16px;
  }

  .feature__content--reverse {
    grid-template-columns: minmax(0, 2.5fr) minmax(0, 1.5fr);
  }

  .feature__image {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .feature__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .feature__text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
    max-width: 497px;
    margin-left: auto;
    margin-right: -80px;
    background: rgba(255, 255, 255, 0.92);
    padding: 40px 48px;
    position: relative;
    z-index: 1;
  }

  .feature__item:nth-child(even) .feature__text {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: center;
    max-width: 560px;
    margin-left: -16rem;
    margin-right: auto;
    background: rgba(255, 255, 255, 0.8);
    padding: 36px;
    position: relative;
    z-index: 1;
    margin-top: initial;
  }
}

/* Facility Section */
.facility {
  color: #fff;
  padding: 0;
  text-align: center;
  position: relative;
  background-image: url("assets/img/dst/common/img_living room_02.jpg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
  overflow: hidden;
}

.facility .l-content {
  padding: 0;
}

.facility__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 41vw;
}

.facility__container .c-heading {
  display: block;
  width: fit-content;
  margin-bottom: 8px;
  padding: 12px;
}

@media (min-width: 768px) {
  .facility__container .c-heading {
    margin-bottom: 16px;
    padding: 12px;
  }
}

.facility__container h2.c-heading::before {
  top: 8px;
  left: -20px;
}

.facility__container h2.c-heading::after {
  bottom: 8px;
  right: -20px;
}

.facility__text {
  position: relative;
  padding: 32px;
  color: #fff;
  position: relative;
}

.facility__text {
  position: relative;
  padding: 16px 32px;
  color: #fff;
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
}

.facility__description {
  font-size: 1.4rem;
  margin-bottom: 8px;
  position: relative;
  text-align: left;
}

.facility__button {
  display: block;
  padding: 8px 24px;
  border: 1px solid #fff;
  border-radius: 25px;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  transition: all 0.3s;
  max-width: 140px;
  margin: 0 auto;
  position: relative;
}

.facility__button::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 2px;
}

.facility__button:hover {
  background: #FFE500;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  animation: 2s ease infinite;
}

.facility__image {
  margin-top: 30px;
}

/* access */
.access__map-wrapper {
  margin-bottom: 16px;
}

.access__map-wrapper iframe {
  max-width: 100%;
  min-height: 258px;
}

.access__map {
  width: 100%;
  display: block;
}

.access__address {
  text-align: left;
  margin-bottom: 24px;
}

.access__details-box {
  border: 1px solid #121212;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.access__col-title,
.access__address p,
.access__detail-col {
  font-size: 1.6rem;
}

.access__address p {
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .access__map-wrapper {
    margin-bottom: 20px;
  }

  .access__details-box {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding: 24px;
  }

  .access__detail-col {
    font-size: 1.8rem;
    width: 48%;
  }

  .access__map-wrapper iframe {
    min-height: 480px;
  }

  .access__col-title {
    font-size: 1.8rem;
  }

  .access__address p {
    font-size: 2rem;
    margin-bottom: 8px;
  }

  .access__address {
    text-align: center;
    margin-bottom: 36px;
  }
}

/* Tourism Section */
.tourism {
  color: #fff;
  padding: 0;
  text-align: center;
  position: relative;
  background-image: url("assets/img/dst/common/img_sightseeing_01.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 -80px;
  overflow: hidden;
}

.tourism .l-content {
  padding: 0;
}

.tourism__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 51.5vw;
}

.tourism__container .c-heading {
  display: block;
  width: fit-content;
  margin-bottom: 0;
  padding: 8px;
}

@media (min-width: 768px) {
  .tourism__container .c-heading {
    margin-bottom: 8px;
    padding: 12px;
  }
}

.tourism__container h2.c-heading::before {
  top: 8px;
  left: -20px;
}

.tourism__container h2.c-heading::after {
  bottom: 8px;
  right: -20px;
}

.tourism__text {
  position: relative;
  padding: 32px;
  color: #fff;
  position: relative;
}

.tourism__text {
  position: relative;
  padding: 16px 32px;
  color: #fff;
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
}

.tourism__description {
  font-size: 1.4rem;
  margin-bottom: 8px;
  position: relative;
  text-align: left;
}

@media (min-width: 768px) {
  .tourism__description {
    margin-bottom: 25px;
  }
}

.tourism__button {
  display: block;
  padding: 8px 24px;
  border: 1px solid #fff;
  border-radius: 25px;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  transition: all 0.3s;
  max-width: 140px;
  margin: 0 auto;
  position: relative;
}

.tourism__button::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 2px;
}

.tourism__image {
  margin-top: 30px;
}

/* Desktop styles (768px and above) */
@media (min-width: 1024px) {

  .facility,
  .tourism {
    background-size: cover;
    background-position: center;
    padding: 80px 60px;
  }

  .facility .l-content,
  .tourism .l-content {
    padding: 0 1.6rem;
  }

  .facility__container,
  .tourism__container {
    padding-top: initial;
    flex-direction: row;
    justify-content: flex-end;
  }

  .facility,
  .tourism {
    padding: 80px 60px;
  }

  .facility__text,
  .tourism__text {
    background: none;
    max-width: 314px;
    padding: 32px;
  }

  .facility__text::before,
  .tourism__text::before {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
    mix-blend-mode: multiply;
    pointer-events: none;
    z-index: 0;
  }

  .facility__text,
  .tourism__text {
    flex: 1;
    max-width: 31.6rem;
    text-align: left;
  }

  .facility__image-wrapper {
    flex: 1;
  }

  .facility__description,
  .tourism__description {
    font-size: 1.6rem;
  }

  .facility__description {
    margin-bottom: 25px;
  }

  .facility__image,
  .tourism__image {
    margin-top: 0;
  }

  /* hover用の黄色フィルター */
  .facility__button::before,
  .tourism__button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
    border-radius: 25px;
  }

  .facility__button:hover::before,
  .tourism__button:hover::before {
    opacity: 1;
  }

  /* 中身を前面に */
  .facility__button span,
  .tourism__button span {
    position: relative;
    z-index: 1;
  }
}

/* news */
.p-top-news {
  padding: 40px 0;
}

.p-top-news__filter {
  margin-top: 24px;
  border-bottom: 2px solid #8b4a1f;
  overflow-x: auto;
}

.p-top-news__filter::-webkit-scrollbar {
  display: none;
}

.p-top-news__filter-list {
  display: flex;
  gap: 8px;
  padding: 0 0 0 4px;
  margin: 0;
  list-style: none;
}

.p-top-news__filter-item {
  flex: 0 0 auto;
}

.p-top-news__filter-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  min-width: 44px;
  border-radius: 8px 8px 0 0;
  border: 1px solid #623210;
  border-bottom: none;
  background-color: #fff;
  color: #8b4a1f;
  text-decoration: none;
  white-space: nowrap;
}

.p-top-news__filter-link--current {
  background-color: #623210;
  color: #fff;
}

.p-top-news-list {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.p-top-news-list__item {
  padding: 16px 0;
}

.p-top-news-list__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.p-top-news-list__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.p-top-news-list__date {
  font-size: 1.3rem;
}

.p-top-news-list__category {
  display: inline-block;
  padding: 4px 16px;
  font-size: 1.2rem;
  border-radius: 999px;
  background-color: #8b4a1f;
  color: #fff;
}

.p-top-news-list__text {
  font-size: 1.4rem;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (hover: hover) {
  .p-top-news-list__link:hover {
    opacity: 0.8;
  }
}

.p-top-news__button {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

@media screen and (min-width: 768px) {
  .p-top-news {
    padding: 60px 0;
  }

  .p-top-news__filter {
    margin-top: 32px;
  }

  .p-top-news__filter-list {
    justify-content: flex-start;
    padding-left: 0;
  }

  .p-top-news-list {
    margin-top: 32px;
  }

  .p-top-news-list__item {
    padding: 20px 0;
  }

  .p-top-news-list__text {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
    overflow: visible;
  }

  .p-top-news__button {
    justify-content: flex-end;
    margin-top: 32px;
  }
}


/* =========================================================
   下層
========================================================= */
/*======= 見出し（h1）========*/
.hero-section {
  position: relative;
  width: 100%;
  height: 400px;
}

.hero-section.l-mv-common {
  height: 240px;
  margin-top: 12px;
}

.l-hero-section {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 300px;
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

.hero-content-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.2);
}

.hero-section h1,
.l-hero-section h1 {
  font-size: 3.2rem;
  color: #fff;
  margin: 0;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .hero-section {
    height: 640px;
    margin-top: -28px;
  }

  .p-column-archive .hero-section {
    height: 640px;
    margin-top: 0;
  }

  .hero-section.l-mv-common {
    height: 300px;
    margin-top: 0;
  }

  .hero-sectio,
  .l-hero-section {
    height: 100%;
    margin: -28px auto 0 auto;
  }

  .hero-section h1,
  .l-hero-section h1 {
    font-size: 4.8rem;
  }

  .hero-image img {
    max-height: 640px;
    object-position: 0 80%;
  }

  .l-hero-section .hero-image img {
    max-height: 300px;
  }

  .l-hero-section img.l-mv-common {
    max-height: 300px;
  }
}

/*======= コンテンツ余白 ========*/
.facility,
.access,
.p-facility,
.tourism,
.p-top-news__body,
.sight,
.about__section {
  margin-bottom: 64px;
}

.feature {
  margin-top: 32px;
  margin-bottom: 52px;
}

@media (min-width: 768px) {

  .facility,
  .access,
  .p-facility,
  .feature,
  .tourism,
  .p-top-news__body,
  .sight,
  .about__section {
    margin-bottom: 80px;
  }
}

/*----------------------------------------
   施設紹介
----------------------------------------*/
.p-facility {
  /*padding: 0 0 20px 0;*/
}

/*.p-facility__item {
  margin: 0 0 40px;
}*/

.p-facility__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 画像：比率を保つ */
.p-facility__image {
  position: relative;
  overflow: hidden;
  /* 好きな比率に調整：16/9, 4/3 など */
  aspect-ratio: 4 / 3;
}

.p-facility__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* テキストカード：モバイルは素直に画像の下に出す */
.p-facility__text {
  background: rgba(255, 255, 255, 0.92);
  padding: 20px 16px 0;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  order: 2;
  z-index: 1;
}

/* 奇数・偶数の共通ベース：モバイルでは左右入れ替えなし */
.p-facility__item:nth-child(odd) .p-facility__text,
.p-facility__item:nth-child(even) .p-facility__text {
  margin-top: 0;
}

/* タイトル・本文 */
.p-facility__title {
  line-height: 1.6;
  display: inline-block;
  font-size: clamp(2.8rem, 1.6rem + 2vw, 4rem);
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  margin: 0 0 16px;
  background: linear-gradient(90deg, #9B623A 0%, #4A2409 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-facility__description,
.p-facility-single__overview-body {
  font-size: clamp(1.6rem, 1rem + 2vw, 2rem);
}

@media (min-width: 1024px) {
  .p-facility {
    padding: 48px 0 0;
  }

  .p-facility__content {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 50px;
    margin-bottom: 16px;
  }

  /* デフォ：左テキスト・右画像（奇数） */
  .p-facility__image {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .p-facility__text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: self-start;
    max-width: 474px;
    margin-left: auto;
    margin-right: 0;
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-left: 1.6rem;
  }

  /* 偶数だけ左右反転 */
  .p-facility__item:nth-child(even) .p-facility__image {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .p-facility__item:nth-child(even) .p-facility__text {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    max-width: 560px;
    margin-left: -80px;
    margin-right: auto;
  }

  .p-facility__title {
    margin-bottom: 20px;
  }

  /* hover用フィルター */
  a.p-facility__link {
    position: relative;
  }

  a.p-facility__link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(49, 23, 4, 0.25);
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 0;
  }

  a.p-facility__link:hover::before {
    opacity: 1;
  }

  /* テキストを前面に */
  a.p-facility__link span {
    position: relative;
    z-index: 1;
  }

  .p-page-fac .p-act__item {
    position: relative;
  }

  .p-page-fac .p-ant__entry {
    margin-bottom: 60px;
  }

  .p-page-fac .c-entry__price {
    position: absolute;
    padding: 10px 10px 24px;
    bottom: 0;
    right: 0;
  }
}

@media (min-width: 1236px) {
  .p-facility__text {
    padding-left: 0;
  }
}

/*========== 施設一覧 ==========*/
.p-facility-single__subtitle {
  margin-bottom: 64px;
}

.p-facility__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.p-facility__item {
  position: relative;
}

.p-facility__thumb img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
}

.p-facility__name {
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px 16px;
  font-size: 1.6rem;
}

.p-facility__name::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  bottom: 0px;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgb(212 160 123) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 0;
  width: 100%;
}

.p-facility__name span {
  position: relative;
  white-space: nowrap;
}

.p-facility__name span:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 32px;
  margin-bottom: 2px;
}

/*========= ギャラリー ==========*/
.p-facility-single__gallery-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-facility-single__gallery-link img {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
  position: relative;
}

.p-facility-single__gallery-item {
  position: relative;
}

.p-facility-single__gallery-item::after {
  content: "";
  position: absolute;
  background: url("assets/img/dst/common/i-search.svg") no-repeat center center;
  background-size: contain;
  width: 24px;
  height: 24px;
  bottom: 0.8rem;
  right: 0.8rem;
  pointer-events: none;
}

@media screen and (min-width: 1024px) {
  .p-facility-single__gallery-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .p-facility__list {
    gap: 40px 16px;
    grid-template-columns: 1fr 1fr;
  }
}

/*========== 宿泊プラン ==========*/
.plans__intro {
  text-align: left;
  margin-bottom: 16px;
  font-size: 1.6rem;
}

/* 宿泊施設 */
.plan-card {
  margin-bottom: 32px;
}

.plan-card:last-of-type {
  border-bottom: none;
}

.plan-card__image-area {
  margin-bottom: 16px;
}

.plan-card__img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.plan-card__title {
  font-size: 2.4rem;
  color: #623210;
  border-bottom: 1px solid;
  padding-bottom: 8px;
  padding-left: 8px;
  margin-bottom: 16px;
}

.plan-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 1.6rem;
}

.plan-card__desc {
  font-size: 1.4rem;
  margin-bottom: 20px;
  text-align: justify;
}

.plan__note {
  margin-bottom: 40px;
}

.plan-card--guide {
  width: 100%;
}

.plan-card--guide__container {
  width: 100%;
  max-width: 1136px;
  margin: 0 auto;
}

.plan-card--guide__header {
  margin-bottom: 0;
}

.plan-card--guide__title {
  display: block;
  width: 126px;
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  color: #ffffff;
  font-size: 18px;
  font-weight: normal;
  padding: 4px 22px;
  margin: 0 auto 16px auto;
  text-align: center;
}

.plan-card--guide__content {
  background-color: #FFF6E9;
  padding: 20px 24px;
}

.plan-card--guide__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: 16px;
  line-height: 1.8;
  width: 100%;
}

.plan-card--guide__label {
  margin-right: 0.5em;
}


.plan-card--guide__item {
  font-size: 16px;
  line-height: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.plan-card--guide__label {
  color: #333333;
  font-weight: 500;
}

.plan-card--guide__price {
  color: #333333;
  margin-left: 4px;
}

.plan-card--guide__note {
  color: #333333;
  font-size: 16px;
  margin-left: 12px;
}

.plan-card--guide__button {
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  color: #ffffff;
  border: none;
  border-radius: 50px;
  padding: 10px 30px 10px 40px;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 246px;
  margin: 0 auto;
  position: relative;
}

/* hover用フィルター */
.plan-card--guide__button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 50px;
}

.plan-card--guide__button:hover::before {
  opacity: 1;
}

/* テキストを前面に */
.plan-card--guide__button span {
  position: relative;
  z-index: 1;
}

.plan-card--guide__button-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.plan-card--guide__button-text {
  flex-shrink: 0;
}

.plan-card--guide__button img {
  max-width: 40px;
}

.plan-card--guide__cnt {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  font-size: 1.6rem;
  margin: 0 0 16px;
}

.plan-card--guide__list {
  gap: 8px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  width: calc(50% - 5px);
  flex-basis: 60.5%;
}

.pl-guide-note {
  flex-direction: column;
  height: fit-content;
}

@media (min-width: 1024px) {
  .plans__intro {
    text-align: center;
    margin-bottom: 30px;
  }

  .plan-card--guide__cnt {
    align-items: flex-start;
    font-size: 1.8rem;
  }

  .num-3 {
    order: 3;
  }

  .pl-guide-note {
    margin-left: 4rem;
  }
}

@media (min-width: 1024px) {

  .plan-card--guide__header {
    margin-bottom: 0;
  }

  .plan-card--guide__title {
    width: auto;
    padding: 8px 16px;
  }

  .plan-card--guide__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
  }

  .plan-card--guide__list {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-auto-flow: column;
    gap: 0 40px;
    flex: 1;
    max-width: 540px;
    align-items: baseline;
  }

  .plan-card--guide__item {
    width: 50%;
    font-size: 18px;
    margin-bottom: 0;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  .plan-card--guide__note {
    font-size: 18px;
    width: auto;
    margin-left: 12px;
    margin-top: 0;
    margin-left: 5rem;
  }

  .plan-card--guide__button {
    width: auto;
    flex-shrink: 0;
    font-size: 18px;
    justify-content: flex-end;
    align-self: anchor-center;
    margin-right: 0;
    position: relative;
  }

  .plan-card--guide__button img {
    position: relative;
  }
}


.btn--outline {
  display: block;
  padding: 8px 24px;
  border: 1px solid #623210;
  border-radius: 25px;
  color: #623210;
  text-decoration: none;
  font-size: 1.4rem;
  transition: all 0.3s;
  max-width: 195px;
  margin-left: auto;
  position: relative;
}

.btn--outline::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #623210;
  border-right: 1px solid #623210;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 2px;
}

/* hover用フィルター */
.btn--outline::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 50px;
}

.btn--outline:hover::before {
  opacity: 1;
}

/* テキストを前面に */
.btn--outline span {
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .plans__intro {
    font-size: 2rem;
  }

  .plan-card {
    padding-bottom: 0;
    margin-bottom: 40px;
  }

  .plan-card__meta {
    font-size: 2rem;
  }

  .plan-card__desc {
    font-size: 1.8rem;
  }

  .plan-card__cnt {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
  }

  .plan-card__image-area {
    width: 40%;
    margin-bottom: 0;
  }

  .plan-card__content {
    width: 60%;
  }

  .plan-card__title {
    font-size: 2.8rem;
  }

  .plan-card__price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 20px;
  }

  .plan-card__action {
    margin-top: 0;
  }

  .plan__note {
    font-size: 1.8rem;
  }
}

/* アメニティ */
.amenities-table {
  margin: 0 0 64px;
}

.amenities-table__row {
  display: flex;
  flex-direction: column;
  border: 1px solid #623210;
  margin-bottom: 16px;
}

.amenities-table__head {
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  color: #fff;
  padding: 10px;
  font-size: 1.8rem;
  text-align: center;
}

.amenities-table__data {
  padding: 10px;
  font-size: 1.6rem;
}

@media (min-width: 1024px) {
  .amenities-table {
    margin: 0 0 80px;
  }

  .amenities-table__row {
    flex-direction: row;
  }

  .amenities-table__head {
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
  }

  .amenities-table__data {
    font-size: 1.8rem;
    width: calc(100% - 200px);
    padding: 20px;
  }
}

/*========== アクティビティ一覧 ==========*/
.p-act__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.p-act__intro {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 16px;
}

.p-act__item {
  background: #FFF6E9;
  padding: 12px 12px 20px;
  border-radius: 8px;
}

.p-act__thumb {
  margin-bottom: 16px;
}

.p-act__thumb img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.p-act__name {
  color: #623210;
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid #623210;
}

.p-act__read {
  font-size: 1.4rem;
}

.c-entry__price {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.c-entry__fixed-text {
  margin-top: 0.5rem;
  font-size: 1.6rem;
}

.c-entry__price-main {
  font-size: 2.4rem;
}

.activities__note {
  margin: 24px 0;
  font-size: 1.4rem;
}

.facility-notes {
  margin: 24px 0 38px;
  border-top: 1px solid #000;
}

.facility-notes h3.notes__head {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 12px;
  padding-top: 24px;
}

@media (min-width: 1024px) {
  .p-act__list {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-act__intro {
    font-size: 2rem;
    margin-bottom: 32px;
  }

  .p-act__read {
    font-size: 1.6rem;
  }

  .c-entry__price-main {
    font-size: 2.8rem;
  }

  .activities__note {
    margin: 32px 0 80px;
    font-size: 1.8rem;
  }

  .facility-notes {
    margin: 80px 0 38px;
  }

  .facility-notes h3.notes__head {
    font-size: 2rem;
  }

  .facility-notes .notes__content {
    font-size: 1.8rem;
  }

}

/*----------------------------------------
  周辺観光
----------------------------------------*/
/* 共通：SPはこれまで通り縦積みでOK */
.sight {
  padding: initial;
}

.sight__item {
  margin-bottom: 60px;
}

.sight__item:last-child {
  margin-bottom: 0;
}

.sight__content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sight__intro {
  font-size: 1.6rem;
  margin-bottom: 30px;
}

.sight__image {
  position: relative;
}

/* ▼ 基本（1段目など奇数）＝左テキスト・右画像 */
.sight__item:nth-child(odd) .sight__image {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.sight__item:nth-child(odd) .sight__text {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  align-self: end;
  max-width: 656px;
  margin-left: -80px;
  margin-right: auto;
  background: rgba(255, 255, 255, 1);
  padding: 40px 48px;
  position: relative;
  z-index: 1;
  order: 2;
  padding: 30px 20px;
  max-width: 90%;
  margin: -50px auto;
}

@media (min-width: 1024px) {
  .sight {
    padding: 40px 20px;
  }

  .sight__intro {
    font-size: 2rem;
  }

  .sight__item:nth-child(odd) .sight__text {
    margin: initial;
    padding: initial;
  }

  .sight__item:nth-child(odd) .sight__text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: end;
    max-width: 656px;
    margin-left: auto;
    margin-right: -80px;
    background: rgba(255, 255, 255, 1);
    padding: 40px 48px;
    position: relative;
    z-index: 1;
  }
}

@media (min-width: 1512px) {
  .sight__item:nth-child(odd) .sight__text {
    max-width: 100%;
    margin-right: auto;
  }
}

/* ▼ 偶数（2段目など）＝右テキスト・左画像 */
.sight__item:nth-child(even) .sight__image {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.sight__item:nth-child(even) .sight__text {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  align-self: end;
  max-width: 656px;
  margin-left: -80px;
  margin-right: auto;
  background: rgba(255, 255, 255, 1);
  padding: 40px 48px;
  position: relative;
  z-index: 1;
  order: 2;
  padding: 30px 20px;
  max-width: 90%;
  margin: -50px auto;
}

.sight__title {
  line-height: 1.6;
  display: inline-block;
  font-size: 28px;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  margin: 0 0 16px;
  background: linear-gradient(90deg, #9B623A 0%, #4A2409 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sight__description {
  font-size: 1.6rem;
}

.sight__kasai-nav {
  margin: 64px auto;
  text-align: center;
}

.sight__kasai-nav img {
  max-width: 320px;
  margin-top: 32px;
}

.sight__kasai-nav {
  font-size: 2rem;
}

@media (min-width: 1024px) {
  .sight {
    padding: 48px 0 0;
  }

  .sight__item {
    margin-bottom: initial;
  }

  .sight__content {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr);
    align-items: stretch;
    margin-bottom: 12rem;
  }

  .sight__image {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .sight__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .sight__text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: end;
    max-width: 497px;
    margin-left: auto;
    margin-right: -80px;
    background: rgba(255, 255, 255, 0.92);
    padding: 40px 48px;
    position: relative;
    z-index: 1;
  }

  .sight__title {
    font-size: 4rem;
    margin-bottom: 20px;
  }

  .sight__description {
    font-size: 2rem;
  }

  .sight__kasai-nav {
    font-size: 2.4rem;
  }

  .sight__item:nth-child(even) .sight__text {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: end;
    max-width: 656px;
    margin-left: -80px;
    margin-right: auto;
    background: rgba(255, 255, 255, 1);
    padding: 40px 48px;
    position: relative;
    z-index: 1;
  }
}

@media (min-width: 1512px) {
  .sight__item:nth-child(even) .sight__text {
    max-width: 100%;
    margin-left: auto;
  }
}

.p-sightseeing__gourmet-title {
  letter-spacing: 0.1em;
  color: #b66a2a;
  margin-bottom: 8px;
}

.p-sightseeing__gourmet-lead {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 24px;
  text-align: left;
}

.p-sightseeing__gourmet-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.p-sightseeing__gourmet-card {
  background-color: #fff5e7;
  text-align: center;
  margin-bottom: 16px;
  padding: 0 0 26px;
}

.p-sightseeing__gourmet-map img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 12px;
}

.p-sightseeing__gourmet-map iframe {
  min-height: 258px;
}

.p-sightseeing__gourmet-name {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  padding: 6px;
  background: #9B623A;
  background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  text-align: center;
}

.p-sightseeing__gourmet-address {
  font-size: 1.6rem;
  margin-bottom: 16px;
}

.p-sightseeing__gourmet-link {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 20px;
  border: 1px solid #623210;
  text-decoration: none;
  color: #623210;
  position: relative;
}

/* hover用フィルター */
.p-sightseeing__gourmet-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 50px;
}

.p-sightseeing__gourmet-link:hover::before {
  opacity: 1;
}

/* テキストを前面に */
.p-sightseeing__gourmet-link span {
  position: relative;
  z-index: 1;
}

.p-sightseeing__gourmet-more {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.p-sightseeing__gourmet-more-link {
  color: #115FFB;
  text-decoration: none;
}

.p-sightseeing__gourmet-body {
  padding-top: 10px;
}

@media (min-width: 768px) {
  .p-sightseeing {
    padding: 64px 0 96px;
  }

  .p-sightseeing__gourmet-lead {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 52px;
  }

  .p-sightseeing__lead {
    max-width: 720px;
    margin-bottom: 48px;
  }

  .p-sightseeing__item {
    display: flex;
    align-items: flex-start;
    column-gap: 56px;
    margin-bottom: 80px;
  }

  .p-sightseeing__item--media-right {
    flex-direction: row-reverse;
  }

  .p-sightseeing__gourmet-map iframe {
    min-height: 416px;
  }

  .p-sightseeing__item-media,
  .p-sightseeing__item-content {
    flex: 1 1 50%;
  }

  .p-sightseeing__item-media {
    margin-bottom: 0;
  }

  .p-sightseeing__item-title {
    font-size: 2rem;
    margin-bottom: 16px;
  }

  .p-sightseeing__navi {
    margin: 24px 0 72px;
  }

  .p-sightseeing__gourmet-title {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .p-sightseeing__gourmet-more {
    font-size: 2.8rem;
  }

  .p-sightseeing__gourmet-list {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 32px;
  }

  .p-sightseeing__gourmet-card {
    width: calc(50% - 12px);
    margin-bottom: 0;
  }

  .p-sightseeing__gourmet-address {
    font-size: 2rem;
  }
}

/*----------------------------------------
   わたしたちについて
----------------------------------------*/
/*========== 共通 ==========*/
.section-title__text {
  letter-spacing: 0.3rem;
}

/*========== ご挨拶 ==========*/
.about__content {
  display: block;
}

.about__text-body {
  /*padding-top: 30px;*/
}

/* --- Images Area --- */
.about__images {
  position: relative;
  width: 100%;
  min-height: 294px;
  margin-bottom: 0;
}

.about__figure {
  margin: 0;
  position: absolute;
  width: 100%;
}

/* Farm Image (Top Left) */
.about__figure--farm {
  top: 0;
  left: 0;
  z-index: 1;
}

/* Store Image (Bottom Right) */
.about__figure--store {
  bottom: 0;
  right: 0;
  z-index: 2;
}

/* --- Text Area --- */
.about__desc {
  font-size: 1.6rem;
  margin-bottom: 20px;
}

.about__signature {
  text-align: right;
  font-size: 2rem;
  margin-top: 24px;
}

@media screen and (min-width: 768px) {
  .about__desc {
    font-size: 1.8rem;
  }

  .about__text-body {
    padding-top: initial;
  }

  .about__signature {
    font-size: 2.4rem;
  }
}

/*========== 概要 ==========*/
.about__section--overview {
  padding: 60px 0;
  background-color: #FFF6E9;
}

.overview-list {
  width: 100%;
  margin: 0;
}

.overview-list__row {
  border-bottom: 1px solid #8C7156;
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  /* モバイルは縦積み */
}

.overview-list__term {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
}

.overview-list__desc {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}

.overview-list__desc--highlight {
  color: var(--color-accent-pink);
  font-weight: bold;
}

@media (min-width: 768px) {

  /* --- Greeting Section --- */
  .about__content {
    display: flex;
    align-items: flex-start;
  }

  /* 画像エリアとテキストエリアを横並び */
  .about__images {
    width: 48.5%;
    height: 400px;
    margin-bottom: 0;
  }

  .about__text-body {
    width: 49.3%;
    max-width: 560px;
    padding-left: 22px;
  }

  /* PCでの画像サイズ調整 */
  .about__figure--farm {
    top: 0;
    left: 0;
  }

  .about__figure--store {
    bottom: 0;
    right: 0;
    left: auto;
  }

  /* --- Overview Section --- */
  .about__section--overview {
    padding: 80px 0;
  }

  .overview-list {
    max-width: 752px;
    margin: 0 auto;
  }

  .overview-list__row {
    flex-direction: row;
    align-items: baseline;
    padding: 20px 0;
  }

  .overview-list__term {
    width: 200px;
    flex-shrink: 0;
    margin-bottom: 0;
  }

  .overview-list__desc {
    flex-grow: 1;
  }
}

/*----------------------------------------
   コラム
----------------------------------------*/
.column_intro {
  font-size: 1.6rem;
  margin: 0 0 24px;
}

@media (min-width: 768px) {
  .column_intro {
    font-size: 2rem;
  }
}

/* =========================================================
   フッターエリア
========================================================= */
footer {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  footer {
    display: grid;
    grid-template-columns: 1fr 2fr;
  }
}

footer .p-f-map {
  background-color: #FFF6E9;
  padding: 40px 0 30px;
}

footer .p-f-map__title {
  font-size: 20px;
  font-weight: bold;
  color: #623210;
  margin-bottom: 30px;
  text-align: center;
}

footer .p-f-map__inner {
  max-width: 828px;
}

footer .p-f-map__list {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

footer .p-f-map__item {
  border-bottom: 1px solid #8b6f47;
  display: block;
}

footer .p-f-map__item-title {
  font-size: 15px;
  font-weight: bold;
  color: #5c3a21;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
  line-height: 1.4;
}

footer .p-f-map__item-title:hover {
  opacity: 0.7;
}

footer .p-f-map__child-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0 24px;
  margin-bottom: 8px;
}

footer .p-f-map__child-item {
  margin-bottom: 0;
}

footer .p-f-map__child-item a {
  font-size: 1.4rem;
  color: #5c3a21;
  text-decoration: none;
  display: block;
  padding: 0;
}

footer .p-f-map__child-item a:hover {
  opacity: 0.7;
}

footer .p-f-overview {
  background-color: #fff;
  padding: 40px 0 20px;
}

footer .p-f-overview__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 25px;
}

footer .p-f-overview__logo img {
  max-width: 160px;
  height: auto;
}

footer .p-f-overview__info {
  width: 100%;
}

footer .p-f-overview__info-title {
  font-size: 2.4rem;
  font-weight: bold;
  color: #000;
  margin-bottom: 12px;
}

footer .p-f-overview__info-body {
  display: flex;
  flex-direction: column;
}

footer .p-f-overview__info-text {
  font-size: 1.8rem;
  color: #121212;
}

footer .p-f-overvies__button {
  white-space: nowrap;
}

footer .c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background-color: #8b6f47;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
  font-size: 1.6rem;
  font-weight: bold;
  transition: background-color 0.3s;
  gap: 8px;
  width: 100%;
  max-width: 280px;
}

footer .c-button:hover {
  background-color: #6f5638;
}

footer .c-button__icon {
  font-size: 16px;
}

footer .c-button__label {
  line-height: 1;
}

footer .p-footer__copyright {
  display: block;
  text-align: center;
  padding: 15px;
  color: #623210;
  font-size: 12px;
}

footer .cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(90deg, #a36d4d 0%, #5e3a1e 100%);
  border-radius: 100px;
  font-size: 18px;
  font-weight: 500;
  height: 60px;
  transition: opacity 0.3s;
  width: 246px;
}

footer .cta-btn.btn_mail,
footer .cta-btn.btn_reserve {
  display: none;
}

footer .cta-btn.btn_insta {
  width: 60px;
  margin-left: 24rem;
  font-size: 3.2rem;
}


@media (min-width: 1024px) {
  footer .p-f-map {
    padding: 48px 0 96px 10.6%;
    order: 1;
  }

  footer .p-f-map__title {
    font-size: 24px;
    margin-bottom: 24px;
    text-align: left;
  }

  footer .p-f-map__list {
    gap: 30px 40px;
  }

  footer .p-f-map__item {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
  }

  footer .p-f-map__item-title {
    font-size: 18px;
    margin-bottom: 15px;
    margin-right: 20px;
    min-width: 147px;
  }

  footer .p-f-map__child-list {
    gap: 20px;
  }

  footer .p-f-map__child-item a {
    font-size: 1.6rem;
  }

  footer .p-f-overview {
    padding: 50px 0 30px;
  }

  footer .p-f-overview__inner {
    display: grid;
    align-items: center;
    justify-content: flex-end;
    gap: 32px;
    margin-right: 74px;
    text-align: left;
  }

  footer .p-f-overview__logo img {
    max-width: 180px;
  }

  footer .p-f-overview__info {
    flex: 1;
  }

  footer .p-f-overview__info-title {
    margin-bottom: 15px;
  }

  footer .c-button {
    width: auto;
    max-width: none;
  }

  footer .p-footer__copyright {
    font-size: 12px;
    padding: 20px;
  }

  footer .cta-container {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 15px;
    max-width: 305px;
    margin: 0 auto;
  }

  /* グラデーションhover動作設定 */
  footer .cta-btn {
    position: relative;
    z-index: 1;
    padding: 15px 0;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    background: linear-gradient(90deg, rgba(155, 98, 58, 1) 0%, rgba(74, 36, 9, 1) 100%);
  }

  /* hover用フィルター */
  footer .cta-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
    border-radius: 50px;
  }

  footer .cta-btn:hover::before {
    opacity: 1;
  }

  /* テキストを前面に */
  footer .cta-btn>* {
    position: relative;
    z-index: 1;
  }

  footer .cta-btn i {
    font-size: 24px;
    margin-right: 10px;
  }

  footer .cta-btn span img {
    display: block;
    width: 40px;
    height: auto;
  }

  footer .cta-btn.btn_mail,
  footer .cta-btn.btn_reserve {
    display: flex;
  }

  footer .cta-btn.btn_insta {
    margin-left: initial;
    font-size: initial;
  }

  footer .btn_mail {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  footer .btn_insta {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 60px;
    padding: 0;
    border-radius: 50%;
  }

  footer .btn_insta i {
    margin-right: 0;
    font-size: 30px;
  }

  /* ご予約ボタン (左下) */
  footer .btn_reserve {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  footer .cta-btn_inr {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 4px;
  }
}

/* =========================================================
  下層ページ（共通）
========================================================= */
/*========= 画像キャプション ==========*/
.img-caption,
.top-img-cation {
  position: absolute;
  color: #fff;
  display: block;
  bottom: 16px;
  font-size: 1.4rem;
  z-index: 1;
}

.img-caption.l-mv {
  right: 50px;
}

.img-caption.cap-1,
.img-caption.cap-2 {
  top: 8px;
  right: 16px;
}

.img-caption.blk {
  color: #121212;
}

.top-img-cation {
  color: #121212;
  left: 20px;
  bottom: 190px;
}

@media (min-width: 1024px) {
  .img-caption.l-mv {
    right: 18.8rem;
  }

  .img-caption.cap-1 {
    top: initial;
    bottom: 16px;
    right: 50px;
  }

  .img-caption.cap-2 {
    top: initial;
    right: initial;
    bottom: 16px;
    left: 50px;
  }

  .top-img-cation {
    left: 188px;
    color: #fff;
    bottom: 16px;
  }
}

/* =========================================================
  汎用性class
========================================================= */
/*========= リンク設定 ==========*/
.more-link_list {
  width: 100%;
  margin: 24px auto;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .more-link_list {
    margin: 32px auto;
  }
}

/* リンクボタン（楕円＋矢印）*/
a.more-btn_01 {
  display: inline-block;
  padding: 8px 24px;
  border: 1px solid #623210;
  border-radius: 25px;
  color: #623210;
  text-decoration: none;
  font-size: 1.2rem;
  transition: all 0.3s;
  margin-left: auto;
  position: relative;
}

a.more-btn_01::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #623210;
  border-right: 1px solid #623210;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 2px;
}

/* hover用フィルター */
a.more-btn_01::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 229, 0, 1) 0%, rgba(255, 63, 4, 1) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 25px;
}

a.more-btn_01:hover::before {
  opacity: 1;
}

/* テキストを前面に */
a.more-btn_01 span {
  position: relative;
  z-index: 1;
}

/*========= インデント設定 ==========*/
.txt-inden_01 {
  padding-left: 1em;
  text-indent: -1em;
}