html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

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

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

body.back-fixed {
  overflow: hidden;
}

:where(a) {
  color: #2364ca;
  text-decoration: underline;
}

:where(img) {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

:where(iframe) {
  vertical-align: top;
}

.l-wrap {
  overflow: hidden;
  font-family: YakuHanMP, "YuMincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #000;
  font-weight: normal;
  font-size: 0.9375rem;
  line-height: 1.75;
}
@media (min-width: 767px) {
  .l-wrap {
    font-size: 1rem;
  }
}
.l-header {
  height: clamp( 60px, 14.4902912621px + 12.1359223301vw,160px);
  background-color: rgba(255, 255, 255, 0.9);
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 10;
}
@media (min-width: 1199px) {
  .l-header {
    display: flex;
  }
}
.l-header__logo {
  width: 57.066%;
  max-width: clamp( 214px, 149.8313106796px + 17.1116504854vw,355px);
  line-height: 1;
  height: 100%;
  display: grid;
  place-items: center;
  margin-left: clamp( 15px, -0.9283980583px + 4.2475728155vw,50px);
}
@media (min-width: 959px) {
  .l-header__logo {
    width: 39.505%;
  }
}
@media (min-width: 1199px) {
  .l-header__logo {
    width: 19.505%;
  }
}
.l-header__logo a {
  display: inline-block;
}
@media (min-width: 1199px) {
  .l-header__hamburger {
    display: none;
  }
}
.l-header__menuBtn {
  display: block;
  height: clamp( 60px, 14.4902912621px + 12.1359223301vw,160px);
  margin-left: auto;
  position: absolute;
  aspect-ratio: 1;
  z-index: 2;
  width: clamp( 60px, 14.4902912621px + 12.1359223301vw,160px);
  border: none;
  right: 0;
  top: 0;
  background-color: #fff;
}
.l-header__menuBtn-line {
  display: block;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: clamp( 30px, 16.3470873786px + 3.640776699vw,60px);
  background-color: #745a44;
  transition: 0.4s;
  /* @include tab {
      width: 50px;
      top: 45px;
      //left: 25px;
  } */
}
.l-header__menuBtn-line::before, .l-header__menuBtn-line::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #745a44;
  transition: inherit;
}
.l-header__menuBtn-line::before {
  top: -8px;
}
@media (min-width: 767px) {
  .l-header__menuBtn-line::before {
    top: -12px;
  }
}
.l-header__menuBtn-line::after {
  top: 8px;
}
@media (min-width: 767px) {
  .l-header__menuBtn-line::after {
    top: 12px;
  }
}
@media (min-width: 1199px) {
  .l-header__menuBtn {
    display: none;
  }
}
.l-header__menuBtn.open {
  background-color: transparent;
}
.l-header__menuBtn.open .l-header__menuBtn-line {
  background-color: transparent;
}
.l-header__menuBtn.open .l-header__menuBtn-line::before {
  top: 0;
  transform: rotate(45deg);
}
.l-header__menuBtn.open .l-header__menuBtn-line::after {
  top: 0;
  transform: rotate(-45deg);
}
.l-gNav {
  list-style-type: none;
  display: flex;
  flex-direction: column;
}
.l-gNav a {
  color: #000;
  text-decoration: none;
}
.l-gNav__outer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: fixed;
  height: calc(100vh - clamp( 60px, 14.4902912621px + 12.1359223301vw,160px));
  background-color: #ebe6d7;
  z-index: 10;
  width: 100%;
  left: 0;
  top: clamp( 60px, 14.4902912621px + 12.1359223301vw,160px);
  padding: clamp( 40px, 30.8980582524px + 2.427184466vw,60px) 5% 100px;
  transition: opacity 0.5s, visibility 0.5s;
  overflow-y: auto;
}
@media (min-width: 1199px) {
  .l-gNav__outer {
    overflow-y: visible;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: unset;
    position: relative;
    height: 100%;
    padding: 0;
    background-color: transparent;
    top: auto;
    left: auto;
    display: block;
    margin-right: 50px;
    width: calc(80.495% - 50px);
  }
}
.l-gNav__outer.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (min-width: 959px) {
  .l-gNav {
    flex-direction: row;
    gap: 1em 3em;
    flex-wrap: wrap;
  }
}
@media (min-width: 1199px) {
  .l-gNav {
    gap: 0 clamp( 25px, -95.2404809619px + 10.0200400802vw,75px);
    height: 100%;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-end;
  }
}
@media (min-width: 959px) {
  .l-gNav > li {
    width: calc((100% - 6em) / 3);
  }
}
@media (min-width: 1199px) {
  .l-gNav > li {
    width: auto;
    padding-bottom: 25px;
  }
  .l-gNav > li:has(ul) > a {
    position: relative;
    padding-right: 20px;
  }
  .l-gNav > li:has(ul) > a::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    position: absolute;
    rotate: 135deg;
    right: 5px;
    top: 0.75em;
    transition: border-color 0.5s;
  }
  .l-gNav > li:has(ul):hover > ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.5s ease, visibility 0.5s 0s;
  }
  .l-gNav > li:hover > a {
    color: #745a44;
  }
  .l-gNav > li:hover > a::after {
    border-color: #745a44;
  }
  .l-gNav > li:hover > a::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}
