body {
  font-family:
    -apple-system,        /* iOS/macOS の欧文用システムフォント（SF Pro） */
    system-ui,            /* 標準 UI フォント */
    BlinkMacSystemFont,   /* Chrome on macOS */
    "Hiragino Sans",      /* macOS/iOS の日本語ゴシック */
    "Hiragino Kaku Gothic ProN", /* macOS旧バージョン */
    "Yu Gothic",          /* Windows 8.1以降の標準日本語ゴシック */
    "Meiryo",             /* Windows XP〜8向け */
    "Noto Sans JP",       /* AndroidやWebフォントに対応 */
    sans-serif;           /* フォールバック（ゴシック系） */
  
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}
.more-link {
	display: block;
}
/*------------------------ 共通コンテンツ横幅 ------------------------*/
.content-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2%;
}

.section-title {
  background-color: #D97984;   /* 指定色 */
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.6em 1.5em;
  border-radius: 8px;
  font-size: 1.2em;
  display: inline-block;
  margin: 0 auto 1.5em auto;
}


 .text-center {
  text-align: center;
}

/*------------------------  ヘッダー ------------------------*/
.site-header {
  background-color: #ffe1ee; /* 薄いピンク系背景 */
  padding: 1em 2%;
  border-top: 4px double #e0a0a0; /* 上部の装飾線（ピンクの二重線） */
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.logo-area {
  display: flex;
  align-items: center;
  gap: 1em;
}

.logo-image {
  width: 80px;
  height: auto;
}
.logo-link {
  display: flex;
  align-items: center;
  gap: 1em;
  text-decoration: none;         /* 下線なし */
  color: inherit;                /* 親の色を継承 */
}

.logo-link:hover {
  opacity: 0.8;
}


.site-title-group {
  display: flex;
  flex-direction: column;
	 font-family: "Hiragino Maru Gothic Pro", /* macOS */
               "Hiragino Maru Gothic ProN", /* macOS newer */
               "Yu Gothic Rounded", /* Windows 8.1以降 */
               "Rounded Mplus 1c", /* Google Fontsなどで配布 */
               sans-serif;
}

.site-subtitle {
  font-size: 1.1em;
  color: #f00;
  margin: 0;
	
	/* 白枠（外側だけ） */
  -webkit-text-stroke: 0px white;

  /* Firefoxなどのための白枠互換対応（外側だけ）＋グレー影 */
  text-shadow:
    /* 外側の白枠（内側を潰さないために少し広め＆ぼかし少なめ） */
    1px 1px 0 white,
   -1px 1px 0 white,
    1px -1px 0 white,
   -1px -1px 0 white,
    1px 0 0 white,
   -1px 0 0 white,
    0 1px 0 white,
    0 -1px 0 white,
    /* グレー影（ぼかし付き） */
    2px 2px 3px rgba(0, 0, 0, 0.5);
}

.site-title {
  font-size: 1.8em;
  color: #000;
  font-weight: bold;
  margin: 0;
	
	/* 白枠（外側だけ） */
  -webkit-text-stroke: 0px white;

  /* Firefoxなどのための白枠互換対応（外側だけ）＋グレー影 */
  text-shadow:
    /* 外側の白枠（内側を潰さないために少し広め＆ぼかし少なめ） */
    1px 1px 0 white,
   -1px 1px 0 white,
    1px -1px 0 white,
   -1px -1px 0 white,
    1px 0 0 white,
   -1px 0 0 white,
    0 1px 0 white,
    0 -1px 0 white,
    /* グレー影（ぼかし付き） */
    2px 2px 3px rgba(0, 0, 0, 0.5);/* 白枠（外側だけ） */
 

}

.tel-area {
  text-align: right;
}

.tel-button {
  width: 220px;
  max-width: 100%;
  height: auto;
  margin-bottom: 0.5em;
}

.business-hours {
  font-size: 0.9em;
  color: #333;
  line-height: 1.4;
  margin: 0;
}


/*------------------------  キービジュアル ------------------------*/
.kv img{
width:1200px;
height:auto;
}
.kv{
margin:0 0 50px 0;
}

/*------------------------  営業時間 ------------------------*/
.info-section {
  background-color: #fff;
  padding: 2em;
}


.info-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 80%;
  
}

