@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Roboto:wght@300;400;500;700&display=swap");
@-webkit-keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================

base

===================== */
* {
  min-height: 0.01px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* ========= パンくずリスト ========= */
.breadcrumbs-wrapper {
  padding: 1em;
  background-color: #fff;
}
.breadcrumbs-wrapper a {
  color: var(--txt);
}

/* ========= メールアドレススパム対策 ========= */
.no-spam {
  display: none;
}

/* スパムメール対応 */
.no-spam {
  display: none;
}

.no_display {
  display: none !important;
}

html {
  height: 100%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.main {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.footer {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

body {
  font-family: var(--ffg);
  letter-spacing: 0.1em;
  -webkit-text-size-adjust: 100%;
  font-size: clamp(1.4rem, 0.8333333333vw, 1.8rem);
  font-weight: 400;
  color: var(--txt);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; /* 文字づめ */
  background-color: #fff;
}

button,
textarea,
select {
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* font-familyを継承しないので、継承させる */
  font-family: inherit;
  /* iOSの角丸をリセット */
  border-radius: 0;
  /* box-size */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 文字の大きさ iOSでズームさせないために16px以上を指定 */
  font-size: 16px !important;
  /* 文字色を親から継承 */
  color: inherit;
  border: none;
  border-radius: 0;
  outline: none;
}

/* リンク下線を非表示位にする箇所 */
.main-nav li > a,
#footer-nav a {
  text-decoration: none !important;
}

.submit-btn {
  display: inline-block;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  padding: 0.55em 1.5em;
  background: var(--key);
  color: #ffffff;
  line-height: 1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid var(--key);
}
.submit-btn:hover, .submit-btn:active {
  color: var(--key);
  background: #fff;
}

/* ページローディング */
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 5000;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader {
  margin: 60px auto;
  font-size: 10px;
  position: absolute;
  top: calc(50% - 120px);
  left: calc(50% - 50px);
  text-indent: -9999em;
  border-top: 1.1em solid rgba(146, 146, 146, 0.2);
  border-right: 1.1em solid rgba(146, 146, 146, 0.2);
  border-bottom: 1.1em solid rgba(146, 146, 146, 0.2);
  border-left: 1.1em solid #929292;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================

header

===================== */
.mobile-logo {
  display: none;
}

/* ========================

header bar
トップページ

======================== */
header {
  max-width: 132rem;
  margin-inline: auto;
}
header .index-header-bar_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(2rem, 2.1354166667vw, 5.2rem);
  width: 100%;
  height: auto;
  padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem) clamp(0.3125rem, 0rem + 1.5625vw, 1.875rem);
  padding: clamp(2rem, 1.3020833333vw, 3rem) clamp(1.5rem, 1.0416666667vw, 3rem);
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
@media screen and (max-width: 768px) {
  header .index-header-bar_wrapper {
    z-index: 3;
  }
}
header .header-bar-bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
header a.logo-h1_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  aspect-ratio: 1039/100;
  width: clamp(11.25rem, 3.5rem + 38.75vw, 50rem);
  height: auto;
  z-index: 1;
}
header a.logo-h1_wrapper .logo-h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-bottom: 0;
}
header a.logo-h1_wrapper .logo-h1 img {
  width: 100%;
  height: auto;
  margin-bottom: 0;
}
header .header-infos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  z-index: 1;
  text-align: right;
}
header .header-add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1.5rem 1.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
header .header-add * {
  font-weight: 500;
}
header .header-add address {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem);
  letter-spacing: 0;
  margin-bottom: 0;
}
header .header-add div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
header .tel {
  display: inline-block;
  text-align: right;
  font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem);
  font-family: var(--ffr);
  font-weight: 700;
  text-decoration: none;
}
header .tel span {
  font-family: var(--ffg);
  font-weight: 700;
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
}
header .tel a {
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 2rem);
  color: var(--txt);
  font-weight: 500;
  letter-spacing: 0;
}
header a.header-mailadd {
  text-align: right;
  font-size: clamp(1rem, 0.85rem + 0.75vw, 1.75rem);
  text-decoration: none;
  color: var(--txt);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
}
header a.header-mailadd:hover {
  text-decoration: underline;
}
header .header-btn_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  gap: 5px;
}
header #kv {
  width: 100%;
  padding: 0;
  margin: 0 0 clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  position: relative;
}
header #kv .top_copy {
  position: absolute;
  padding: clamp(0.625rem, 0.375rem + 1.25vw, 1.875rem) clamp(0.9375rem, 0.75rem + 0.9375vw, 1.875rem);
}
header #kv .top_copy div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
  margin-bottom: 0;
  color: #fff;
}
header #kv .top_copy div::before {
  content: "●";
  font-size: clamp(0.75rem, 0.525rem + 1.125vw, 1.875rem);
}
header #kv .top_copy div h2 {
  font-size: clamp(0.75rem, 0.525rem + 1.125vw, 1.875rem);
  margin-bottom: 0;
}
header #kv .top_copy div span {
  font-size: clamp(0.625rem, 0.425rem + 1vw, 1.625rem);
  font-weight: 700;
}
header #kv .top_copy div span::before {
  content: " ";
}
header #kv .kv {
  width: 100%;
}
header #kv .kv img {
  max-width: initial;
  width: 100%;
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 768px) {
  header .header-add,
  header .tel,
  header .header-mailadd {
    display: none;
  }
  header .index-header-bar_wrapper {
    -webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 3;
    border-bottom: 0.1rem solid var(--key);
  }
  header .header-infos {
    z-index: 0;
  }
  header .header-bar-bg {
    background-color: #fff;
    -webkit-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
    z-index: 0;
  }
}
@media screen and (max-width: 375px) {
  header a.logo-h1_wrapper {
    width: calc(55 * (100vw - 320px) / 55 + 200px);
  }
}
/* =================================================

ヘッダー
レスポンシブ

================================================= */
/* =====================

下層ヘッダー

===================== */
#obi {
  height: 50px;
  width: 100%;
  background-color: #d4f2d6;
}
#obi .post_thumbnail {
  position: relative;
}
#obi .post_thumbnail::after {
  content: "";
  width: 75vw;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(224, 251, 225, 0.4);
  backdrop-filter: saturate(60%);
}
#obi .post_thumbnail img {
  width: 75vw;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0;
}
@media screen and (max-width: 991.99px) {
  #obi {
    display: none;
  }
}