.l-gNav > li > a {
  padding: 1em 0.5em;
  border-bottom: 1px solid #745a44;
  display: block;
  font-size: 106.25%;
  transition: color 0.5s;
  position: relative;
}
@media (min-width: 1199px) {
  .l-gNav > li > a {
    border-bottom: 0;
    padding: 0 0 10px;
  }
}
.l-gNav > li > a::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #745a44;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.5s;
}
.l-gNav > li > ul {
  list-style-type: none;
  margin: 0.75em 0.5em;
  font-size: 90%;
}
@media (min-width: 959px) {
  .l-gNav > li > ul {
    margin-top: 1em;
  }
}
@media (min-width: 1199px) {
  .l-gNav > li > ul {
    margin: 0;
    padding: 1.5em 2em;
    min-width: 250px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    z-index: 10;
    background-color: #ebe6d7;
    transition: opacity 0.5s, visibility 0s 0.5s;
  }
}
.l-gNav > li > ul li:not(:last-child) {
  margin-bottom: 0.75em;
}
@media (min-width: 1199px) {
  .l-gNav > li > ul li:not(:last-child) {
    margin-bottom: 1.25em;
  }
}
.l-gNav > li > ul li > a {
  position: relative;
  padding-left: 23px;
  transition: color 0.5s, padding-left 0.5s;
  display: inline-block;
}
.l-gNav > li > ul li > a::before {
  content: "";
  width: 13px;
  height: 1px;
  background-color: #745a44;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  transition: width 0.5s;
}
@media (any-hover: hover) {
  .l-gNav > li > ul li > a:where(:-webkit-any-link, :enabled, summary):hover {
    color: #745a44;
    padding-left: 33px;
  }
  .l-gNav > li > ul li > a:where(:-moz-any-link, :enabled, summary):hover {
    color: #745a44;
    padding-left: 33px;
  }
  .l-gNav > li > ul li > a:where(:any-link, :enabled, summary):hover {
    color: #745a44;
    padding-left: 33px;
  }
  .l-gNav > li > ul li > a:where(:-webkit-any-link, :enabled, summary):hover::before {
    width: 23px;
  }
  .l-gNav > li > ul li > a:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 23px;
  }
  .l-gNav > li > ul li > a:where(:any-link, :enabled, summary):hover::before {
    width: 23px;
  }
}
.l-gNav__access {
  border: 1px solid #745a44;
  margin-top: clamp( 30px, 16.3470873786px + 3.640776699vw,60px);
}
@media (min-width: 1199px) {
  .l-gNav__access {
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 30px;
  }
}
.l-gNav__access a {
  font-size: 93.75%;
  color: #745a44;
  display: flex;
  padding: 0.75em 1.5em;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  transition: background-color 0.5s;
}
@media (min-width: 1199px) {
  .l-gNav__access a {
    padding: 0.5em 1em;
  }
}
.l-gNav__access a img {
  filter: invert(36%) sepia(23%) saturate(697%) hue-rotate(346deg) brightness(89%) contrast(83%);
}
@media (min-width: 1199px) and (any-hover: hover) {
  .l-gNav__access a:where(:-webkit-any-link, :enabled, summary):hover {
    background-color: #ebe6d7;
  }
  .l-gNav__access a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #ebe6d7;
  }
  .l-gNav__access a:where(:any-link, :enabled, summary):hover {
    background-color: #ebe6d7;
  }
}
.l-footer {
  text-align: center;
  padding: 50px 5% clamp( 50px, 59.1019417476px + -2.427184466vw,30px);
}
@media (min-width: 959px) {
  .l-footer {
    text-align: left;
  }
}
@media (min-width: 959px) {
  .l-footer {
    padding: 50px 50px clamp( 50px, 59.1019417476px + -2.427184466vw,30px);
    position: relative;
    display: grid;
    grid-template-columns: 105px repeat(2, 1fr);
    grid-template-rows: 1fr auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}
.l-footer a {
  color: #000;
  text-decoration: none;
}
.l-footer__logo {
  margin-bottom: 20px;
}
.l-footer__logo img {
  max-width: 114px;
}
@media (min-width: 959px) {
  .l-footer__logo img {
    max-width: 105px;
  }
}
@media (min-width: 959px) {
  .l-footer__logo {
    margin-bottom: 0;
    grid-area: 1/1/2/2;
  }
}
.l-footer__sitename {
  margin-bottom: 2em;
}
.l-footer__sitename > a {
  font-size: 1.0625rem;
}
@media (min-width: 959px) {
  .l-footer__sitename {
    margin-bottom: 0;
    padding-left: 30px;
    grid-area: 1/2/2/3;
  }
}
.l-footer address {
  font-style: normal;
  margin: 0.75em 0 0;
  font-size: 93.75%;
  line-height: 1.5;
}
@media (min-width: 959px) {
  .l-footer__others {
    grid-area: 1/3/2/4;
  }
}
.l-footer__menus {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  margin-bottom: 30px;
  font-size: 93.75%;
}
@media (min-width: 959px) {
  .l-footer__menus {
    gap: 10px 25px;
    justify-content: flex-end;
  }
}
.l-footer__menus li a {
  position: relative;
  display: inline-block;
  padding-right: 15px;
}
@media (any-hover: hover) {
  .l-footer__menus li a:where(:-webkit-any-link, :enabled, summary):hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
  .l-footer__menus li a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
  .l-footer__menus li a:where(:any-link, :enabled, summary):hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}
.l-footer__menus li a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #8e8064;
  border-right: 2px solid #8e8064;
  position: absolute;
  rotate: 45deg;
  right: 5px;
  top: 50%;
  translate: 0 -50%;
}
.l-footer__menus li a::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #745a44;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.5s;
}
.l-footer__sns {
  display: flex;
  gap: 28px;
  justify-content: center;
  align-items: center;
}
@media (min-width: 959px) {
  .l-footer__sns {
    gap: 12px;
    justify-content: flex-end;
  }
}
.l-footer__sns a {
  display: inline-block;
  transition: 0.5s opacity;
}
@media (any-hover: hover) {
  .l-footer__sns a:hover {
    opacity: 0.6;
  }
}
.l-footer__sns a img {
  filter: invert(54%) sepia(8%) saturate(1265%) hue-rotate(2deg) brightness(92%) contrast(84%);
  height: 48px;
  width: auto;
}
@media (min-width: 959px) {
  .l-footer__sns a img {
    height: 38px;
  }
}
.l-footer__copyright {
  font-size: 0.75rem;
  margin-top: 20px;
}
@media (min-width: 959px) {
  .l-footer__copyright {
    margin-top: 20px;
    grid-area: 2/1/3/4;
  }
}
.l-main {
  padding-top: clamp( 60px, 14.4902912621px + 12.1359223301vw,160px);
}
.l-pagetitle {
  text-align: center;
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: clamp( 1.5625rem, 1.0789593447rem + 2.0631067961vw,2.625rem);
  width: 100%;
}
.l-pagetitle span {
  position: relative;
  z-index: 1;
}
.l-pagetitle span.u-en {
  font-family: "Cinzel", serif;
  color: #fff;
  width: 100%;
  letter-spacing: 0;
  left: 0;
  top: 50%;
  translate: 0 -30%;
  position: absolute;
  line-height: 1;
  font-weight: normal;
  font-size: clamp( 2.5rem, 1.3622572816rem + 4.854368932vw,5rem);
  z-index: 0;
}
@media (min-width: 1199px) {
  .l-pagetitle span.u-en {
    translate: 0 -20%;
  }
}
.l-pagetitle span.u-sml {
  font-size: clamp( 1.1875rem, 0.8746207524rem + 1.3349514563vw,1.875rem);
}
.l-pagetitle__outer {
  background-color: #ebe6d7;
  padding: 0 5%;
  position: relative;
}
@media (min-width: 959px) {
  .l-pagetitle__outer {
    padding: 0 50px;
  }
}
.l-pagetitle__inner {
  height: clamp( 180px, 120.8373786408px + 15.7766990291vw,310px);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: clamp( 50px, 27.2451456311px + 6.067961165vw,100px);
  /* display: grid;
  place-items: center; */
}
@media (min-width: 959px) {
  .l-pagetitle__inner {
    justify-content: center;
    padding-bottom: 0;
  }
}
.l-pagetitle__inner > div {
  width: 100%;
}
.l-pagetitle__category {
  position: relative;
  top: -1.75em;
  margin-bottom: -1.75em;
  text-align: center;
  font-size: clamp( 1rem, 0.9431128641rem + 0.2427184466vw,1.125rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.l-topicPath {
  list-style-type: none;
  font-size: 0.75rem;
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
  gap: 33px;
  padding-top: clamp( 15px, 8.1735436893px + 1.8203883495vw,30px);
  position: absolute;
  left: 5%;
  top: 0;
  z-index: 1;
  width: 90%;
}
@media (min-width: 959px) {
  .l-topicPath {
    left: 50px;
  }
}
.l-topicPath li {
  position: relative;
}
.l-topicPath li:not(:last-child)::after {
  content: "";
  width: 18px;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  right: -25px;
}
.l-topicPath a {
  color: #000;
}

.c-contacts {
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
@media (min-width: 767px) {
  .c-contacts {
    flex-direction: row;
  }
}
.c-contacts section {
  background-color: #8e8064;
  padding: 25px 5% 40px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 767px) {
  .c-contacts section {
    width: calc((100% - 1px) / 2);
  }
}
@media (min-width: 959px) {
  .c-contacts section {
    padding: clamp( 60px, 50.8980582524px + 2.427184466vw,80px) 50px;
  }
}
.c-contacts section h2 {
  font-weight: 500;
  font-size: clamp( 1.25rem, 1.0793385922rem + 0.7281553398vw,1.625rem);
  position: relative;
  padding-bottom: 15px;
  margin-bottom: clamp( 20px, 15.4490291262px + 1.213592233vw,30px);
}
.c-contacts section h2::after {
  content: "";
  height: 1px;
  width: clamp( 60px, 50.8980582524px + 2.427184466vw,80px);
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.c-contacts section.-tel a {
  color: #fff;
  font-size: clamp( 2.125rem, 1.7836771845rem + 1.4563106796vw,2.875rem);
  line-height: 1;
}
.c-contacts section.-tel a img {
  width: clamp( 19px, 16.2694174757px + 0.7281553398vw,25px);
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(288deg) brightness(112%) contrast(107%);
  margin-right: 10px;
  vertical-align: baseline;
}
.c-contacts section.-tel p {
  margin-top: 1.5em;
}
.c-contacts section.-mail a {
  display: flex;
  border-radius: 5px;
  max-width: 380px;
  margin-inline: auto;
  color: #8e8064;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgb(240, 240, 240) 50%, rgb(240, 240, 240) 100%);
  width: 100%;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  padding: 20px;
  font-size: 112.5%;
  transition: 0.5s opacity;
}
@media (any-hover: hover) {
  .c-contacts section.-mail a:hover {
    opacity: 0.6;
  }
}
.c-contacts section.-mail a img {
  filter: invert(50%) sepia(26%) saturate(360%) hue-rotate(2deg) brightness(95%) contrast(89%);
  vertical-align: middle;
  margin-right: 10px;
}
.c-contacts section.-mail p {
  margin-top: 1.5em;
}
.c-commonSub01 {
  background-color: #ebe6d7;
  border-left: 3px solid #000;
  font-weight: 500;
  font-size: 125%;
  padding: 0.5em 1em;
  line-height: 1.5;
  margin-bottom: clamp( 40px, 28.6225728155px + 3.0339805825vw,65px);
}
.c-commonSub02 {
  border-bottom: 1px solid #8e8064;
  font-size: clamp( 1.25rem, 0.9655643204rem + 1.213592233vw,1.875rem);
  font-weight: 500;
  position: relative;
  padding-bottom: 0.5em;
  margin-bottom: clamp( 30px, 20.8980582524px + 2.427184466vw,50px);
  line-height: 1.5;
}
.c-commonSub02::before {
  content: "";
  width: clamp( 150px, 81.7354368932px + 18.2038834951vw,300px);
  height: 3px;
  background-color: #745a44;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.c-commonSub03 {
  font-weight: 500;
  font-size: clamp( 1.125rem, 1.0681128641rem + 0.2427184466vw,1.25rem);
  border-left: 3px solid #000;
  padding-left: 15px;
  margin-bottom: clamp( 20px, 15.4490291262px + 1.213592233vw,30px);
}
.c-linkTarget::before {
  content: "";
  display: block;
  height: 121px;
  margin-top: -121px;
  position: relative;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 959px) {
  .c-linkTarget::before {
    height: 160px;
    margin-top: -160px;
  }
}
.c-linkTarget:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.c-newwindow {
  vertical-align: middle;
  margin: 0 5px;
}
.c-newwindow img {
  vertical-align: middle;
}
.c-information__article {
  border-bottom: 1px solid #ccc;
  padding: 1em 0;
}
.c-information__article:first-child {
  border-top: 1px solid #ccc;
}
.c-information__article dl dt {
  display: flex;
  gap: 5px 15px;
  margin-bottom: 5px;
  align-items: flex-start;
}
.c-information__date {
  font-size: 0.875rem;
  white-space: nowrap;
}
.c-information__category {
  font-size: 0.6875rem;
  display: inline-block;
  text-align: center;
  min-width: 68px;
  padding: 4px 10px 6px;
  line-height: 1;
  font-family: YakuHanJP, "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  white-space: normal;
}
.c-information__category.-news {
  background-color: #ebe6d7;
}
.c-information__category.-recruit {
  background-color: #e4cad0;
}
.c-information__category.-class {
  background-color: #c6d8e8;
}
.c-information__ttl {
  font-size: 1rem;
}
.c-information__ttl a {
  color: #000;
  transition: color 0.5s;
}
@media (any-hover: hover) {
  .c-information__ttl a:where(:-webkit-any-link, :enabled, summary):hover {
    color: #2364ca;
  }
  .c-information__ttl a:where(:-moz-any-link, :enabled, summary):hover {
    color: #2364ca;
  }
  .c-information__ttl a:where(:any-link, :enabled, summary):hover {
    color: #2364ca;
  }
}
.c-categoryIndex {
  position: relative;
  overflow: hidden;
  padding: 60px 5%;
}
@media (min-width: 959px) {
  .c-categoryIndex {
    padding: 40px 50px clamp( 80px, 25.3883495146px + 14.5631067961vw,200px);
  }
}
.c-categoryIndex__inner {
  max-width: 1200px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp( 20px, 8.1674757282px + 3.1553398058vw,46px);
}
@media (min-width: 767px) {
  .c-categoryIndex__inner {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.c-categoryIndex__bg {
  width: 100%;
  height: 75.035%;
  background-color: #f0f0f0;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media (min-width: 767px) {
  .c-categoryIndex__bg {
    height: 65%;
  }
}
@media (min-width: 959px) {
  .c-categoryIndex__bg {
    height: 66%;
  }
}
@media (min-width: 1699px) {
  .c-categoryIndex__bg {
    height: 70%;
  }
}
.c-categoryIndex__bg::after {
  content: "";
  width: calc(100% + 50px);
  height: 100px;
  background-color: #f0f0f0;
  -webkit-clip-path: ellipse(50% 50% at 50% 50%);
          clip-path: ellipse(50% 50% at 50% 50%);
  position: absolute;
  left: 50%;
  top: -50px;
  translate: -50% 0;
}
@media (min-width: 959px) {
  .c-categoryIndex__bg::after {
    height: 200px;
    top: -100px;
    width: calc(100% + 150px);
  }
}
.c-categoryIndex__item {
  text-align: left;
  position: relative;
}
@media (min-width: 767px) {
  .c-categoryIndex__item {
    width: calc((100% - clamp( 20px, 8.1674757282px + 3.1553398058vw,46px)) / 2);
  }
}
.c-categoryIndex__item a {
  display: flex;
  flex-direction: row-reverse;
  color: #000;
  background-color: #fff;
  height: 100%;
  text-decoration: none;
  padding: clamp( 20px, 15.4490291262px + 1.213592233vw,30px) 0 clamp( 20px, 15.4490291262px + 1.213592233vw,30px);
  border-radius: 10px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  transition: bottom 0.5s;
  bottom: 0;
  position: relative;
}
@media (any-hover: hover) {
  .c-categoryIndex__item a:where(:-webkit-any-link, :enabled, summary):hover {
    bottom: clamp( 15px, 8.1735436893px + 1.8203883495vw,30px);
  }
  .c-categoryIndex__item a:where(:-moz-any-link, :enabled, summary):hover {
    bottom: clamp( 15px, 8.1735436893px + 1.8203883495vw,30px);
  }
  .c-categoryIndex__item a:where(:any-link, :enabled, summary):hover {
    bottom: clamp( 15px, 8.1735436893px + 1.8203883495vw,30px);
  }
}
@media (min-width: 767px) {
  .c-categoryIndex__item a {
    min-height: 230px;
  }
}
.c-categoryIndex__item dl {
  border-left: 1px solid #8e8064;
  width: 65.2174%;
  padding: 0 clamp( 20px, 13.1735436893px + 1.8203883495vw,35px);
}
.c-categoryIndex__item dl dt {
  font-weight: 500;
  font-size: clamp( 1.25rem, 1.0793385922rem + 0.7281553398vw,1.625rem);
  line-height: 1.3;
  margin-bottom: 0.5em;
}
.c-categoryIndex__item figure {
  width: 34.7826%;
  display: grid;
  place-items: center;
  padding: 0 clamp( 20px, 13.1735436893px + 1.8203883495vw,35px);
}
.c-categoryIndex__item figure img {
  filter: invert(58%) sepia(3%) saturate(3298%) hue-rotate(2deg) brightness(87%) contrast(91%);
}
.c-lead {
  max-width: 1200px;
  margin-left: 5%;
  margin-right: 5%;
  text-align: center;
  font-size: clamp( 1.125rem, 0.9543385922rem + 0.7281553398vw,1.5rem);
  font-weight: 500;
  margin-bottom: clamp( 60px, 21.3167475728px + 10.3155339806vw,145px);
}
@media (min-width: 959px) {
  .c-lead {
    margin-left: 50px;
    margin-right: 50px;
  }
}
@media (min-width: 1299px) {
  .c-lead {
    margin-inline: auto;
  }
}
.l-pagetitle__outer + .c-lead {
  margin-top: clamp( 60px, 21.3167475728px + 10.3155339806vw,145px);
}
.c-underpageIntroduction {
  margin-top: clamp( 60px, 5.3883495146px + 14.5631067961vw,180px);
  margin-bottom: clamp( 100px, 54.4902912621px + 12.1359223301vw,200px);
  position: relative;
}
.c-underpageIntroduction__en {
  color: #ebe6d7;
  font-family: "Marcellus", serif;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: clamp( 3.75rem, 1.8727245146rem + 8.0097087379vw,7.875rem);
  position: absolute;
  left: -5%;
  top: -10%;
  z-index: -1;
}
@media (min-width: 767px) {
  .c-underpageIntroduction__en {
    top: -18%;
  }
}
@media (min-width: 959px) {
  .c-underpageIntroduction__en {
    top: -25%;
    left: -5%;
  }
}
@media (min-width: 1599px) {
  .c-underpageIntroduction__en {
    left: -13%;
  }
}
.c-underpageIntroduction__en.-thin {
  letter-spacing: 0;
}
.c-underpageIntroduction .u-txt {
  margin: 0 5%;
  position: relative;
}
@media (min-width: 959px) {
  .c-underpageIntroduction .u-txt {
    padding-right: 38.5416%;
  }
}
@media (min-width: 1299px) {
  .c-underpageIntroduction .u-txt {
    max-width: 1200px;
    margin-inline: auto;
    padding-right: 0;
  }
}
.c-underpageIntroduction .u-txt p {
  font-size: 112.5%;
}
.c-underpageIntroduction .u-txt p.u-lrg {
  font-size: clamp( 1.25rem, 1.0793385922rem + 0.7281553398vw,1.625rem);
  font-weight: 500;
  margin-bottom: 1em;
}
@media (min-width: 767px) {
  .c-underpageIntroduction .u-txt p.u-lrg {
    margin-bottom: 2em;
  }
}
.c-underpageIntroduction .u-txt p.u-anno {
  font-size: clamp( 0.875rem, 0.8181128641rem + 0.2427184466vw,1rem);
}
.c-underpageIntroduction .u-txt p.u-anno a {
  color: #b24b44;
}
.c-underpageIntroduction .u-txt br.u-pc {
  display: none;
}
@media (min-width: 767px) {
  .c-underpageIntroduction .u-txt br.u-pc {
    display: inline;
  }
}
.c-underpageIntroduction .u-img {
  position: relative;
  margin-top: calc(40px + 2em);
  margin-left: 5%;
}
.c-underpageIntroduction .u-img::after {
  content: "";
  width: calc(100% - 40px);
  height: 100%;
  background-color: #ebe6d7;
  border-radius: clamp( 10px, 7.7245145631px + 0.6067961165vw,15px) 0 0 clamp( 10px, 7.7245145631px + 0.6067961165vw,15px);
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (min-width: 959px) {
  .c-underpageIntroduction .u-img {
    position: absolute;
    right: 0;
    top: 0;
    width: 38.5416%;
    max-width: 740px;
    margin-top: 0;
    margin-left: 0;
  }
}
.c-underpageIntroduction .u-img img {
  position: relative;
  z-index: 1;
  width: 85.135%;
  max-width: 630px;
  top: -40px;
  border-radius: clamp( 10px, 7.7245145631px + 0.6067961165vw,15px);
}
.c-kadomaruBtn {
  width: 100%;
  background-color: #8e8064;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  display: block;
  padding: 14px 60px 14px 20px;
  position: relative;
  transition: background-color 0.5s;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-kadomaruBtn:where(:-webkit-any-link, :enabled, summary):hover {
    background-color: #745a44;
  }
  .c-kadomaruBtn:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #745a44;
  }
  .c-kadomaruBtn:where(:any-link, :enabled, summary):hover {
    background-color: #745a44;
  }
  .c-kadomaruBtn:where(:-webkit-any-link, :enabled, summary):hover span:last-child {
    right: 10px;
  }
  .c-kadomaruBtn:where(:-moz-any-link, :enabled, summary):hover span:last-child {
    right: 10px;
  }
  .c-kadomaruBtn:where(:any-link, :enabled, summary):hover span:last-child {
    right: 10px;
  }
}
.c-kadomaruBtn span:last-child {
  position: absolute;
  width: 28px;
  overflow: hidden;
  height: 10px;
  right: 20px;
  top: 50%;
  translate: 0 -50%;
  transition: right 0.5s;
}
.c-kadomaruBtn span:last-child svg {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  height: 7px;
  width: auto;
}
.c-plainTbl {
  border-collapse: collapse;
  border-top: 1px solid #b2b2b2;
  width: 100%;
}
.c-plainTbl caption {
  text-align: left;
  font-weight: 500;
  font-size: clamp( 1.125rem, 1.0681128641rem + 0.2427184466vw,1.25rem);
  border-left: 3px solid #000;
  padding-left: 15px;
  margin-bottom: clamp( 12px, 8.359223301px + 0.9708737864vw,20px);
}
.c-plainTbl th, .c-plainTbl td {
  font-weight: normal;
  border-bottom: 1px solid #b2b2b2;
  padding: clamp( 7px, 3.359223301px + 0.9708737864vw,15px) clamp( 10px, 5.4490291262px + 1.213592233vw,20px);
  line-height: 1.5;
  vertical-align: top;
}
.c-plainTbl tbody th {
  border-right: 1px solid #b2b2b2;
  background-color: #efefef;
  width: 30%;
}
.c-plainTbl td ul {
  margin-left: 1.5em;
}

.u-ib {
  display: inline-block;
}
.u-note {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 90%;
}
.u-note.-caution {
  color: #b24b44;
}
.u-telLink {
  text-decoration: none;
}
@media (min-width: 959px) {
  .u-telLink {
    color: #000;
    pointer-events: none;
  }
  .u-telLink:hover {
    cursor: text;
  }
}
.u-caution {
  color: #b24b44;
}
.u-anno {
  color: #b24b44;
  font-size: 90%;
  margin-top: 1em;
}
@media (min-width: 767px) {
  .u-anno {
    margin-top: 2.5em;
  }
}
.u-anno .marker {
  text-decoration: underline;
}

.mfp-bottom-bar {
  font-family: YakuHanMP, "YuMincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  margin-top: -20px !important;
}
/*# sourceMappingURL=common.css.map */