@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse;border-spacing: 0;}

body { -webkit-text-size-adjust: 100%; }
img { vertical-align: bottom; }
a { text-decoration: none; color: #202020; }
a:hover { text-decoration: underline; }
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
.f-maru {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.f-noto {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}
.f-gothic {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue",
      "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro",
      "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
}

html, body {
  overflow-x: hidden;
}

.js-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}

.btn a {
  text-decoration: none;
}
.util-btn a {
  text-decoration: none;
}
.util-btn a:hover {
  opacity: 0.8;
}
.btn a:hover {
  opacity: 0.8;
}

main {
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}

@media screen and (min-width: 768px), print { 
/* base */
html {
  scroll-behavior: smooth;
}
body {background-color: #FFFFFF;font-size: 16px;font-weight: 400;overflow-x: clip;line-height: 1.6;letter-spacing: 0;color: #202020;}
.pc { display: block !important; }
.sp { display: none !important; }

.hamburger {
  display: none;
}

.seo_bread_list {
  background: #CFD7E4;
}
.seo_bread_list ul {
  width: min(95%, 1200px);
  margin-inline: auto;
  font-weight: normal;
  font-size: 15px;
  line-height: 1.2;
  text-align: left;
  color: #202020;
  display: flex;
  gap: 25px;
  padding: 8px 0;
}

/* common
-------------------------------------*/
.sec-ttl {
  background: #FBCEA3;
  font-weight: 800;
  font-size: clamp(1.375rem, 1.041rem + 0.7vw, 1.875rem);
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 22px 0;
  gap: 31px;
  margin-bottom: 100px;
}
.sec-ttl span {
  color: #FFFFFF;
  letter-spacing: 0.05em;
}
.util-btn {
  width: min(95%, 600px);
  margin-inline: auto;
}
.util-btn a{
  display: block;
  border-radius: 10px;
  background: #CFD7E4;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  position: relative;
  padding: 32px 41px;
  display: flex;
  gap: 31px;
  justify-content: center;
}
.util-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/top/btn-arrow.png)no-repeat;
  background-size: contain;
  width: 10px;
  height: 18px;
  top: 50%;
  right: 39px;
  transform: translateY(-50%);
}
.util-btn a span {
  color: #FFFFFF;
}

/* WP-PageNavi カスタム */
.wp-pagenavi {
  text-align: center;
  margin-bottom: 120px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 0 10px;
  text-align: center;
  text-decoration: none;
  font-family: Helvetica;
  font-weight: normal;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  background: #D4D4D4;
  color: #202020;
  place-content: center;
}

/* 現在ページ */
.wp-pagenavi span.current {
  background: #006DB2;
  color: #fff;
}

/* hover */
.wp-pagenavi a:hover {
  background: #bfbfbf;
}

/* テキスト（← → 最初 次へ など）を非表示 */
.wp-pagenavi .pages,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none !important;
}

.page-navi {
  margin: 40px auto 141px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.page-navi div a {
  display: inline-block;
  padding: 4px 48px;
  font-size: 20px;
  background: #D4D4D4;
  text-decoration: none;
  font-weight: 500;
}

.page-navi .all a {
  background: #D5D5D5;
}

.page-navi div a:hover {
  background: #006DB2;
  color: #fff;
}

.page-navi .next a,
.page-navi .prev a {
  padding: 4px 43px;
}



/* header
-------------------------------------*/
.header {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}
.header .header-inner {
    width: min(95%, 1200px);
    margin-inline: auto;
    display: grid;
    padding: 13px 0 19px;
    gap: 73px;
    grid-template-columns: 295px 1fr;
}
.header .header-inner .info-box {
    display: grid;
    gap: 12px;
}
.header .header-inner .btn-box {
    display: flex;
    gap: 15px;
    justify-content: flex-end;
    padding: 15px 0 12px;
}
.header .header-inner .btn-box .tel {
    position: relative;
    top: -8px;
}
.header .header-inner .btn-box .tel span{
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    display: block;
    font-weight: 700;
    margin: 3px 0 0;
}
.header .header-list {
    display: flex;
    gap: 25px;
}
.header .header-list li a {
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    font-weight: 700;
}


/* footer
-------------------------------------*/
.page-top {
  position: fixed;
  right: 0px;
  bottom: 20px;
  display: none;
  z-index: 1000;
}
.page-top a {
  display: block;
  width: 40px;
}
footer .sec-ttl {
  margin-bottom: 0;
}
footer .map {
  height: 540px;
}
footer .map iframe {
  width: 100%;
  height: 100%;
}
footer .copyright {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
  background: #006DB2;
  display: block;
  text-align: center;
  padding: 25px 0;
}

/* blog
-------------------------------------*/
.mv {
  position: relative;
}
.mv h2 {
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
}

.blog .sec-ttl {
  margin-bottom: 78px;
  margin-top: 80px;
}
.blog-archive {
  width: min(95%, 1200px);
  margin-inline: auto;
  margin-top: 80px;
}

.blog-archive__title {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 40px;
  line-height: 1.5;
}

.blog-archive__title span {
  display: block;
  font-size: 16px;
  margin-top: 6px;
}

.blog-archive__wrap {
  display: grid;
  gap: 40px;
  width: min(95%,1380px);
  margin-inline: auto;
  grid-template-columns: 73.9% 1fr;
  margin-bottom: 140px;
}


/* 左側：記事一覧 */
#blog .blog-archive__posts {
  padding: 0 0 0 20px;
}

