@charset "UTF-8";
/*
Theme Name: shigemoto01
Description: しげもとまもる オフィシャルサイト用テーマ（公開サイトのマークアップ・CSSから復元）
Version: 1.11.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: shigemoto01
*/
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  margin: 0;
  overflow-x: hidden;
}

a {
  color: #333;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.sp_only {
  display: none !important;
}
@media (max-width: 1200px) {
  .sp_only {
    display: block !important;
  }
}

.pc_only {
  display: block !important;
}
@media (max-width: 1200px) {
  .pc_only {
    display: none !important;
  }
}

.mt10 {
  margin-top: 10px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.h3_obi {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 12px 24px;
  font-size: 24px;
}

.wp-block-heading.h3_obi {
  margin-left: auto;
  margin-right: auto;
}

.header {
  background: rgba(11, 90, 183, 0.9);
  color: #fff;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.header__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.header__inner .header_sub {
  text-align: right;
  padding-top: 10px;
}
.header__inner .header_sub a {
  color: #fff;
}
.header__inner .header_main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .hamburger {
  display: none;
}
.header .logo {
  width: 370px;
  margin-top: 0;
}
.header .logo img {
  width: 100%;
  height: auto;
}
.header .nav a {
  color: #fff;
  text-decoration: none;
}
.header .nav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}
.header .nav__list li {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  position: relative;
  /* 平行四辺形 */
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
  /* 左右ボーダーだけ */
  border-left: 1px solid #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header .nav__list li:last-child {
  border-right: 1px solid #fff;
}
.header .nav__list li a {
  display: inline-block;
  -webkit-transform: skewX(25deg);
          transform: skewX(25deg);
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
}
.header {
  /* ホバーで透過 */
}
.header .nav__list li:hover {
  background: rgba(11, 90, 183, 0.8);
}

