@charset "UTF-8";
:root {
  --width-entry: 1000px;
  --width-overall: 1280px;
  --clr-main: #2F455B;
  --clr-accent: #92211A;
  --clr-border: #DDE1E8;
  --clr-headerimg-overlay: rgba(52, 63, 73, 0.6);
  --margin-layout: clamp(32px, calc(32vw*100/375), 80px);
}

body {
  letter-spacing: 0.04em;
}

@media (min-width: 1025px) {
  body {
    font-size: 1.7rem;
    line-height: 2;
  }
}
b {
  color: var(--clr-accent);
}

div[class^=btn]:active {
  top: 0;
}

.date {
  color: #878D93;
  font-size: 1.8rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  opacity: 1;
}

.cat a {
  background-color: var(--clr-main);
  border-radius: 0;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 4px 24px;
}

.scroll-area::-webkit-scrollbar-track {
  border-radius: 0;
}

.scroll-area::-webkit-scrollbar-thumb {
  border-radius: 0;
}

@media screen and (max-width: 640px) {
  .sp-only {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .pc-only {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp-only-center {
    text-align: center;
  }
}
@media screen and (min-width: 641px) {
  .pc-only-center {
    text-align: center;
  }
}
.headerimg-txt {
  color: var(--clr-headerimg-txt, var(--clr-main));
}

@media (max-width: 1024px) {
  [data-headerimg-type=header][data-headerimg-img-sp=true]:not([data-headerimg-title-sp=under]) .headerimg-txt {
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  #main-header #headerimg, .headerimg-inner {
    height: var(--h-hdr-sp) !important;
  }
}
@media screen and (max-width: 480px) {
  .headerimg-img #header-view img {
    height: 100% !important;
  }
}
.headerimg-subtitle {
  font-size: 1.125em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  margin-bottom: -0.5em;
  opacity: 0.64;
}

[data-page=top] .headerimg-inner {
  display: none;
}
[data-page=top] #headerimg::before {
  display: none !important;
}

[data-page=category] #main-header,
[data-page=entry] #main-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
[data-page=category] #headerimg,
[data-page=entry] #headerimg {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--width-entry);
  width: 100%;
}
[data-page=category] .headerimg-img,
[data-page=entry] .headerimg-img {
  display: none;
}
[data-page=category] .headerimg-title::after,
[data-page=entry] .headerimg-title::after {
  background-color: var(--clr-accent);
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: clamp(24px, 6.4vw, 32px) auto 0;
}
[data-page=category] .c-siteNavi,
[data-page=entry] .c-siteNavi {
  order: -1;
  margin-top: 0 !important;
}

[data-page=category] .headerimg-txt {
  justify-content: center;
}
[data-page=category] .headerimg-title {
  text-align: center;
}

[data-page=entry] #main-header {
  align-items: flex-start;
}
[data-page=entry] .headerimg-title::after {
  margin-left: 0;
}

@media (min-width: 1025px) and (max-width: 1200px) {
  [data-header=""] .topmenu_ul > li:not(:last-child), [data-header=row2] .topmenu_ul > li:not(:last-child), [data-header=row2-lead] .topmenu_ul > li:not(:last-child), [data-header=row2-center] .topmenu_ul > li:not(:last-child), [data-header=fixed] .topmenu_ul > li:not(:last-child) {
    margin-right: 1em;
  }
}
@media (min-width: 1025px) and (max-width: 1200px) {
  #header-lead {
    font-size: 1rem !important;
  }
}
#spmenu-btn {
  color: var(--clr-main);
  font-size: 1.2rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1;
  text-indent: 0;
  padding: 28px 0 0;
  width: 38px;
  text-transform: uppercase;
}

#spmenu-btn::before {
  margin-top: -16px;
}

#spmenu-btn span::before {
  margin-top: -8px;
}

#spmenu-btn::after {
  margin-top: 0;
}

#header-lead {
  color: var(--clr-main);
  font-weight: 500;
}

@media (max-width: 1024px) {
  #header-lead {
    display: none;
  }
}
#header-lead02 {
  padding: 0.5em var(--padding-overall) 0;
}

#header-lead02 #header-lead {
  font-size: 1.1rem;
  line-height: 1.5;
  display: block;
  padding: 0;
}
#header-lead02 #header-lead br {
  display: none;
}