/* =====================

グローバルナビ

===================== */
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.no-scroll {
  /* when modal active */
  -ms-touch-action: none;
      touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.no-scroll body {
  overflow-y: hidden;
}

.sp-iinfos_wrapper {
  display: none;
  width: 100%;
  margin-bottom: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: var(--sub);
  border-radius: 5px;
  padding: 2rem 2rem 2rem;
}
.sp-iinfos_wrapper .inline_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem 2rem;
  margin-inline: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sp-iinfos_wrapper .inline_wrapper address {
  font-size: clamp(1.6rem, 2.34375vw, 2rem);
  margin-bottom: 0;
}
.sp-iinfos_wrapper .inline_wrapper .sp-tel {
  letter-spacing: 0.025em;
  font-family: var(--ffr);
  font-weight: 700;
  text-decoration: none;
}
.sp-iinfos_wrapper .inline_wrapper .sp-tel span {
  font-family: var(--ffg);
  font-weight: 500;
  font-size: 1.6rem;
}
.sp-iinfos_wrapper .inline_wrapper .sp-tel a {
  font-size: clamp(2rem, 2.8645833333vw, 2.4rem);
  font-family: var(--ffr);
  color: var(--txt);
  font-weight: 500;
  text-decoration: none;
}
.sp-iinfos_wrapper .inline_wrapper .holidays {
  display: block;
  text-align: center;
  font-size: clamp(1.8rem, 2.34375vw, 2rem);
  margin-bottom: 0.8em;
}
.sp-iinfos_wrapper .madd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sp-iinfos_wrapper .madd a {
  font-size: clamp(2rem, 2.8645833333vw, 2.4rem);
  font-weight: 500;
  text-decoration: none;
  color: var(--txt);
  line-height: 1;
  letter-spacing: 0;
}
.sp-iinfos_wrapper .madd a:hover {
  text-decoration: underline;
}

nav#mainnav {
  position: relative;
  margin-inline: auto;
  margin-block: 0 2rem;
}
nav#mainnav .main-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(2rem, 1.6666666667vw, 4.4rem);
  list-style: none;
  letter-spacing: 0;
  margin: 0;
}
nav#mainnav .main-nav li {
  position: relative;
}
nav#mainnav .main-nav li a {
  font-weight: 500;
  color: var(--txt);
  font-size: clamp(1.6rem, 0.9375vw, 2rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.mobile-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  width: 70px;
  height: 70px;
  right: 0;
  background-color: var(--key);
  cursor: pointer;
  z-index: 5;
}
.mobile-btn .mobile-btn_burger {
  position: absolute;
  width: 24px;
  height: 1px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
}
.mobile-btn .mobile-btn_burger::before, .mobile-btn .mobile-btn_burger::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 1px;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.mobile-btn .mobile-btn_burger::before {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
.mobile-btn .mobile-btn_burger::after {
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}
.mobile-btn.on {
  background-color: var(--key);
}
.mobile-btn.on .mobile-btn_burger {
  background-color: transparent;
}
.mobile-btn.on .mobile-btn_burger::before, .mobile-btn.on .mobile-btn_burger::after {
  background-color: #fff;
}
.mobile-btn.on .mobile-btn_burger::before {
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transform: rotate(-45deg) translate(0, 0);
  transform: rotate(-45deg) translate(0, 0);
}
.mobile-btn.on .mobile-btn_burger::after {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: rotate(45deg) translate(0, 0);
  transform: rotate(45deg) translate(0, 0);
}

.mobile-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .mobile-btn {
    display: block;
  }
  .sp-iinfos_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  nav#mainnav {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding: 3rem clamp(1.5rem, 2.5000208335vw, 5rem) 5rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: translateY(-120%);
            transform: translateY(-120%);
    width: 100%;
    height: 100%;
    height: 100dvh;
    height: 100svh;
    height: 100vh;
    min-height: 100%;
    background-color: rgba(255, 255, 255, 0.95);
    -ms-overflow-style: none; /* IE, Edge 対応 */
    scrollbar-width: none; /* Firefox 対応 */
    overflow-y: auto;
    z-index: 2;
  }
  nav#mainnav::-webkit-scrollbar {
    display: none; /* Chrome, Safari 対応 */
  }
  nav#mainnav .main-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    min-height: 1200px;
    gap: 0;
  }
  nav#mainnav .main-nav li {
    display: block;
    width: 100%;
    padding-bottom: 0;
    border-bottom: 1px solid var(--bcr);
  }
  nav#mainnav .main-nav li a {
    display: block;
    text-align: center;
    width: 100%;
    font-size: clamp(2rem, 3.6458333333vw, 2.8rem);
    padding-block: 0.5em;
  }
  nav#mainnav .main-nav li:hover a {
    background-color: #ffe7cc;
  }
}
#mainnav.open {
  overflow-y: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* =================================================