.hero {
  position: relative;
  height: 700px;
  margin-top: 0;
}
.hero__left, .hero__right {
  position: absolute;
  width: 100%;
  height: calc(100% + 150px);
}
.hero__left .hero_left_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  height: 100%;
}
.hero__left .hero_left_inner img {
  width: auto;
  height: 700px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
}
.hero__left {
  height: 100%;
  z-index: 1;
  -webkit-clip-path: polygon(0 0, 54% 0, 46% 100%, 0 100%);
          clip-path: polygon(0 0, 54% 0, 46% 100%, 0 100%);
}
.hero__right {
  z-index: 2;
  background: #fff;
  -webkit-clip-path: polygon(54% 0, 100% 0, 100% 100%, 46% 100%);
          clip-path: polygon(54% 0, 100% 0, 100% 100%, 46% 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  height: 100%;
}
.hero__right .hero_right_inner {
  position: absolute;
  top: 100px;
  width: 50%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hero__right h2 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 40px;
  line-height: 1.6;
  z-index: 3;
}

.profile {
  position: relative;
  height: 700px;
  margin-bottom: 100px;
}
.profile__left, .profile__right {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.profile .profile__left {
  position: relative;
  left: 0;
  z-index: 1;
  -webkit-clip-path: polygon(0 0, 54% 0, 46% 100%, 0 100%);
          clip-path: polygon(0 0, 54% 0, 46% 100%, 0 100%);
}
.profile .profile_left_inner {
  padding: 0 40px;
  position: absolute;
  right: 46%;
  z-index: 4;
  margin-top: -400px;
  font-weight: bold;
  font-size: 20px;
}
.profile .profile__right {
  right: 0;
  z-index: 2;
  -webkit-clip-path: polygon(46% 0, 100% 0, 100% 100%, 40% 100%);
          clip-path: polygon(46% 0, 100% 0, 100% 100%, 40% 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.profile .profile__right .profile_right_inner {
  height: 100%;
  width: 60%;
  overflow: hidden;
}
.profile .profile__right .profile_right_inner img {
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right top;
     object-position: right top;
}

.section-title,
.smb-section__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 12px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 50px auto 30px;
}

.section-title span,
.smb-section__title span {
  width: 100px;
  height: 100px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  background: -webkit-linear-gradient(315deg, #2f6db5 50%, #0B5AB7 50%);
  background: linear-gradient(135deg, #2f6db5 50%, #0B5AB7 50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 48px;
  font-weight: bold;
}

.btn {
  display: inline-block;
  background: #0B5AB7;
  color: #fff;
  font-weight: bold;
  padding: 15px 25px;
  margin-top: 20px;
  font-size: 20px;
  text-decoration: none;
}

.box-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top_policy_box .smb-box__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.top_policy_box .smb-box__body .wp-block-snow-monkey-blocks-box .smb-box__background {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.top_policy_box {
  max-width: 1000px;
  margin: 0 auto;
}

.policy-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.policy-list {
  counter-reset: num;
  list-style: none;
  padding: 0;
  margin: 0;
}

.policy-list li {
  counter-increment: num;
  position: relative;
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}

/* start属性に対応 */
.policy-list[start="6"] {
  counter-reset: num 5;
}

/* 番号 */
.policy-list li::before {
  content: counter(num);
  left: 0;
  top: 0;
  width: 48px;
  height: 48px;
  background: #0B5AB7;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.wp-block-latest-posts__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 30px;
  line-height: 1.8;
}
.wp-block-latest-posts__list li {
  background: #fff;
  padding: 15px;
  width: 32%;
}
.wp-block-latest-posts__list li .wp-block-latest-posts__featured-image {
  width: 100%;
}
.wp-block-latest-posts__list li .wp-block-latest-posts__featured-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
}

.top_report {
  padding-bottom: 50px !important;
}

.top_report_list li a {
  display: block;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2; /* 3行まで表示 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wp-block-latest-posts__post-title {
  display: block;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2; /* 3行まで表示 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.top_news.wp-block-latest-posts__list {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.top_news.wp-block-latest-posts__list li {
  margin-bottom: 20px;
  padding: 0;
  width: 100%;
}

.activity {
  padding: 60px 0;
}
.activity .cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.activity .card {
  width: 200px;
  height: 150px;
  background: #ccc;
}

.news {
  background: #E9F0F8;
  padding: 60px 0;
}
.news__list {
  list-style: none;
  padding: 0;
}
.news__list li {
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}

.support {
  padding: 60px 0;
}
.support__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.support__box {
  padding: 20px;
  border: 2px solid #0B5AB7;
  width: 150px;
}

.support_h2 {
  border-radius: 100px;
  font-size: 24px !important;
  background-color: #0B5AB7;
  color: #fff;
  padding: 10px 50px !important;
}

.support_h2 br {
  display: none;
}

.support_text {
  padding-left: 30px;
}

.support_sns {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.support_sns .wp-block-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.support_sns .smb-box {
  width: 100%;
}

.kyoto3ku_h2 {
  font-size: 30px;
  background: #0B5AB7;
  color: #fff;
  padding: 5px 10px;
}

.kyoto3ku_h3 {
  font-size: 24px;
}

.footer {
  background: #f0f0f0;
  padding: 60px 0;
}
.footer .office {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 30px;
}
.footer .office .map {
  width: 200px;
  height: 150px;
  background: #ccc;
}

footer {
  background: #063469;
}
footer .footer_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
footer .footer_inner .footer_logo {
  width: 250px;
}
footer .footer_inner .footer_logo img {
  width: 100%;
  height: auto;
}
footer .footer_inner .footer_nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .footer_inner .footer_nav li {
  border-right: 1px solid #fff;
  padding: 0 15px;
  height: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .footer_inner .footer_nav li:last-child {
  border: none;
}
footer .footer_inner .footer_nav li a {
  color: #fff;
  text-decoration: none;
  line-height: 16px;
}

/* page */
.page_header_img.wp-block-image figure {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  text-align: right;
  float: none !important;
}

.smb-section {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 50px;
  padding: 0;
}

.profile_about {
  padding: 30px;
}
.profile_about p {
  padding-left: 30px;
}

.page_content h3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.page_content h3::before {
  width: 8px !important;
  height: 28px;
  margin-right: 15px !important;
  background: #0B5AB7 !important;
  content: "";
  display: inline-block;
}

.page_content .c-container {
  padding: 0;
}

.policy_content h3 {
  display: block;
}
.policy_content h3::before {
  display: none;
}

.policy_no {
  width: 40px;
  height: 40px;
  background: #0B5AB7;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.recruit_btn {
  --smb-btn--background-color: $blue;
  background: #0B5AB7;
  border-radius: 12px;
}

.recruit_tbl .has-fixed-layout {
  border-bottom: 1px solid #ccc;
  width: 600px;
  margin: 0 auto;
}
.recruit_tbl .has-text-align-right {
  width: 140px;
}
.recruit_tbl td {
  padding: 10px;
}

.support_option,
.box_900 {
  max-width: 900px;
  width: 90%;
  margin: 0 auto 50px;
  padding-left: 30px;
  padding-right: 30px;
}

.support_option h4 {
  background: #d3e9ef;
  color: #0B5AB7;
  display: inline-block;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 20px;
}

.h2_900 {
  max-width: 900px;
  width: 90%;
  margin: 0 auto 20px;
}

/* post */
.archive .section-title {
  margin: 50px auto;
}

.post-content {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.report_list ul {
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0;
}
.report_list li {
  width: 30.3%;
}
.report_list li .thumb_link img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
.report_list .news_list ul {
  list-style: none;
}
.report_list .news_list ul li {
  margin-bottom: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.report_list a {
  text-decoration: none;
  color: #0B5AB7;
}

.news_list ul {
  padding: 0;
  list-style: none;
}
.news_list ul li {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.wp-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0B5AB7;
  margin: 40px auto 60px;
}

.wp-pagenavi .page {
  min-width: 30px;
  display: inline-block;
  text-align: center;
  border: solid 1px #0B5AB7;
  color: #0B5AB7;
  margin: auto 6px;
  padding: 4px 8px;
}

.wp-pagenavi .page:hover {
  background: #0B5AB7;
  color: #fff;
}

.wp-pagenavi .current {
  min-width: 30px;
  display: inline-block;
  text-align: center;
  color: #fff;
  background: #0B5AB7;
  border: solid 1px #0B5AB7;
  margin: auto 6px;
  padding: 4px 8px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
  min-width: 20px;
  margin: auto 8px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
  color: #13c3ac;
}

/* single */
.single main,
.archive main,
.page-template-simple-page main {
  width: 1000px;
  margin: 0 auto;
}

.single .section-title {
  margin: 50px auto;
}

.single .eyecatch img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}

.single_title {
  font-size: 32px;
  border-bottom: #0B5AB7 3px solid;
  margin: 20px auto 10px;
}

.single_content {
  margin: 30px auto 100px;
}
.single_content h2 {
  border-left: #0B5AB7 5px solid;
  padding-left: 10px;
  font-size: 24px;
}
.single_content blockquote p {
  font-style: italic;
}
.single_content table {
  border-collapse: collapse;
}
.single_content th, .single_content td {
  border: #ccc 1px solid;
  padding: 5px;
}
.single_content img {
  max-width: 100% !important;
}
.single_content .alignnone {
  max-width: 100%;
}
.single_content .alignleft {
  margin-right: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  float: left;
}
.single_content .alignright {
  float: right;
  margin-left: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.single_content .aligncenter {
  text-align: center;
  margin: 10px auto;
}
.single_content .aligncenter img {
  display: inline-block;
}

.single .nav-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
.single .nav-links .nav-previous::before {
  content: "<";
  margin-right: 8px;
  display: inline-block;
}
.single .nav-links .nav-next::after {
  content: " >";
  margin-left: 8px;
  display: inline-block;
}
.single .nav-links .nav-previous, .single .nav-links .nav-next {
  width: 45%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* レスポンシブ */
@media (max-width: 1200px) {
  .header .logo img {
    width: 80%;
    height: auto;
    padding-left: 5%;
  }
  main {
    width: 90%;
    margin: 0 auto;
  }
  main.front-page {
    width: 100%;
  }
  /* ハンバーガー */
  .header .header_nav {
    position: relative;
    padding: 20px;
  }
  .header .header_nav .nav .nav__list {
    display: block;
  }
  .header .header_nav .nav .nav__list li {
    display: block;
    color: #0B5AB7;
    -webkit-transform: none;
            transform: none;
    border-left: none;
    border-bottom: 1px #ccc solid;
  }
  .header .header_nav .nav .nav__list li a {
    display: block;
    -webkit-transform: none;
            transform: none;
    color: #0B5AB7 !important;
  }
  .header .header_nav .nav .nav__list li a:hover {
    background: none;
  }
  .header .hamburger {
    display: block !important;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
  }
  .header .hamburger__line {
    position: absolute;
    left: 11px;
    width: 26px;
    height: 2px;
    background-color: #fff;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .header .hamburger__line:nth-of-type(1) {
    top: 14px;
  }
  .header .hamburger__line:nth-of-type(2) {
    top: 23px;
  }
  .header .hamburger__line:nth-of-type(3) {
    top: 32px;
  }
  .header {
    /* メニューオープン時 */
  }
  .header .hamburger.active .hamburger__line:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
            transform: translateY(9px) rotate(-45deg);
  }
  .header .hamburger.active .hamburger__line:nth-of-type(2) {
    opacity: 0;
  }
  .header .hamburger.active .hamburger__line:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
            transform: translateY(-9px) rotate(45deg);
  }
  .header .nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    height: 100vh;
    background-color: #fff;
    -webkit-box-shadow: -2px 0 4px rgba(0, 0, 0, 0.1);
            box-shadow: -2px 0 4px rgba(0, 0, 0, 0.1);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
    z-index: 90;
  }
  .header .nav.active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .header .nav__list {
    margin: 0;
    padding: 100px 0 0;
    list-style: none;
  }
  .header .nav__item {
    padding: 0 20px;
  }
  .header .nav__link {
    display: block;
    padding: 15px 0;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #eee;
  }
  .header .header_nav .nav .nav__list li a:hover {
    color: #fff !important;
  }
  .hero {
    height: auto;
  }
  .hero__left,
  .hero__right {
    position: static;
    width: 100%;
    height: auto;
    top: 0;
  }
  /* 画像 */
  .hero__left {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  }
  .hero__left .hero_left_inner {
    width: 100%;
    margin-top: -10%;
  }
  .hero__left .hero_left_inner img {
    width: 100%;
    height: 500px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 40% center;
       object-position: 40% center;
    display: block;
  }
  /* テキストエリア */
  .hero__right {
    -webkit-clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
    background: #fff;
  }
  .hero__right .hero_right_inner {
    position: static;
    width: 100%;
    padding: 40px 20px;
  }
  .hero__right h2 {
    font-size: 32px;
    line-height: 1.6;
    text-align: center;
  }
  .profile {
    position: relative;
    height: auto;
    margin-top: 0;
    margin-bottom: 100px;
  }
  .profile__left, .profile__right {
    position: static;
    width: 100%;
    height: 100%;
    top: auto;
  }
  .profile .profile__left {
    position: static;
    left: auto;
    z-index: 1;
    -webkit-clip-path: none;
            clip-path: none;
  }
  .profile .profile_left_inner {
    padding: 0 40px;
    position: static;
    right: auto;
    z-index: 4;
    margin-top: 0;
    font-weight: bold;
    font-size: 20px;
  }
  .profile .profile_left_inner .inner {
    text-align: center;
  }
  .profile .profile__right {
    right: 0;
    z-index: 2;
    -webkit-clip-path: none;
            clip-path: none;
    display: block;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .profile .profile__right .profile_right_inner {
    height: 400px;
    width: 100%;
    overflow: hidden;
  }
  .profile .profile__right .profile_right_inner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom center;
       object-position: bottom center;
    display: block;
  }
  .top_policy_box .smb-box__body {
    display: block;
  }
  .top_policy_box .policy-list li::before {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .section-title span,
  .smb-section__title span {
    width: 60px;
    height: 60px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    background: -webkit-linear-gradient(315deg, #2f6db5 50%, #0B5AB7 50%);
    background: linear-gradient(135deg, #2f6db5 50%, #0B5AB7 50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
  }
  .section-title.section-title_l span {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
  .top_report_list {
    display: block;
  }
  .top_report_list li {
    width: 100%;
    margin-bottom: 30px;
  }
  .top_report_list li a {
    display: block;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3; /* 3行まで表示 */
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .top_news.wp-block-latest-posts__list {
    width: 100%;
  }
  .smb-section-with-bgimage.profile_about {
    background: #E3E7EB;
    padding: 0 30px 30px 30px;
  }
  .smb-section-with-bgimage.profile_about .smb-section-with-bgimage__bgimage {
    display: none !important;
  }
  .smb-section-with-bgimage.profile_about p {
    padding: 0;
  }
  .policy_content .wp-block-columns.is-not-stacked-on-mobile {
    margin-bottom: 0;
  }
  .policy_content .policy_content_item {
    gap: 0;
  }
  .policy_content .c-container {
    padding: 0;
  }
  .report_list li {
    width: 100%;
  }
  .recruit_tbl .has-fixed-layout {
    width: 90%;
  }
  .support_h2 {
    border-radius: 0;
    padding: 10px 20px !important;
  }
  .support_h2 br {
    display: block;
  }
  h1.support_h1 {
    padding: 10px 20px !important;
    font-size: 24px !important;
  }
  .support_text {
    padding-left: 0;
  }
  .single main,
  .archive main,
  .page-template-simple-page main {
    width: 90%;
  }
  .footer_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90%;
    margin: 20px auto;
  }
  .footer_inner .footer_logo {
    text-align: center;
    margin: 20px auto;
  }
  .footer_inner .footer_nav {
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer_inner .footer_nav li {
    border: none !important;
    margin-bottom: 8px;
  }
}
.page-id-150 .section-title,
.page-id-112 .section-title,
.page-id-2129 .section-title {
  display: none;
}/*# sourceMappingURL=style.css.map */
/* 旧サイトのブロック単位カスタムCSS（wp-custom-css-540e16ea）を移設：応援するページの枠線ボタン */
:root :where(.support_outline_btn) {
  border: 2px solid #0B5AB7;
  background: none;
  border-radius: 100px;
  color: #0B5AB7;
}

/* SP・タブレット：ロゴが上に寄っていたのを上下中央に（h1 の下マージンと画像下の隙間を解消） */
@media (max-width: 1200px) {
  .header .logo {
    margin: 0;
    padding: 15px 0;
  }
  .header .logo img {
    display: block;
  }
  .header .hamburger {
    top: 15px;
  }
  /* ドロワーメニュー：区切り線は li 側（全幅）だけにし、ホバー時に a の短い下線が見えないように */
  .header .nav__link {
    border-bottom: none;
  }
}

/* コンテンツが少ないページでもフッターを画面下部に固定（スティッキーフッター）
   ログイン時は管理バーの高さ分を差し引く */
body {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
}
body > main {
  flex: 1 0 auto;
}
body > footer {
  flex-shrink: 0;
}

/* 投稿詳細：日付をタイトル上に、一覧へ戻るボタンを記事下に（カテゴリーは見出しで表示済みのためラベルなし） */
.single .single_meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 30px 0 0;
  font-size: 15px;
}
.single .single_date {
  color: #666;
  letter-spacing: 0.05em;
}
.single .single_title {
  margin-top: 10px;
  padding-bottom: 10px;
  line-height: 1.5;
}
.single .single_content {
  margin-bottom: 60px;
}
.single .nav-links {
  justify-content: space-between;
}
.single .post-navigation {
  padding: 24px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.single .post-navigation a {
  color: #0B5AB7;
  text-decoration: none;
}
.single .post-navigation a:hover {
  text-decoration: underline;
}
.single .nav-links .nav-previous {
  text-align: left;
}
.single .nav-links .nav-next {
  text-align: right;
  margin-left: auto;
}
.single .single_back {
  text-align: center;
  margin: 50px 0 80px;
}
.single .single_back_btn {
  display: inline-block;
  min-width: 260px;
  padding: 14px 40px;
  border-radius: 100px;
  background: #0B5AB7;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s;
}
.single .single_back_btn:hover {
  opacity: 0.8;
}
@media (max-width: 1200px) {
  .single .single_title {
    font-size: 22px;
  }
  .single .single_back_btn {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }
}

/* ===============================================================
   活動報告 一覧（カード）
   =============================================================== */
.report_list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
  margin: 0;
  padding: 0;
}
.report_list li.report_card {
  width: auto;
}
.report_card_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(11, 90, 183, 0.1);
  color: #333 !important;
  text-decoration: none;
  transition: box-shadow 0.3s, transform 0.3s;
}
.report_card_link:hover {
  box-shadow: 0 8px 24px rgba(11, 90, 183, 0.18);
  transform: translateY(-3px);
}
.report_card_thumb {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9f0f8;
}
.report_card_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.report_card_link:hover .report_card_thumb img {
  transform: scale(1.05);
}
.report_card_noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: #0B5AB7;
}
.report_card_noimage img {
  width: 60% !important;
  height: auto !important;
  object-fit: contain !important;
}
.report_card_body {
  padding: 16px 18px 20px;
}
.report_card_date {
  display: block;
  margin-bottom: 6px;
  color: #0B5AB7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.report_card_title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}
.report_card_link:hover .report_card_title {
  color: #0B5AB7;
}
.report_list .wp-pagenavi {
  margin-top: 60px;
}
@media (max-width: 1200px) {
  .report_list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 20px;
  }
}
@media (max-width: 600px) {
  .report_list ul {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .report_list li.report_card {
    width: auto;
  }
}

/* ===============================================================
   投稿詳細（本文の読みやすさ）
   =============================================================== */
.single .eyecatch {
  margin: 0 0 10px;
}
.single .eyecatch img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
}
.single .single_content {
  font-size: 16px;
  line-height: 1.9;
}
.single .single_content p {
  margin: 0 0 1em;
}
.single .single_content a {
  color: #0B5AB7;
  word-break: break-all;
}
.single .single_content .wp-block-image {
  margin: 32px auto;
  text-align: center;
}
.single .single_content .wp-block-image img {
  display: inline-block;
  height: auto;
  border-radius: 6px;
}
.single .single_content .wp-block-image figcaption {
  margin-top: 8px;
  color: #666;
  font-size: 13px;
}
@media (max-width: 600px) {
  .single .single_content {
    font-size: 15px;
  }
  .single .eyecatch img {
    aspect-ratio: 4 / 3;
  }
}

/* ===============================================================
   お知らせ 一覧（行リスト）
   =============================================================== */
.news_list ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid #d5e0ee;
}
.news_list ul li.news_row {
  display: block;
  margin: 0;
  border-bottom: 1px solid #d5e0ee;
}
.news_row_link {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 32px;
  padding: 22px 56px 22px 16px;
  color: #333;
  text-decoration: none;
  transition: background-color 0.3s;
}
.news_row_link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #0B5AB7;
  border-right: 2px solid #0B5AB7;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
.news_row_link:hover {
  background: #f3f7fc;
}
.news_row_link:hover::after {
  right: 14px;
}
.news_row_date {
  flex-shrink: 0;
  color: #0B5AB7;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.news_row_title {
  font-size: 16px;
  line-height: 1.7;
}
.news_row_link:hover .news_row_title {
  color: #0B5AB7;
  text-decoration: underline;
}
@media (max-width: 600px) {
  .news_row_link {
    flex-direction: column;
    gap: 4px;
    padding: 16px 40px 16px 4px;
  }
  .news_row_link::after {
    right: 12px;
  }
  .news_row_link:hover::after {
    right: 8px;
  }
  .news_row_title {
    font-size: 15px;
  }
}

/* ===============================================================
   後援会入会フォーム（Snow Monkey Forms）
   =============================================================== */
.kouenkai_wrap {
  max-width: 880px;
  margin: 0 auto 100px;
}
.kouenkai_greeting {
  padding: 32px 40px;
  margin-bottom: 60px;
  background: #e9f0f8;
  border-radius: 12px;
  line-height: 1.9;
}
.kouenkai_greeting p {
  margin: 0 0 1em;
}
.kouenkai_sign {
  margin-top: 1.5em !important;
  font-weight: 700;
}
.kouenkai_h3 {
  margin: 0 0 24px;
  padding-left: 14px;
  border-left: 5px solid #0B5AB7;
  font-size: 24px;
  line-height: 1.4;
}
.kouenkai_greeting .kouenkai_h3 {
  border-left: none;
  padding-left: 0;
  color: #0B5AB7;
}

/* 進捗（入力 → 確認 → 完了） */
.snow-monkey-form .smf-progress-tracker {
  margin: 0 0 40px;
}
.snow-monkey-form .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__number,
.snow-monkey-form .smf-progress-tracker__item[aria-current="true"]::after {
  background-color: #0B5AB7;
}
.snow-monkey-form .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__text {
  color: #0B5AB7;
  font-weight: 700;
}

/* 項目 */
.snow-monkey-form .smf-form .smf-item {
  display: flex;
  gap: 24px;
  padding: 22px 0;
  margin: 0;
  border-bottom: 1px solid #d5e0ee;
}
.snow-monkey-form .smf-form .smf-item:first-child {
  border-top: 1px solid #d5e0ee;
}
.snow-monkey-form .smf-item__col--label {
  flex: 0 0 240px;
  padding-top: 10px;
}
.snow-monkey-form .smf-item__col--controls {
  flex: 1;
  min-width: 0;
}
.snow-monkey-form .smf-item__label__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-weight: 700;
}
.smf-badge {
  flex-shrink: 0;
  padding: 1px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
}
.smf-badge--required {
  background: #c8102e;
  color: #fff;
}
.smf-badge--optional {
  background: #8a96a3;
  color: #fff;
}
.snow-monkey-form .smf-item__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}
.snow-monkey-form .smf-item__controls > .smf-placeholder {
  flex: 1 1 100%;
}
.snow-monkey-form .smf-text-control__control,
.snow-monkey-form .smf-textarea-control__control,
.snow-monkey-form .smf-select-control__control {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #b9c7d8;
  border-radius: 6px;
  background: #fff;
  font-size: 16px;
  font-family: inherit;
}
.snow-monkey-form .smf-text-control__control:focus,
.snow-monkey-form .smf-textarea-control__control:focus,
.snow-monkey-form .smf-select-control__control:focus {
  outline: none;
  border-color: #0B5AB7;
  box-shadow: 0 0 0 3px rgba(11, 90, 183, 0.15);
}
/* 姓・名／せい・めい を横並び */
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-half) {
  flex: 1 1 calc(50% - 6px);
}
/* 生年月日：元号・年・月・日を横並び */
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-era) {
  flex: 0 0 110px;
}
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-y) {
  flex: 0 0 100px;
}
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-m),
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-d) {
  flex: 0 0 76px;
}
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-postal) {
  flex: 0 1 240px;
}
.snow-monkey-form .smf-control-description {
  margin-top: 6px;
  color: #666;
  font-size: 13px;
}
.snow-monkey-form .smf-error-messages,
.kouenkai-error {
  flex: 1 1 100%;
  margin-top: 6px;
  color: #c8102e;
  font-size: 14px;
  font-weight: 700;
}
.smf-privacy-note {
  margin: 28px 0 0;
  padding: 16px 20px;
  background: #f5f7fa;
  border-radius: 6px;
  font-size: 14px;
}
.smf-privacy-note a {
  color: #0B5AB7;
}