@media (min-width: 1025px) {
  #header-lead02 {
    display: none;
  }
  #header-lead {
    font-size: 1.4rem;
  }
}
#spmenu-btn {
  margin-left: 4px;
}

#spbtn-tel {
  background-color: var(--clr-main);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  margin-left: auto;
  width: 44px;
  height: 44px;
}
#spbtn-tel::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2225%22%20fill%3D%22none%22%20viewBox%3D%220%200%2019%2025%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M18.992%2019.43a1.06%201.06%200%200%200-.36-.451c-.134-.11-.314-.257-.538-.428a45%2045%200%200%200-1.595-1.135c-.45-.305-1.1-.744-1.662-1.074-.73-.44-.989-.525-1.19-.488-.214.024-.416.11-.585.244-.18.11-.415.28-.696.488-.405.305-.91.696-1.539%201.196a.36.36%200%200%201-.46%200%2019%2019%200%200%201-3.055-2.868c-1.27-1.416-2.112-3.21-2.437-5.151a1%201%200%200%201%20.393-.94l2.426-1.745c.382-.269.539-.782.382-1.233L6.346.815c-.124-.34-.393-.597-.719-.67a4.37%204.37%200%200%200-2.65.134C2.517.547%202.112.9%201.775%201.34A7.7%207.7%200%200%200%20.562%203.55%209.8%209.8%200%200%200%200%206.955c.034%201.562.315%203.112.832%204.577C2.033%2014.755%203.864%2017.66%206.2%2020.04a19.5%2019.5%200%200%200%204.66%203.82c.461.183.922.33%201.405.415.617.122%201.235.17%201.864.146%201.314.05%202.583-.512%203.493-1.538a7.7%207.7%200%200%200%201.157-2.05c.19-.44.258-.916.202-1.392%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2225%22%20fill%3D%22none%22%20viewBox%3D%220%200%2019%2025%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M18.992%2019.43a1.06%201.06%200%200%200-.36-.451c-.134-.11-.314-.257-.538-.428a45%2045%200%200%200-1.595-1.135c-.45-.305-1.1-.744-1.662-1.074-.73-.44-.989-.525-1.19-.488-.214.024-.416.11-.585.244-.18.11-.415.28-.696.488-.405.305-.91.696-1.539%201.196a.36.36%200%200%201-.46%200%2019%2019%200%200%201-3.055-2.868c-1.27-1.416-2.112-3.21-2.437-5.151a1%201%200%200%201%20.393-.94l2.426-1.745c.382-.269.539-.782.382-1.233L6.346.815c-.124-.34-.393-.597-.719-.67a4.37%204.37%200%200%200-2.65.134C2.517.547%202.112.9%201.775%201.34A7.7%207.7%200%200%200%20.562%203.55%209.8%209.8%200%200%200%200%206.955c.034%201.562.315%203.112.832%204.577C2.033%2014.755%203.864%2017.66%206.2%2020.04a19.5%2019.5%200%200%200%204.66%203.82c.461.183.922.33%201.405.415.617.122%201.235.17%201.864.146%201.314.05%202.583-.512%203.493-1.538a7.7%207.7%200%200%200%201.157-2.05c.19-.44.258-.916.202-1.392%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: middle;
}

@media (min-width: 1025px) {
  #spbtn-tel {
    display: none;
  }
}
@media (min-width: 1025px) {
  [data-header=""] #header .container {
    gap: 0 32px;
  }
  [data-header=""] #header-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    margin-left: auto;
    padding: 16px 0;
  }
  [data-header=""] #topmenu {
    min-height: auto;
  }
  [data-header=""] #space7 {
    order: -1;
    min-height: auto;
  }
}
.cta-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 1025px) {
  .cta-header {
    flex-direction: row;
    align-items: center;
  }
}
.cta-header .cta-more a {
  background-color: var(--clr-accent);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 72px;
  padding: 0 20px;
  text-decoration: none;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}