#blog .blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 72px 17px;
  margin-bottom: 83px;
}

#blog .blog-item a {
  color: inherit;
  text-decoration: none;
}

.blog-item__thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  background: #ddd;
}

.blog-item__date {
  margin-top: 14px;
  font-size: 15px;
  color: #666666;
  line-height: 2;
}

.blog-item__title {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
}

.blog-pagination {
  margin-top: 50px;
  text-align: center;
}


/* 右側サイドバー */
.blog-sidebar {
}

.search-form {
  display: flex;
  gap: 10px;
}

input[type="search"] {
  /* padding: 0 39px; */
  /* border: 1px solid #858585; */
  /* font-size: 14px; */
}

.blog-widget {
  margin-bottom: 18px;
}

.blog-widget__title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 16px;
  border-bottom: 1px solid #666666;
}

.recent-posts {
  display: grid;
  gap: 67px;
  margin-bottom: 85px;
}

.recent-posts li {
  
}

.recent-posts__thumb img {
  width: 320px;
  height: 220px;
  object-fit: cover;
  display: block;
  margin-bottom: 16px;
}

.recent-posts__title {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
}


/* カテゴリー */
.blog-cat {
  display: flex;
  gap: 10px;
  margin: -7px 0 0;
}
.blog-cat li a {
  display: inline-block;
  padding: 8px 8px;
  /* margin: 4px 0; */
  background: #2FA02C;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

/* タグ */
.blog-tags {
  display: flex;
  gap: 10px;
  margin: -7px 0 0;
}
.blog-tags a {
  display: inline-block;
  padding: 8px 8px;
  /* margin: 4px 0; */
  background: #247E94;
  border-radius: 10px;
  font-size: 15px!important;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

.blog .util-btn {
  margin-top: -100px;
  margin-bottom: 160px;
}


/* ======================
   BLOG SEARCH FORM
====================== */

.blog-search {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.blog-search__field {
  flex: 1;
  border: 1px solid #858585;
  padding: 9px 12px;
  font-size: 16px;
  border-radius: 4px;
  background: #fff;
}

.blog-search__btn {
  padding: 6px 10px;
  font-size: 20px;
  background: #D4D4D4;
  border: none;
  cursor: pointer;
}


/* 検索結果ページ */
.search__inner {
  width: min(95%, 1300px);
  margin-inline: auto;
}
.search__title {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 40px;
}

.search__none {
  text-align: center;
  font-size: 18px;
  margin-top: 60px;
}

/* ======================
   SINGLE
====================== */
.blog-single__wrap {
  display: grid;
  gap: 40px;
  width: min(95%,1200px);
  margin-inline: auto;
  grid-template-columns: 69.9% 1fr;
  margin-top: -20px;
  margin-bottom: 140px;
}
.blog-single__posts {

}
.blog-single__title {
  font-size: 40px;
  font-weight: 700;
}
.blog-single__title span {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  text-align: left;
  color: #666;
}
.blog-detail__thumb {
  width: 800px;
  margin-bottom: 50px;
}
.blog-detail__thumb img {
  width: 100%;
  height: 450px;
  object-fit: cover;
}
.blog-detail__content {

}
.blog-detail__content p{
  font-weight: 500;
  font-size: 20px;
  line-height: 2;
  text-align: left;
  color: #202020;
  width: 684px;
  margin-inline: auto;
}


/* footer
-------------------------------------*/
footer .map {
  width: min(95%, 1200px);
  margin-inline: auto;
  margin-top: 80px;
  margin-bottom: 100px;
}


}




@media screen and (min-width:768px) and (max-width:1280px) {
/* header
-------------------------------------*/
.header .header-inner {
  width: 93.75vw;
  padding: 1.016vw 0 1.484vw;
  gap: 5.703vw;
  grid-template-columns: 23.047vw 1fr;
}
.header .header-inner .logo img {
  width: 23.047vw;
}
.header .header-inner .info-box {
  gap: 0.938vw;
}
.header .header-inner .btn-box {
  gap: 1.172vw;
  padding: 1.172vw 0 0;
}
.header .header-inner .btn-box .tel {
  top: -0.625vw;
}
.header .header-inner .btn-box .tel img {
  width: 23.047vw;
}
.header .header-inner .btn-box .tel span{
  font-size: 1.172vw;
  margin: 0.234vw 0 0;
}
.header .header-inner .mail-btn img,
.header .header-inner .tel-btn img {
  width: 3.516vw;
}
.header .header-list {
  gap: 1.953vw;
}
.header .header-list li a {
  font-size: 1.172vw;
}
.header .header-inner .contact-btn img {
  width: 13.047vw;
}

}


@media screen and (min-width:768px) and (max-width:1440px) {
/* blog
-------------------------------------*/
.blog .sec-ttl {
  margin-bottom: 5.417vw;
  margin-top: 5.556vw;
}
.blog-archive {
  width: 83.33vw;
  margin-top: 5.556vw;
}

.blog-archive__title {
  font-size: 1.944vw;
  margin-bottom: 2.778vw;
}

.blog-archive__title span {
  font-size: 1.111vw;
  margin-top: 0.417vw;
}

.blog-archive__wrap {
  display: grid;
  gap: 2.778vw;
  width: 95.83vw;
  grid-template-columns: 73.9% 1fr;
}


/* 左側：記事一覧 */
#blog .blog-archive__posts {
  padding: 0 0 0 1.389vw;
}

#blog .blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5vw 1.181vw;
  margin-bottom: 5.764vw;
}

#blog .blog-item a {
  color: inherit;
  text-decoration: none;
}