/* ボタン */
.snow-monkey-form .smf-action {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 40px;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  min-width: 280px;
  padding: 16px 40px;
  border: 2px solid #0B5AB7;
  border-radius: 100px;
  background: #0B5AB7;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: opacity 0.3s;
}
.snow-monkey-form .smf-action .smf-button-control__control:hover {
  opacity: 0.85;
}
.snow-monkey-form .smf-action [data-action="back"] .smf-button-control__control,
.snow-monkey-form .smf-action .smf-button-control__control[data-action="back"] {
  background: #fff;
  color: #0B5AB7;
}

/* 確認画面の値 */
.snow-monkey-form[data-screen="confirm"] .smf-item__controls {
  padding-top: 10px;
  gap: 4px 10px;
}
.snow-monkey-form[data-screen="confirm"] .smf-item__controls > .smf-placeholder {
  flex: 0 0 auto;
}
.snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="birth_year"]::after { content: "年"; }
.snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="birth_month"]::after { content: "月"; }
.snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="birth_day"]::after { content: "日"; }
.snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="message"] {
  flex: 1 1 100%;
  white-space: pre-wrap;
}

/* 完了画面 */
.snow-monkey-form[data-screen="complete"] .smf-complete-content {
  padding: 48px 32px;
  background: #e9f0f8;
  border-radius: 12px;
  text-align: center;
  line-height: 2;
}
.smf-complete-title {
  margin: 0 0 16px;
  color: #0B5AB7;
  font-size: 24px;
}