.cta-header .cta-more a::before {
  content: "";
  display: block;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M19.799%201.166c.129.269.201.57.201.887v9.894C20%2013.081%2019.08%2014%2017.943%2014H2.057A2.055%202.055%200%200%201%200%2011.947V2.053c0-.318.072-.618.201-.887l8.535%207.736a1.877%201.877%200%200%200%202.528%200zM17.942%200c.317%200%20.616.072.884.2l-8.485%207.689a.507.507%200%200%201-.683%200L1.174.199C1.442.072%201.74%200%202.057%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M19.799%201.166c.129.269.201.57.201.887v9.894C20%2013.081%2019.08%2014%2017.943%2014H2.057A2.055%202.055%200%200%201%200%2011.947V2.053c0-.318.072-.618.201-.887l8.535%207.736a1.877%201.877%200%200%200%202.528%200zM17.942%200c.317%200%20.616.072.884.2l-8.485%207.689a.507.507%200%200%201-.683%200L1.174.199C1.442.072%201.74%200%202.057%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 1.25em;
  height: 0.875em;
  pointer-events: none;
}

@media (min-width: 1025px) {
  .cta-header .cta-more a {
    min-width: 210px;
    min-height: 52px;
  }
}
@media (min-width: 1025px) {
  .cta-header .cta-more a {
    transition: 0.2s;
  }
  .cta-header .cta-more a:hover {
    opacity: 0.7;
  }
}
.tel01 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0;
  min-height: 72px;
  text-decoration: none;
  width: 100%;
  flex-shrink: 0;
}

.tel-number {
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: baseline;
  letter-spacing: 0.02em;
}
.tel-number a {
  font-weight: 600;
  line-height: 1;
}
.tel-number a::before {
  content: "TEL.";
  font-size: 0.5714285714em;
}
.tel-number::before {
  display: none;
}

.tel-desc {
  margin-top: 0.3636363636em;
  font-size: 1.1rem;
  line-height: 1.5;
}

@media (min-width: 1025px) {
  .tel01 {
    background-color: transparent !important;
    border-radius: 0;
    min-height: auto;
    width: auto;
  }
}
[data-column=col1][data-main=wide] #main section {
  padding-top: 160px;
  padding-bottom: 160px;
}

@media (max-width: 640px) {
  [data-column=col1][data-main=wide] #main section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
[data-page=top] .headerimg-txt {
  display: none;
}

[data-page=category][data-column=col1][data-main=wide] #main section {
  padding-top: 80px;
  padding-bottom: 0;
}
[data-page=category][data-column=col1][data-main=wide] #main section .txt-body {
  max-width: var(--width-entry);
}

@media (max-width: 640px) {
  [data-page=category][data-column=col1][data-main=wide] #main section {
    padding-top: 24px;
  }
}
[data-page=entry][data-column=col1][data-main=wide] #main section {
  padding-top: 64px;
}

@media (max-width: 640px) {
  [data-page=entry][data-column=col1][data-main=wide] #main section {
    padding-top: 40px;
  }
}
#footer .inner {
  gap: 40px;
  padding-top: 64px;
  padding-bottom: 64px;
  max-width: 1200px;
}

@media (min-width: 1025px) {
  [data-footer*=col2] #footer-menu {
    order: 0;
  }
  #footer .inner {
    padding-top: 120px;
    padding-bottom: 120px;
    max-width: 1200px;
  }
  #footer-menu {
    font-size: 1.6rem;
  }
  #copy {
    text-align: right;
  }
}
.cta-footer02 .cta-title {
  font-size: clamp(2.8rem, 7.4666666667vw, 3rem);
  line-height: 1.5;
}

.cta-footer02 .cta-desc {
  font-size: clamp(1.2rem, 3.2vw, 1.6rem);
  line-height: 2;
}

.cta-footer02 .cta-more a {
  background-color: #92211A;
  border-radius: 0;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1.5;
  padding: 1.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.7em;
}
.cta-footer02 .cta-more a::before {
  content: "";
  display: block;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M19.799%201.166c.129.269.201.57.201.887v9.894C20%2013.081%2019.08%2014%2017.943%2014H2.057A2.055%202.055%200%200%201%200%2011.947V2.053c0-.318.072-.618.201-.887l8.535%207.736a1.877%201.877%200%200%200%202.528%200zM17.942%200c.317%200%20.616.072.884.2l-8.485%207.689a.507.507%200%200%201-.683%200L1.174.199C1.442.072%201.74%200%202.057%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M19.799%201.166c.129.269.201.57.201.887v9.894C20%2013.081%2019.08%2014%2017.943%2014H2.057A2.055%202.055%200%200%201%200%2011.947V2.053c0-.318.072-.618.201-.887l8.535%207.736a1.877%201.877%200%200%200%202.528%200zM17.942%200c.317%200%20.616.072.884.2l-8.485%207.689a.507.507%200%200%201-.683%200L1.174.199C1.442.072%201.74%200%202.057%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 1.25em;
  height: 0.875em;
  pointer-events: none;
}