トップページ

================================================= */
.index-container {
  width: min(100% - clamp(1.875rem, 1.275rem + 3vw, 3.75rem), 132rem);
  margin-inline: auto;
}

.h2-index {
  display: table;
  margin-inline: auto;
  font-size: clamp(1.8rem, 1.1979166667vw, 2.8rem);
  font-weight: 500;
  position: relative;
  margin-bottom: clamp(4rem, 2.8645833333vw, 7rem);
}
.h2-index::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.6rem;
  width: 100%;
  height: 1px;
  background-color: #333;
}

/* =====================

トップページ
３つの目指す

====================== */
#index-aim .aim_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: calc(100% - 2px);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-inline: auto;
  gap: 1px;
  list-style: none;
  padding: 0;
  margin-bottom: clamp(5rem, 3.3854166667vw, 8.5rem);
}
#index-aim .aim_wrapper li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc((100% - 4px) / 3);
  padding: clamp(1.5rem, 1.5625vw, 4rem) 1.5rem;
  color: #fff;
}
#index-aim .aim_wrapper li:first-child {
  background: url(../img/aim01-pic.jpg) center top no-repeat;
  background-size: cover;
}
#index-aim .aim_wrapper li:nth-child(2) {
  background: url(../img/aim02-pic.jpg) center center no-repeat;
  background-size: cover;
}
#index-aim .aim_wrapper li:nth-child(3) {
  background: url(../img/aim03-pic.jpg) center center no-repeat;
  background-size: cover;
}
#index-aim .aim_wrapper li p {
  text-align: center;
  line-height: 1.3;
  margin-bottom: 0;
}
#index-aim .aim_wrapper li p span {
  font-size: clamp(1.2rem, 0.8333333333vw, 2.4rem);
  display: inline-block;
}
@media screen and (max-width: 599.99px) {
  #index-aim .aim_wrapper li {
    width: 100%;
  }
}
#index-aim .h2-aim {
  font-size: clamp(2.4rem, 1.5625vw, 4rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5em;
  margin-bottom: clamp(1rem, 0.8854166667vw, 2.4rem);
}
@media screen and (max-width: 600px) {
  #index-aim .h2-aim {
    font-size: clamp(2.4rem, 4.3334055568vw, 3rem);
  }
}

