/*!
Theme Name: koureikyou
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: koureikyou
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

temp_base is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/* =====================================
         カスタムプロパティ
===================================== */ :root {
  /*カラー*/
  --black: #333;
  --brown: #6D4529;
  --light-blue: #007A88;
  --pale: #F2E5DD;
  --pink: #F66596;
  --red: #CE3D3D;
  --emerald: #028852;
  --bg-color: #F9F6EE;
  /*地域カラー*/
  --tsuruoka: #50B050;
  --yamagata: #D0993A;
  --sakata: #477FC9;
  --shinjo: #DA595D;
  --yonezawa: #D274C9;
  /* 見出しサイズ */
  --font-size--h1: clamp(2.2rem, 1.125vw + 1.2rem, 3.4rem);
  --font-size--h2: clamp(1.65rem, 0.844vw + 0.9rem, 2.55rem);
  --font-size--h3: clamp(1.4rem, 0.619vw + 0.66rem, 1.87rem);
  /* フォントサイズ */
  --font-size--s: clamp(1.21rem, 0.619vw + 0.66rem, 1.87rem);
  /*余白*/
  --space-xl: clamp(2.4rem, 12vw, 19.2rem);
  --space-l: clamp(2.4rem, 4vw, 8.8rem);
  --space-m: clamp(1.6rem, 2.5vw, 6.4rem);
  --space-s: clamp(.8rem, 2vw, 4rem);
}
/* =====================================
         　　　　初期設定
===================================== */
html {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 62.5%;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
:target {
  scroll-margin-top: 110px;
}
h2, h3, h4 {
  scroll-margin-top: 110px;
}
/*管理画面（上部管理バーの位置調整）*/
body.admin-bar header {
  top: 32px;
}
body.admin-bar .overlay {
  top: calc(90px + 32px);
}
body.admin-bar header .openbtn {
  top: calc(1.4rem + 32px);
}
@media (max-width: 782px) {
  body.admin-bar header {
    top: 46px;
  }
  body.admin-bar .overlay {
    top: calc(90px + 46px);
  }
}
@media (max-width: 768px) {
  body.admin-bar .overlay {
    top: 46px;
  }
}
/* =====================================
         　　タイポグラフィ
===================================== */
body, button, input, select, optgroup, textarea {
  color: var(--black);
  font-family: inherit;
  font-size: var(--font-size--s);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
b, strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
blockquote {
  margin: 0 1.5em 1.6em;
  padding: 15px;
  border: 1px solid #e2e2e2;
  border-radius: 5px;
}
/* =====================================
         　　　共通
===================================== */
body {
  background: var(--bg-color);
  overflow-x: hidden;
}
dt {
  font-weight: 600;
  line-height: 2;
}
dd {
  margin: 0 0 1em 1em;
}
/* Make sure embeds and iframes fit their containers. */
embed, iframe, object {
  max-width: 100%;
  min-height: 300px;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}
figure {
  margin: 1em 0;
}
table {
  margin: 0 0 1.5em;
  width: 100%;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
address {
  font-style: normal;
}
address dt {
  line-height: 1.5;
}
address dd {
  margin-left: 0;
  margin-bottom: .5em;
}
/*SP用の要素を非表示*/
.sp_show {
  display: none !important;
}
/*tab用の要素を非表示*/
.tab_show {
  display: none;
}
/*見出し*/
h1 {
  font-size: var(--font-size--h1);
  font-weight: 700;
  text-align: center;
}
h2 {
  font-size: var(--font-size--h2);
  font-weight: 600;
  text-align: center;
  margin-bottom: .5em;
}
h3 {
  font-size: var(--font-size--h3);
  font-weight: 600;
  margin-bottom: .5em;
}
/* Links */
a {
  color: #736152;
  display: inline-block;
  transition: all .3s ease;
}
a:visited {
  color: #736152;
}
a:hover, a:focus, a:active {
  color: #635346;
  text-decoration: none;
}
a:focus {
  outline: none;
}
a:hover, a:active {
  outline: 0;
}
#page a:hover img, .site_header a:hover img, .contents_1col_top a:hover img {
  opacity: 0.78;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.entry-content .has-background{
  padding: 1em;
  border-radius: 10px;
}
/* =====================================
                 hover
===================================== */
@media (hover: hover) and (pointer: fine) {
  /*パンくずリスト*/
  .breadcrumb span:first-child a:hover {
    background: var(--tsuruoka);
  }
  .breadcrumb span:not(:first-child) a:hover {
    color: var(--red);
  }
  /*header*/
  .header .site_title:hover {
    opacity: .78;
  }
  .pc_nav ul.pc_nav_menu > li > a:hover {
    color: var(--red);
  }
  /*footer*/
  .footer_menu-list ul li:hover, .menu_facility p:hover {
    color: var(--red);
  }
  .menu_facility ul li:hover {
    opacity: .78;
  }
  /*ハンバーガーメニュー*/
  .sp_nav ul li:hover {
    color: var(--red);
  }
  a.sns_link-inner:hover {
    color: var(--red);
  }
  /*news*/
  .news_list .news_box-inner a:hover {
    background: #FFEBE8;
  }
  .top_newsletter .top_news-inner a:hover .kouhou_kashi-thumb {
    scale: .95;
  }
  .kouhou_kashi_archive_link:hover {
    background: #EA2B2B;
  }
  .news_more a:hover {
    color: var(--red);
  }
  /*イメージマップ*/
  .image_map svg a:hover path {
    fill: var(--red);
    transition: fill .3s ease;
  }
  /*地域づくり*/
  .facility_list h3:hover {
    opacity: .78;
  }
  ul.facility_items li a:hover {
    color: var(--red);
  }
  ul.facility_items li a:hover svg path {
    fill: var(--red);
    transition: fill .3s ease;
  }
  /*福祉事業所*/
  li.facility_box a:hover img {
    opacity: .8;
    transition: opacity .3s ease;
  }
  li.facility_box a:hover .excerpt {
    color: var(--red);
  }
  li.facility_box a:hover .btn_more {
    opacity: .78;
  }
  .facili_sns-box:hover {
    transform: scale(2) translateY(-40%);
    transition: transform .3s ease;
    background: #fff;
    padding: .5em;
    border-radius: 10px;
  }
  .postid-99 main.contents_page p:has(.wp-image-313) a:hover {
    color: var(--red);
  }
  /*広報-樫*/
  .kouhou_kashi-item:hover img {
    opacity: .78;
  }
  .kouhou_kashi-item:hover .kouhou_kashi-title {
    color: var(--red);
  }
  input[type="submit"].wpcf7-form-control:hover, input[type="button"].wpcf7-form-control:hover {
    background: #aaa;
    transition: all .2s;
  }
  /*アーカイブ*/
  aside.sidebar li:hover {
    color: var(--red);
    background: #eee;
  }
  aside.sidebar li:hover a {
    color: var(--red);
  }
  section.section_link .link_content-btn a:hover {
    background: #FF9785;
  }
}
/* =====================================
         　　　フォーム
===================================== */
button, input[type="button"], input[type="reset"], input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.2em .5em 0.6em;
}
button:active, button:focus, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:active, input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  color: inherit;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
  font-size: 1.4rem;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
  color: #111;
}
select {
  border: 1px solid #ccc;
}
textarea {
  width: 100%;
}
/*contact form7*/
.wpcf7-spinner {
  position: absolute;
}
/* =====================================
         　　レイアウト共通
===================================== */
main.contents_top {
  margin: 0 auto;
}
.page_inner {
  margin: 0 auto;
  padding: 0 2.4rem;
  max-width: 1100px;
}
.page_inner-l {
  margin: 0 auto;
  padding: 0 2.4rem;
  max-width: 1400px;
}
main .contents_page_inner.page_2col {
  display: flex;
  justify-content: space-between;
}
main .contents_page_inner.page_2col article {
  width: 72%;
}
main .contents_page_inner.page_2col aside {
  margin-left: 5%;
  width: clamp(250px, 28%, 340px);
}
/*要素をコンテナから開放*/
.breaking-out {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
/*子要素を内側にプレス*/
.press-inside {
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}
/* =====================================
                 header
===================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: #fff;
  z-index: 10000;
}
.header_inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0 auto;
  padding-left: 4rem;
  max-width: 1400px;
  height: 100%;
}
@media (min-width: 1401px) {
  .header_inner {
    width: 100%;
    max-width: 1920px;
  }
}
.site_title {
  max-width: 23rem;
}
.header_links {
  width: 70%;
}
.header_links .upper {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  margin-bottom: 10px;
}
/*ハンバーガーボタン*/
.openbtn {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  background: none;
  background-size: contain;
  cursor: pointer;
  width: 58px;
  height: 58px;
  z-index: 9999;
}
/*ボタン内側*/
.openbtn span {
  display: inline-block;
  transition: all .4s; /*アニメーションの設定*/
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 4px;
  background: var(--black);
  width: 45px;
}
.openbtn span:nth-of-type(1) {
  top: 6px;
}
.openbtn span:nth-of-type(2) {
  top: 18px;
}
.openbtn span:nth-of-type(3) {
  top: 30px;
}
.openbtn span:nth-of-type(3)::after {
  content: "MENU"; /*3つ目の要素のafterにメニュー表示を指定*/
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  text-align: center;
  color: var(--black);
  font-size: 100%;
  font-weight: 700;
  text-transform: uppercase;
}
/*activeクラスが付与されると線が回転して×になり、メニュー⇒とじるに変更*/
.openbtn.active span:nth-of-type(1) {
  top: 15px;
  left: 14px;
  transform: translateY(6px) rotate(-45deg);
  width: 52%;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
  top: 27px;
  left: 14px;
  transform: translateY(-6px) rotate(45deg);
  width: 52%;
}
.openbtn.active span:nth-of-type(3)::after {
  content: "CLOSE"; /*3つ目の要素のafterにとじる表示を指定*/
  transform: translateY(0) rotate(-45deg);
  position: absolute;
  top: 7px;
  left: 6px;
  width: 60px;
  text-align: center;
}
/* =====================================
         グローバルナビゲーション
===================================== */
.pc_nav {
  transition: all .2s;
  padding-right: calc(58px + 4rem);
}
.pc_nav a {
  color: inherit;
  text-decoration: none;
}
.pc_nav ul.pc_nav_menu {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 2.4rem;
  margin: 0 auto;
  width: 100%;
  max-width: 1400px;
  font-size: 1.4rem;
  font-weight: 500;
}
.pc_nav ul.pc_nav_menu > li {
  flex-grow: 1;
  position: relative;
}
/*親メニュー*/
.pc_nav ul.pc_nav_menu > li > a {
  position: relative;
  display: block;
  padding: 15px 5px;
  text-align: center;
}
/* =====================================
         　オーバーレイメニュー
===================================== */
.overlay {
  display: none;
  position: fixed;
  top: 90px;
  right: 0;
  width: 400px;
  height: 100svh;
  background: #fff;
  padding-inline: 1em;
  text-align: center;
  font-weight: 600;
  overflow-y: auto;
  z-index: 999;
}
.overlay a {
  text-decoration: none;
  color: inherit;
}
.overlay_header {
  display: none;
}
.sns_link {
  display: flex;
  justify-content: space-between;
  gap: 1.6rem;
  margin: 1em auto 2em;
}
.sns_link-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.sns_link-inner span {
  text-align: left;
  font-size: clamp(1rem, 1.19vw + .62rem, 1.4rem);
}
.sns_link-inner img {
  width: 38px;
}
.sp_nav ul {
  font-size: 1.8rem;
  width: fit-content;
}
.sp_nav ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: .4rem;
  text-align: left;
  transition: color .3s ease;
}
.sp_nav ul li::before, .menu_facility.menu_facility-sp p::before {
  content: "▶";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  font-size: 0.6em;
}
.menu_facility.menu_facility-sp nav ul {
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  font-size: 1.2rem;
  padding-top: 1.6rem;
  margin-bottom: 2em;
  border-top: 1px solid var(--black);
}
.menu_facility.menu_facility-sp ul li {
  padding: .8em .5em;
}
.menu_facility.menu_facility-sp p {
  text-align: left;
  font-size: 1.8rem;
  padding-bottom: 0;
  margin-bottom: 1.6rem;
  border: none;
}
.menu_facility.menu_facility-sp nav + p {
  margin: 0;
}
/* =====================================
            　フッター
===================================== */
#site_footer .illust_area {
  position: relative;
  margin: 0 auto;
  max-width: 1700px;
  height: 19.2rem;
}
#site_footer .footer_illust {
  position: absolute;
  top: 40%;
  left: 0;
  z-index: 1;
  margin-left: 2.4rem;
  max-height: 90%;
}
#site_footer .footer_clip {
  padding-top: var(--space-l);
  background: #F8E2A9;
  -webkit-clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
}
#site_footer a {
  text-decoration: none;
  color: inherit;
}
.footer_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1em;
}
#site_footer address .address_label {
  display: inline-block;
  padding-inline: .5em;
  margin-top: 3.2rem;
  margin-bottom: .5em;
  border: 1px solid var(--black);
}
.footer_menu {
  display: flex;
  gap: 4rem;
}
.footer_menu ul li, .menu_facility p {
  position: relative;
  padding-left: 1.5em;
  transition: color .3s ease;
}
.menu_facility {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.menu_facility nav + p {
  display: inline-block;
  margin: 0 0 .8em auto;
}
.menu_facility ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .5em 2rem;
  padding-top: .8em;
  margin-top: .8em;
  border-top: 1px solid var(--black);
}
.menu_facility ul li {
  color: #fff;
  padding: .5em 1em;
  border-radius: 100vmax;
  transition: opacity .3s ease;
}
/*メニュー背景色*/
.menu_facility ul li:nth-child(1) {
  background: var(--tsuruoka);
}
.menu_facility ul li:nth-child(2) {
  background: var(--sakata);
}
.menu_facility ul li:nth-child(3) {
  background: var(--shinjo);
}
.menu_facility ul li:nth-child(4) {
  background: var(--yamagata);
}
.menu_facility ul li:nth-child(5) {
  background: var(--yonezawa);
}
@media (max-width: 999px) {
  .menu_facility ul {
    grid-template-columns: 1fr;
    margin-bottom: .8em;
  }
  .menu_facility nav + p {
    margin: 0;
  }
}
.footer_menu-list ul li {
  margin-bottom: 0;
}
.footer_menu-list ul li::before, .menu_facility p::before {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 0.8em;
}
/*コピーライト*/
#copyright {
  padding: .8rem 1em;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.25em;
  color: #fff;
  background: #876960;
}
/* =====================================
         　　　TOPページ
===================================== */
/*mv*/
.mv {
  width: 100%;
  background: url("images/mv/mv_bg.png") no-repeat center / cover;
  margin-top: 90px;
  padding-bottom: var(--space-s);
}
.mv_inner {
  position: relative;
  max-width: 1920px;
  height: min(50vw, 1080px);
  margin: 0 auto 5.6rem;
}
.mv .mv_title {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 33.33%;
}
/*mv-丸切り抜き画像*/
.mv_circle-left {
  position: absolute;
  top: 10%;
  left: -1%;
  width: min(35.3vw, 680px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.mv_circle-center {
  position: absolute;
  top: 45%;
  left: 41.2%;
  width: min(24.9vw, 480px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.mv_circle-right {
  position: absolute;
  top: 24.2%;
  right: 1.3%;
  width: min(29.3vw, 560px);
  aspect-ratio: 1 / 1;
}
.mv_circle-left img, .mv_circle-center img, .mv_circle-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.mv_circle-left::before, .mv_circle-center::before, .mv_circle-right::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 10px solid rgba(255, 255, 255, .4);
}
/*mv-イラスト*/
.mv_circle-left::after {
  content: "";
  position: absolute;
  bottom: 10.2%;
  right: -5%;
  width: 25%;
  height: 42%;
  background: url("images/mv/mv_illust-left.png") no-repeat bottom right / contain;
  z-index: 2;
}
.mv_circle-right::after {
  content: "";
  position: absolute;
  bottom: -12%;
  left: 0;
  width: 45%;
  height: 40%;
  background: url("images/mv/mv_illust-right.png") no-repeat bottom right / contain;
  z-index: 2;
}
/*固定instagramアイコン*/
.header .sns_fixed {
  position: fixed;
  top: calc(50% + 90px);
  transform: translateY(-50%);
  right: 0;
  z-index: 99;
  text-align: center;
  padding: 1em 1em 2em 1em;
  background: #fff;
  border-radius: 16px 0 0 16px;
}
.header .sns_fixed p {
  font-weight: 600;
  line-height: 1.3;
  color: var(--light-blue);
  margin-bottom: 1em;
}
.header .sns_fixed img {
  width: clamp(38px, 3vw, 46px);
  height: auto;
}
@media (min-width: 1920px) {
  .header .sns_fixed {
    top: auto;
    right: auto;
    left: calc(50% + 810px);
    bottom: 0;
    border-radius: 16px;
    padding: 1em;
  }
}
/*お知らせ*/
.top_news-wrapper {
  display: flex;
  gap: 5%;
  container-type: inline-size;
}
.top_news-wrapper .top_news-title {
  color: var(--brown);
  font-weight: 600;
}
.top_news {
  flex: 0 1 70%;
  gap: 1em;
}
.top_newsletter {
  flex: 0 1 30%;
}
@container (max-width: 999px) {
  .top_newsletter {
    flex: 0 1 40%;
  }
}
.top_news, .top_newsletter {
  display: flex;
  flex-direction: column;
}
.top_news, .top_newsletter a {
  text-decoration: none;
  color: inherit;
}
.top_news-wrapper h2 {
  text-align: left;
}
/*お知らせ一覧*/
.news_list .news_box {
  font-size: 1.4rem;
  background: #fff;
  border: 1px solid var(--pale);
  border-radius: 5px;
  margin-bottom: .5em;
}
.news_list .news_box-inner a {
  display: flex;
  align-items: center;
  padding: 1.4rem 2.4rem;
  text-decoration: none;
  color: inherit;
}
.news_box-inner .news_box-date {
  padding: 1.2rem 2.4rem 1.2rem 0;
  margin-right: 2.4rem;
  border-right: 1px solid #ccc;
}
.news_box-inner .news_box-title {
  display: flex;
  align-items: center;
  gap: 1em;
}
/*カテゴリー表示*/
.news_box-inner .category {
  font-weight: 500;
  text-align: center;
  padding: .4rem 1.6rem;
  border-radius: 100vmax;
  min-width: 10rem;
}
.category.cat-event {
  /*催し*/
  color: var(--light-blue);
  border: 2px solid var(--light-blue);
  border-radius: 100vmax;
}
.category.cat-news {
  /*お知らせ*/
  color: var(--pink);
  border: 2px solid var(--pink);
  border-radius: 100vmax;
}
/*広報－樫*/
.top_newsletter .top_news-inner a {
  display: block;
}
.kouhou_kashi-thumb {
  margin-bottom: .5em;
  transition: scale .3s ease;
}
.kouhou_kashi-thumb img {
  width: 100%;
  aspect-ratio: 3 / 4;
}
main.contents_page .kouhou_kashi-title {
  color: var(--emerald);
  font-weight: 600;
  text-align: center;
  transition: color .3s ease;
}
.top_newsletter .kouhou_kashi-title {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 1em;
  color: var(--emerald);
  font-weight: 600;
  margin-bottom: 1em;
}
.kouhou_kashi-title h3 {
  font-weight: 600;
}
.kouhou_kashi_archive_link {
  text-align: center;
  background: var(--red);
  color: #fff;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}
.kouhou_kashi_archive_link a {
  display: block;
  padding: .4rem 1em;
}
.kouhou_kashi-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  flex: 1;
}
.kouhou_kashi-item {
  width: calc((100% - 4em) / 5);
}
.kouhou_kashi-item img {
  transition: opacity 0.3s ease;
}
/*newマーク*/
img.mark_new {
  vertical-align: sub;
  margin-left: .1em;
}
/*アーカイブ*/
.news_more {
  text-align: right;
}
.news_more a {
  display: inline-block;
  color: var(--black);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-decoration: none;
  color: inherit;
}
/* ページリンク */
section.section_link {
  padding-block: var(--space-l);
  max-width: 1920px;
  margin-inline: auto;
}
section.section_link .link_content {
  display: flex;
  align-items: center;
  max-width: 1500px;
  margin-bottom: 2em;
  margin-left: -30px;
}
section.section_link .link_content:nth-child(even) {
  flex-direction: row-reverse;
  margin-inline: auto -30px;
}
section.section_link .link_content img {
  width: 60%;
  max-width: 900px;
}
section.section_link .link_content-text {
  width: 40%;
  padding-inline: 5%;
}
section.section_link .link_content-btn {
  margin-top: 1em;
  text-align: center
}
section.section_link .link_content-btn a {
  text-decoration: none;
  color: #fff;
  background-color: #EF8876;
  font-weight: 500;
  padding: .25em 4em;
  border-radius: 100vmax;
}
/*地域づくり*/
section.concept {
  padding-top: var(--space-l);
  background: url("images/pages/concept_bg.png") repeat center / cover;
  container-type: inline-size;
}
section.concept .concept_content {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 19.2rem;
}
section.concept .concept_content::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -7%;
  left: 0;
  max-width: 150px;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin-left: 2.4rem;
  background: url("images/pages/concept_illust1.png") no-repeat center / contain;
}
section.concept .concept_content::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 3%;
  right: 0;
  max-width: 200px;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin-right: 2.4rem;
  background: url("images/pages/concept_illust2.png") no-repeat center / contain;
}
section.concept h2 {
  text-align: center;
  color: #fff;
  background: #EF8876;
  border: 8px solid #F6B9AF;
  border-radius: 100vmax;
  padding: .8rem;
  margin-inline: auto;
  width: clamp(0px, 95%, 1200px);
}
@container (max-width: 599px) {
  section.concept h2 {
    display: flex;
    flex-direction: column;
  }
  section.concept h2 span:nth-child(2)::after {
    display: none;
  }
  section.concept h2 span {
    position: relative;
    display: inline-block;
    margin: 0 auto;
  }
  section.concept h2 span:nth-child(1)::after {
    content: "";
    position: absolute;
    top: -24px;
    right: -40px;
    background: url("images/pages/concept_h2.png") no-repeat center / contain;
    width: 60px;
    height: 40px
  }
}
section.concept h2 span:nth-child(2)::after {
  content: "";
  position: absolute;
  top: -24px;
  right: -40px;
  background: url("images/pages/concept_h2.png") no-repeat center / contain;
  width: 60px;
  height: 40px
}
section.concept .page_inner {
  text-align: center;
  font-weight: 500;
}
section.concept ul.concept_copy {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  margin-block: 2.4rem;
}
section.concept ul.concept_copy li {
  color: #fff;
  font-weight: 500;
  background: #40A140;
  border: 2px solid #1D881D;
  border-radius: 5px;
  padding: .8rem 1.6rem;
}
section.concept .concept_card-wrapper {
  display: flex;
  gap: 1em;
  margin-top: var(--space-s);
}
.concept_card-wrapper .concept_card {
  background: #fff;
  border-radius: 10px;
  padding: 1em;
  flex: 1;
}
@media (min-width:1000px) {
  .concept_card-wrapper .concept_card p {
    line-height: 1.6;
    min-height: calc(1.6em * 2);
    text-align: left;
  }
}
.concept_card-wrapper .concept_card-title {
  display: flex;
  flex-direction: column;
  color: #fff;
  background: #40A140;
  border-radius: 10px;
  padding: .5em;
  margin-bottom: 1.6rem;
}
.concept_card-wrapper .concept_card-title p{
text-align: center;
}
.concept_card-wrapper .concept_card-title h3 {
  font-size: var(--font-size--h2);
  font-weight: 600;
  margin-bottom: 0;
}
/* 事業所紹介 */
section.facility {
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
}
section.facility a {
  text-decoration: none;
  color: inherit;
}
section.facility .facility_wrapper {
  background: #fff;
  border-radius: 30px;
  display: flex;
  gap: 2.4rem;
  align-items: center;
  padding-block: var(--space-s);
}
.facility_wrapper .image_map, .facility_wrapper .facility_list {
  flex: 1;
}
.facility_list h3 {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  border-radius: 100vmax;
  margin-bottom: 1em;
  transition: opacity .3s;
}
.facility_list h3 a {
  padding: .3em 4rem;
}
.facility_items {
  margin-bottom: 2em;
}
.facility_items li {
  display: inline-flex;
  gap: 1em;
  position: relative;
  line-height: 1;
  padding-left: 2em;
  margin-left: .5em;
  margin-bottom: 1em;
}
.facility_items li .facility_tel {
  display: flex;
  flex: 1;
  align-self: flex-end;
}
.facility_wrapper .facility_items li.no_item {
  margin-bottom: .5em;
}
.is-sakata .facility_items li, .is-shinjou .facility_items li, .facility_items li:last-child {
  margin-bottom: 0;
}
.facility_items li h4 {
  display: inline-block;
  font-weight: 600;
  padding-bottom: .3em;
  margin-bottom: .3em;
}
.facili_sns-box {
  position: absolute;
  display: flex;
  gap: .5em;
}
.facili_sns-box img {
  max-width: 2.2rem;
}
.facility_item-address {
  position: relative;
  flex: 1;
}
.facility_items li svg {
  max-width: 1em;
  max-height: 1em;
  margin-left: 1em;
}
.facility_items li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 1.5lh;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
/*鶴岡事業所*/
.is-tsuruoka h3 {
  background: #3EA83E url("images/pages/facility/title_doted.png") no-repeat center / cover;
}
.is-tsuruoka li::before {
  border: solid 4px #3EA83E;
}
.is-tsuruoka li h4 {
  border-bottom: 2px dashed #3EA83E;
}
/*酒田事業所*/
.is-sakata h3 {
  background: var(--sakata) url("images/pages/facility/title_doted.png") no-repeat center / cover;
}
.is-sakata li::before {
  border: solid 4px var(--sakata);
}
.is-sakata li h4 {
  border-bottom: 2px dashed var(--sakata);
}
/*新庄事業所*/
.is-shinjou h3 {
  background: var(--shinjo) url("images/pages/facility/title_doted.png") no-repeat center / cover;
}
.is-shinjou li::before {
  border: solid 4px var(--shinjo);
}
.is-shinjou li h4 {
  border-bottom: 2px dashed var(--shinjo);
}
/*山形事業所*/
.is-yamagata h3 {
  background: var(--yamagata) url("images/pages/facility/title_doted.png") no-repeat center / cover;
}
.is-yamagata li::before {
  border: solid 4px var(--yamagata);
}
.is-yamagata li h4 {
  border-bottom: 2px dashed var(--yamagata);
}
/*米沢事業所*/
.is-yonezawa h3 {
  background: var(--yonezawa) url("images/pages/facility/title_doted.png") no-repeat center / cover;
}
.is-yonezawa li::before {
  border: solid 4px var(--yonezawa);
}
.is-yonezawa li h4 {
  border-bottom: 2px dashed var(--yonezawa);
}
/*インスタグラム*/
section.instagram_post {
  background: #fff;
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
}
section.instagram_post h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5em;
}
section.instagram_post h2 img {
  width: clamp(38px, 4vw, 46px);
}
section.instagram_post .instagram_post-inner {
  display: flex;
  justify-content: space-between;
}
/* =====================================
         　下層ページ共通
===================================== */
/*パンくずリスト*/
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: var(--space-m);
}
.breadcrumb a {
  text-decoration: none;
  color: inherit;
}
.breadcrumb span:first-child a {
  color: #fff;
  background: #BAD39E;
  padding: .2rem 1em;
  border-radius: 100vmax;
  transition: background-color .3s ease;
}
/************************************************/
/* H1 */
main.contents_page .title_wrapper h1 {
  font-weight: 600;
  /*コンテナの高さ-波の高さ　*/
  height: calc(200px - 60px);
  display: flex;
  justify-content: center;
  align-items: center;
}
/* H2 */
.entry-content h2, .post-content h2 {
  text-align: left;
  padding-bottom: .3em;
  margin-bottom: 1em;
  border-bottom: clamp(4px, .5vw, 6px) solid #EFE6D1;
  scroll-margin-top: 100px; /* ヘッダーの高さを入力 */
  scroll-behavior: smooth;
  overflow: auto;
}
/* H3 */
.entry-content h3, .post-content h3{
  text-align: left;
  padding: .5em 1em;
  margin-bottom: .8em;
  border-bottom:solid 1px #e6e6e6;
}
main.contents_page {
  margin-top: 90px;
  background: var(--bg-color);
}
main.contents_page .title_wrapper {
  position: relative;
  height: 200px;
  margin-bottom: 2.4rem;
  background-color: #F8F1E0;
  mask: url("images/pages/page_wave.svg") no-repeat top center / auto 200px;
  -webkit-mask: url("images/pages/page_wave.svg") no-repeat top / auto 200px;
}
@media (min-width:1921px) {
  main.contents_page .title_wrapper {
    mask: url("images/pages/page_wave.svg") no-repeat top center / 100% 200px;
    -webkit-mask: url("images/pages/page_wave.svg") no-repeat top / 100% 200px;
  }
}
.entry-content p {
  font-size: var(--font-size--s);
  margin-bottom: 1em;
}
.entry-content h2 + p {
  margin-bottom: var(--space-m);
}
.entry-content.facility {
  padding-top: 0;
}
.entry-content.facility address {
  display: flex;
  gap: 2.4rem;
  margin-bottom: var(--space-m);
}
.entry-content.facility address .google-map, .entry-content.facility address dl {
  flex: 1;
}