@media (min-width: 1025px) {
  .cta-footer02 .cta-inner {
    box-sizing: content-box;
    max-width: 1000px;
    margin: 0 auto;
    gap: 60px;
  }
  .cta-footer02 .cta-inner br {
    display: none;
  }
  .cta-footer02 .cta-txt {
    gap: 24px;
    max-width: 47%;
  }
  .cta-footer02 .cta-btns {
    max-width: 474px;
  }
  .cta-footer02 .cta-more a {
    font-size: 1.8rem;
  }
}
.footerInfo {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footerInfo__logo {
  text-align: center;
}

.footerInfo__address {
  font-size: 1.1rem;
}

.footerInfo__copy {
  font-size: 1.3rem;
}

@media (min-width: 1025px) {
  .footerInfo {
    gap: 40px;
  }
  .footerInfo__logo {
    text-align: left;
  }
}
h2, h3, h4, h5, h6 {
  color: var(--clr-main);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Serif JP", serif;
}

[data-column=col1][data-main=wide] h2:not([class*=topic]) {
  font-size: clamp(2.4rem, 6.4vw, 3rem);
  margin-bottom: clamp(40px, 10.6666666667vw, 80px);
}
[data-column=col1][data-main=wide] h2:not([class*=topic]) i {
  color: #878D93;
  font-size: 0.6em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 0.4444444444em;
}

:where([data-column=col1][data-main=wide]:not([data-page=entry]) h2:not([class*=topic]):not([class*=none-after]))::after {
  background-color: var(--clr-accent);
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: clamp(24px, 6.4vw, 32px) auto 0;
}

h3:not([class*=topic]) {
  border-bottom: 1px solid var(--clr-border);
  font-size: clamp(1.9rem, 5.0666666667vw, 2.4rem);
  margin-top: 1.5em;
  padding-bottom: 0.6em;
  padding-left: 0;
  padding-right: 0.5em;
}

h4:not([class*=topic]) {
  border-left: 2px solid var(--clr-accent);
  font-size: clamp(1.8rem, 4.8vw, 2rem);
}

[data-column=col1][data-main=wide][data-page=entry] h2:not([class*=topic]) {
  font-size: clamp(2.4rem, 6.4vw, 2.8rem);
  border-bottom: 1px solid var(--clr-border);
  padding-bottom: 0.6em;
  text-align: left;
  margin-bottom: 1.5em;
}

[data-page=entry] h3:not([class*=topic]) {
  border-bottom: none;
  border-left: 2px solid var(--clr-accent);
  font-size: clamp(1.9rem, 5.0666666667vw, 2.6rem);
  padding-left: 0.6em;
  padding-bottom: 0;
}
[data-page=entry] h4:not([class*=topic]) {
  border-left: none;
  padding-left: 0;
  font-size: clamp(1.8rem, 4.8vw, 2.2rem);
}
[data-page=entry] h5:not([class*=topic]) {
  padding-left: 0;
}
[data-page=entry] h5:not([class*=topic])::before {
  display: none;
}
[data-page=entry] h6:not([class*=topic]) {
  padding-left: 0;
}
[data-page=entry] h6:not([class*=topic])::before {
  display: none;
}

.form .item_t {
  color: var(--clr-main);
}

.form .item_t span {
  background-color: var(--clr-accent);
  border-radius: 0;
}

.contact-form .form input[type=submit] {
  background-color: var(--clr-main);
  font-family: "Noto Serif JP", serif;
  border-radius: 0;
  box-shadow: none;
  font-size: 1.8rem;
  font-weight: 600;
  padding: 1.5em 0;
  max-width: 400px;
}

.form .item-list {
  gap: 24px;
}

@media (min-width: 1025px) {
  .contact-form .form .item {
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
  }
  .contact-form .form .item_t {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 24%;
    position: relative;
    padding-top: 0.75em;
  }
  .contact-form .form .item_d {
    flex-grow: 1;
  }
}
.form input[type=text], .form input[type=email], .form input[type=tel], .form select {
  line-height: 3.5em;
  height: 3.5em;
}

.form input[type=text], .form input[type=email], .form input[type=tel], .form textarea, .form select {
  background-color: #F6F8FB;
  border: none;
  border-radius: 0;
}

.hide.del[style*="display: inline"] {
  padding-top: 0.75em;
  display: block !important;
}

.hide[style*="display: block"] + .form .desc {
  display: none;
}

@media screen and (min-width: 641px) {
  .form .desc {
    text-align: center;
  }
}
#contact-form h4:not([class*=topic]) {
  border-left: none;
  font-size: clamp(2.4rem, 6.4vw, 3rem);
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 1.5em;
  text-align: center;
}