/* ===========================

トップページ
新着ニュース

============================ */
#index-news {
  width: 100%;
  padding: 0;
  margin-bottom: clamp(5rem, 4.4270833333vw, 8.5rem);
}
#index-news #news {
  width: min(100% - 6rem, 130rem);
  margin-inline: auto;
  margin-block: 0;
}
#index-news ul.news-list {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
#index-news ul.news-list li {
  width: 100%;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--bcr);
}
#index-news ul.news-list li:first-child {
  border-top: 1px solid var(--bcr);
}
#index-news ul.news-list li article {
  width: 100%;
}
#index-news ul.news-list li article a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  gap: 1.5rem clamp(2rem, 1.8229166667vw, 5rem);
  text-decoration: none;
  padding: 1.8rem 3rem 1.8rem 1rem;
  position: relative;
}
@media screen and (max-width: 600px) {
  #index-news ul.news-list li article a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
}
#index-news ul.news-list li article a:hover {
  background-color: rgba(242, 236, 229, 0.3);
}
#index-news ul.news-list li article a:hover::after {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(0.5rem, -50%);
          transform: translate(0.5rem, -50%);
}
#index-news .icon_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#index-news .date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#index-news .date,
#index-news .news-title {
  font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
  font-weight: 500;
  color: var(--txt);
  letter-spacing: 0.1em;
  line-height: 1.3;
}
@media screen and (max-width: 550px) {
  #index-news .news-title {
    width: 100%;
  }
}

/* ===========================

トップページ
事業の紹介

============================ */
#index-business {
  width: min(100% - clamp(1.875rem, 1.275rem + 3vw, 3.75rem), 132rem);
  margin-inline: auto;
  margin-bottom: clamp(4rem, 2.6041666667vw, 6rem);
}
#index-business .business-a_wrapper,
#index-business .business-b_wrapper,
#index-business .business-c_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(1.875rem, 1.3275547445rem + 2.7372262774vw, 3.75rem);
  gap: clamp(1.875rem, 1.3275547445rem + 2.7372262774vw, 3.75rem);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
#index-business .titles_wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 500;
          flex: 0 1 500;
}
#index-business .titles_wrapper .titles__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
}
#index-business .titles_wrapper .titles__wrapper .cat-alp {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(2rem, 1.4160583942rem + 2.9197080292vw, 4rem);
  font-family: var(--ffm);
  color: var(--key);
  font-weight: 400;
  line-height: 1.2;
  margin-top: -0.5em;
}
#index-business .titles_wrapper .titles__wrapper .business-cat-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10rem;
  aspect-ratio: 1/1;
  height: auto;
}
#index-business .titles_wrapper .titles__wrapper .business-cat-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 0;
}
@media screen and (max-width: 500px) {
  #index-business .titles_wrapper .titles__wrapper .business-cat-icon {
    width: 12rem;
  }
}
#index-business .titles_wrapper .h2-business-title {
  font-size: clamp(1.125rem, 0.8330291971rem + 1.4598540146vw, 2.125rem);
  font-weight: 500;
  color: var(--key);
}
#index-business .titles_wrapper .h2-business-title span {
  display: inline-block;
}
#index-business .business-b_wrapper,
#index-business .business-c_wrapper {
  background-color: var(--sub);
}
#index-business .business-a_wrapper {
  background-color: var(--orsub);
}
#index-business .business-a_wrapper .titles_wrapper .cat-alp {
  color: var(--orange);
}
#index-business .business-a_wrapper .h2-business-title {
  color: var(--orange);
}
#index-business .business-a_wrapper #business_a,
#index-business .business-b_wrapper #business_b {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50rem;
          flex: 1 1 50rem;
}
#index-business .business-a_wrapper #business_a .title-list,
#index-business .business-b_wrapper #business_b .title-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  list-style: none;
  margin: 0;
  counter-reset: number 0;
  gap: clamp(0.9375rem, 0.8462591241rem + 0.4562043796vw, 1.25rem);
}
#index-business .business-a_wrapper #business_a .title-list li a,
#index-business .business-b_wrapper #business_b .title-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 3rem;
  background-color: #fff;
  border: 1px solid #666;
  position: relative;
  text-decoration: none;
  color: var(--txt);
  border-radius: 50vh;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#index-business .business-a_wrapper #business_a .title-list li a .business-title,
#index-business .business-b_wrapper #business_b .title-list li a .business-title {
  font-size: clamp(0.875rem, 0.6925182482rem + 0.9124087591vw, 1.5rem);
  margin-bottom: 0;
}
#index-business .business-a_wrapper #business_a .title-list li a::before,
#index-business .business-b_wrapper #business_b .title-list li a::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  white-space: nowrap;
  font-size: clamp(1.25rem, 0.9945255474rem + 1.2773722628vw, 2.125rem);
  font-family: var(--ffr);
  font-weight: 700;
  margin-top: 0.2rem;
  border-right: 1px solid var(--bcr);
  padding-right: 1.4rem;
  margin-right: 1.4rem;
  letter-spacing: 0;
}
#index-business .business-b_wrapper #business_b .title-list li a::before {
  color: var(--key);
}
#index-business .business-a_wrapper #business_a .title-list li a::before {
  color: var(--orange);
}
#index-business .business-b_wrapper #business_b .title-list li a:hover {
  background-color: var(--key);
  color: #fff;
}
#index-business .business-b_wrapper #business_b .title-list li a:hover::before {
  color: var(--sub);
}
#index-business .business-a_wrapper #business_a .title-list li a:hover {
  background-color: var(--orange);
  color: #fff;
}
#index-business .business-a_wrapper #business_a .title-list li a:hover::before {
  color: var(--orsub);
}