.entry-content ul.wp-block-list li {
	padding: 2px 0;
}

/* =====================================
         　　　　サイドバー
===================================== */
/* アーカイブ */
main.contents_page .contents_wrapper {
  display: flex;
  gap: 4em;
}
main.contents_page .contents_wrapper article {
  flex: 1;
}
.news-list_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.news-list_wrapper ul {
  width: 100%;
}
aside.sidebar {
  width: 20%;
}
main.contents_page .news-list_wrapper {
  flex: 1;
}
main.contents_page .news-list_wrapper a {
  text-decoration: none;
}
aside.sidebar h3 {
  padding-bottom: .5em;
  border-bottom: 4px solid #F8E2A9;
}
aside.sidebar ul {
  margin-bottom: 2em;
}
aside.sidebar li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #ccc;
  transition: color 0.3s ease, background-color 0.3s ease;
  padding-inline: 1em;
}
aside.sidebar li a {
  width: 100%;
  padding-block: 1em;
  font-size: .8em;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em;
}
aside.sidebar li:last-child {
  border: none;
}
/* =====================================
            　ページナビ　
===================================== */
.wp-pagenavi {
  text-align: center;
}
.wp-pagenavi a.page, .wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  background-color: #fff;
  border: 1px solid #876960;
  color: #876960;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.wp-pagenavi span.pages {
  display: block;
  text-align: center;
  border: none;
}
.wp-pagenavi span.current {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background-color: #876960;
  color: #fff;
  border-radius: 4px;
  font-weight: bold;
  border: 1px solid #876960;
}
.wp-pagenavi span.extend {
  border: none;
}
/* =====================================
            法人概要ページ　
===================================== */
.page-id-2 .wp-block-table {
  max-width: 400px;
}
/* =====================================
        一般事業主行動計画ページ　
===================================== */
.page-id-155 .is-style-vk-group-solid {
  border: 3px solid #EFE6D1;
}
.page-id-155 .wp-block-table.is-style-vk-table-border-stripes tbody tr:nth-child(2n+1) {
  background-color: #FBE9C5;
}
.page-id-155 .wp-block-table {
  display: flex;
  flex-direction: column-reverse;
}
.page-id-155 .wp-block-table table {
  min-width: 500px;
}
/* =====================================
            採用情報ページ　
===================================== */
h3.saiyou_tsuruoka{
border-left: 4px solid var(--tsuruoka);
background-color: #fff;
}
h3.saiyou_sakata{
border-left: 4px solid var(--sakata);
background-color: #fff;
}
h3.saiyou_shinjo{
border-left: 4px solid var(--shinjo);
background-color: #fff;
}
h3.saiyou_yamagata{
border-left: 4px solid var(--yamagata);
background-color: #fff;
}
h3.saiyou_yonezawa{
border-left: 4px solid var(--yonezawa);
background-color: #fff;
}

