@charset "UTF-8";
/* ==================================================
[Style]
    1. setting
	2. foundation
	3. Layout
	4. object

================================================== */
/* --------------------------------------------------
	1. setting
-------------------------------------------------- */
/* --------------------------------------------------
	2. foundation
-------------------------------------------------- */
/* reset */
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  min-width: 0;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3 */
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  margin: 0;
  overflow: visible; /* 2 */
  clear: both;
  color: inherit;
  border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button;
          appearance: button; /* 1 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-collapse: collapse;
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  font-family: "Montserrat", "Noto Sans JP", "游ゴシック", "Yu Gothic", yugothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #3a3a3a;
  word-break: normal;
  word-wrap: normal;
  overflow-wrap: normal;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  background-color: #fbf6f0;
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

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

iframe {
  max-width: 100%;
}

input,
button,
select,
textarea {
  font: inherit;
  font-size: 1rem;
  color: #3a3a3a;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* font */
/* icon */
.com-icon {
  --wrap-size: 1.5rem;
  --w-wrap: 1.5rem;
  --h-wrap: 1.5rem;
  --icon-size: 100%;
  --w-icon: 100%;
  --h-icon: 100%;
  --icon-color: #0b3646;
  --icon-url: '';
  position: relative;
  display: inline-block;
  width: var(--wrap-size, var(--w-wrap));
  height: var(--wrap-size, var(--h-wrap));
}
.com-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--icon-size, var(--w-icon));
  height: var(--icon-size, var(--h-icon));
  content: "";
  background: var(--icon-color);
  -webkit-mask-image: var(--icon-url);
          mask-image: var(--icon-url);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translate(-50%, -50%);
}
.com-icon.--sm {
  --wrap-size: 1.25rem;
}
.com-icon.--lg {
  --wrap-size: 2rem;
}
.com-icon.--instagram {
  --icon-url: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_11408_2892)'%3E%3Cpath d='M8.49473 0.10141C6.95193 0.1742 5.89835 0.420411 4.97731 0.782332C4.02408 1.15382 3.21613 1.65234 2.41225 2.45912C1.60837 3.2659 1.11334 4.07442 0.744456 5.02911C0.387465 5.95218 0.145604 7.00662 0.0774538 8.5503C0.00930355 10.094 -0.00577651 10.5902 0.00176352 14.5278C0.00930354 18.4654 0.0267036 18.959 0.101524 20.5059C0.175184 22.0484 0.420525 23.1017 0.782446 24.023C1.15452 24.9762 1.65245 25.7839 2.45952 26.5881C3.26659 27.3922 4.07454 27.8861 5.03154 28.2556C5.95374 28.612 7.00848 28.855 8.55186 28.9226C10.0952 28.9902 10.592 29.0058 14.5285 28.9983C18.465 28.9907 18.9606 28.9733 20.5072 28.9C22.0537 28.8266 23.1015 28.5795 24.0231 28.2193C24.9764 27.8464 25.7846 27.3493 26.5882 26.542C27.3918 25.7346 27.8865 24.9255 28.2551 23.9702C28.6124 23.048 28.8551 21.9933 28.9221 20.4511C28.9897 18.9033 29.0056 18.4092 28.9981 14.4721C28.9906 10.5351 28.9729 10.0415 28.8995 8.4952C28.8261 6.94891 28.5805 5.89882 28.2189 4.97691C27.8462 4.02367 27.3489 3.2166 26.5421 2.41185C25.7353 1.6071 24.9256 1.11264 23.9706 0.744922C23.0479 0.387931 21.9937 0.14462 20.4503 0.0779198C18.9069 0.0112196 18.4102 -0.00589048 14.4722 0.00164954C10.5343 0.00918957 10.0413 0.0260096 8.49473 0.10141ZM8.66409 26.314C7.25034 26.2525 6.48271 26.0176 5.97114 25.821C5.2937 25.56 4.81114 25.2445 4.30132 24.7396C3.7915 24.2347 3.4783 23.7504 3.21381 23.0744C3.01516 22.5629 2.77591 21.7961 2.70979 20.3823C2.63787 18.8543 2.62279 18.3955 2.61438 14.5243C2.60597 10.6531 2.62076 10.1949 2.68775 8.6663C2.74807 7.25371 2.98442 6.4852 3.18075 5.97393C3.44176 5.29562 3.75612 4.81393 4.26217 4.30439C4.76822 3.79486 5.25107 3.48108 5.92764 3.2166C6.43863 3.01708 7.20539 2.77986 8.61856 2.71258C10.1477 2.64008 10.6059 2.62558 14.4766 2.61717C18.3472 2.60876 18.8066 2.62326 20.3363 2.69054C21.7489 2.75202 22.5177 2.98605 23.0284 3.18354C23.7062 3.44454 24.1884 3.75803 24.698 4.26496C25.2075 4.77188 25.5216 5.25299 25.786 5.93101C25.9859 6.44054 26.2231 7.20702 26.2898 8.62106C26.3626 10.1502 26.3791 10.6087 26.3861 14.4791C26.393 18.3494 26.3794 18.8091 26.3124 20.3371C26.2506 21.7509 26.0163 22.5188 25.8194 23.0309C25.5584 23.7081 25.2437 24.1909 24.7374 24.7002C24.2311 25.2094 23.7488 25.5232 23.0719 25.7877C22.5615 25.9869 21.7939 26.2247 20.3819 26.292C18.8527 26.3639 18.3945 26.379 14.5224 26.3874C10.6503 26.3958 10.1936 26.3801 8.66438 26.314M20.4848 6.75026C20.4854 7.09443 20.588 7.43069 20.7797 7.71653C20.9714 8.00236 21.2436 8.22493 21.5618 8.35608C21.88 8.48723 22.2299 8.52107 22.5673 8.45332C22.9048 8.38557 23.2145 8.21928 23.4575 7.97547C23.7004 7.73166 23.8655 7.4213 23.932 7.08362C23.9985 6.74594 23.9634 6.39612 23.8311 6.07841C23.6988 5.7607 23.4752 5.48936 23.1887 5.29871C22.9022 5.10806 22.5655 5.00667 22.2213 5.00736C21.76 5.00828 21.3178 5.19241 20.9922 5.51925C20.6666 5.84609 20.4841 6.28889 20.4848 6.75026ZM7.05488 14.5145C7.063 18.6267 10.4026 21.9527 14.514 21.9449C18.6253 21.937 21.9537 18.5977 21.9458 14.4855C21.938 10.3732 18.5975 7.04635 14.4856 7.05447C10.3736 7.06259 7.04705 10.4028 7.05488 14.5145ZM9.66663 14.5092C9.66474 13.5533 9.94636 12.6182 10.4759 11.8223C11.0054 11.0264 11.7591 10.4054 12.6416 10.0378C13.524 9.67025 14.4957 9.57261 15.4336 9.75725C16.3716 9.94189 17.2337 10.4005 17.9111 11.0752C18.5884 11.7498 19.0504 12.6101 19.2388 13.5473C19.4271 14.4846 19.3333 15.4566 18.9692 16.3405C18.6052 17.2244 17.9871 17.9805 17.1933 18.5132C16.3995 19.0459 15.4656 19.3312 14.5096 19.3331C13.8749 19.3345 13.2461 19.2107 12.6591 18.969C12.0722 18.7273 11.5386 18.3723 11.0889 17.9244C10.6392 17.4764 10.2821 16.9443 10.0381 16.3583C9.79402 15.7723 9.66781 15.144 9.66663 14.5092Z' fill='%2309977F'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_11408_2892'%3E%3Crect width='29' height='29' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