/* safari */
_::-webkit-full-page-media,
_:future,
:root #index-business .titles_wrapper .titles__wrapper {
  margin-bottom: -20px;
}

_::-webkit-full-page-media,
_:future,
:root #index-business .titles_wrapper .titles__wrapper .cat-alp {
  margin-top: -30px;
}

_::-webkit-full-page-media,
_:future,
:root #index-business .titles_wrapper .titles__wrapper .business-cat-icon {
  -webkit-transform: translate(-4px, -16px);
          transform: translate(-4px, -16px);
}

@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================

Go Topボタン

===================== */
a.page-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 5;
  padding: 0;
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: 150px;
  right: 10px;
  background-color: var(--key);
  border: 1px solid var(--key);
  border-radius: 3px;
}
a.page-top .go-arrow {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
a.page-top:hover, a.page-top:active {
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a.page-top:hover .go-arrow, a.page-top:active .go-arrow {
  border-top: 2px solid var(--key);
  border-right: 2px solid var(--key);
}

@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================

footer

===================== */
#footer .footer_wrapper {
  width: min(100% - clamp(1.875rem, 1.275rem + 3vw, 3.75rem), 132rem);
  margin-inline: auto;
}
#footer .f-menu {
  width: 100%;
  margin-inline: auto;
  list-style: none;
  padding: 2.5rem 1.2rem;
  border-top: 1px solid var(--bcr);
  border-bottom: 1px solid var(--bcr);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.5rem, 0.35rem + 0.75vw, 1.25rem);
}
#footer .f-menu li {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
#footer .f-menu li a {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: clamp(1.2rem, 0.9375vw, 1.8rem);
  line-height: 1;
}
#footer .f-menu li:first-child {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
#footer .f-menu li:first-child a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0 !important;
  text-indent: 100%;
  overflow: hidden;
  width: 36px;
  height: 32px;
  position: relative;
}
#footer .f-menu li:first-child a::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg id="icon-home" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 32"><path class="cls-1" d="m34.61,13.84L18,0,1.39,13.84c-.88.73-1.39,1.82-1.39,2.96v15.19h36v-15.19c0-1.14-.51-2.23-1.39-2.96ZM11,30v-7.83c0-1.2.97-2.17,2.17-2.17h9.66c1.2,0,2.17.97,2.17,2.17v7.83h-14Zm16,0v-7.83c0-2.3-1.87-4.17-4.17-4.17h-9.66c-2.3,0-4.17,1.87-4.17,4.17v7.83H2v-13.19c0-.55.24-1.07.67-1.42L18,2.6l15.33,12.78c.42.35.67.87.67,1.42v13.19h-7Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg id="icon-home" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 32"><path class="cls-1" d="m34.61,13.84L18,0,1.39,13.84c-.88.73-1.39,1.82-1.39,2.96v15.19h36v-15.19c0-1.14-.51-2.23-1.39-2.96ZM11,30v-7.83c0-1.2.97-2.17,2.17-2.17h9.66c1.2,0,2.17.97,2.17,2.17v7.83h-14Zm16,0v-7.83c0-2.3-1.87-4.17-4.17-4.17h-9.66c-2.3,0-4.17,1.87-4.17,4.17v7.83H2v-13.19c0-.55.24-1.07.67-1.42L18,2.6l15.33,12.78c.42.35.67.87.67,1.42v13.19h-7Z"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 36px;
  height: 32px;
  background-color: #333;
}
#footer a {
  color: var(--txt);
  text-decoration: none;
}
#footer .footer_inner_wrapper {
  width: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  gap: 20px clamp(3rem, 3.125vw, 9rem);
}
#footer .info {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 32rem;
          flex: 0 1 32rem;
}
#footer .f-logo {
  aspect-ratio: 33/22;
  margin-bottom: clamp(1rem, 1.5432257534vw, 2rem);
}
#footer .f-logo img {
  width: 100%;
  height: auto;
  margin-bottom: 0;
}
#footer .info_inner_wrapper > * {
  letter-spacing: 0;
}
#footer .info_inner_wrapper p {
  line-height: 1.4;
}
#footer .info_inner_wrapper address {
  font-size: clamp(1.8rem, 1.0416666667vw, 2.2rem);
  font-weight: 500;
}
#footer .info_inner_wrapper .telnums {
  margin-bottom: 0;
}
#footer .info_inner_wrapper .telnums span {
  font-size: 1.6rem;
  margin-right: 0.5em;
}
#footer .info_inner_wrapper .telnums a {
  font-size: clamp(1.8rem, 1.0416666667vw, 2.2rem);
  font-family: var(--ffr);
  font-weight: 700;
}
#footer .info_inner_wrapper .mailadd {
  font-size: clamp(1.8rem, 0.9895833333vw, 2rem);
  margin-bottom: 0;
}
#footer #g-map {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 min(100%, 500px);
          flex: 1 0 min(100%, 500px);
  min-height: 374px;
}
#footer #g-map iframe {
  vertical-align: bottom;
}
#footer .copyright {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  padding: clamp(2.5rem, 4.8177083333vw, 5rem) 0;
  border-top: 1px solid var(--bcr);
  margin: clamp(2.5rem, 4.8177083333vw, 5rem) 0 0;
  text-align: center;
}
@media screen and (max-width: 971.99px) {
  #footer .info_inner_wrapper {
    display: table;
    margin-inline: auto;
  }
  #footer .info_inner_wrapper address,
  #footer .info_inner_wrapper p {
    display: table;
  }
}
@media screen and (max-width: 768px) {
  #footer .f-menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  #footer .f-menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #footer .f-menu li a {
    font-size: clamp(1.4rem, 2.0833333333vw, 1.8rem);
  }
}