.layout_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px 64px;
  margin: 0;
}

.layout_box .float_item {
  font-size: 1em;
  line-height: 2;
  flex: 1;
}
.layout_box .float_item h2:not([class*=topic]) {
  margin-top: 0;
}
.layout_box .float_item img {
  width: 100%;
}

@media screen and (min-width: 641px) {
  .layout_box .float_item h2:not([class*=topic]) {
    margin-top: 0;
    text-align: left;
  }
  .layout_box .float_item h2:not([class*=topic])::after {
    margin-left: 0;
  }
  .float_item-top {
    align-self: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .responsive.layout_box .float_item {
    margin: 0;
  }
}
@media screen and (min-width: 641px) {
  .img-layout {
    margin: 0;
  }
}
.grid {
  margin: 0;
}

.img-layout.layout-03 .grid, .img-layout.layout-04 .grid, .img-layout.layout-08 .grid {
  gap: 40px;
}

.grid .grid-item {
  max-width: none;
}

.img-layout .figure {
  gap: 1em 80px;
  margin: 0;
}

@media screen and (min-width: 641px) {
  .figure[data-figure-horizontal*=true] .figcaption {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0;
  }
}
.img-layout.layout-03 .figcaption-title, .img-layout.layout-04 .figcaption-title, .img-layout.layout-08 .figcaption-title {
  color: var(--clr-main);
  font-size: clamp(2.2rem, 5.8666666667vw, 2.4rem);
  font-family: "Noto Serif JP", serif;
}

.figcaption-title {
  margin-bottom: 1em;
}

.figcaption {
  font-size: 1em;
  line-height: 2;
}

div[class^=btn] {
  display: block;
  margin: 0 auto 0 0;
  width: auto;
  min-height: 40px;
}

@media screen and (max-width: 640px) {
  div[class^=btn] {
    margin: 0 auto;
  }
  div[class^=btn].align-left {
    margin-left: auto;
    margin-right: auto;
  }
}
div[class^=btn] > a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3em;
  padding: 16px 40px !important;
}

div[class*=btn-icon1] > a::after {
  position: static;
  transform: rotate(-45deg);
}

.btn-auto {
  font-size: 16px;
}

.user-lsit {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 4.2666666667vw, 24px);
}
.user-lsit > * {
  margin: 0 !important;
}

.user1-custom, .user2-custom {
  background-color: #F6F8FB;
  border-width: 0;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: start;
  gap: 16px;
  margin: var(--margin-component) 0;
  padding: clamp(24px, 6.4vw, 40px);
}

.user-img {
  grid-row: 1/3;
  grid-column: 1;
  max-width: 100px;
  margin: 0 8px 8px 0;
}

.user-body {
  display: contents;
}

.user-title {
  color: var(--clr-main);
  font-size: clamp(1.8rem, 4.8vw, 2.2rem);
  grid-row: 1;
  grid-column: 2;
  align-self: flex-end;
}

.user-review {
  grid-row: 2;
  grid-column: 2;
}

.user-desc {
  border-top: 1px solid var(--clr-border);
  padding-top: 24px;
  grid-row: 3;
  grid-column: 1/3;
  font-size: 1em;
  line-height: 2;
}

.user-review .user-name,
.user-review .user-status {
  font-size: 1.4rem;
  opacity: 0.5;
}

.rate0 {
  display: none;
}

@media screen and (max-width: 1024px) {
  .c-siteNavi {
    display: none;
  }
}
.c-siteNavi {
  background-color: var(--clr-siteNavi-bg);
  font-size: 1.4rem;
  line-height: 1;
  width: 100%;
  position: relative;
  padding: 0 var(--padding-overall);
}