@media (hover: hover) {
  a:not(:disabled):hover .com-icon.--arrow-btn::before, a:not(:disabled):hover .com-icon.--arrow-btn::after,
  button:not(:disabled):hover .com-icon.--arrow-btn::before,
  button:not(:disabled):hover .com-icon.--arrow-btn::after {
    transition: transform 0.3s;
  }
  a:not(:disabled):hover .com-icon.--arrow-btn::after,
  button:not(:disabled):hover .com-icon.--arrow-btn::after {
    transition-delay: 0.2s;
    transform: translateX(0%);
  }
  a:not(:disabled):hover .com-icon.--arrow-btn::before,
  button:not(:disabled):hover .com-icon.--arrow-btn::before {
    transform: translateX(100%);
  }
}
/* --------------------------------------------------
	3. Layout
-------------------------------------------------- */
/* header */
.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background: #fbf6f0;
}
.l-header__inner {
  max-width: 1760px;
  padding: 0 1.5rem;
  margin: 0 auto;
}
.l-header__container {
  position: relative;
  display: flex;
  gap: 2rem;
  align-items: center;
}
.l-header__logo {
  display: flex;
  align-items: center;
  width: 15.625rem;
}
.l-header__logo img {
  width: 100%;
}
.l-header__menu {
  height: 100%;
  margin-left: auto;
}
.l-header__nav-container {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  height: 100%;
}
.l-header__nav {
  height: 100%;
}
.l-header__nav-list {
  display: flex;
  gap: 0 1.6vw;
  align-items: center;
  height: 100%;
}
.l-header__nav-item-icon {
  position: relative;
  display: none;
  width: 50px;
  height: 50px;
}
.l-header__nav-item-icon::after, .l-header__nav-item-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 16px;
  height: 1px;
  content: "";
  background-color: #fff;
}
.l-header__nav-item-icon::after {
  transform: translateX(-50%) translateY(-50%);
}
.l-header__nav-item-icon::before {
  transition: 0.3s all;
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
}
.l-header__nav-item-icon.is-active::before {
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}
.l-header__nav-item.--sns {
  display: block;
  line-height: 0;
}
.l-header__nav-item.--sns .com-icon {
  --wrap-size: 1.5rem;
  --icon-color: #976e2c;
}
.l-header__nav-link {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-weight: 500;
  color: #976e2c;
}
.l-header__nav-sub {
  position: absolute;
  top: 80px;
  left: calc(50% - 50vw);
  width: 100vw;
  padding: 2rem 0.625rem;
  visibility: hidden;
  background-color: #FCFDFD;
  opacity: 0;
  transition: 0.3s all;
}
.l-header__nav-sub-list {
  display: flex;
  gap: 1.625rem;
  justify-content: left;
  max-width: 960px;
  margin: 0 auto;
}
.l-header__nav-sub-item {
  position: relative;
  width: 100%;
  max-width: 220px;
  color: #fff;
}