@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ===============

下層ページ

=============== */
.page-title {
  display: table;
  margin-inline: auto;
  font-size: clamp(1.8rem, 1.1979166667vw, 2.8rem);
  font-weight: 500;
  position: relative;
  margin-bottom: clamp(4rem, 2.8645833333vw, 7rem);
}
.page-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.6rem;
  width: 100%;
  height: 1px;
  background-color: #333;
}

.page-kv {
  position: relative;
  margin-bottom: clamp(4rem, 2.5vw, 5.5rem);
}
.page-kv img {
  width: 100%;
  margin-bottom: 0;
}

.page-cc {
  width: clamp(26rem, 34.8837209302vw, 43rem);
  display: table;
  margin-inline: auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.page-cc img {
  width: 100%;
  height: auto;
  margin-bottom: 0;
}
@media screen and (max-width: 1200px) {
  .page-cc {
    -webkit-transform: translate(-50%, 52%);
            transform: translate(-50%, 52%);
  }
}
@media screen and (max-width: 992px) {
  .page-cc {
    -webkit-transform: translate(-50%, 55%);
            transform: translate(-50%, 55%);
  }
}
@media screen and (max-width: 768px) {
  .page-cc {
    -webkit-transform: translate(-50%, 60%);
            transform: translate(-50%, 60%);
  }
}
@media screen and (max-width: 600px) {
  .page-cc {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}

@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =====================

下層ページ

===================== */
.btn_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .btn_wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* =====================

新着情報
アーカイブ

===================== */
.icon_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.post_icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: clamp(1rem, 0.625vw, 1.2rem);
  line-height: 1;
  white-space: nowrap;
  font-weight: 400;
  color: #fff;
  padding: 0.5em 2em 0.55em;
  border-radius: 3px;
  margin: -9px 0;
  background-color: var(--key);
  text-align: center;
}

.icon--event {
  background-color: var(--key);
}

.icon--notice {
  background-color: var(--orange) !important;
}

#archives ul.news-list {
  width: min(100% - 6rem, 130rem);
  margin-inline: auto;
  list-style: none;
  padding: 0;
}
#archives ul.news-list li {
  width: 100%;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--bcr);
}
#archives ul.news-list li:first-child {
  border-top: 1px solid var(--bcr);
}
#archives ul.news-list li article {
  width: 100%;
}
#archives ul.news-list li article a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  gap: 1.5rem clamp(2rem, 1.8229166667vw, 5rem);
  text-decoration: none;
  padding: 1.8rem 3rem 1.8rem 1rem;
  position: relative;
}
@media screen and (max-width: 600px) {
  #archives ul.news-list li article a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
}
#archives ul.news-list li article a:hover {
  background-color: rgba(242, 236, 229, 0.3);
}
#archives ul.news-list li article a:hover::after {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(0.5rem, -50%);
          transform: translate(0.5rem, -50%);
}
#archives .date,
#archives .news-title {
  font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
  font-weight: 500;
  color: var(--txt);
  letter-spacing: 0.1em;
  line-height: 1.3;
}
#archives .go-all {
  font-size: clamp(1.6rem, 1.1458333333vw, 2.4rem);
  padding-right: 50px;
  margin-left: auto;
  position: relative;
}
#archives .go-all:hover {
  background-color: #333 !important;
}
#archives .go-all::after {
  content: "";
  position: absolute;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 18"> <circle class="cls-1" cx="2" cy="2" r="2"/><rect class="cls-1" x="6" y="0" width="16" height="4" rx="2" ry="2"/> <circle class="cls-1" cx="2" cy="9" r="2"/><rect class="cls-1" x="6" y="7" width="16" height="4" rx="2" ry="2"/><circle class="cls-1" cx="2" cy="16" r="2"/><rect class="cls-1" x="6" y="14" width="16" height="4" rx="2" ry="2"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 18"> <circle class="cls-1" cx="2" cy="2" r="2"/><rect class="cls-1" x="6" y="0" width="16" height="4" rx="2" ry="2"/> <circle class="cls-1" cx="2" cy="9" r="2"/><rect class="cls-1" x="6" y="7" width="16" height="4" rx="2" ry="2"/><circle class="cls-1" cx="2" cy="16" r="2"/><rect class="cls-1" x="6" y="14" width="16" height="4" rx="2" ry="2"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 18px;
  background-color: #333;
}
#archives .go-all:hover::after {
  background-color: #fff;
}
@media screen and (max-width: 992px) {
  #archives .go-all {
    margin-right: auto;
  }
}
@media screen and (max-width: 550px) {
  #archives .news-title {
    width: 100%;
  }
}