.blog-item__thumb img {
  width: 100%;
  height: 15.278vw;
  object-fit: cover;
  background: #ddd;
}

.blog-item__date {
  margin-top: 0.972vw;
  font-size: 1.042vw;
  color: #666666;
  line-height: 2;
}

.blog-item__title {
  margin-top: 0.556vw;
  font-size: 1.389vw;
  line-height: 1.2;
  font-weight: 500;
}

.blog-pagination {
  margin-top: 3.472vw;
  text-align: center;
}


/* 右側サイドバー */
.search-form {
  display: flex;
  gap: 0.694vw;
}

input[type="search"] {
}

.blog-widget {
  margin-bottom: 1.25vw;
}

.blog-widget__title {
  font-size: 1.389vw;
  font-weight: 500;
  margin-bottom: 1.111vw;
  border-bottom: 1px solid #666666;
}

.recent-posts {
  display: grid;
  gap: 4.653vw;
  margin-bottom: 5.903vw;
}

.recent-posts__thumb img {
  width: 22.222vw;
  height: 15.278vw;
  object-fit: cover;
  display: block;
  margin-bottom: 1.111vw;
}

.recent-posts__title {
  font-size: 1.389vw;
  line-height: 1.2;
  font-weight: 500;
}


/* カテゴリー */
.blog-cat {
  display: flex;
  gap: 0.694vw;
  margin: -0.486vw 0 0;
}
.blog-cat li a {
  display: inline-block;
  padding: 0.556vw 0.556vw;
  background: #2FA02C;
  border-radius: 0.694vw;
  font-size: 1.042vw;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

/* タグ */
.blog-tags {
  display: flex;
  gap: 0.694vw;
  margin: -0.486vw 0 0;
}
.blog-tags a {
  display: inline-block;
  padding: 0.556vw 0.556vw;
  background: #247E94;
  border-radius: 0.694vw;
  font-size: 1.04vw!important;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

.blog .util-btn {
  margin-top: -6.944vw;
  margin-bottom: 11.111vw;
}


/* ======================
   BLOG SEARCH FORM
====================== */

.blog-search {
  display: flex;
  gap: 0.694vw;
  margin-bottom: 1.389vw;
}

.blog-search__field {
  flex: 1;
  border: 1px solid #858585;
  padding: 0.625vw 0.833vw;
  font-size: 1.111vw;
  border-radius: 0.278vw;
  background: #fff;
}

.blog-search__btn {
  padding: 0.417vw 0.694vw;
  font-size: 1.389vw;
  background: #D4D4D4;
  border: none;
  cursor: pointer;
}


/* 検索結果ページ */
.search__inner {
  width: 90.28vw;
  margin-inline: auto;
}
.search__title {
  text-align: center;
  font-size: 1.944vw;
  font-weight: 600;
  margin-bottom: 2.778vw;
}

.search__none {
  text-align: center;
  font-size: 1.25vw;
  margin-top: 4.167vw;
}


}

@media screen and (min-width:768px) and (max-width:1280px) {
    /* ======================
   SINGLE
====================== */
.blog-single__wrap {
  display: grid;
  gap: 3.125vw;
  width: min(95%,1200px);
  margin-inline: auto;
  grid-template-columns: 69.9% 1fr;
  margin-top: -1.562vw;
  margin-bottom: 10.938vw;
}
.blog-single__posts {

}
.blog-single__title {
  font-size: 3.125vw;
  font-weight: 700;
}
.blog-single__title span {
  font-weight: 500;
  font-size: 1.563vw;
  line-height: 1.2;
  text-align: left;
  color: #666;
}
.blog-detail__thumb {
  width: 62.5vw;
  margin-bottom: 3.906vw;
}
.blog-detail__thumb img {
  width: 100%;
  height: 35.156vw;
  object-fit: cover;
}
.blog-detail__content {

}
.blog-detail__content p{
  font-weight: 500;
  font-size: 1.563vw;
  line-height: 2;
  text-align: left;
  color: #202020;
  width: 53.438vw;
  margin-inline: auto;
}

}

/* ========================================
@media (max-width: 767px)
======================================== */

@media (max-width: 767px) {
  .pc { display: none !important; }
  .sp { display: block !important; }

  body {
    overflow-x: hidden;
  }

  .seo_bread_list {
    background: #CFD7E4;
  }
  .seo_bread_list ul {
    width: 90vw;
    margin-inline: auto;
    font-weight: normal;
    font-size: 2.956vw;
    line-height: 1.2;
    text-align: left;
    color: #202020;
    display: flex;
    gap: 3.259vw;
    padding: 1.043vw 0;
  }

  .sec-ttl {
    background: #FBCEA3;
    font-weight: 800;
    font-size: clamp(1.375rem, 1.041rem + 0.7vw, 1.875rem);
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 2.868vw 0;
    gap: 4.042vw;
    margin-bottom: 13.038vw;
  }
  .sec-ttl span {
    color: #FFFFFF;
    letter-spacing: 0.05em;
  }

  /* WP-PageNavi カスタム */
.wp-pagenavi {
  text-align: center;
  margin-bottom: 15.645vw;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  width: 8.215vw;
  height: 8.215vw;
  line-height: 5.215vw;
  margin: 0 1.304vw;
  text-align: center;
  text-decoration: none;
  font-family: Helvetica;
  font-weight: normal;
  font-size: 3.608vw;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  background: #D4D4D4;
  color: #202020;
  place-content: center;
}

/* 現在ページ */
.wp-pagenavi span.current {
  background: #006DB2;
  color: #fff;
}

/* hover */
.wp-pagenavi a:hover {
  background: #bfbfbf;
}

/* テキスト（← → 最初 次へ など）を非表示 */
.wp-pagenavi .pages,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none !important;
}

.page-navi {
  margin: 4vw auto 12vw;
  display: flex;
  justify-content: center;
  gap: 2.608vw;
}
.page-navi div a {
  display: inline-block;
  padding: 1.522vw 6.258vw;
  font-size: 3.608vw;
  background: #D4D4D4;
  text-decoration: none;
  font-weight: 500;
}

.page-navi .all a {
  background: #D5D5D5;
}

.page-navi div a:hover {
  background: #006DB2;
  color: #fff;
}

.page-navi .next a,
.page-navi .prev a {
  padding: 1.522vw 5.606vw;
}

.lower-contact__lead {
padding: 5vw;
}
 



  .header__list {
    justify-content: center;
    margin-top: 1.25rem;
  }  
  .header__item {
    line-height: 1;
    color: #f67836;
    position: relative;
    padding: 0.5rem 1.1875rem;
    border-right: 1px solid #f67836;
  }
  .header__item:first-child {
    border-left: 1px solid #f67836;
  }
  
  .button {
    display: inline-block;
    text-decoration: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
  }
  
  .hamburger {
    position: fixed;
    top: 1vw;
    right: 1vw;
    z-index: 11;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #ffffff;
    background-color: #ffffff;
    box-shadow: 0 0 2rem transparent;
    outline: none;
    transition: all 0.3s ease-in-out;
  }
  .hamburger:hover, .hamburger:focus {
    box-shadow: 0 0 0.5rem rgba(161, 161, 161, 0.5);
  }

  .hamburger__line {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 18px;
    height: 2px;
    background-color: #f67836;
    transition: inherit;
  }
  .hamburger__line::before, .hamburger__line::after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    content: "";
    transition: inherit;
  }
  
  .hamburger__line::before {
    top: -5px;
  }
  
  .hamburger__line::after {
    top: 5px;
  }
  
  .hamburger[aria-expanded=true] {
    border: 1px solid #fff !important;
  }
  
  .hamburger[aria-expanded=true] .hamburger__line {
    background-color: transparent;
  }
  .hamburger[aria-expanded=true] .hamburger__line::before, .hamburger[aria-expanded=true] .hamburger__line::after {
    top: 0;
    background-color: #f67836;
  }
  
  .hamburger[aria-expanded=true] .hamburger__line::before {
    transform: rotate(45deg);
  }
  
  .hamburger[aria-expanded=true] .hamburger__line::after {
    transform: rotate(-45deg);
  }
  
  .sp-global-menu {
    position: fixed;
    width: 100vw;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    height: 100vh;
    background-color: #FBCEA3;
    color: #fff;
    visibility: hidden;
    z-index: 10;
    padding: 6.25rem 3.75rem;
  }
  
  .global-menu__item {
    text-align: center;
  }
  .global-menu__item:not(:first-child) {
    margin-top: 3.125rem;
  }