.l-hum {
  position: absolute;
  top: 0;
  right: 0;
  width: 56px;
  height: 56px;
  background-color: #976e2c;
  border: none;
}
.l-hum span {
  position: absolute;
  left: 50%;
  display: block;
  width: 30px;
  height: 2px;
  background-color: #fff;
  border-radius: 999px;
  transition: 0.3s all;
  transform: translateX(-50%) translateY(-50%);
}
.l-hum span:nth-child(1) {
  top: calc(50% - 8px);
}
.l-hum span:nth-child(2) {
  top: 50%;
}
.l-hum span:nth-child(3) {
  top: calc(50% + 8px);
}
.l-hum.is-active span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.l-hum.is-active span:nth-child(2) {
  display: none;
}
.l-hum.is-active span:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

@media all and (min-width: 768px), print {
  .l-header {
    padding: 0.5rem 0;
  }
  .l-header__menu {
    display: block !important;
  }
  .l-header__nav-item:hover .l-header__nav-sub {
    visibility: inherit;
    opacity: 1;
  }
  .l-header__nav-link::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 0;
    height: 1px;
    content: "";
    background-color: #fff;
    transition: 0.3s all;
    backface-visibility: hidden;
  }
  .l-header__nav-link:hover::after {
    width: 100%;
  }
  .l-hum {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0;
  }
  .l-header__container {
    height: 56px;
  }
  .l-header__logo {
    padding-left: 0.625rem;
    width: 10rem;
  }
  .l-header__menu {
    position: absolute;
    top: 56px;
    display: none;
    width: 100%;
    height: calc(100vh - 56px);
    background-color: #fbf6f0;
  }
  .l-header__nav-container {
    flex-direction: column;
    height: 100%;
    padding: 2.5rem 0 5rem;
    overflow-y: scroll;
  }
  .l-header__nav {
    width: calc(100% - 40px);
    height: auto;
  }
  .l-header__nav-list {
    flex-direction: column;
    border-top: 1px solid #d8d0c8;
  }
  .l-header__nav-item {
    position: relative;
    flex-direction: column;
    width: 100%;
    height: auto;
    border-bottom: 1px solid #d8d0c8;
  }
  .l-header__nav-item-icon {
    position: absolute;
    top: 1.875rem;
    right: 0;
    z-index: 2;
    display: block;
    transform: translateY(-50%);
  }
  .l-header__nav-item.--sns {
    padding: 1rem 0.625rem;
    text-align: center;
  }
  .l-header__nav-item.--sns .com-icon {
    --wrap-size: 1.875rem;
    margin: 0 auto;
  }
  .l-header__nav-link {
    display: block;
    width: 100%;
    height: auto;
    padding: 1rem 0.625rem;
    font-size: 1rem;
    text-align: center;
  }
  .l-header__nav-sub {
    position: relative;
    top: auto;
    left: auto;
    display: none;
    width: 100%;
    padding: 0.625rem 0 1.25rem;
    margin: 0 auto;
    visibility: inherit;
    opacity: 1;
    transition: none;
  }
  .l-header__nav-sub-list {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    justify-content: center;
  }
  .l-header__nav-sub-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    height: 42px;
  }
}
/* footer */
.l-footer {
  padding: 5rem 0 1.25rem;
  margin-top: 6.25rem;
  color: #976e2c;
  font-weight: 500;
  background: #fcf7f1;
}
.l-footer__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
.l-footer__info {
  text-align: center;
}
.l-footer__logo {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
}
.l-footer__address {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
}
.l-footer__address a {
  color: #976e2c;
}
.l-footer__hours {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
.l-footer__sns {
  margin-top: 1rem;
}
.l-footer__sns .com-icon {
  --wrap-size: 1.5rem;
  --icon-color: #976e2c;
}
.l-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 1.5rem;
}
.l-footer__nav-item a {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #976e2c;
}
@media (hover: hover) {
  .l-footer__nav-item a {
    transition: 0.3s linear opacity;
  }
  .l-footer__nav-item a:hover {
    opacity: 0.7;
  }
}
.l-footer__copyright {
  font-size: 0.75rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .l-footer {
    padding: 3.75rem 0 1.25rem;
    margin-top: 7.5rem;
  }
  .l-footer__nav-list {
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
  }
  .l-footer__copyright {
    padding-bottom: 3.125rem;
  }
}
/* main */
.l-inner {
  width: 80rem;
  max-width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-inner.--wide {
  width: 90rem;
}
.l-inner.--narrow {
  width: 65rem;
}

.l-section-first {
  margin-top: 7.5rem;
}

@media only screen and (max-width: 767px) {
  .l-inner {
    padding: 0 1.5rem;
  }
  .l-section-first {
    margin-top: 3.75rem;
  }
}
/* margin */
.l-margin p {
  margin-top: 1rem;
}
.l-margin p:first-child {
  margin-top: 0;
}
.l-margin ul,
.l-margin ol,
.l-margin dl {
  margin-top: 1.5rem;
}
.l-margin ul:first-child,
.l-margin ol:first-child,
.l-margin dl:first-child {
  margin-top: 0;
}
.l-margin .p-table-conteiner,
.l-margin table {
  margin-top: 2rem;
}
.l-margin .p-table-conteiner:first-child,
.l-margin table:first-child {
  margin-top: 0;
}
.l-margin img {
  margin-top: 1.5rem;
}
.l-margin img:first-child {
  margin-top: 0;
}
.l-margin blockquote {
  margin-top: 1.5rem;
}
.l-margin blockquote:first-child {
  margin-top: 0;
}
.l-margin .c-button,
.l-margin .e-button {
  margin-top: 1.5rem;
}
.l-margin .c-button:first-child,
.l-margin .e-button:first-child {
  margin-top: 0;
}
.l-margin .p-box,
.l-margin .e-box {
  margin-top: 1.5rem;
}
.l-margin .p-box:first-child,
.l-margin .e-box:first-child {
  margin-top: 0;
}
.l-margin .p-grid,
.l-margin .e-grid {
  margin-top: 5rem;
}
.l-margin .p-grid:first-child,
.l-margin .e-grid:first-child {
  margin-top: 0;
}
.l-margin .p-grid + .l-margin .p-grid,
.l-margin .p-grid + .l-margin .e-grid,
.l-margin .e-grid + .l-margin .p-grid,
.l-margin .e-grid + .l-margin .e-grid {
  margin-top: 2.5rem;
}
.l-margin .p-grid p,
.l-margin .e-grid p {
  margin-top: 0.5rem;
}
.l-margin h2:not(:first-child) {
  margin-top: 6rem;
}
.l-margin h2 + p {
  margin-top: 3rem;
}
.l-margin h2 + ul {
  margin-top: 3rem;
}
.l-margin h2 + ol {
  margin-top: 3rem;
}
.l-margin h2 + dl {
  margin-top: 3rem;
}
.l-margin h2 + img {
  margin-top: 3rem;
}
.l-margin h2 + table {
  margin-top: 3rem;
}
.l-margin h2 + blockquote {
  margin-top: 3rem;
}
.l-margin h2 + .c-button, .l-margin h2 + .e-button {
  margin-top: 3rem;
}
.l-margin h2 + .p-box, .l-margin h2 + .e-box {
  margin-top: 3rem;
}
.l-margin h2 + .p-grid, .l-margin h2 + .e-grid {
  margin-top: 3rem;
}
.l-margin h3:not(:first-child) {
  margin-top: 5rem;
}
.l-margin h3 + p {
  margin-top: 2rem;
}
.l-margin h3 + ul {
  margin-top: 2rem;
}
.l-margin h3 + ol {
  margin-top: 2rem;
}
.l-margin h3 + dl {
  margin-top: 2rem;
}
.l-margin h3 + img {
  margin-top: 2rem;
}
.l-margin h3 + table {
  margin-top: 2rem;
}
.l-margin h3 + blockquote {
  margin-top: 2rem;
}
.l-margin h3 + .c-button, .l-margin h3 + .e-button {
  margin-top: 2rem;
}
.l-margin h3 + .p-box, .l-margin h3 + .e-box {
  margin-top: 2rem;
}
.l-margin h3 + .p-grid, .l-margin h3 + .e-grid {
  margin-top: 2rem;
}
.l-margin h4:not(:first-child) {
  margin-top: 3.5rem;
}
.l-margin h4 + p {
  margin-top: 1.75rem;
}
.l-margin h4 + ul {
  margin-top: 1.75rem;
}
.l-margin h4 + ol {
  margin-top: 1.75rem;
}
.l-margin h4 + dl {
  margin-top: 1.75rem;
}
.l-margin h4 + img {
  margin-top: 1.75rem;
}
.l-margin h4 + table {
  margin-top: 1.75rem;
}
.l-margin h4 + blockquote {
  margin-top: 1.75rem;
}
.l-margin h4 + .c-button, .l-margin h4 + .e-button {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-box, .l-margin h4 + .e-box {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-grid, .l-margin h4 + .e-grid {
  margin-top: 1.75rem;
}
.l-margin h5:not(:first-child) {
  margin-top: 2.5rem;
}
.l-margin h5 + p {
  margin-top: 1.25rem;
}
.l-margin h5 + ul {
  margin-top: 1.25rem;
}
.l-margin h5 + ol {
  margin-top: 1.25rem;
}
.l-margin h5 + dl {
  margin-top: 1.25rem;
}
.l-margin h5 + img {
  margin-top: 1.25rem;
}
.l-margin h5 + table {
  margin-top: 1.25rem;
}
.l-margin h5 + blockquote {
  margin-top: 1.25rem;
}
.l-margin h5 + .c-button, .l-margin h5 + .e-button {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-box, .l-margin h5 + .e-box {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-grid, .l-margin h5 + .e-grid {
  margin-top: 1.25rem;
}
.l-margin h6:not(:first-child) {
  margin-top: 1.5rem;
}
.l-margin h6 + p {
  margin-top: 1.125rem;
}
.l-margin h6 + ul {
  margin-top: 1.125rem;
}
.l-margin h6 + ol {
  margin-top: 1.125rem;
}
.l-margin h6 + dl {
  margin-top: 1.125rem;
}
.l-margin h6 + img {
  margin-top: 1.125rem;
}
.l-margin h6 + table {
  margin-top: 1.125rem;
}
.l-margin h6 + blockquote {
  margin-top: 1.125rem;
}
.l-margin h6 + .c-button, .l-margin h6 + .e-button {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-box, .l-margin h6 + .e-box {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-grid, .l-margin h6 + .e-grid {
  margin-top: 1.125rem;
}

/* --------------------------------------------------
	4. object
-------------------------------------------------- */
/* component */
.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16.25rem;
  min-height: 3.5rem;
  padding: 0 1.25rem;
  font-family: "Montserrat", "Noto Sans JP", "游ゴシック", "Yu Gothic", yugothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  cursor: pointer;
  background-color: #976e2c;
  border: 0.0625rem solid #d8d0c8;
}
@media (hover: hover) {
  .c-button {
    transition: 0.3s linear opacity;
  }
  .c-button:hover {
    opacity: 0.7;
  }
}

.c-heading {
  position: relative;
  display: inline-block;
  font-size: 2.25rem;
  font-weight: 500;
  color: #976e2c;
}

@media only screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.25rem;
  }
}
.c-heading-lv1 {
  font-size: 1.75rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-heading-lv2 {
  font-size: 1.5rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-heading-lv3 {
  font-size: 1.25rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-heading-lv4 {
  font-size: 1.25rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-heading-lv5 {
  font-size: 1.125rem;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-heading-lv6 {
  font-size: 1.125rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-list-dot__item {
  position: relative;
  padding-left: 1.5em;
  color: #3a3a3a;
}
.c-list-dot__item + li {
  margin-top: 0.5rem;
}
.c-list-dot__item::before {
  position: absolute;
  top: 0.55em;
  left: 0.5em;
  display: block;
  width: 0.5em;
  height: 0.5em;
  content: "";
  background: #3a3a3a;
  border-radius: 50%;
}

.c-list-ol {
  list-style: decimal;
  list-style-position: inside;
}
.c-list-ol__item + li {
  margin-top: 0.5rem;
}

.c-list-dl__dt {
  font-weight: bold;
}
.c-list-dl__dd {
  padding-left: 1em;
}

.c-text-link {
  position: relative;
  display: inline-block;
  color: #8b7355;
  text-decoration: underline;
}
@media (hover: hover) {
  .c-text-link {
    transition: 0.3s linear opacity;
  }
  .c-text-link:hover {
    opacity: 0.7;
  }
}

.c-text {
  font-size: 1rem;
  line-height: 1.5;
  color: #3a3a3a;
}
.c-text.--lg {
  font-size: 1.125rem;
}
.c-text.--sm {
  font-size: 0.875rem;
}

/* project */
.p-anchor-list {
  display: flex;
  gap: 1.25rem;
}
.p-anchor-list__link {
  display: block;
  padding: 0.5rem 1rem;
  color: #3a3a3a;
  border: 0.0625rem solid #976e2c;
  border-radius: 999rem;
}
.p-anchor-list__link.is-active {
  color: #fff;
  background-color: #3a3a3a;
}
@media (hover: hover) {
  .p-anchor-list__link {
    transition: 0.3s linear background-color;
  }
  .p-anchor-list__link:hover {
    color: #fff;
    background-color: #3a3a3a;
  }
}

.p-breadline {
  margin-top: 0.5rem;
}
.p-breadline__list {
  display: flex;
  align-items: center;
}
.p-breadline__item {
  font-size: 0.875rem;
  font-weight: 400;
  color: #271e14;
  white-space: nowrap;
}
.p-breadline__item a {
  margin-right: 0.75rem;
  color: #271e14;
}
.p-breadline__item.--active {
  overflow: hidden;
  text-overflow: ellipsis;
}
.p-breadline__divider {
  margin-right: 0.75rem;
  font-size: 1rem;
  color: #271e14;
}

@media only screen and (max-width: 767px) {
  .p-breadline {
    display: none !important;
  }
}
.p-company-table {
  width: 100%;
  border-collapse: collapse;
}
.p-company-table tr {
  border-bottom: 0.0625rem solid #fff;
}
.p-company-table th,
.p-company-table td {
  padding: 1.25rem 1rem;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}
.p-company-table th {
  width: 10rem;
  font-weight: 500;
  color: #271e14;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .p-company-table th,
  .p-company-table td {
    display: block;
    width: 100%;
    padding: 0.5rem 0;
  }
  .p-company-table th {
    padding-top: 1rem;
    padding-bottom: 0;
  }
}
.p-contact__lead {
  text-align: center;
}
.p-contact__tel {
  margin-top: 2rem;
  padding: 2rem;
  background-color: #f2ede8;
  border-radius: 0.5rem;
  text-align: center;
}
.p-contact__tel-label {
  font-size: 0.875rem;
  color: #6b6b6b;
}
.p-contact__tel-number {
  display: block;
  margin-top: 0.5rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2rem;
  font-weight: 500;
  color: #271e14;
  letter-spacing: 0.08em;
}
.p-contact__tel-hours {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #6b6b6b;
}

@media only screen and (max-width: 767px) {
  .p-contact__tel-number {
    font-size: 1.75rem;
  }
  .p-contact__form-wrapper {
    margin-top: 3.75rem;
  }
}
.p-box {
  padding: 2rem 2.5rem;
  background-color: #ededed;
  border-radius: 10px;
}
.p-box.--bg-blue {
  background-color: #edf6f9;
}
.p-box__title {
  font-size: 1rem;
  font-weight: bold;
}
.p-box__text {
  margin-top: 0.5rem;
  font-size: 1rem;
}

.p-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.p-grid.--repeat-2 {
  grid-template-columns: repeat(2, 1fr);
}
.p-grid.--repeat-3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-grid__texts {
  margin-top: 1rem;
}
.p-grid__col {
  /* CMSエディタ―のみで適応 */
  /* border: dashed 1px #c2c2c2; */
}

.p-table {
  width: 100%;
}
.p-table__th {
  padding: 0.75rem 1rem;
  font-weight: bold;
  vertical-align: middle;
  background-color: #ededed;
  border: 0.0625rem solid #ccc;
}
.p-table__td {
  padding: 0.75rem 1rem;
  border: 0.0625rem solid #ccc;
}

@media only screen and (max-width: 767px) {
  .p-table__th {
    padding: 0.5rem 0.75rem;
  }
  .p-table__td {
    padding: 0.5rem 0.75rem;
  }
}
.p-instagram__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2%;
}
.p-instagram__item {
  width: 23.5%;
}
@media (hover: hover) {
  .p-instagram__link {
    transition: 0.3s linear opacity;
  }
  .p-instagram__link:hover {
    opacity: 0.7;
  }
}
.p-instagram__link-thumb {
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  margin-bottom: 0.5rem;
  width: 100%;
  aspect-ratio: 1/1;
}
.p-instagram__link-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .p-instagram__list {
    gap: 0.25rem 2%;
  }
  .p-instagram__item {
    width: 49%;
  }
}
.p-mainvisual {
  position: relative;
  margin: 0 auto;
  padding: 1.25rem 2.5rem 2.5rem;
  text-align: center;
}
.p-mainvisual .swiper-slide {
  margin: 0 auto;
  min-height: 18.75rem;
  height: calc(100vh - 12.5rem);
  overflow: hidden;
  border-radius: 3.75rem;
}
.p-mainvisual .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 767px) {
  .p-mainvisual {
    padding: 0.625rem 0.625rem 1.875rem;
  }
  .p-mainvisual__swiper .swiper-slide {
    max-height: 21.875rem;
    border-radius: 1.875rem;
  }
}
.p-news__item {
  border-top: 0.0625rem solid #2b2123;
}
.p-news__item:last-child {
  border-bottom: 0.0625rem solid #2b2123;
}
.p-news__link {
  display: flex;
  align-items: center;
  padding: 1.25rem 1rem;
}
@media (hover: hover) {
  .p-news__link {
    transition: 0.3s linear opacity;
  }
  .p-news__link:hover {
    opacity: 0.7;
  }
}
.p-news__link-day {
  display: inline-block;
  margin-right: 1.25rem;
  font-weight: 500;
  white-space: nowrap;
  min-width: 5.625rem;
}
.p-news__link-cat {
  display: inline-block;
  margin-right: 1.5rem;
  font-size: 0.75rem;
  white-space: nowrap;
  background-color: #9b8038;
  color: #fff;
  padding: 0.125rem 0.375rem;
}
.p-news__link-cat.--cat2 {
  background-color: #ce815e;
}
.p-news__link-cat.--cat3 {
  background-color: #94964e;
}
.p-news__link-title {
  overflow: hidden;
  font-size: 1rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 220px);
}
.p-news__link-new {
  color: #c94e4e;
  margin-right: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}
.p-news__button {
  margin-top: 3.75rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-news__link {
    flex-wrap: wrap;
    font-size: 0.875rem;
    padding: 1rem 0.75rem;
  }
  .p-news__link-day {
    margin-right: 0.75rem;
    min-width: inherit;
  }
  .p-news__link-cat {
    margin-right: 0.75rem;
    font-size: 0.625rem;
  }
  .p-news__link-title {
    width: 100%;
    max-width: inherit;
    font-size: 0.875rem;
  }
  .p-news__button {
    text-align: center;
  }
}
.p-pagetitle {
  position: relative;
  height: 12.5rem;
}
.p-pagetitle__img {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.p-pagetitle__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  font-size: 2.25rem;
  color: #3a3a3a;
}

@media only screen and (max-width: 767px) {
  .p-pagetitle {
    height: 7.5rem;
  }
  .p-pagetitle__title {
    font-size: 2.25rem;
  }
}
.p-pagination {
  margin-top: 3.75rem;
  text-align: center;
}
.p-pagination__list {
  display: inline-flex;
  gap: 0.75rem;
}
.p-pagination__item span,
.p-pagination__item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #3a3a3a;
  border: 0.0625rem solid #d8d0c8;
}
@media (hover: hover) {
  .p-pagination__item a {
    transition: 0.3s linear opacity;
  }
  .p-pagination__item a:hover {
    opacity: 0.7;
  }
}
.p-pagination__item span {
  color: #fff;
  background-color: #976e2c;
}

.p-section-title-h1 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-section-title-h2 {
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-section-title-h3 {
  margin-bottom: 1.25rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-section-title-h1 {
    margin-bottom: 1.875rem;
  }
  .p-section-title-h2 {
    margin-bottom: 1.25rem;
  }
}
.p-sidebtn {
  position: fixed;
  z-index: 10;
  right: 0;
  top: 220px;
  opacity: 1;
  transition: opacity 0.3s, transform 0.3s;
}
.p-sidebtn__line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.75rem;
  min-height: 150px;
  padding: 1.625rem 0.5rem;
  border-radius: 5px 0 0 5px;
  background: #06C755;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.08em;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .p-sidebtn {
    width: 90%;
    top: inherit;
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
  }
  .p-sidebtn__line {
    width: 100%;
    font-size: 0.875rem;
    min-height: inherit;
    padding: 1rem;
    border-radius: 5px 5px 0 0;
    writing-mode: inherit;
  }
}
/* pages */
body.index .p-top-news {
  padding: 5rem 0;
  background-color: #fff;
}
body.index .p-top-concept {
  padding: 7.5rem 0;
}
body.index .p-top-concept__body {
  position: relative;
}
body.index .p-top-concept__text {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.85);
  max-width: 46.875rem;
  padding: 2.5rem 3.75rem;
}
body.index .p-top-concept__text .c-text {
  line-height: 1.7;
  font-weight: 500;
}
body.index .p-top-concept__text .c-text + .c-text {
  margin-top: 1.5rem;
}
body.index .p-top-concept__image {
  flex-shrink: 0;
  width: 50rem;
}
body.index .p-top-concept__image img {
  width: 100%;
  height: auto;
}
body.index .p-top-menu {
  padding: 6.25rem 0;
  background: #fff;
}
body.index .p-top-menu__list {
  max-width: 47.5rem;
  margin: 0 auto;
}
body.index .p-top-menu__item {
  padding: 1.5rem 3rem;
  border: 1px solid #976e2c;
  text-align: center;
}
body.index .p-top-menu__item-image {
  overflow: hidden;
}
body.index .p-top-menu__item-image img {
  width: 100%;
  height: auto;
  transition: 0.5s linear transform;
}
body.index .p-top-menu__item-title {
  font-size: 1.25rem;
  font-weight: 500;
}
body.index .p-top-menu__item-title span {
  font-size: 0.75rem;
}
body.index .p-top-menu__item-text {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
}
body.index .p-top-menu__item .c-list-dot {
  margin-top: 1rem;
  text-align: left;
}
body.index .p-top-menu__item .c-list-dot__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
body.index .p-top-menu__item .c-list-dot__item .menu-title {
  width: calc(100% - 106px);
}
body.index .p-top-menu__item .c-list-dot__item .menu-price {
  width: 5.625rem;
  text-align: right;
}
body.index .p-top-menu__button {
  margin-top: 3.75rem;
  text-align: center;
}
body.index .p-top-access {
  padding: 6.25rem 0;
  background: #fffcf9;
}
body.index .p-top-access__body {
  display: flex;
  gap: 2.5rem;
}
body.index .p-top-access__map {
  flex: 1;
}
body.index .p-top-access__map iframe {
  width: 100%;
  height: 26.25rem;
  border-radius: 0.5rem;
}
body.index .p-top-access__info {
  flex: 1;
}
body.index .p-top-access__info-list dt {
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #271e14;
}
body.index .p-top-access__info-list dt:not(:first-child) {
  margin-top: 1rem;
}
body.index .p-top-access__info-list dd {
  margin-top: 0.25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
body.index .p-top-access__button {
  margin-top: 2rem;
}
body.index .p-top-instagram {
  padding: 6.25rem 0;
  background: #fffefe;
}
body.index .l-footer {
  margin-top: 0;
}

@media only screen and (max-width: 767px) {
  body.index .p-top-news {
    padding: 3.75rem 0;
  }
  body.index .p-top-concept {
    padding: 3.75rem 0;
  }
  body.index .p-top-concept__text {
    position: relative;
    top: inherit;
    transform: inherit;
    padding: 1.875rem 1.25rem;
  }
  body.index .p-top-concept__text .c-text {
    font-size: 0.875rem;
  }
  body.index .p-top-concept__image {
    width: 100%;
  }
  body.index .p-top-menu {
    padding: 3.75rem 0;
  }
  body.index .p-top-menu__item {
    padding: 1.5rem 1rem 1.5rem 0.5rem;
  }
  body.index .p-top-menu__item-title {
    font-size: 1rem;
  }
  body.index .p-top-menu__item-title span {
    font-size: 0.625rem;
  }
  body.index .p-top-menu__item .c-list-dot {
    margin-top: 0rem;
    font-size: 0.875rem;
  }
  body.index .p-top-menu__item .c-list-dot__item {
    gap: 0rem;
  }
  body.index .p-top-menu__item .c-list-dot__item .menu-title {
    width: calc(100% - 82px);
  }
  body.index .p-top-menu__item .c-list-dot__item .menu-price {
    width: 4.5rem;
  }
  body.index .p-top-access {
    padding: 3.75rem 0;
  }
  body.index .p-top-access__body {
    flex-direction: column;
  }
  body.index .p-top-access__map iframe {
    height: 17.5rem;
  }
  body.index .p-top-access__button {
    text-align: center;
  }
  body.index .p-top-access__info-list dt {
    font-size: 0.875rem;
  }
  body.index .p-top-access__info-list dt:not(:first-child) {
    margin-top: 0.75rem;
  }
  body.index .p-top-access__info-list dd {
    font-size: 0.875rem;
  }
  body.index .p-top-instagram {
    padding: 3.75rem 0;
  }
}
body.news-single .page-news-single .p-editor__content {
  margin-top: 5rem;
}
body.news-single .page-news-single__button {
  margin-top: 5rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  body.news-single .page-news-single .p-editor__content {
    margin-top: 2.5rem;
  }
  body.news-single .page-news-single__button {
    margin-top: 5rem;
    text-align: center;
  }
}
/* utility */
.u-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

.u-bg-white {
  background-color: #fff;
}

.u-bg-green {
  background-color: #D1DBD9;
}

@media all and (min-width: 768px), print {
  .u-hidden-pc {
    display: none;
  }
  .u-telling {
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}
.u-mt-1 {
  margin-top: 0.5rem;
}

.u-mt-2 {
  margin-top: 1rem;
}

.u-mt-3 {
  margin-top: 1.5rem;
}

.u-mt-4 {
  margin-top: 2rem;
}

.u-mt-5 {
  margin-top: 2.5rem;
}

.u-mt-6 {
  margin-top: 3rem;
}

.u-mt-7 {
  margin-top: 3.5rem;
}

.u-mt-8 {
  margin-top: 4rem;
}

.u-mt-9 {
  margin-top: 4.5rem;
}

.u-mt-10 {
  margin-top: 5rem;
}

.u-mt-11 {
  margin-top: 5.5rem;
}

.u-mt-12 {
  margin-top: 6rem;
}

.u-mt-13 {
  margin-top: 6.5rem;
}

.u-mt-14 {
  margin-top: 7rem;
}

.u-mt-15 {
  margin-top: 7.5rem;
}

.u-mt-16 {
  margin-top: 8rem;
}

.u-mt-17 {
  margin-top: 8.5rem;
}

.u-mt-18 {
  margin-top: 9rem;
}

.u-mt-19 {
  margin-top: 9.5rem;
}

.u-mt-20 {
  margin-top: 10rem;
}

.u-mt-21 {
  margin-top: 10.5rem;
}

.u-mt-22 {
  margin-top: 11rem;
}

.u-mt-23 {
  margin-top: 11.5rem;
}

.u-mt-24 {
  margin-top: 12rem;
}

.u-mt-25 {
  margin-top: 12.5rem;
}

@media only screen and (max-width: 767px) {
  .u-mt-1-sp {
    margin-top: 0.5rem;
  }
  .u-mt-2-sp {
    margin-top: 1rem;
  }
  .u-mt-3-sp {
    margin-top: 1.5rem;
  }
  .u-mt-4-sp {
    margin-top: 2rem;
  }
  .u-mt-5-sp {
    margin-top: 2.5rem;
  }
  .u-mt-6-sp {
    margin-top: 3rem;
  }
  .u-mt-7-sp {
    margin-top: 3.5rem;
  }
  .u-mt-8-sp {
    margin-top: 4rem;
  }
  .u-mt-9-sp {
    margin-top: 4.5rem;
  }
  .u-mt-10-sp {
    margin-top: 5rem;
  }
  .u-mt-11-sp {
    margin-top: 5.5rem;
  }
  .u-mt-12-sp {
    margin-top: 6rem;
  }
  .u-mt-13-sp {
    margin-top: 6.5rem;
  }
  .u-mt-14-sp {
    margin-top: 7rem;
  }
  .u-mt-15-sp {
    margin-top: 7.5rem;
  }
  .u-mt-16-sp {
    margin-top: 8rem;
  }
  .u-mt-17-sp {
    margin-top: 8.5rem;
  }
  .u-mt-18-sp {
    margin-top: 9rem;
  }
  .u-mt-19-sp {
    margin-top: 9.5rem;
  }
  .u-mt-20-sp {
    margin-top: 10rem;
  }
  .u-mt-21-sp {
    margin-top: 10.5rem;
  }
  .u-mt-22-sp {
    margin-top: 11rem;
  }
  .u-mt-23-sp {
    margin-top: 11.5rem;
  }
  .u-mt-24-sp {
    margin-top: 12rem;
  }
  .u-mt-25-sp {
    margin-top: 12.5rem;
  }
}
.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

@media all and (min-width: 768px), print {
  .u-text-center-pc {
    text-align: center;
  }
  .u-text-left-pc {
    text-align: left;
  }
  .u-text-right-pc {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .u-text-center-sp {
    text-align: center;
  }
  .u-text-left-sp {
    text-align: left;
  }
  .u-text-right-sp {
    text-align: right;
  }
}