/* =====================

新着情報
シングルページ

===================== */
#single #news .single_wrapper {
  width: min(100% - 6rem, 100rem);
  margin-inline: auto;
  padding: 0;
  background-color: #fff;
  border-radius: 1.5rem;
  margin-bottom: clamp(5rem, 6.8359375vw, 9rem);
}
#single #news .single_wrapper .single-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 0.75em;
  margin-bottom: 1.25em;
  border-bottom: 1px solid var(--bcr);
}
#single #news .single_wrapper .single-header .single-header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-bottom: 1.5em;
  gap: 1.5rem 2rem;
}
#single #news .single_wrapper .single-header .single-header__info .date {
  font-size: clamp(1.6rem, 0.9375vw, 2rem);
  font-family: var(--ffg);
  font-weight: 500;
  line-height: 1.3;
  color: var(--txt);
  letter-spacing: 0.1em;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#single #news .single_wrapper .single-header .single-header__title .news-title {
  font-size: clamp(2rem, 1.25vw, 2.8rem);
  font-weight: 500;
  color: var(--txt);
  letter-spacing: 0.1em;
  line-height: 1.3;
}
#single #news .single_wrapper .single-body {
  margin-bottom: 50px;
  overflow: hidden;
  clear: both;
  margin-bottom: 3rem;
  *zoom: 1;
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}
#single #news .single_wrapper .single-body:after {
  content: "";
  display: table;
  clear: both;
}
#single #news .single_wrapper .single-body:empty {
  display: none;
}
#single #news .single_wrapper .single-body p {
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}
@media screen and (max-width: 639px) {
  #single #news .single-wrapper .single-header {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #single #news .single-wrapper .single-header .post_icon {
    margin-top: 0.3em;
  }
  #single #news .single-wrapper .single-header .news-inner-line {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #single #news .single-wrapper .single-header .news-inner-line .date {
    margin-bottom: 0.3em;
  }
  #single #news .single-wrapper .single-header .news-inner-line .single-title {
    width: 100%;
  }
}
@media screen and (max-width: 499px) {
  #single #news .single-wrapper .single-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #single #news .single-wrapper .single-header .post_icon {
    margin-bottom: 0.5em;
  }
}