/* =====================================
            福祉事業所ページ　
===================================== */
/* 住所テーブル */
.single-facility .wp-block-table {
  max-width: 400px;
}
.single-facility .wp-block-table td {
  line-height: 1.6;
}
.single-facility .wp-block-table tr td:first-child {
  width: 100px;
}
.facility_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
.facility_wrapper a {
  text-decoration: none;
  color: inherit;
}
.facility_wrapper li.facility_box {
  width: calc((100% - 2.4rem) / 2);
  padding: 1em;
  border: 1px solid #EFE6D1;
}
li.facility_box .facility_box-flex {
  display: flex;
  gap: 1em;
}
li.facility_box a {
  display: block;
}
li.facility_box a img {
  max-width: 50%;
  object-fit: cover;
  transition: opacity .3s ease;
}
li.facility_box .facility_box-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
li.facility_box .facility_box-text .excerpt {
  line-height: 1.6;
  min-height: calc(1.6em * 5);
  margin-bottom: 1em;
  transition: color .3s ease;
}
li.facility_box .btn_more {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5em;
  background: #353535;
  color: #fff;
  transition: background-color .3s ease;
}
li.facility_box .btn_more::before {
  content: "▶";
  font-size: 0.8em;
  color: #fff;
  margin-right: 1em;
}
.facility_child-flex {
  display: flex;
  gap: 2.4rem;
}
.facility_child-item {
  width: calc((100% - 2.4rem) / 2);
}
.facility_child-img {
  text-align: center;
}
.facility_child-text .facility-content {
  margin-bottom: var(--space-l);
}
.facility_child-text .facility_child-address p {
  margin-bottom: .5em;
}
.entry-content .entry_meta {
  margin-bottom: 1em;
  font-size: 1.4rem;
}
/* 事業所一覧色分け */
h2.tsuruoka-area, .facility_box:has(a .tsuruoka-area) {
  border-color: var(--tsuruoka);
}
.facility_box:has(a .tsuruoka-area) .btn_more {
  background: var(--tsuruoka);
}
/******/
h2.sakata-area, .facility_box:has(a .sakata-area) {
  border-color: var(--sakata);
}
.facility_box:has(a .sakata-area) .btn_more {
  background: var(--sakata);
}
/******/
h2.yonezawa-area, .facility_box:has(a .yonezawa-area) {
  border-color: var(--yonezawa);
}
.facility_box:has(a .yonezawa-area) .btn_more {
  background: var(--yonezawa);
}
/******/
h2.shinjo-area, .facility_box:has(a .shinjo-area) {
  border-color: var(--shinjo);
}
.facility_box:has(a .shinjo-area) .btn_more {
  background: var(--shinjo);
}
/******/
h2.yamagata-area, .facility_box:has(a .yamagata-area) {
  border-color: var(--yamagata);
}
.facility_box:has(a .yamagata-area) .btn_more {
  background: var(--yamagata);
}
/*鶴岡エリア*/
main.slug-tsuruoka-area h1 {
  color: #fff;
}
main.slug-tsuruoka-area .title_wrapper {
  background-color: var(--tsuruoka);
}
main.slug-tsuruoka-area .post-content h2 {
  border-color: var(--tsuruoka);
}
main.slug-tsuruoka-area li.facility_box {
  border-color: var(--tsuruoka);
}
main.slug-tsuruoka-area li.facility_box .btn_more {
  background-color: var(--tsuruoka);
}
.postid-99 main.contents_page p:has(.wp-image-313) {
  /*高齢者住宅　みどり-インスタ*/
  margin-top: 1em;
  transition: color .3s ease;
}
.postid-99 main.contents_page .wp-image-313 {
  /*高齢者住宅　みどり-インスタ*/
  height: 1lh;
  width: auto;
  aspect-ratio: 1 / 1;
}
/*酒田エリア*/
main.slug-sakata-area h1 {
  color: #fff;
}
main.slug-sakata-area .title_wrapper {
  background-color: var(--sakata);
}
main.slug-sakata-area .post-content > h2 {
  margin-bottom: 0;
  border-bottom: none;
}
main.slug-sakata-area .facility-content h2 {
  border-color: var(--sakata);
}
main.slug-sakata-area li.facility_box {
  border-color: var(--sakata);
}
main.slug-sakata-area li.facility_box .btn_more {
  background-color: var(--sakata);
}
/*新庄エリア*/
main.slug-shinjo-area h1 {
  color: #fff;
}
main.slug-shinjo-area .title_wrapper {
  background-color: var(--shinjo);
}
main.slug-shinjo-area .post-content > h2 {
  margin-bottom: 0;
  border-bottom: none;
}
main.slug-shinjo-area .facility-content h2 {
  border-color: var(--shinjo);
}
main.slug-shinjo-area li.facility_box {
  border-color: var(--shinjo);
}
main.slug-shinjo-area li.facility_box .btn_more {
  background-color: var(--shinjo);
}
/*山形エリア*/
.postid-100 main.contents_page h1 {
  color: #fff;
}
.postid-100 main.contents_page .title_wrapper {
  background-color: var(--yamagata);
}
.postid-100 main.contents_page .post-content h2 {
  border-color: var(--yamagata);
}
main.slug-yamagata-area li.facility_box {
  border-color: var(--yamagata);
}
main.slug-yamagata-area li.facility_box .btn_more {
  background-color: var(--yamagata);
}
/*米沢エリア*/
main.slug-yonezawa-area h1 {
  color: #fff;
}
main.slug-yonezawa-area .title_wrapper {
  background-color: var(--yonezawa);
}
main.slug-yonezawa-area .post-content h2 {
  border-color: var(--yonezawa);
}
main.slug-yonezawa-area li.facility_box {
  border-color: var(--yonezawa);
}
main.slug-yonezawa-area li.facility_box .btn_more {
  background-color: var(--yonezawa);
}
/* =====================================
        福祉事業所ページ（個別）
===================================== */
/* 画像を4列に */
body.single-facility .wp-block-gallery{
gap: 2.4rem;
}
body.single-facility .wp-block-gallery > .wp-block-image{
 width: calc((100% - 2.4rem * 3) / 4) !important;
 flex-grow: 0;
}