.c-siteNavi__container {
  display: flex;
  align-items: center;
  overflow-x: auto;
  white-space: nowrap;
  max-width: 1160px;
  -ms-overflow-style: none;
  scrollbar-width: none;
  margin: 0 auto;
}

#siteNavi {
  background-color: var(--clr-siteNavi-bg, #fff);
  padding: 0;
}

#siteNavi ul {
  color: #333;
  font-size: 1.4rem;
  padding: 2.2em 0;
  max-width: 1160px;
}

.c-siteNavi__item {
  display: flex;
  align-items: center;
}

.c-siteNavi__item::before {
  background-color: #878D93;
  -webkit-mask: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%2211%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23008E6D%22%20fill-rule%3D%22evenodd%22%20d%3D%22M.293%201.059a1%201%200%200%201%201.414%200l4%204a1%201%200%200%201%200%201.414l-4%204A1%201%200%200%201%20.293%209.059l3.293-3.293L.293%202.473a1%201%200%200%201%200-1.414Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E) no-repeat center/6px auto;
  mask: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%2211%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23008E6D%22%20fill-rule%3D%22evenodd%22%20d%3D%22M.293%201.059a1%201%200%200%201%201.414%200l4%204a1%201%200%200%201%200%201.414l-4%204A1%201%200%200%201%20.293%209.059l3.293-3.293L.293%202.473a1%201%200%200%201%200-1.414Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E) no-repeat center/6px auto;
  content: "";
  display: block;
  margin: 0 1em;
  width: 6px;
  height: 11px;
  flex-shrink: 0;
}

.blogarea {
  max-width: var(--width-entry);
  margin: 0 auto;
}
.blogarea .title {
  display: none;
}

.bloglist {
  gap: 32px;
}

.blog {
  border-bottom: 1px solid var(--clr-border);
  padding-bottom: 24px;
}
.blog:not(:first-child) {
  padding-top: 24px;
}

@media (min-width: 1025px) {
  .blog {
    padding-bottom: 32px;
  }
  .blog:not(:first-child) {
    padding-top: 32px;
  }
}
.blog-thumb {
  display: none;
}

.blog-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 1025px) {
  .blog-body {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
}
.blog-info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.blog-info .date {
  order: -1;
}

@media (min-width: 1025px) {
  .blog-info {
    gap: 32px;
  }
}
.blog-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.blog-title a {
  color: #333;
  text-decoration: none;
}
.blog-title a:hover {
  text-decoration: underline;
}

@media (min-width: 1025px) {
  .blog .blog-title {
    -webkit-line-clamp: 1;
  }
}
.blog-desc {
  display: none;
}

.blog-more {
  display: none;
}

.div-list > div {
  display: flex;
  gap: 1em;
}

.gmap-wrap {
  margin: 0 auto;
}

.gmap-box {
  padding-bottom: 86%;
}

@media (min-width: 1025px) {
  .gmap-box {
    padding-bottom: 35%;
  }
}
@media screen and (max-width: 480px) {
  .table-wrap {
    padding-bottom: 10px;
  }
  .table-wrap::-webkit-scrollbar {
    height: 10px;
  }
  .table-wrap::-webkit-scrollbar-track {
    background-color: var(--clr-border);
    border-radius: 8px;
  }
  .table-wrap::-webkit-scrollbar-thumb {
    background-color: var(--clr-main);
    border-radius: 8px;
  }
  table.table-w100 {
    width: 160%;
  }
}
table {
  margin-bottom: 0;
  border-color: var(--clr-border);
}
table th, table td {
  padding: 1.5em;
}

table:not([class*=table-0]) {
  border-left-width: 1px;
}
table:not([class*=table-0]) tr > *:first-child {
  border-left-width: 0;
}
table:not([class*=table-0]) th {
  background-color: #ECEFF6;
  color: var(--clr-main);
}
table:not([class*=table-0]) b {
  color: var(--clr-main);
  font-size: 1.125em;
}
table:not([class*=table-0]) thead th {
  background-color: var(--clr-main);
  color: #fff;
}

.table-02 tbody tr > * {
  border-color: var(--clr-border) !important;
}
.table-02 th, .table-02 td {
  text-align: left;
  padding-left: 0;
}
.table-02 td {
  padding-right: 0;
}

.list-btn {
  background-color: #F6F8FB;
  padding: 24px 40px;
  display: flex;
  gap: 16px;
}
.list-btn div[class*=btn-icon1] > a::after {
  transform: rotate(45deg) translateY(-80%);
}

@media screen and (max-width: 640px) {
  .list-btn {
    flex-direction: column;
    gap: 8px;
  }
  .list-btn div[class^=btn] {
    width: 100% !important;
  }
}
@media screen and (min-width: 641px) {
  .list-btn {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .list-btn div[class^=btn] {
    margin: 0;
    width: 300px !important;
  }
}
ul:not([id]):not([class]) li::marker,
ol:not([id]):not([class]) li::marker {
  color: var(--clr-accent);
}

:is(dir, menu, ol, ul) ul {
  list-style-type: disc;
}

.p-flow__list {
  counter-reset: p-flow;
}

.p-flow__item {
  padding-bottom: 48px;
  display: flex;
  gap: 32px;
  position: relative;
  z-index: 0;
}
.p-flow__item::before {
  background-color: #ECEFF6;
  border-radius: 88px;
  counter-increment: p-flow;
  content: counter(p-flow, decimal-leading-zero);
  color: var(--clr-main);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
}
.p-flow__item:not(:last-child)::after {
  background-color: #ECEFF6;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 44px;
  z-index: -1;
}

@media screen and (max-width: 640px) {
  .p-flow__item {
    padding-bottom: 24px;
    gap: 24px;
  }
  .p-flow__item::before {
    border-radius: 72px;
    font-size: 2.4rem;
    width: 72px;
    height: 72px;
  }
  .p-flow__item:not(:last-child)::after {
    left: 36px;
  }
}
.p-flow__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-flow__title {
  color: var(--clr-main);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.6rem, 4.2666666667vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
}

#pagelist {
  color: #878D93;
  font-size: 2.6rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
}
#pagelist a {
  color: var(--clr-main);
  text-decoration: none;
}
#pagelist .current {
  opacity: 0.75;
}