.util-btn {
    width: 80vw;
    margin-inline: auto;
  }
.util-btn a{
    display: block;
    border-radius: 1.304vw;
    background: #CFD7E4;
    font-size: 3.911vw;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    position: relative;
    padding: 4.172vw 5.346vw;
    display: flex;
    gap: 4.042vw;
    justify-content: center;
  }
.util-btn a::after {
    position: absolute;
    content: "";
    background: url(../img/top/btn-arrow.png)no-repeat;
    background-size: contain;
    width: 1.304vw;
    height: 2.347vw;
    top: 50%;
    right: 5.085vw;
    transform: translateY(-50%);
  }
.util-btn a span {
    color: #FFFFFF;
  }


  /* header
-------------------------------------*/
.header {
  padding: 1.695vw 0 2.477vw;
}
.header .logo {
  padding: 0 3vw;
}
.header .logo img {
  width: 38.462vw;
}


/* footer
-------------------------------------*/
.page-top {
  position: fixed;
  right: 1vw;
  bottom: 2.608vw;
  display: none;
  z-index: 1000;
}
.page-top a {
  display: block;
  /* width: 11.215vw; */
}
footer .sec-ttl {
  margin-bottom: 0;
}
footer .map {
  height: 70.404vw;
}
footer .map iframe {
  width: 100%;
  height: 100%;
}
footer .copyright {
  font-size: 2.608vw;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
  background: #006DB2;
  display: block;
  text-align: center;
  padding: 3.259vw 0;
}