.info-item {
  display: flex;
  align-items: center; /* ← 縦方向の中央揃え */
  gap: 2em;
  padding: 1.5em 0;
  border-top: 1px solid #b39842;
  font-size: 16px;
  line-height: 1.6;
}

.info-item:last-child {
  border-bottom: 1px solid #b39842;
}

.info-label {
  flex: 0 0 150px ;
  padding-left:100px;
  font-weight: bold;
  color: #000;
}

.info-content {
  flex: 1;
  color: #000;
}




/*------------------------  お知らせ  ------------------------*/
.news-section {
  background-color: #f7f2ea;
  padding: 2em;
}

.news-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 75%;
}

.news-item {
  border-top: 1px solid #b39842;
  padding: 1.5em 0;
}

.news-item:last-child {
  border-bottom: 1px solid #b39842;
}

.news-date {
  display: block;
  color: #000;
  font-size: 0.9em;
  margin-bottom: 0.4em;
}

.news-title {
  display: block;
  color: #000;
  font-weight: bold;
  font-size: 1.1em;
  text-decoration: none;
}

.news-title:hover {
  text-decoration: underline;
}

/* PC表示（横並び） */
@media (min-width: 768px) {
  .news-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2em;
  }

  .news-date {
    flex: 0 0 150px;
    margin: 0;
    text-align: right;
  }

  .news-title {
    flex: 1;
    font-size: 1em;
  }
}


/* 一覧ボタン */
.notice-button {
  margin-top:30px;
  display: inline-block;
  padding: 0.6em 1.5em;
  border: 3px solid #D97984;
  color: #D97984;
  background-color: #fff;
  font-weight: bold;
  font-size: 1em;
  text-decoration: none !important;;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.notice-button:hover {
  background-color: #D97984;
  color: #fff;
}



/*------------------------  サービス  ------------------------*/
.insurance-service-section {
  background-color: #fff;
  padding: 3em 0;
}

.section-title {
  background-color: #D97984;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.6em 1.5em;
  border-radius: 8px;
  font-size: 1.2em;
  display: inline-block;
  margin: 0 auto 2em auto;
}

.insurance-photo {
  text-align: center;
  margin-bottom: 2em;
}

.insurance-photo img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ddd;
}

.insurance-subtitle {
width:75%;
  background-color: #fef3df;
  color: #8c6b00;
  font-weight: bold;
  text-align: center;
  padding: 1em 0;
  margin: 2em auto 1em auto;
  font-size: 1.1em;
}

.insurance-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  justify-content: center;
  margin: 1em 0 2em;
  padding: 0;
  list-style: none;
}

.insurance-tags li {
  background-color: #D97984;
  color: #fff;
  padding: 0.4em 1em;
  border-radius: 20px;
  font-size: 0.95em;
  font-weight: bold;
}

.service-list {
width:60%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1em 2em;
  list-style: none;
  padding: 0;
  margin: 1em auto;
}

.service-list li {
  padding-left: 2em;
  position: relative;
  line-height: 1.6;
}

.service-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 16px;
  height: 16px;
  background: url('images/i.png') no-repeat center center;
  background-size: contain;
}



/*------------------------  アクセス  ------------------------*/
.access-section {
  background-color: #F9F0ED;
  padding: 3em 0;
}

.section-title {
  background-color: #D97984;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.6em 1.5em;
  border-radius: 8px;
  font-size: 1.2em;
  display: inline-block;
  margin: 0 auto 2em auto;
}