/* =====================================
            理事長あいさつページ
===================================== */
.page-id-134 main.contents_page p {
  margin-bottom: 1em;
  
}
.page-id-134 main.contents_page p:last-of-type {
  width: fit-content;
  margin-inline: auto 0;
  font-weight: 600;
}
/* =====================================
            スタッフ紹介ページ　
===================================== */
.staff_card-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 2.4rem;
  margin-top: 50px;
}
.staff_card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fde8ae;
  box-shadow: 0px 0px 0px 5px #fde8ae;
  border: dashed 2px #fff;
  margin-top: 25px;
  padding: 3em 1em 1em;
  font-size: 1.4rem;
  font-weight: 500;
  width: calc((100% - 2.4rem) / 2);
}
.staff_card::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50%;
  width: 30%;
  height: 35px;
  background: #a8662b;
  transform: rotate(-3deg) translateX(-50%);
  opacity: 0.6;
}
.staff_card::after {
  position: absolute;
  content: '';
  right: -7px;
  top: -7px;
  border-width: 0 15px 15px 0;
  border-style: solid;
  border-color: #ffdb88 var(--bg-color) #ffdb88;
  box-shadow: -2px 1px 1px rgba(0, 0, 0, 0.15);
}
.staff_card .staff_card-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  margin-bottom: 1em;
  padding: 1em;
  font-weight: 600;
}
.staff_card .post-thumbnail {
  max-width: 200px;
  aspect-ratio: 1 / 1;
}
.staff_card .post-thumbnail img {
  border-radius: 50%;
}
.staff_card img {
  border-radius: 15px;
}
.staff_card dl dt {
  background: #fff;
  border-left: 4px solid #ff8a24d4;
  padding-inline: 1em calc(1em - 4px);
  margin-bottom: .5em;
}
.staff_card dl dd {
  margin-left: calc(1em + 4px);
  margin-bottom: 1.5em;
  font-weight: 400;
  white-space: pre-wrap;
}
.staff_card .staff_img {
  margin-top: auto;
}
.staff_card .staff_img {
  display: flex;
  justify-content: center;
  gap: 1em;
}
/* =====================================
            プライバシーポリシー
===================================== */
.privacy-policy .entry-content {
  background: #fff;
  padding: 2em;
  border-radius: 15px;
}
.privacy-policy .entry-content p {
  margin-bottom: var(--space-m);
}
.privacy-policy .entry-content p:last-child {
  font-weight: 600;
}
/* Posts and pages（検索結果ぺージ）

ul.search_result {
  list-style: disc;
  padding-left: 30px;
}
ul.search_result li {
  margin-bottom: 0.6em;
}
--------------------------------------------- */
/* =====================================
            お問い合わせページ
===================================== */
.inquiry_list {
  margin-bottom: 15px;
  overflow: hidden;
}
.inquiry_list dl {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  width: 100%;
  overflow: hidden;
}
.inquiry_list dt {
  margin: 5px 0;
  padding: 12px 0 0 15px;
  width: 30%;
  border-bottom: solid 1px #dddddd;
}
.inquiry_list dd {
  margin: 5px 0;
  padding: 5px 0;
  width: 70%;
  border-bottom: solid 1px #dddddd;
}
.inquiry_list dt p {
  margin: 0;
}
.inquiry_list dd p {
  margin: 0;
}
.inquiry_list dt span {
  margin-left: 15px;
  font-size: 0.80em;
}
.inquiry_list input, .inquiry_list textarea, .inquiry_list select {
  margin-bottom: 10px;
  padding: 4px 10px 8px;
  border-radius: 3px;
  font-size: 1.10em;
  border: solid 1px #999999;
  letter-spacing: 0.06em;
}
.mark_must {
  position: relative;
  top: -6px;
  left: 5px;
}
/*お名前*/
.con_name {
  margin: 0;
  max-width: 400px;
  width: 100%;
}
/*フリガナ*/
.con_kana {
  margin: 0;
  max-width: 400px;
  width: 100%;
}
/*メールアドレス*/
.con_address {
  max-width: 600px;
  width: 100%;
}
/*電話番号*/
.con_tel {
  max-width: 200px;
  width: 100%;
}
/*郵便番号*/
.con_yubin1 {
  margin-bottom: 10px;
  max-width: 70px;
  width: 100%;
}
.con_yubin2 {
  margin-bottom: 10px;
  max-width: 80px;
  width: 100%;
}
/*住所*/
.con_jusyo {
  margin: 4px 0 0;
  max-width: 730px;
  width: 100%;
}
/*お問い合わせ内容*/
.con_inquiry {
  max-width: 99%;
}
/* Contact Form 7のチェックボックスを縦並びに */
.wpcf7-checkbox .wpcf7-list-item {
  margin: 0 10px 0 0;
  display: block;
}
/* Contact Form 7のチラジオボタンを横並びに */
.wpcf7-radio .wpcf7-list-item {
  margin: 0 10px 0 0;
}
.wpcf7-list-item-label {
  margin-right: 10px;
}
.wpcf7 span.wpcf7-not-valid-tip {
  font-size: 80%;
}
input.wpcf7-submit {
  padding: 15px 5px 15px 5px;
  width: 250px;
  font-weight: bold;
  letter-spacing: 2px;
}
.wpcf7 .wpcf7c-conf {
  background-color: #fff;
  font-weight: bold;
}
.wpcf7-form-control {
  border: solid 1px #999999;
}
.mapp-layout {
  margin: 0 0 15px 0;
  border: solid 1px #cccccc;
}
.wpcf7-radio, .wpcf7-checkbox {
  border: none;
}
.wpcf7-acceptance {
  border: none;
}
.inquiry_list .must {
  position: relative;
  top: -.20em;
  left: -11px;
  display: inline;
  padding: 0 6px 2px;
  font-size: 11px;
  color: #cf1d05;
  border: 1px solid #cf1d05;
  user-select: none;
}
/* =====================================
              404ページ　
===================================== */
body.error404, body.error404 #page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.error404 .contents_page {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--brown);
  padding: 2em 1em;
}
.error-404 .entry-title {
  font-size: 4rem;
  margin-bottom: 1rem;
}
.error-404 .entry-content p {
  font-size: 1.5rem;
  margin: 1rem 0;
}
.error-404 .entry-content .back-home {
  display: inline-block;
  padding: 0.5em 1em;
  background-color: #333;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.3s;
}
.error-404 .entry-content .back-home:hover {
  background-color: #555;
}
/* Media
--------------------------------------------- */
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}
/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}
.wp-caption-text {
  text-align: center;
}
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 100%;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}
/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}
.alignleft:after {
  content: "";
  display: block;
  clear: both;
}
.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}
/* ページ内リンク */
.sub_menu {
  margin-bottom: 60px;
  padding: 0 30px;
}
.sub_menu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.sub_menu ul li {
  list-style: none;
}
.sub_menu ul li a {
  text-align: center;
  text-decoration: none;
  padding: 6px 15px 8px 15px;
  border-radius: 50px;
  box-sizing: border-box;
  position: relative;
  transition-duration: 0.3s;
  font-size: clamp(12px, 0.865vw, 15px);
  border: solid 1px #B3AE8C;
}
.sub_menu ul li a:hover {
  text-align: center;
  text-decoration: none;
  padding: 6px 15px 8px 15px;
  border-radius: 50px;
  box-sizing: border-box;
  position: relative;
  transition-duration: 0.3s;
  font-size: clamp(12px, 0.865vw, 15px);
  background: #8A8566;
  border: solid 1px #B3AE8C;
  color: #FFFFFF;
}
/*PDFアイコン*/
a[href $='.pdf'] {
  background: url(./icon/ico_pdf.gif) no-repeat right 70%;
  padding: 0 18px 0 0;
}
a[href $='.pdf'] a {
  text-decoration: none;
}
a[href $='.pdf'] a:hover {
  text-decoration: none;
}
/*PDFアイコンなし*/
.top_newsletter .top_news-inner a,
aside.sidebar li a,
main.contents_page .news-list_wrapper a{
background: none;
}