/* blog
-------------------------------------*/
#blog .mv {
  position: relative;
}
#blog .mv .img img {
  width: 100%;
  height: 25vw;
  object-fit: cover;
}
#blog .mv h2 {
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
}
#blog .mv h2 img {
  width: 39.347vw;
}

#blog .blog .sec-ttl {
  margin-bottom: 10.169vw;
  margin-top: 10.43vw;
}
#blog .blog-archive {
  width: min(95%, 1200px);
  margin-inline: auto;
  margin-top: 10.43vw;
}

#blog .blog-archive__title {
  text-align: center;
  font-size: 3.651vw;
  font-weight: 600;
  margin-bottom: 5.215vw;
}

#blog .blog-archive__title span {
  display: block;
  font-size: 2.086vw;
  margin-top: 0.782vw;
}

#blog .blog-archive__wrap {
  display: grid;
  gap: 5.215vw;
  width:95vw;
  margin-inline: auto;
}


/* 左側：記事一覧 */
#blog .blog-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 9.387vw 2.216vw;
  margin-bottom: 10.821vw;
}

#blog .blog-item a {
  color: inherit;
  text-decoration: none;
}

.blog-item__thumb img {
  width: 100%;
  height: 62.683vw;
  object-fit: cover;
  background: #ddd;
}