.map-container {
  width: 100%;
  max-width:100%;
  margin: 0 auto 2em auto;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.access-info {
  background-color: #fff;
  border: 2px solid #d4b067;
  border-radius: 8px;
  padding: 0.5em 1.5em;
  max-width: 350px;
  margin: 0 auto;
  font-size: 1em;
  line-height: 1.6;
  color: #000;
}



/*------------------------  コンタクト・フォーム  ------------------------*/
.contact-section {
  background-color: #fff;
  padding: 3em 0;
}

.section-title {
  background-color: #D97984;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.6em 1.5em;
  border-radius: 8px;
  font-size: 1.2em;
  display: inline-block;
  margin: 0 auto 2em auto;
}

.contact-banners {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em;
  margin-bottom: 3em;
}

.banner-box {
  flex: 0 1 260px; /* 横幅指定：適度に並ぶよう調整 */
  text-align: center;
}

.banner-box img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.form-box {
  background-color: #fef3df;
  padding: 2em;
  border-radius: 16px;
  max-width: 800px;
  margin: 0 auto;
}

.form-header-img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.form-content {
  background-color: #fff;
  padding: 2em;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .contact-banners {
    flex-direction: column;
    align-items: center;
  }
}




/*------------------------  フッター  ------------------------*/
.site-footer {
  background-color: #f5f5f5; /* 薄いグレー */
  padding: 1em 0;
  text-align: center;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.copyright {
  color: #000;
  font-size: 0.9em;
  font-weight: bold;
  margin: 0;
}




/*------------------------  スマホ  ------------------------*/
/* レスポンシブ対応（スマホ用） */
@media (max-width: 768px) {
  .header-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
  }

  .logo-area {
    flex-direction: row;
    gap: 1em;
  }

  .site-title {
    font-size: 1.4em;
  }

  .tel-area {
    align-self: stretch;
    text-align: left;
    width: 80%;
    margin: 0 auto;
  }

  .tel-button {
    width: 100%;
  }
/* Kv */
    .kv img{
      width:100%;
      height:auto;
      }
      .kv{
        margin:30px 0;
        }

 /* 営業時間） */
 .info-section {
  background-color: #fff;
  padding: 0.2em;
  margin-bottom: 3em;
}

.info-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  border-bottom: 1px solid #b39842;
}

.info-item {
  padding: 1.5em 0;
  font-size: 16px;
  line-height: 1.6;
  display: flex;
  flex-direction: row;
  align-items: center; /* ← 縦中央揃えに変更 */
}

.info-item:last-child {
  border-bottom: none;
}

.info-label {
  flex: 0 0 80px;
  font-weight: bold;
  color: #000;
  text-align: left;
  padding-left: 2em;
}

.info-content {
  flex: 1;
  color: #000;
}


.news-section{
  padding:  2em 0.2em;
  margin-bottom: 2em;

}
.news-list{
  width: 100%;
}
.news-item{
  padding: 1em 1.5em;

}


.insurance-subtitle {
width:100%;
}




.service-list {
  width: 90%;
  grid-template-columns: repeat(1, 1fr); /* ← 2列を維持 */
  gap: 1em 1.5em;
}

.service-list li {
  display: flex;
  align-items: center; /* ← 高さ中央揃え */
  position: relative;
  padding-left: 2em;
  font-size: 0.95em;
  line-height: 1.6;
}

.service-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* ← アイコンを上下中央に */
  width: 16px;
  height: 16px;
  background: url('images/i.png') no-repeat center center;
  background-size: contain;
}


.banner-box {
  flex:none;
  text-align: center;
}
.form-box {
  padding: 0;;
}
.form-header-img{



}
      }









/*------------------------  contact7 フォーム  ------------------------*/


/* フォーム全体 */
.form-content {
  background-color: #fef3df;
  padding: 2em;
  border-radius: 12px;
  max-width: 800px;
  margin: 0 auto;
}

/* ラベル */
.form-content label {
  font-weight: bold;
  display: block;
  margin-bottom: 0.5em;
  color: #333;
}

/* 入力欄共通 */
.form-content input[type="text"],
.form-content input[type="email"],
.form-content input[type="tel"],
.form-content textarea {
  width: 100%;
  padding: 0.8em;
  margin-bottom: 0.5em;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1em;
  box-sizing: border-box;
}

/* テキストエリア */
.form-content textarea {
  min-height: 120px;
}

/* ラジオボタンラベル */
.form-content .wpcf7-radio label {
  display: inline-block;
  margin-right: 1em;
  font-weight: normal;
}

/* プライバシーポリシー */
.privacy-check {
  font-size: 0.9em;
  margin-bottom: 1.5em;
}

/* エラー表示 */
span.wpcf7-not-valid-tip {
  color: #d33;
  font-size: 0.85em;
  margin-top: 0.2em;
  display: block;
}

/* 送信ボタン */
.form-content input[type="submit"] {
  background-color: #D97984;
  color: #fff;
  padding: 0.7em 2em;
  border: none;
  border-radius: 6px;
  font-size: 1em;
  font-weight: bold;
  cursor: pointer;
  display: inline-block;
}