@media (max-width: 768px) {
  .kouenkai_greeting {
    padding: 24px 20px;
  }
  .kouenkai_h3 {
    font-size: 20px;
  }
  .snow-monkey-form .smf-form .smf-item {
    flex-direction: column;
    gap: 10px;
    padding: 18px 0;
  }
  .snow-monkey-form .smf-item__col--label {
    flex: none;
    padding-top: 0;
  }
  .snow-monkey-form .smf-item__label__text {
    justify-content: flex-start;
  }
  .snow-monkey-form .smf-action .smf-button-control__control {
    width: 100%;
    min-width: 0;
  }
  .snow-monkey-form .smf-action {
    flex-direction: column-reverse;
  }
}
/* ハニーポット（画面外に隠す。display:none だと一部ボットが無視するため） */
.smf-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* セレクト（生年月日の元号）を枠いっぱいに */
.snow-monkey-form .smf-select-control {
  display: block;
  width: 100%;
}
/* Turnstile（ボット判定）はボタンの直前・中央に */
.snow-monkey-form .snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
/* セレクトの矢印と文字が重ならないよう右側に余白を確保 */
.snow-monkey-form .smf-select-control__control {
  padding-right: 40px;
}
.snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-era) {
  flex: 0 0 120px;
}
@media (max-width: 600px) {
  /* SP：元号・年・月・日を1行に収める */
  .snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-era) {
    flex: 0 0 100px;
  }
  .snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-y) {
    flex: 1 1 0;
    min-width: 0;
  }
  .snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-m),
  .snow-monkey-form .smf-item__controls > .smf-placeholder:has(.smf-birth-d) {
    flex: 0 0 60px;
  }
  .snow-monkey-form .smf-item__controls:has(.smf-birth-era) {
    flex-wrap: nowrap;
    gap: 8px;
  }
}
/* プロフィール見出しの漢字表記 */
.name_kanji {
  margin-left: 0.4em;
  font-size: 0.7em;
  font-weight: 500;
}