.blog-item__date {
  margin-top: 1.825vw;
  font-size: 2.956vw;
  color: #666666;
  line-height: 2;
}

.blog-item__title {
  margin-top: 1.043vw;
  font-size: 3.608vw;
  line-height: 1.2;
  font-weight: 500;
}

.blog-pagination {
  margin-top: 6.519vw;
  text-align: center;
}


/* 右側サイドバー */
.blog-sidebar {
}

.search-form {
  display: flex;
  gap: 1.304vw;
}

input[type="search"] {
  /* padding: 0 5.085vw; */
  /* border: 1px solid #858585; */
  /* font-size: 1.825vw; */
}

.blog-widget {
  margin-bottom: 2.347vw;
}

.blog-widget__title {
  font-size: 3.608vw;
  font-weight: 500;
  margin-bottom: 2.086vw;
  border-bottom: 1px solid #666666;
}

.recent-posts {
  display: grid;
  gap: 8.735vw;
  margin-bottom: 11.082vw;
}

.recent-posts li {
  
}

.recent-posts__thumb img {
  width: 100%;
  height: 62.683vw;
  object-fit: cover;
  display: block;
  margin-bottom: 2.086vw;
}

.recent-posts__title {
  font-size: 3.608vw;
  line-height: 1.2;
  font-weight: 500;
}


/* カテゴリー */
.blog-cat {
  display: flex;
  gap: 1.304vw;
  margin: -0.913vw 0 0;
}
.blog-cat li a {
  display: inline-block;
  padding: 1.043vw 1.043vw;
  /* margin: 0.522vw 0; */
  background: #2FA02C;
  border-radius: 1.304vw;
  font-size: 2.956vw;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

/* タグ */
.blog-tags {
  display: flex;
  gap: 1.304vw;
  margin: -0.913vw 0 0;
}
.blog-tags a {
  display: inline-block;
  padding: 1.043vw 1.043vw;
  /* margin: 0.522vw 0; */
  background: #247E94;
  border-radius: 1.304vw;
  font-size: 2.956vw!important;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
}

.blog .util-btn {
  margin-top: 9.962vw;
  margin-bottom: 20.86vw;
}


/* ======================
   BLOG SEARCH FORM
====================== */

.blog-search {
  display: flex;
  gap: 1.304vw;
  margin-bottom: 7.608vw;
}

.blog-search__field {
  flex: 1;
  border: 1px solid #858585;
  padding: 2.173vw 1.565vw;
  font-size: 3.086vw;
  border-radius: 0.522vw;
  background: #fff;
}

.blog-search__btn {
  padding: 0.782vw 1.304vw;
  font-size: 3.608vw;
  background: #D4D4D4;
  border: none;
  cursor: pointer;
}


/* 検索結果ページ */
.search__inner {
  width: min(95%, 1300px);
  margin-inline: auto;
}
.search__title {
  text-align: center;
  font-size: 3.651vw;
  font-weight: 600;
  margin-bottom: 5.215vw;
}

.search__none {
  text-align: center;
  font-size: 2.347vw;
  margin-top: 7.823vw;
}


.wp-pagenavi {
  margin-bottom: 18.253vw;
}

/* ======================
   SINGLE
====================== */
.blog-single__wrap {
  display: grid;
  gap: 5.215vw;
  width: 95vw;
  margin-inline: auto;
  margin-top: -2.608vw;
  margin-bottom: 18.253vw;
}
.blog-single__posts {

}
.blog-single__title {
  font-size: 5.215vw;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 5vw;
}
.blog-single__title span {
  font-weight: 500;
  font-size: 2.608vw;
  line-height: 1.2;
  text-align: left;
  color: #666;
  display: block;
}
.blog-detail__thumb {
  width: 100%;
  margin-bottom: 6.519vw;
}
.blog-detail__thumb img {
  width: 100%;
  height: 62.683vw;
  object-fit: cover;
}
.blog-detail__content {

}
.blog-detail__content p{
  font-weight: 500;
  font-size: 3.608vw;
  line-height: 2;
  text-align: left;
  color: #202020;
  width: 89.179vw;
  margin-inline: auto;
}


/* footer
-------------------------------------*/
footer .map {
  width: min(95%, 1200px);
  margin-inline: auto;
  margin-top: 10.43vw;
  margin-bottom: 13.038vw;
}

}