.form-content input[type="submit"]:hover {
  background-color: #c96676;
}

/* ご連絡についての見出し */
.form-content .form-label {
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 0.5em;
  display: block;
  margin-top: 1em;
}

/* ラジオボタン */
.form-content .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 0.5em; /* ラジオボタン同士の縦間隔 */
  margin-bottom: 1em;
}

/* ラジオボタン＋テキスト */
.form-content .wpcf7-radio label {
  display: flex;
  align-items: center;
  font-size: 1.1em;
  gap: 0.5em;
  cursor: pointer;
}

/* ラジオボタン本体 */
.form-content input[type="radio"] {
  width: 24px;
  height: 24px;
  accent-color: #333; /* ブラウザ対応が良ければ色指定も可 */
}



@media (max-width: 768px) {
.form-content {
  background-color: #fef3df;
  padding: 0.5em;
  border-radius: 12px;
  max-width: 800px;
  margin: 0 auto;
}

.form-content br {
  display: none;
}
.form-content input[type="submit"] {
width: 100%;
  padding: 1.5em 2em;
  border: none;
  border-radius: 6px;
  font-size: 1em;
  font-weight: bold;
  cursor: pointer;
  display: inline-block;
}
}













/*----------------------------記事投稿ページ---------------------------*/




/* 記事ヘッダー（タイトルと日付を横並びに） */
.post-header {
  max-width: 1000px;
  margin: 50px auto 2em;
  padding: 0 1em;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1em;
}

/* タイトル */
.entry-title {
  font-size: 2em;
  font-weight: bold;
  color: #222;
  margin: 0;
  flex: 1 1 auto;
}

/* 日付 */
.post-meta {
  font-size: 0.9em;
  color: #555;
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 本文 */
.entry-content {
  max-width: 1000px;
  margin: 30px auto;
  padding: 0 1em 3em;
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
}

/* 見出し */
.entry-content h2 {
  font-size: 1.6em;
  margin: 2em 0 1em;
  border-left: 5px solid #d97984;
  padding-left: 0.6em;
  color: #222;
}

.entry-content h3 {
  font-size: 1.3em;
  margin: 1.5em 0 0.8em;
  font-weight: bold;
  color: #444;
}

.entry-content h4 {
  font-size: 1.1em;
  margin: 1.2em 0 0.6em;
  color: #666;
}

/* その他要素（省略せずコピペしたい場合は前回のCSSと組み合わせ） */
.entry-content p {
  margin-bottom: 1.5em;
}

.entry-content img {
  max-width: 100%;
  height: auto;
  margin: 1.5em 0;
  display: block;
}

.entry-content ul,
.entry-content ol {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}

.entry-content li {
  margin-bottom: 0.5em;
}

.entry-content blockquote {
  margin: 1.5em 0;
  padding: 1em;
  background: #f9f9f9;
  border-left: 4px solid #ccc;
  color: #555;
  font-style: italic;
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0;
  font-size: 0.95em;
}

.entry-content th,
.entry-content td {
  border: 1px solid #ccc;
  padding: 0.8em;
  text-align: left;
}

.entry-content th {
  background-color: #f3f3f3;
}

.entry-content a {
  color: #d97984;
  text-decoration: underline;
}

.entry-content a:hover {
  text-decoration: none;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .post-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .entry-title {
    font-size: 1.5em;
  }

  .post-meta {
    font-size: 0.85em;
    text-align: left;
    margin-top: 0.5em;
  }

  .entry-content {
    font-size: 15px;
    line-height: 1.8;
  }

  .entry-content h2 {
    font-size: 1.4em;
  }

  .entry-content h3 {
    font-size: 1.2em;
  }

  .entry-content h4 {
    font-size: 1em;
  }
}





.pagination {
  text-align: center;
  margin: 2em 0;
}

.pagination .page-numbers {
  display: inline-block;
  margin: 0 0.3em;
  padding: 0.5em 0.8em;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
}

.pagination .current {
  background-color: #D97984;
  color: #fff;
  border-color: #D97984;
}


body.page-id-19 .news-section {
  background-color: #fff !important;
}