/* プライバシーポリシー */
.privacy_wrap {
  max-width: 880px;
  margin: 0 auto 100px;
  line-height: 1.9;
}
.privacy_wrap h3 {
  margin: 48px 0 16px;
  padding-left: 14px;
  border-left: 5px solid #0B5AB7;
  font-size: 20px;
  line-height: 1.5;
}
.privacy_wrap ul {
  padding-left: 1.5em;
}
.privacy_wrap li {
  margin-bottom: 6px;
}
.privacy_date {
  margin-top: 48px;
  color: #666;
}

/* ===============================================================
   旧サイト 2026-09 追加分の移植
   =============================================================== */
/* トップページのバナー（外観 > カスタマイズ > トップページのバナー で設定） */
.front_top_bnr img {
  width: 80%;
  height: auto;
  display: block;
  margin: 30px auto;
}
@media (max-width: 1200px) {
  .front_top_bnr {
    margin-bottom: 70px;
  }
}

/* page-template-simple-page */
.page-template-simple-page {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}
.page-template-simple-page h2.page_title {
  font-size: 3rem;
}

/* candidate_profile（議員・候補者の紹介） */
.candidate_profile {
  background: #efefef;
  padding: 30px;
  margin-bottom: 50px;
}
.candidate_profile h3.wp-block-heading {
  font-size: 1.8em;
  margin-top: 0;
  border-bottom: 1px solid #000;
}
.candidate_profile .smb-faq__item__question__label,
.candidate_profile .smb-faq__item__answer__label {
  display: none;
}
.candidate_profile .smb-faq__item {
  border-bottom: 1px solid #ccc;
}
.candidate_profile .smb-faq__item__answer__body {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
.candidate_profile .smb-faq__item__question__body {
  font-size: 1.2rem;
}
.candidate_profile h4.wp-block-heading {
  border-bottom: 1px solid #000;
  font-size: 1.1rem;
}
.candidate_profile .candidate_profile_sns_icons a {
  width: 52px !important;
}
.candidate_profile .wp-block-snow-monkey-blocks-box {
  padding: 0;
}
/* バナーがある時は、メイン画像の引き上げ（-10%）を無効にしてバナーと重ならないようにする。
   間隔はPCと同じ30px（バナー画像の下マージン）。バナーがない時は従来どおり。 */
@media (max-width: 1200px) {
  .front_top_bnr {
    margin-bottom: 0;
  }
  .front_top_bnr + .hero .hero__left .hero_left_inner {
    margin-top: 0;
  }
}