@media screen and (max-width: 480px) {
  #pagelist {
    font-size: 2.4rem;
  }
}
.pagelist_ul li.prev a,
.pagelist_ul li.next a {
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  opacity: 1;
}
.pagelist_ul li.prev a::before,
.pagelist_ul li.next a::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%2016%22%3E%3Cpath%20fill%3D%22%232f455b%22%20d%3D%22M0%201.377%201.38%200%209.06%207.701l-7.686%207.701L0%2014.025%206.31%207.701z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/38% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%2016%22%3E%3Cpath%20fill%3D%22%232f455b%22%20d%3D%22M0%201.377%201.38%200%209.06%207.701l-7.686%207.701L0%2014.025%206.31%207.701z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/38% auto;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 1em;
}

.pagelist_ul li.prev a::before {
  transform: translate(-50%, -50%) scale(-1, 1);
}

.list-category-btn {
  background-color: #F6F8FB;
  padding: 24px 40px;
  display: flex;
  gap: 16px;
}
.list-category-btn div[class^=btn]:not(.current) {
  background-color: #fff;
}
.list-category-btn div[class^=btn]:not(.current) a {
  color: var(--clr-main);
}
.list-category-btn div[class^=btn]:not(.current):hover {
  background-color: var(--clr-main);
}
.list-category-btn div[class^=btn]:not(.current):hover a {
  color: #fff;
}

@media screen and (max-width: 640px) {
  .list-category-btn {
    flex-direction: column;
    gap: 8px;
  }
  .list-category-btn div[class^=btn] {
    width: 100% !important;
  }
}
@media screen and (min-width: 641px) {
  .list-category-btn {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .list-category-btn div[class^=btn] {
    margin: 0;
    width: auto;
    min-width: auto;
  }
}
.point[data-point]::before {
  color: var(--clr-accent);
  font-size: 2em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  top: -0.23em;
}

div[class^=btn] {
  background-color: #2F455B;
}

#pagetop a {
  border-radius: 0;
}

.profileMessage__name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1em;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
}

.profileMessage__office {
  color: #878D93;
}

.profileMessage__position {
  display: flex;
  align-items: baseline;
  gap: 1em;
}

.profileMessage__role {
  font-size: 1.125em;
}

.profileMessage__person {
  color: var(--clr-main);
  font-size: 2em;
}

.profileMessage__furigana {
  font-size: 0.75em;
}