/* =====================

事務局日誌
アーカイブ

===================== */
.blog-list {
  width: min(100% - clamp(1.875rem, 1.275rem + 3vw, 3.75rem), 132rem);
  margin-inline: auto;
  padding: 0 0 clamp(1.25rem, 0.85rem + 2vw, 2.5rem);
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(7.5rem, -2.3214285714rem + 49.1071428571vw, 21.25rem), 1fr));
  grid-gap: 2rem;
}
.blog-list li {
  height: auto;
  background-color: #d0e5a1;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.blog-list li * {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.blog-list li a {
  text-decoration: none;
}
.blog-list li .thumbs {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.blog-list li .thumbs::after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background-color: #000;
  z-index: 1;
  opacity: 0.3;
}
.blog-list li .thumbs img {
  width: 100%;
  height: clamp(20rem, 13.0208333333vw, 30rem);
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0;
}
.blog-list li .inner_wrapper {
  width: 100%;
  padding: 3rem clamp(1.5rem, 1.0416666667vw, 1rem);
}
.blog-list li .inner_wrapper .inner__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem 2rem;
}
.blog-list li .inner_wrapper .d-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clamp(4rem, 2.6041666667vw, 5rem);
          flex: 0 0 clamp(4rem, 2.6041666667vw, 5rem);
  aspect-ratio: 1/1;
}
.blog-list li .inner_wrapper .d-icon svg {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.blog-list li .inner_wrapper .title {
  font-family: var(--ffg);
  font-weight: 700;
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}
.blog-list li .inner_wrapper .title span {
  display: inline-block;
}
.blog-list li .inner_wrapper .blog-title {
  padding: 0.5em 0 0.3em;
  margin: 0.5em 0 0.5em;
  border-top: 1px solid #666;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 500;
}
.blog-list li .inner_wrapper p {
  font-size: clamp(1.8rem, 1.6666666667vw, 2.4rem);
}
.blog-list li .inner_wrapper .circle-btn {
  background-color: #fff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-left: auto;
  position: relative;
}
.blog-list li .inner_wrapper .circle-btn::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--key);
  border-right: 2px solid var(--key);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.blog-list li:hover {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: rgba(208, 229, 161, 0.5);
}
.blog-list li:hover .thumbs img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.blog-list li:hover .thumbs::after {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}
.blog-list li:hover .circle-btn {
  background-color: var(--key);
}
.blog-list li:hover .circle-btn::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

#blog .btn4 {
  margin-inline: auto 0;
}
@media screen and (max-width: 768px) {
  #blog .btn4 {
    margin-inline: auto;
  }
}

/* =====================

事務日誌
シングルページ

===================== */
#single #blog {
  padding-block: 3rem;
  background-color: var(--sub);
  margin-inline: auto;
  border-radius: 8px;
  border-radius: 8px;
}
@media screen and (max-width: 1440px) {
  #single #blog {
    border-radius: 0;
  }
}
#single #blog .single_wrapper {
  width: min(100% - 6rem, 100rem);
  margin-inline: auto;
}
#single #blog .single-header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  padding-block: 0 1em;
  margin-block: 0;
}
#single #blog .single-header__info .news-title {
  font-size: clamp(1.6rem, 0.9375vw, 2rem);
  font-family: var(--ffg);
  font-weight: 700;
  line-height: 1.3;
  color: var(--txt);
  letter-spacing: 0.1em;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#single #blog .single-header__info .news-title span {
  display: inline-block;
}
#single #blog .d-icon {
  width: clamp(3rem, 5.2083333333vw, 4rem);
  aspect-ratio: 1/1;
}
#single #blog .d-icon svg {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
#single #blog .date {
  font-family: var(--ffg);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.125vw, 2.4rem);
}
#single #blog .single-header__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0.025;
  line-height: 1.3;
  font-weight: 500;
  padding: 0.75em 0 2rem;
  margin: 0.5em 0 0.5em;
  border-top: 1px solid #666;
}
#single #blog .single-header__title .news-title {
  font-size: clamp(2rem, 1.25vw, 2.8rem);
  letter-spacing: 0.025;
  line-height: 1.3;
  font-weight: 500;
  color: var(--key);
}
#single #blog .single-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 50px;
  overflow: hidden;
  clear: both;
  margin-bottom: 3rem;
  padding: clamp(1rem, 1.3020833333vw, 2rem) clamp(1rem, 2.6041666667vw, 2rem);
  background-color: #fff;
  border-radius: 8px;
  border: 8px;
  *zoom: 1;
  gap: 1rem;
}
#single #blog .single-body p {
  margin-bottom: 0;
}
#single #blog .single-body p img {
  margin-top: 1em;
}
#single #blog .single-body:after {
  content: "";
  display: table;
  clear: both;
}
#single #blog .single-body:empty {
  display: none;
}
#single #blog .single-body > * {
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}
#single #blog .go-all {
  background-color: #fff;
}

/* =====================

ページナビ

===================== */
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wp-pagenavi {
  text-align: center;
  margin-bottom: 50px;
  color: var(--txt);
  font-size: clamp(1.4rem, 0.9379885357vw, 1.8rem);
  letter-spacing: 0;
}
.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
  font-family: var(--ffr);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--key);
  border-radius: 3px;
}

.wp-pagenavi a {
  color: var(--key);
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border-color: var(--key);
  background-color: var(--key);
  color: #fff;
}

/* =====================

Not Found

===================== */
#notfound .notfound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3em;
  margin-bottom: 3em;
}
#notfound .notfound h2 {
  margin: 0 auto 0.5em;
  color: #ccc;
  text-align: center;
}
#notfound .notfound p {
  text-align: center;
}

/* =====================

mobile

===================== */
@keyframes imgFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}