@charset "utf-8";

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

:root{
  --color-brand: #015093;
  --color-brand-dark: #192d55;
  --color-防災・危機管理         :#ffc000;
  --color-観光・商工            :#00537d;
  --color-健康福祉              :#964a96;
  --color-総務・人事            :#44befb;
  --color-情報政策              :#e51515;
  --color-公共インフラ・まちづくり :#00dd4a;
  --color-住民生活・安全          :#7d6800;
  --color-環境・エネルギー        :#a3e61c;
  --color-学校教育・生涯学習      :#06dcca;
  --color-税務・収納             :#787878;
  --color-広報・広聴             :#d1d100;
  --color-議会                  :#45a017;
  --color-農林水産              :#0054ff;
  --color-産業振興              :#ff722b;
  --color-スペシャルインタビュー  :#dc179b;
  --color-注目のキーワード       :#ac001a;
  --color-エキスパート          :#13007d;

  --color-white: #fff;

  --color-gray50:  #fafafa;
  --color-gray100: #f7f7f7;
  --color-gray200: #e3e3e3;
  --color-gray300: #dfdfdf;
  --color-gray500: #777;
  --color-gray600: #6a6a6a;
  --color-gray700: #555;
  --color-gray800: #333;

  --color-blue50:  #f4f9ff;
  --color-blue100: #d0def3;
  --color-blue200: #7599c9;
  --color-blue500: #5a7ba7;
  --color-blue700: #3b71b7;
  --color-blue800: #215498;

  --color-yellow200: #fbfc9a;
}

html, body {
  overflow-x: hidden;
}

body {
  font-family: YakuHanJP_Narrow, "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif !important;
  color: var(--color-gray800);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

img {
  max-width: 100%;
  height: auto;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
}

@media (min-width: 768px) {
  .container {
    width: 720px;
  }

  #content {
    margin-top: 40px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}

#box2 .hatena-module {
  margin-bottom: 1.5rem;
}

#box2 .jto-p-videoWrapper {
  margin-bottom: 0;
}

.entry-header,
.entry-content,
.urllist-entry-body {
  line-height: 1.75;
  word-break: break-all;
}

@media (min-width: 576px) {
  .entry-header,
  .entry-content,
  .urllist-entry-body {
    letter-spacing: 0.02em;
  }
}

.entry-content h1 {
  margin: 1rem 0 1em;
}

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 3em 0 1em;
}

.entry-content p {
  margin: 1.75rem 0;
  text-align: justify;
  text-justify: inter-ideograph;
}

.entry-content em {
  background: linear-gradient(transparent 66.6667%, #fff899 66.6667%);
  font-style: normal;
}

.entry-content img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  vertical-align: middle;
}

.entry-content a[name^="fn-"] {
  font-size: 0.75em;
  padding-right: 0.25em;
  padding-left: 0.25em;
  vertical-align: super;
}

.entry-content a[name^="f-"] {
  font-size: 0.875em;
  padding-right: 0.25em;
}

.municipality-data {
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid var(--color-gray300);
  background-color: var(--color-gray100);
  font-size: 0.875rem;
}

.municipality-heading {
  margin-bottom: 5px;
  font-weight: bold;
}

.municipality-body > span::before {
    content: ' ／ ';
}

.municipality-body > span:first-of-type::before {
    content: '';
}

.categories a, .entry-category-link, .hatena-module-category .hatena-urllist li a, .page-archive .categories a, .urllist-category-link {
  border-radius: 2px;
  background-color: var(--color-gray100);
  color: var(--color-gray600);
}

@media (min-width: 768px) {
  body.page-index #main .hatena-urllist > li {
    margin-bottom: 3rem;
  }
}


a.category-インタビュー,
a.category-レポート・コラム,
a.category-イベント,
a.category-プレスリリース,
a.category-ブランドチャンネル,
a.category-お知らせ {
  background-color: var(--color-gray600) !important;
  color: #fff !important;
}

a.category-防災・危機管理         { background-color: var(--color-防災・危機管理) !important; color: #fff !important;}
a.category-観光・商工            { background-color: var(--color-観光・商工) !important; color: #fff !important;}
a.category-健康福祉              { background-color: var(--color-健康福祉) !important; color: #fff !important;}
a.category-総務・人事            { background-color: var(--color-総務・人事) !important; color: #fff !important;}
a.category-情報政策              { background-color: var(--color-情報政策) !important; color: #fff !important;}
a.category-公共インフラ・まちづくり { background-color: var(--color-公共インフラ・まちづくり) !important; color: #fff !important;}
a.category-住民生活・安全         { background-color: var(--color-住民生活・安全) !important; color: #fff !important;}
a.category-環境・エネルギー       { background-color: var(--color-環境・エネルギー) !important; color: #fff !important;}
a.category-学校教育・生涯学習     { background-color: var(--color-学校教育・生涯学習) !important; color: #fff !important;}
a.category-税務・収納            { background-color: var(--color-税務・収納) !important; color: #fff !important;}
a.category-広報・広聴            { background-color: var(--color-広報・広聴) !important; color: #fff !important;}
a.category-議会                 { background-color: var(--color-議会) !important; color: #fff !important;}
a.category-農林水産              { background-color: var(--color-農林水産) !important; color: #fff !important;}
a.category-産業振興              { background-color: var(--color-産業振興) !important; color: #fff !important;}
a.category-スペシャルインタビュー  { background-color: var(--color-スペシャルインタビュー) !important; color: #fff !important;}
a.category-注目のキーワード       { background-color: var(--color-注目のキーワード) !important; color: #fff !important;}
a.category-エキスパート          { background-color: var(--color-エキスパート) !important; color: #fff !important;}


/**
 *
 * Utilities
 *
 */

.text-center {
  text-align: center !important;
  text-align-last: center !important;
}

.text-center p {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
  text-align-last: right !important;
}

.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }

.u-mb-05 { margin-bottom: 0.5rem !important; }

.u-mt-4 { margin-top: 1.5rem !important; }
.u-mt-5 { margin-top: 3rem !important; }

.u-my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.u-my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-block {
    display: block !important;
  }
}

.d-flex {
  display: flex;
}

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

.row {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

@media (min-width: 576px) {
  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .sp-only {
    display: none;
  }
}

/**/

.blog-header {
  padding: 0;
  border-bottom: none;
}

.blog-header-mobile .blog-title-heading {
  width: 66.6667%;
  min-width: 180px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.blog-topboard {
  padding: 0.5em 1.35vw;
  background-color: var(--color-brand-dark);
  color: #acb9c2;
  /* font-size: 2.7vw; */
  font-size: 10px;
}

/**/

.navbar {
  background-color: #f1f1f1;
  font-size: 15px;
}

.navbar.is-open {
  overflow-y: auto;
}

.navbar:not(.is-touch) {
  border-bottom: none;
}

@media (min-width: 768px) {
  .navbar-toggle-nav {
    display: block;
  }
}

@media (min-width: 992px) {
  .navbar-toggle-nav {
    display: none;
  }
}

.navbar-toggle-btn {
  margin-top: -4px;
  width: 32px;
  height: 32px;
}

#container-inner::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: none;
  z-index: -1;
}

#container-inner.is-open::before {
  background: rgba(51, 51, 51, 0.7);
  backdrop-filter: blur(5px);
  z-index: 9;
}

/* 2階層目 */

@media (max-width: 767px) {
  .navbar-list > li {
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    font-size: 14px;
  }

  .navbar-list a {
    height: auto;
  }

  .navbar-list a::after {
    content: none;
  }

  .navbar-list > li > a::before {
    content: '';
    position: absolute;
    top: 23px;
    right: 16px;
    left: auto;
    width: 6px;
    height: 6px;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    transform: rotate(45deg);
  }

  .navbar-list > li.has-child > a {
    position: relative;
  }

  .navbar-list > li.has-child > a::before,
  .navbar-list > li.has-child > a::after {
    content: '';
    position: absolute;
    top: 25px;
    right: 14px;
    left: auto;
    width: 10px;
    height: 2px;
    border: none;
    background-color: #999;
  }

  .navbar-list > li.has-child > a::before {
    transform: rotate(0deg);
  }

  .navbar-list > li.has-child > a::after {
    transform: rotate(90deg);
  }

  .navbar-list > li.has-child.is-active > a::after {
    display: none;
  }

  .navbar-list > li.has-child > ul {
    display: none;
    border-top: 1px solid #ccc;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }

  .navbar-list > li.has-child > ul > li {
    padding-left: 2rem;
    border-bottom: 1px solid #ccc;
    background-color: #f1f1f1;
    font-size: 13px;
  }

  .navbar-list > li.has-child > ul > li:last-child {
    border-bottom: none;
  }

  .navbar-list > li.has-child > ul > li > a {
    padding: 0.5rem 0;
    color: #666;
  }

  .navbar-list > li.has-child > ul > li > a::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 16px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    transform: rotate(45deg);
  }
}

@media (min-width: 768px) {
  .navbar-list {
    padding: 0;
    overflow: visible;
    white-space: normal;
  }

  .navbar-list > li {
    position: relative;
    width: 16%;
    vertical-align: middle;
  }

  .navbar-list > li:hover {
    background-color: #dbe7f1;
  }

  .navbar-list a {
    padding: 0 0.5rem;
    font-size: 0.8rem;
  }

  .navbar-list a span {
    letter-spacing: 0.1em;
    padding-left: 0.1em;
  }

  .navbar-list li.has-child:hover ul,
  .navbar-list li.has-child ul li:hover,
  .navbar-list li.has-child:active ul,
  .navbar-list li.has-child ul li:active {
    visibility: visible;
    opacity: 1;
    z-index: 9;
  }

  .navbar-list li.has-child ul {
    position: absolute;
    top: 56px;
    left: 0;
    display: block;
    margin: 0;
    padding: 0;
    border: 1px solid #87afcc;
    visibility: hidden;
    opacity: 0;
    transition: all 0.15s;
  }

  .navbar-list li.has-child ul li {
    position: relative;
    display: block;
    max-width: none;
    padding-right: 2.5rem;
    padding-left: 1rem;
    border-bottom: 1px solid #e0e0e0;
    background-color: #fff;
    white-space: nowrap;
  }

  .navbar-list li.has-child ul li:hover {
    background-color: #eef4f9;
    color: #00559e;
  }

  .navbar-list li.has-child ul li a {
    height: 3rem;
    justify-content: left;
    padding: 0;
    font-size: 13px;
    text-align: left;
  }

  .navbar-list li.has-child ul li a span {
    padding-left: 0;
  }

  .navbar-list li.has-child ul li:last-child {
    border-bottom: none;
  }

  .navbar-list a:after {
    content: "";
    width: 0;
    height: 0;
  }
}

@media (min-width: 992px) {
  .navbar-list a {
    font-size: 0.9rem;
  }

  .navbar-list li.has-child::before {
    content: '';
    position: absolute;
    right: 8%;
    top: 23px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(135deg);
  }

  .navbar-list li.has-child ul li::before {
    content: '';
    position: absolute;
    right: 8%;
    top: 23px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    transform: rotate(45deg);
  }

  .navbar-list li.has-child ul li:hover::before {
    border-top: 2px solid #00559e;
    border-right: 2px solid #00559e;
  }
}

/**/

.blog-description {
  margin-top: 0 !important;
  color: #666;
  font-size: 0.75rem !important;
}

@media (max-width: 374px) {
  .blog-header {
    border-bottom: none;
  }

  .blog-topboard {
    padding: 0.25em 1.35vw;
  }

  .blog-topboard span {
    display: inline-block;
    font-size: 10px;
    margin-right: -100px;
    margin-left: -100px;
    transform: scale(0.8);
  }
}

@media (min-width: 768px) {
  .blog-topboard {
    font-size: 12px;
  }
}

@media (min-width: 992px) {
  .blog-header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: left;
  }

  .blog-title-heading {
    position: relative;
    top: -4px;
    width: 300px;
    margin: 0;
    font-size: 0;
  }

  .blog-description {
    margin: 0;
    padding: 0 2rem;
    line-height: 1.75;
    letter-spacing: 0.075em;
  }
}

@media (min-width: 1200px) {
  .blog-title-heading {
    width: 370px;
  }

  .blog-description {
    padding: 0 4rem;
  }
}

/**/

#blog-title {
  display: none;
}

.desktop-actnav {
  margin-left: auto;
}

.desktop-actnav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.desktop-actnav-item {
  margin-left: 30px;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
}

.desktop-actnav-button {
  display: inline-block;
  color: rgb(51, 51, 51);
  text-decoration: none;
}

.desktop-actnav-icon-wrapper {
  display: inline-block;
  width: 44px;
  height: 44px;
  padding: 8px;
  border-radius: 50%;
  background-color: #ffa500;
  transition: all 0.15s;
}

.desktop-actnav-icon {
  max-width: 100%;
  height: auto;
  fill: white;
  transition: all 0.15s;
}

.desktop-actnav-item:hover .desktop-actnav-icon-wrapper {
  background-color: #ffc966;
}

.desktop-actnav-label {
  display: block;
  margin-top: 7px;
}

/**/

.mobile-actnav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #c7d7e2;
  border-bottom: 1px solid #c7d7e2;
}

.mobile-actnav-item {
  width: 33.3333%;
  border-left: 1px solid #c7d7e2;
  background-color: #eaf1f6;
  font-size: 10px;
  text-align: center;
}

.mobile-actnav-item:first-child {
  border-left: none;
}

.mobile-actnav-item a {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  color: #1b5b95;
  font-weight: bold;
  text-decoration: none;
}

.mobile-actnav-icon {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  vertical-align: middle;
  fill: #1b5b95;
}

/**/

/* トップページメインカラム - 1個目の<hr> */

body.page-index #main > #main-inner > div:nth-child(1) {
  margin-bottom: 1rem;
}

/* トップページメインカラム - 最新トピック 共通 */

body.page-index #main .hatena-module.hatena-module-recent-entries {
  margin-bottom: 0;
}

body.page-index #main .hatena-module-recent-entries .hatena-module-title {
  font-size: 13px;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 1200px) {
  body.page-index #main .hatena-module-recent-entries .hatena-module-title {
    font-size: 16px;
  }
}

body.page-index #main .urllist-with-thumbnails li .recent-entries-categories,
body.page-index #main .urllist-with-thumbnails li .urllist-entry-body {
  display: block;
}

/* トップページメインカラム - 最新トピック（1件目） */

body.page-index #main > #main-inner > div:nth-child(2) .urllist-with-thumbnails li .urllist-image {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
}

body.page-index #main > #main-inner > div:nth-child(2) .urllist-with-thumbnails li a {
  margin: 0;
  color: #00559e;
}

body.page-index #main > #main-inner > div:nth-child(2) .hatena-urllist > li {
  margin-bottom: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
  font-size: 12px;
}

@media screen and (min-width: 1200px) {
  body.page-index #main > #main-inner > div:nth-child(2) {
    float: left;
    width: 48%;
  }

  body.page-index #main > #main-inner > div:nth-child(2) .hatena-urllist > li {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}

/* トップページメインカラム - 最新トピック（2～7件目） */

body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-module-title {
  display: none;
}

body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-urllist > li {
  margin-bottom: 0;
}

/* 7件中1件目の記事は上と重複するので非表示に */
body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-urllist > li:first-child {
  display: none;
}

.custom-recent-item {
  display: flex;
  margin-bottom: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
}

.custom-recent-item-eyecatch {
  width: 50px;
  min-width: 50px;
  margin-right: 12px;
}

.custom-recent-item-eyecatch img {
  width: 50px;
  height: 50px;
}

.custom-recent-item-body {
  font-size: 12px;
}

.custom-recent-item-title-anchor {
  color: #333;
  font-weight: bold;
}

.custom-recent-item-description {
  width: 200px;
  color: #999;
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 1199px) {
  body.page-index #main .hatena-module-recent-entries:nth-child(3) .recent-entries-item:nth-child(4) .custom-recent-item {
    border-bottom: none;
  }

  body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-urllist > li:nth-child(5),
  body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-urllist > li:nth-child(6),
  body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-urllist > li:nth-child(7) {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  body.page-index #main .hatena-module-recent-entries:nth-child(3) {
    float: right;
    width: 48%;
    margin-bottom: none;
  }

  body.page-index #main .hatena-module-recent-entries:nth-child(3) .hatena-module-title {
    display: block;
    visibility: hidden;
  }

  body.page-index #main .hatena-module-recent-entries:nth-child(3) .custom-recent-item {
    margin-bottom: 0.9rem;
    padding-top: 0;
    padding-bottom: 0.9rem;
  }

  body.page-index #main .hatena-module-recent-entries:nth-child(3) .custom-recent-item::before {
    content: "・";
    color: #999;
    margin-right: 0.25rem;
  }

  body.page-index #main .hatena-module-recent-entries:nth-child(3) .recent-entries-item:last-child .custom-recent-item {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  .custom-recent-item-eyecatch,
  .custom-recent-item-description {
    display: none;
  }

  .custom-recent-item-title-anchor {
    color: #00559e;
    font-size: 14px;
    letter-spacing: 0.025em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
}

/**/

/* トップページメインカラム - 注目のトピック */

.module-feature {
  padding: 1rem;
  background-color: #f5f6f7;
}

.module-feature-title {
  font-weight: bold;
  font-size: 12px;
}

.module-feature-list {
  margin: 0;
  padding: 0;
  font-size: 0;
}

.module-feature-item {
  display: inline-block;
  margin-right: 4px;
}

.module-feature-item a {
  display: inline-block;
  padding: 0.5em 1em;
  border: 1px solid #b4c1cd;
  border-radius: 2px;
  background-color: #fff;
  color: #00559e;
  font-size: 10px;
}

@media (max-width: 767px) {
  .module-feature-title {
    margin-bottom: 8px;
  }

  .module-feature-item {
    margin-bottom: 4px;
  }
}

@media (min-width: 768px) {
  .module-feature {
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .module-feature-title {
    min-width: 120px;
    margin-right: 8px;
    font-size: 14px;
    flex: 0 0 auto;
  }

  .module-feature-list {
    flex: 0 0 auto;
  }

  .module-feature-item a {
    font-size: 12px;
  }
}

/**/

/* トップページメインカラム - ○○から探す */

.module-search {
  line-height: 2;
}

.module-search a {
  color: #00559e;
}

.module-search-block {
  margin-bottom: 6px;
  padding: 1rem;
  border: 1px solid #b9cada;
  background-color: #f5f6f7;
  font-size: 12px;
}

.module-search-heading {
  font-weight: bold;
}

.module-search-list {
  margin: 0;
  padding: 0;
}

.module-search-item {
  display: inline-block;
}

.module-search-item::after {
  content: ' ／ ';
  color: #ccc;
}

.module-search-item:last-child::after {
  content: '';
}

@media (max-width: 991px) {
  .module-search-heading {
    position: relative;
  }

  .module-search-heading::before,
  .module-search-heading::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 1px;
    background-color: #666;
    top: 48%;
    right: 0;
  }

  .module-search-heading::before {
    transform: rotate(0deg);
  }

  .module-search-heading::after {
    display: none;
    transform: rotate(90deg);
  }

  .module-search-heading.is-close::after {
    display: block;
  }

  .module-search-list {
    margin-top: 1rem;
  }

  .module-search-heading.is-close + .module-search-list {
    display: none;
  }
}

@media (min-width: 992px) {
  .module-search {
    padding: 1rem;
    border: 1px solid #b9cada;
    background-color: #f5f6f7;
    font-size: 14px;
  }

  .module-search-block {
    padding: 0;
    border: none;
    display: flex;
  }

  .module-search-heading {
    flex: 0 0 10em;
    margin-bottom: 0;
    margin-right: 14px;
    text-align: right;
  }

  .module-search-list {
    flex: 0 1 auto;
  }
}

/**/

/* トップページメインカラム - 事例＆寄稿記事 記事一覧 */

.hatena-module-recent-entries.category-インタビュー,
.hatena-module-recent-entries.category-寄稿記事 {
  position: relative;
  padding-top: 1rem;
  border-top: 2px solid #8aa3b9;
}

body.page-index #main .hatena-module-recent-entries.category-インタビュー .hatena-module-title,
body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .hatena-module-title {
  margin-bottom: 0.5rem;
}

body.page-index #main .hatena-module-recent-entries.category-インタビュー .recent-entries-item:last-child .custom-recent-item,
body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .recent-entries-item:last-child .custom-recent-item {
  border-bottom: none;
}

body.page-index #main .hatena-module-recent-entries.category-インタビュー .custom-recent-item::before,
body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .custom-recent-item::before  {
  content: "・";
  color: #999;
  margin-right: 0.25rem;
}

body.page-index #main .hatena-module-recent-entries.category-インタビュー .urllist-see-more,
body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .urllist-see-more {
  position: absolute;
  top: 1rem;
  right: 0;
  width: auto;
  margin-top: 0;
}

body.page-index #main .hatena-module-recent-entries.category-インタビュー .urllist-see-more a,
body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .urllist-see-more a {
  padding: 0.25em 0.75em;
  border: none;
  border-radius: 4px;
  background-color: #f5f6f7;
  color: #00559e;
  font-size: 10px;
}

@media screen and (max-width: 1199px) {
  .hatena-module-recent-entries.category-インタビュー,
  .hatena-module-recent-entries.category-寄稿記事 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  body.page-index #main .hatena-module-recent-entries.category-インタビュー .recent-entries-item:nth-child(3) .custom-recent-item,
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .recent-entries-item:nth-child(3) .custom-recent-item {
    border-bottom: none;
  }

  body.page-index #main .hatena-module-recent-entries.category-インタビュー .hatena-urllist > li:nth-child(4),
  body.page-index #main .hatena-module-recent-entries.category-インタビュー .hatena-urllist > li:nth-child(5),
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .hatena-urllist > li:nth-child(4),
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .hatena-urllist > li:nth-child(5) {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  body.page-index #main .hatena-module-recent-entries.category-インタビュー {
    float: left;
    width: 48%;
    margin-bottom: 0;
  }

  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 {
    float: right;
    width: 48%;
    margin-bottom: 0;
  }

  body.page-index #main .hatena-module-recent-entries.category-インタビュー .hatena-urllist > li,
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .hatena-urllist > li {
    margin-bottom: 0;
  }

  body.page-index #main .hatena-module-recent-entries.category-インタビュー .custom-recent-item,
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .custom-recent-item {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  body.page-index #main .hatena-module-recent-entries.category-インタビュー .urllist-see-more a,
  body.page-index #main .hatena-module-recent-entries.category-寄稿記事 .urllist-see-more a {
    font-size: 12px;
  }
}

/**/

/* トップページメインカラム - ブランドチャンネル一覧 */

.module-brandchannel {
  position: relative;
  padding-top: 1rem;
  border-top: 2px solid #8aa3b9;
}

.module-brandchannel .urllist-see-more {
  position: absolute;
  top: 1rem;
  right: 0;
  width: auto;
  margin-top: 0;
}

.module-brandchannel .urllist-see-more a {
  padding: 0.25em 0.75em;
  border: none;
  border-radius: 4px;
  background-color: #f5f6f7;
  color: #00559e;
  font-size: 10px;
}

@media screen and (min-width: 1200px) {
  .module-brandchannel .urllist-see-more a {
    font-size: 12px;
  }
}

/**/

/* 検索フォーム */

.search-form .search-module-input, .search-result-form .search-result-input {
  border: none;
  border-radius: 1.5rem;
  background-color: #f1f1f1;
  font-size: 15px;
  letter-spacing: 0.05em;
  background-position: 95%;
}

/**/

.twitter-timeline {
  border: 1px solid #ddd !important;
  border-radius: 4px;
}

/**/

.page-archive .entry-thumb {
  padding-bottom: calc(20vw - 6px);
}

@media (min-width: 768px) {
  .page-archive .entry-thumb {
    padding-bottom: 17%;
  }
}

/**/

.footer {
  background-color: #f5f6f7;
}

.footer-blog-title {
  margin: 0;
}

#hbm-foot-owner-logo img {
  max-width: 160px;
}

.footer-link > ul > li {
  margin-right: 0.5em;
  margin-left: 0.5em;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

.footer-link > ul > li+li {
  margin-right: 0.5em;
  margin-left: 0.5em;
  padding-right: 0.5em;
  padding-left: 0.5em;
  border-left: none;
}

/**/

.entry-date {
  display: none;
}

.entry-header {
  margin-bottom: 0;
}

.entry-title {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
}

.page-static_page .entry-title {
  margin-top: 1rem;
  font-size: 1.3rem;
}

.categories.entry-categories {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

#cover {
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: center;
  text-align-last: center;
}

.entry-content #titleBox h2,
.entry-content #titleBox h3 {
  margin-top: 0.5em;
}

.nfm-label {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--color-blue700);
  border-radius: 0.875rem;
  background: var(--color-white);
  color: var(--color-blue700);
  font-weight: bold;
  font-size: 0.875rem;
}

#titleBox p,
.titleBox p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

span.mokuji {
  display: block;
  margin-top: 2rem;
}

.spHomePostCompany {
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: var(--color-gray600);
  font-size: 0.75rem;
}

.content-q {
  font-weight: bold;
}

.content-note {
  font-size: 0.75rem;
  color: var(--color-gray600);
}

.entry-footer-section {
  display: none;
}

/**
 * 人物紹介ボックス
 */

.person-box {
  display: flex;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem;
  background-color: #f7f7f7;
  line-height: 1.375;
}

.person-photo {
  flex-basis: 90px;
  min-width: 90px;
}

.person-photo img {
  max-width: 100% !important;
  height: auto;
  border-radius: 50%;
}

.person-meta {
  flex-grow: 1;
  padding-left: 1rem;
}

.person-organization {
  font-size: 0.875rem;
}

.person-position {
  font-size: 0.875rem;
}

.person-name {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.5;
}

.person-kana {
  font-weight: normal;
  margin-left: 0.5em;
  font-size: 0.875rem;
}

.person-profile {
  margin-top: 10px;
}

@media (min-width: 576px) {
  .person-photo {
    flex-basis: 120px;
    min-width: 120px;
  }
}

/**
 * .content-profile
 */


.content-profile {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.content-profile-heading {
  margin-bottom: 0.25em;
  font-weight: bold;
  font-size: 0.875rem;
}

.content-profile-body {
  font-size: 0.875rem;
}


/**
 * .company-info-heading
 */

.company-info-heading {
  font-weight: bold;
}

/**
 * Table
 */

.entry-content table {
  display: table;
  width: 100%;
  margin-bottom: 2rem;
}

.entry-content table th {
  width: 6rem;
  text-align: right;
}

@media (min-width: 576px) {
  .entry-content table th {
    width: 12rem;
    text-align: right;
  }
}

.entry-content table th p,
.entry-content table td p {
  margin-top: 0;
  margin-bottom: 0;
}

/**/

.right {
  float: none;
}

.thumbnail {
  text-align: center;
}

/**/

.figure-image figcaption {
  font-size: 0.875rem;
  line-height: 1.375;
  text-align: left;
}

.align-items-start {
  align-items: start;
}


/**
 * Button
 */

.button-group {
  margin-top: 2rem;
  text-align: center;
}

.button {
  position: relative;
  display: inline-block;
  padding: 0.5em 2em;
  border-radius: 0.25em;
  background-color: #f5f5f5;
  color: #323232;
  text-align: center;
  text-decoration: none !important;
  font-size: 1rem;
  vertical-align: middle;
  white-space: normal;
  cursor: pointer;
  transition: all 0.15s linear;
  -webkit-appearance: none;  /* iOSのスタイリングをリセット */
}

.button-primary {
  background-color: var(--color-blue800);
  background-color: #215498;
  color: #fff !important;
}

.button-primary:hover {
  background-color: var(--color-blue700);
  background-color: #3b71b7;
}

.button-primary[disabled="disabled"] {
  background-color: #999;
  cursor: default;
}

.button-small {
  font-size: 0.75rem;
  padding: 0.3em 0.4em;
}

.button-full {
  box-sizing: border-box;
  width: 100%;
}


/**
 * .table_box
 */

.table_box {
  display: table;
  width: 100%;
}
.table_sell{
  display: table-cell;
background: #eee;
border: 1px solid #fff;
  font-size: 1.2rem!important;
}
.sell_a{
background-color: #52c2d0;
color: #fff;
position: relative;
text-align: center;
font-weight: bold;
  padding: 10px;
margin-bottom: 0px!important;
}
.sell_a:after{
display: block;
content: "";
width: 0px;
height: 0px;
position: absolute;
bottom:-5px;
left: 0;
right: 0;
margin: auto;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #52c2d0;
}
.sell_b{
  padding: 10px;
margin-bottom: 0px!important;
}
.sell_c{
  padding: 10px;
margin-bottom: 0px!important;
}
.sell_0{
width:100%;
}
.sell_0 a {
  width: 65%;
  display: block;
  margin: 0 auto;
  padding: 10px 0;
}
.sell_1{
width:25%;
}
.sell_2{
width:25%;
}
.sell_3{
width:25%;
}
.sell_4{
width:25%;
}
.sell_c{
text-align:center;
}
.pc_none{
display:none;
}

/**
 * MATERIAL BLOCK
 */

.media {
  display: flex;
}

.media-thumbnail {
  width: 120px;
  padding-right: 30px;
}

.media-body {
  flex: 1;
}

.material {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: left;
}

.material-thumbnail {
  max-width: 100% !important;
  height: auto;
}

.material-date {
  margin-bottom: 0.5em;
}

.material-date + h2 {
  margin-top: 0 !important;
}

.content-subject + h2 {
  margin-top: 0.5rem !important;
}

.material-subtitle {
}

.material-title {
  margin-bottom: 0.5em;
  line-height: 1.25;
  color: #015093;
  font-weight: bold;
  font-size: 1.125rem;
}

.material-description {
  margin-bottom: 0.5em;
}

.material-provider {
  margin-bottom: 0.25em;
}

.material-autonomy {
  margin-bottom: 0.5em;
}

.material-controls .button {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.5em 1em;
}

body.post .material-controls .button {
  font-size: 1.25rem !important;
}

.jump-to-material-area {
  margin: 1rem 0 3rem;
  text-align: center;
}

.jump-to-material-area a {
  display: block;
  padding: 1rem;
  border: 4px solid var(--color-blue100);
  background-color: var(--color-blue50);
  color: var(--color-blue700);
  text-decoration: none;
}

#material-area {
  padding-top: 1rem;
}

.label {
  display: inline-block;
  margin-right: 0.25rem;
  border: 1px solid #ccc;
  border-radius: 1em;
  background-color: #fff;
  color: #333;
  padding: 0.3em 0.6em;
  line-height: 1;
}

.badge {
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  background-color: #808080;
  color: #fff;
  padding: 0.3em 0.6em;
  line-height: 1;
}

.badge.badge-active {
  background-color: #015093;
}

.icon-new {
  display: inline-block;
  background-color: #e50000;
  color: #fff;
  padding: 0.3em 0.6em;
  border-radius: 1em;
  line-height: 1;
}

#material-area {
  padding-top: 1rem;
  text-align: center;
}

.single-inquiry-form {
  box-sizing: border-box;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem;
  border: 4px solid var(--color-blue100);
  background-color: var(--color-blue50);
}

.single-inquiry-form-lead {
  margin-top: 1rem;
  font-weight: bold;
}

.form-button-group {
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: center;
  text-align-last: center;
}

.jto-c-aboveButtonText {
  color: var(--color-blue700);
  font-weight: bold;
  font-size: 0.875rem;
}


/***/

.block-bundle {
  box-sizing: border-box;
  margin: 30px 0 4rem;
  padding: 2rem 1rem 1rem;
  border: 4px solid var(--color-gray100);
  text-align: center;
}

.block-bundle-text {
  display: inline-block;
  margin-bottom: 1rem !important;
  text-align: left;
}

.block-bundle-text ul {
  list-style-type: none;
  margin-bottom: 1rem;
  padding: 0;
}

.block-bundle-text li {
  margin-bottom: 0.5em;
}

.block-bundle-text li span.fa {
  color: var(--color-gray500);
}

.block-bundle-text li em {
  font-weight: bold;
  font-style: normal;
}


/**
 *
 * はてなブログMedia記事投稿向け 新スタイル
 *
 */

 /**
 * .jto-p-headline - ヘッドライン
 */

.jto-p-headline {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.jto-p-headline p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.jto-c-label {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--color-blue700);
  border-radius: 0.875rem;
  background: var(--color-white);
  color: var(--color-blue700);
  font-weight: bold;
  font-size: 0.875rem;
}

.jto-c-topic {
}

.jto-p-headline__heading {
  margin-top: 0 !important;
}

.jto-c-interviewee {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.jto-c-sponsored {
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: var(--color-gray600);
  font-size: 0.75rem;
}

/**
 * .jto-p-person - リード
 */

 .jto-c-lead {

}

/**
 * .jto-p-municipality - 自治体情報
 */

.jto-p-municipality {
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid var(--color-gray300);
  background-color: var(--color-gray100);
  font-size: 0.875rem;
}

.jto-p-municipality__heading {
  margin-bottom: 5px;
  font-weight: bold;
}

/**
 * .jto-p-person - 人物紹介ブロック
 */

.jto-p-person {
  display: flex;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem;
  background-color: #f7f7f7;
  line-height: 1.375;
}

.jto-p-person p {
  margin-top: 0;
  margin-bottom: 0;
}

.jto-p-person__photo {
  flex-basis: 90px;
  min-width: 90px;
}

.jto-p-person__photo img {
  /* max-width: 100% !important;
  height: auto; */
  border-radius: 50%;
}

.jto-p-person__meta {
  flex-grow: 1;
  padding-left: 1rem;
}

.jto-p-person__organization {
  font-size: 0.875rem;
}

.jto-p-person__position {
  font-size: 0.875rem;
}

.jto-p-person__name {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.5;
}

.jto-p-person__kana {
  font-weight: normal;
  margin-left: 0.5em;
  font-size: 0.875rem;
}

@media (min-width: 576px) {
  .jto-p-person__photo {
    flex-basis: 120px;
    min-width: 120px;
  }
}

/**
 * .jto-p-profile - 人物紹介ブロック
 */

 .jto-p-profile {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.jto-p-profile__heading {
  margin-bottom: 0.25em;
  font-weight: bold;
  font-size: 0.875rem;
}

.jto-p-profile__body {
  font-size: 0.875rem;
}

/**
 * .jto-p-jumpToMaterial - 資料ダウンロードへのページ内アンカー
 */

.jto-p-jumpToMaterial,
.jto-p-jumoToMaterial {
  margin: 1rem 0 3rem;
  text-align: center;
}

.jto-p-jumpToMaterial a,
.jto-p-jumoToMaterial a {
  display: block;
  padding: 1rem;
  border: 4px solid var(--color-blue100);
  background-color: var(--color-blue50);
  color: var(--color-blue700);
  text-decoration: none;
}

/**
 * .jto-p-material - 資料ダウンロードCTA
 */

.jto-p-material {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem;
  border: 4px solid var(--color-blue100);
  background-color: var(--color-blue50);
  text-align: center;
}

.jto-p-material__lead {
  margin-top: 1rem;
  font-weight: bold;
}


/**
 * .jto-c-button - ボタン
 */

.jto-c-button {
  position: relative;
  display: inline-block;
  padding: 0.5em 2em;
  border-radius: 0.25em;
  background-color: var(--color-gray100);
  color: var(--color-gray800);
  text-align: center;
  text-decoration: none !important;
  font-size: 1rem;
  vertical-align: middle;
  white-space: normal;
  cursor: pointer;
  transition: all 0.15s linear;
  -webkit-appearance: none;
}

.jto-c-button__primary {
  background-color: var(--color-blue800);
  color: var(--color-white) !important;
}

.jto-c-button__primary:hover {
  background-color: var(--color-blue700);
}

/**
 * .jto-p-buttonGroup - ボタングループ
 */

.jto-p-buttonGroup {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.jto-p-buttonGroup__aboveButtonText {
  color: var(--color-blue700);
  font-weight: bold;
  font-size: 0.875rem;
}


/**
 * .jto-p-brandList - ブランドチャンネル企業一覧
 */

.jto-p-brandList {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.jto-p-brandList__item {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.jto-p-brandList__item a {
  display: inline-block;
  margin-bottom: 0.125rem;
}

.jto-p-brandList__item a+a {
  margin-bottom: 0.25rem;
}

.jto-p-brandList__item__inner {
  max-width: 208px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1rem;
}

.jto-p-brandList__item__thumb {
  display: inline-block;
  border: 1px solid var(--color-gray200);
}

.jto-p-brandList__item__subName {
  display: inline-block;
  color: var(--color-gray700);
  font-size: 0.75rem;
  line-height: 1.25;
}

/* トップページのブランドチャンネル一覧 */

.module-brandchannel .jto-p-brandList {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.module-brandchannel .jto-p-brandList__item a {
  color: #1b5b95;
}

/**
 * .jto-p-videoWrapper - iframe埋め込みのレスポンシブ対応（16:9）
 */

.jto-p-videoWrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}

.jto-p-videoWrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/**
 * .archive-description - カテゴリー別記事一覧
 */

.archive-description-inner {
  background-color:#fafafa;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 1rem;
}

/**
 * RABAN誘導ページ
 */

.jto-c-rabanButton {
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  border: 2px solid #30bcd5;
  border-radius: 8px;
  background-color: #fff;
  color: #30bcd5;
}

.jto-c-rabanButton::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1rem;
  left: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  transform: translate(0, -50%) rotate(45deg);
}

/**
 * 自治体支援企業＆サービス
 */

body.static-page-layout-header-footer .entry-header {
  display: none;
}

body.static-page-layout-header-footer #content {
  margin-top: 0;
}

/**
 * 自治体支援企業＆サービス 一覧ページ
 */

.bc-header-wrapper {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-top: 22px;
  padding-bottom: 10px;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: url('https://cdn-ak.f.st-hatena.com/images/fotolife/j/jichitaitsushin/20211221/20211221163717.jpg') #048cda no-repeat top center;
  background-size: cover;
  color: #fff;
}

h1.bc-header__heading {
  margin-top: 0;
  color: #fff !important;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.05em;
}

h1.bc-header__heading::after {
  content: "";
  margin-left: -0.05em;
}

h1.bc-header__heading .u-small {
  font-size: 14px;
}

.bc-header__toggle-button-wrapper {
  margin-top: 10px;
  text-align: center;
}

a.bc-header__toggle-button {
  position: relative;
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 4px;
  background-color: #fff;
  color: #00559e;
  font-size: 16px;
  text-decoration: none;
}

a.bc-header__toggle-button::before,
a.bc-header__toggle-button::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 1px;
  background-color: #00559e;
  top: 48%;
  right: 10px;
}

a.bc-header__toggle-button::before {
  transform: rotate(0deg);
}

a.bc-header__toggle-button::after {
  transform: rotate(90deg);
}

a.bc-header__toggle-button.is-open::after {
  display: none;
}

a.bc-header__toggle-button:hover {
  opacity: 1 !important;
}

.bc-tabs {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0 !important;
  padding: 0 !important;
}

.bc-tabs__item > a {
  display: inline-block;
  padding: 0.625em 1.5em;
  background-color: rgba(0, 35, 65, 0.2);
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.25;
  text-decoration: none;
  transition: all 0.15s;
}

.bc-tabs__item > a:hover,
.bc-tabs__item.is-active > a {
  background-color: #fff;
  color: #1b5b95;
  opacity: 1;
}

.bc-archive-wrapper {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background-color: #e5eff6;
}

.bc-archive {
  position: relative;
  min-height: 8rem;
}

.bc-loading {
  position: absolute;
  top: 0;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}

.bc-loading::before {
  content: "";
  display: inline-block;
  width: 4rem;
  height: 4rem;
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23999" viewBox="0 0 512 512"><path d="M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"/></svg>');
  background-size: cover;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {transform: rotate(0deg);}
  100% {transform: rotate(360deg);}
}

.bc-tab-panel {
  display: none;
  opacity: 0;
  margin-bottom: 1.5rem;
}

.bc-tab-panel.is-active {
  display: block;
  animation-name: fadeIn;
  animation-duration: 0.15s;
  animation-fill-mode: forwards;
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

h2.bc-archive__heading {
  margin-top: 0;
  padding-left: 0.75rem;
  border-left: 0.25rem solid #1b5b95;
  color: #1b5b95;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1;
}

.bc-archive__items {
  display: flex;
  flex-wrap: wrap;
  margin-right: -6px;
  margin-left: -6px;
}

.bc-archive__items > .bc-item {
  flex: 0 0 auto;
  width: 33.3333%;
  padding-bottom: 12px;
  padding-right: 6px;
  padding-left: 6px;
}

.bc-item__logo-wrapper {
  position: relative;
  width: 100%;
  border-radius: 0.75rem;
  overflow: hidden;
}

.bc-item--premium .bc-item__logo-wrapper {
  outline: 2px solid #ebcd54;
  outline-offset: -2px;
}

.bc-item--standard .bc-item__logo-wrapper {
  outline: 2px solid #c6dae8;
  outline-offset: -2px;
}

.bc-item--premium .bc-item__logo-wrapper::before,
.bc-item--standard .bc-item__logo-wrapper::before {
  content: "";
  display: inline-block;
  position: absolute;
  padding: 5px 0 0;
  top: 0;
  right: -16px;
  width: 64px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  transform: rotate(45deg);
}

.bc-item--premium .bc-item__logo-wrapper::before {
  background: #ebcd54;
}

.bc-item--standard .bc-item__logo-wrapper::before {
  background: #c6dae8;
}

.bc-item__logo-wrapper > a {
  display: block;
}

.bc-item__company-name {
  color: #666;
  font-size: 0.75rem;
  line-height: 1.25;
}

.bc-item__meta {
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 991px) {
  .bc-header-wrapper {
    background-size: auto 100vh;
  }

  .bc-tabs-wrapper {
    display: none;
    margin-top: 10px !important;
  }

  .bc-tabs {
    align-items: stretch;
  }

  .bc-tabs__item {
    width: 50%;
  }

  .bc-tabs__item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    box-shadow : 0 0 0 1px #5c9ce5;
    font-size: 0.75rem;
    text-align: center;
  }

  .bc-tabs__item:nth-child(1) > a {
    border-top-left-radius: 4px;
  }

  .bc-tabs__item:nth-child(2) > a {
    border-top-right-radius: 4px;
  }

  .bc-tabs__item:nth-last-child(2) > a {
    border-bottom-left-radius: 4px;
  }

  .bc-tabs__item:nth-last-child(1) > a {
    border-bottom-right-radius: 4px;
  }

  .bc-item__meta {
    padding-top: 0.5rem;
    opacity: 1;
    visibility: visible;
  }

  .bc-item__company-name {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .bc-item__service {
    display: none;
  }
}

@media (min-width: 576px) {
  .bc-archive__items > .bc-item {
    width: 25%;
  }
}

@media (min-width: 992px) {
  .bc-header-wrapper {
    padding-top: 1.75rem;
    padding-bottom: 0.625rem;
  }

  h1.bc-header__heading {
    margin-bottom: 1.5rem;
    font-size: 2rem;
  }

  h1.bc-header__heading .u-small {
    font-size: 1.3333rem;
  }

  .bc-header__toggle-button-wrapper {
    display: none;
  }

  .bc-tabs__item {
    margin-right: 0.375rem;
    margin-bottom: 0.375rem;
  }

  .bc-tabs__item > a {
    border: 1px solid #5c9ce5;
    border-radius: 0.25rem;
  }

  h2.bc-archive__heading {
    padding-left: 1rem;
  }

  .bc-archive__items {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }

  .bc-archive__items > .bc-item {
    width: 14.2857%;
    padding-bottom: 1rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .bc-item {
    position: relative;
  }

  .bc-item__meta {
    position: absolute;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: -2.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.25rem;
    background-color: #333;
    line-height: 1.25;
    opacity: 0;
    visibility: hidden;
    z-index: 5;
  }

  .bc-item__meta::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: calc(-1rem + 4px);
    left: calc(50% - 8px);
    right: auto;
    background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23333" class="bi bi-triangle-fill" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z"/></svg>');
    background-size: cover;
  }

  .bc-item:hover .bc-item__meta {
    opacity: 1;
    visibility: visible;
  }

  .bc-item:nth-child(7n+1) .bc-item__meta {
    left: 0;
    right: auto;
    transform: translateX(-16px);
  }

  .bc-item:nth-child(7n) .bc-item__meta {
    left: auto;
    right: 0;
    transform: translateX(16px);
  }

  .bc-item:nth-child(7n+1) .bc-item__meta::before {
    left: 24px;
    right: auto;
  }

  .bc-item:nth-child(7n) .bc-item__meta::before {
    left: auto;
    right: 24px;
  }

  .bc-item__logo-wrapper {
    transition: all 0.15s;
  }

  .bc-item:hover .bc-item__logo-wrapper {
    box-shadow: 0px 5px 20px 5px rgba(138, 177, 204, 0.35);
    transform: scale(1.1, 1.1);
  }

  .bc-item:hover a {
    opacity: 1 !important;
  }

  .bc-item__company-name {
    color: #f1f1f1;
    font-size: 0.875rem;
    white-space: nowrap;
  }

  .bc-item__company-name + .bc-item__service {
    margin-top: 0.5rem;
  }

  .bc-item__service {
    min-width: 210px;
    color: #c6c6c6;
    font-size: 0.75rem;
  }
}

/**
 * 自治体支援企業＆サービス 個別ページ
 */

.bcs-navigation-wrapper {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

a.bcs-navigation {
  color: #00559e;
  font-size: 0.75rem;
  text-decoration: none;
}

a.bcs-navigation::before {
  content: '';
  position: relative;
  top: -1px;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 0.75em;
  border-top: 2px solid #00559e;
  border-left: 2px solid #00559e;
  transform: rotate(-45deg);
}

/* -------- */

/* 自治体支援企業ページ用グリッド */

.bcs-col-6 {
  margin-bottom: 28px;
}

@media (min-width: 992px) {
  .bcs-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -1.8rem;
    margin-left: -1.8rem;
  }

  .bcs-col-6 {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 50%;
    margin-bottom: 3rem;
    padding-right: 1.8rem;
    padding-left: 1.8rem;
  }
}


/* -------- */

.bcs-meta-wrapper {
  margin-bottom: 28px;
}

.bcs-meta__logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 75px;
  height: 75px;
  margin-right: 12px;
  border: 1px solid #ddd;
  background-color: #fff;
}

h1.bcs-meta__company-name {
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #333;
  font-weight: bold;
  font-size: 1.111rem;
  line-height: 1.25;
}

.bcs-meta.bcs-meta--premium h1.bcs-meta__company-name::after,
.bcs-meta.bcs-meta--standard h1.bcs-meta__company-name::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 2px;
}

.bcs-meta.bcs-meta--premium h1.bcs-meta__company-name::after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23e8d56f" class="bi bi-bookmark-fill" viewBox="0 0 16 16"><path d="M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z"/></svg>');
}

.bcs-meta.bcs-meta--standard h1.bcs-meta__company-name::after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23c5dbe6" class="bi bi-bookmark-fill" viewBox="0 0 16 16"><path d="M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z"/></svg>');
}

.bcs-meta__service {
  margin-bottom: 0.5rem;
  color: #999;
  font-size: 0.714rem;
}

.bcs-meta__toggle {
  display: none;
}

.bcs-meta__solution-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style-type: none;
}

.bcs-meta__solution-list li {
  display: inline-block;
  margin-right: 2px;
}

.bcs-meta__solution-list li a {
  display: inline-block;
  padding: 0.75em 1.25em;
  border-radius: 2px;
  background-color: #f1f1f1;
  color: #00559e;
  font-size: 0.75rem;
  line-height: 1.25;
  text-decoration: none;
  transition: all 0.15s;
}

.bcs-meta__guide {
  padding-top: 0.25rem;
  color: #999;
  font-size: 0.625rem;
  text-align: right;
}

.bcs-meta__guide::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.bcs-meta.bcs-meta--premium .bcs-meta__guide::before {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23e8d56f" class="bi bi-bookmark-fill" viewBox="0 0 16 16"><path d="M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z"/></svg>');
}

.bcs-meta.bcs-meta--standard .bcs-meta__guide::before {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23c5dbe6" class="bi bi-bookmark-fill" viewBox="0 0 16 16"><path d="M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z"/></svg>');
}

.bcs-meta__description-title {
  margin-bottom: 0.75rem;
  color: #4ab6ca;
  font-weight: bold;
}

.bcs-meta__description-content {
  color: #666;
  font-size: 0.857rem;
}

.bcs-meta__description-content p {
  margin-top: 0;
  margin-bottom: 0;
}

.bcs-meta__description-content p + p {
  margin-top: 1em;
}


@media (max-width: 767px) {
  .bcs-meta-wrapper {
    margin-right: -10px;
    margin-left: -10px;
    padding-top: 1.25rem;
    padding-right: 10px;
    padding-left: 10px;
    background: url('https://cdn-ak.f.st-hatena.com/images/fotolife/j/jichitaitsushin/20211207/20211207160724.jpg') no-repeat;
    background-size: 100% 75px;
  }

  .bcs-meta__secondary {
    padding-top: 1rem;
    border-top: 1px solid #e5e5e5;
  }

  .bcs-meta {
    padding: 1rem;
    border-radius: 1rem;
    background-color: #fff;
    box-shadow: 0px 5px 20px 5px rgba(0, 0, 0, 0.14);
  }

  .bcs-meta__with-side {
    display: flex;
    position: relative;
    padding-right: 24px;
  }

  .bcs-meta__toggle {
    display: block;
    position: absolute;
    top: 25px;
    right: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #c4c4c4;
    cursor: pointer;
  }

  .bcs-meta__toggle::before,
  .bcs-meta__toggle::after {
    position: absolute;
    content: '';
    width: 12px;
    height: 2px;
    background-color: #fff;
    top: 11px;
    left: 6px;
  }

  .bcs-meta__toggle::before {
    transform: rotate(0deg);
  }

  .bcs-meta__toggle::after {
    transform: rotate(90deg);
  }

  .bcs-meta__solution-list,
  .bcs-meta__guide,
  .bcs-meta__secondary {
    display: none;
  }

  .bcs-meta.is-open .bcs-meta__primary {
    margin-bottom: 0.5rem;
  }

  .bcs-meta.is-open .bcs-meta__with-side {
    margin-bottom: 0.5rem;
  }

  .bcs-meta.is-open .bcs-meta__toggle::after {
    display: none;
  }

  .bcs-meta.is-open .bcs-meta__solution-list,
  .bcs-meta.is-open .bcs-meta__guide,
  .bcs-meta.is-open .bcs-meta__secondary {
    display: block;
  }
}

@media (min-width: 768px) {
  .bcs-meta-wrapper {
    margin-bottom: 2.5rem;
    border-bottom: 1px solid #ddd;
  }

  .bcs-meta {
    position: relative;
  }

  .bcs-meta__media {
    position: absolute;
    top: 2rem;
    left: 0;
  }

  .bcs-meta__logo-wrapper {
    width: 230px;
    height: 230px;
    margin-right: 24px;
    border-radius: 8px;
  }

  .bcs-meta__primary {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-top: 2rem;
    padding-bottom: 1.5rem;
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50% + 230px + 40px);
    background: url('https://cdn-ak.f.st-hatena.com/images/fotolife/j/jichitaitsushin/20211207/20211207160724.jpg') no-repeat;
    background-size: cover;
    color: #fff;
  }

  .bcs-meta__secondary {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50% + 230px + 40px);
  }

  h1.bcs-meta__company-name {
    color: #fff;
    font-size: 1.5rem;
  }

  .bcs-meta.bcs-meta--premium h1.bcs-meta__company-name::after,
  .bcs-meta.bcs-meta--standard h1.bcs-meta__company-name::after {
    width: 16px;
    height: 16px;
    margin-left: 8px;
    vertical-align: 4px;
  }

  .bcs-meta__service {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.8125rem;
  }

  .bcs-meta__solution-list li a {
    padding: 0.5em 1.25em;
    border: 1px solid #abc0ce;
    background-color: transparent;
    color: #fff;
  }

  .bcs-meta__solution-list li a:hover {
    background-color: #d2e7ff;
    color: #0f66b8;
    opacity: 1;
  }

  .bcs-meta__guide {
    color: rgba(255, 255, 255, 0.7);
  }

  .bcs-meta__description-title {
    margin-bottom: 0.75rem;
    color: #4ab6ca;
    font-weight: bold;
    font-size: 0.9375rem;
  }

  .bcs-meta__description-content {
    font-size: 0.75rem;
  }
}

@media (min-width: 992px) {
  .bcs-meta__logo-wrapper {
    margin-right: 40px;
  }
}

/* ---------- */

.bcs-article {
  margin-bottom: 32px;
}

h2.bcs-article__heading {
  margin-top: 0;
  margin-bottom: 18px;
  padding-left: 0.75em;
  border-left: 3px solid #333;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: 0.075em;
}

.bcs-article__item__primary {
  display: flex;
  position: relative;
}

.bcs-article__item__media {
  flex-basis: 30%;
  margin-right: 0.75rem;
}

.bcs-article__item__body {
  flex: 1;
}

.bcs-article__item__date {
  color: #999;
  font-size: 10px;
}

.bcs-article__item__title {
  color: #333;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.bcs-article__item__anchor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}

.bcs-article__item__excerpt {
  color: #666;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.bcs-article__button-block {
  padding-bottom: 1.5rem;
  text-align: right;
}

.bcs-article__item + .bcs-article__button-block {
  margin-top: 2rem;
}

a.bcs-article__button {
  position: relative;
  display: inline-block;
  padding: 12px 36px;
  border-radius: 2px;
  background-color: #f1f1f1;
  color: #00559e;
  font-size: 12px;
  line-height: 1.25;
  text-decoration: none;
  transition: all 0.15s;
}

a.bcs-article__button::after {
  content: '';
  position: absolute;
  top: 16px;
  right: 12px;
  left: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #00559e;
  border-right: 2px solid #00559e;
  transform: rotate(45deg);
}

@media (max-width: 991px) {
  .bcs-article__item__excerpt {
    display: none;
  }
}

@media (min-width: 992px) {
  h2.bcs-article__heading {
    margin-bottom: 1.5rem;
    font-size: 1.1875rem;
  }

  .bcs-article__item__eyecatch-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 150px;
    border: 1px solid #ddd;
    background-color: #fff;
  }

  .bcs-article__item__primary {
    margin-bottom: 1.5rem;
  }

  .bcs-article__item__date {
    font-size: 0.75rem;
  }

  .bcs-article__item__title {
    color: #00559e;
    font-size: 1.4rem;
    line-height: 1.25;
  }

  .bcs-article__item__excerpt {
    color: #666;
    font-size: 0.75rem;
  }
}

/* ---------- */

.bcs-material-wrapper {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-top: 28px;
  padding-bottom: 36px;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background-color: #e3f0f5;
}

h2.bcs-material__heading {
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 12px;
  border-left: 3px solid #333;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: 0.075em;
}

.bcs-material__item-wrapper {
  display: flex;
  margin-bottom: 0.5rem;
  margin-right: -7px;
  margin-left: -7px;
}

.bcs-material__item {
  margin-right: 7px;
  margin-left: 7px;
}

.bcs-material__item {
  margin-bottom: 1.5rem;
  padding: 22px 14px;
  border-radius: 8px;
  background-color: #fff;
  text-align: center;
}

.bcs-material__item__image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 300px;
  margin-bottom: 1.5rem;
  margin-right: auto;
  margin-left: auto;
}

.bcs-material__item__image-wrapper::before {
  content: "";
  display: block;
  padding-top: 100%;
}

table.bcs-material__item__table {
  margin-bottom: 1.5rem;
  border: none;
  background: none;
}

table.bcs-material__item__table tr {
  border-bottom: 1px solid #d7e2e9;
}

table.bcs-material__item__table tr:last-child {
  border-bottom: none;
}

table.bcs-material__item__table th,
table.bcs-material__item__table td {
  padding: 0.5rem 0;
  border: none;
  background: none;
  vertical-align: middle;
  text-align: left;
}

table.bcs-material__item__table th {
  box-sizing: border-box;
  width: auto;
  padding-right: 0.75rem;
  color: #7fb2c4;
  font-weight: bold;
  font-size: 0.875rem;
  white-space: nowrap;
}

table.bcs-material__item__table td {
  background: none;
  color: #666;
  font-size: 0.75rem;
}

a.bcs-material__button {
  display: inline-block;
  position: relative;
  padding: 10px 36px;
  border-radius: 32px;
  background-color: #edf6f9;
  color: #3dafcc;
  font-weight: bold;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.15s;
}

a.bcs-material__button::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%233dafcc" class="bi bi-box-arrow-up-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z"/><path fill-rule="evenodd" d="M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z"/></svg>');
  position: absolute;
  top: 11px;
  right: 14px;
  width: 12px;
  height: 12px;
}

a.bcs-material__button:hover {
  background-color: #3dafcc;
  color: #edf6f9;
}

a.bcs-material__button:hover::after {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23edf6f9" class="bi bi-box-arrow-up-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z"/><path fill-rule="evenodd" d="M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z"/></svg>');
}

.bcs-material__summary {
  color: #333;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}

.bcs-material__summary em {
  color: #fc7188;
  font-size: 1.5rem;
  font-style: normal;
}

.bcs-material__summary-button-group > div {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  color: #46bdd2;
  letter-spacing: 0.1em;
}

.bcs-material__summary-button-group > div::after {
  content: " ";
  margin-left: -0.1em;
}

.bcs-material__summary-button-group a.bcs-material__large-button {
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 4px;
  background-color: #1fbfdd;
  color: #fff;
  text-decoration: none;
}

.bcs-material__summary-button-group a.bcs-material__large-button::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-chevron-circle-right"><path fill="%23fff" d="M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z" class=""></path></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: -0.1em;
}

@media (max-width: 767px) {
  .bcs-material__item-wrapper {
    overflow-x: scroll;
  }

  .bcs-material__item {
    flex: 1 0 75vw;
  }

  a.bcs-material__button span.sm-none {
    display: none;
  }
}

@media (min-width: 992px) {
  .bcs-material-wrapper {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  h2.bcs-material__heading {
    margin-bottom: 3rem;
    border: none;
    padding-left: 0;
    font-size: 2rem;
    text-align: center;
  }

  h2.bcs-material__heading::after {
    content: " ";
    margin-left: -0.1em;
  }

  .bcs-material__item-wrapper {
    justify-content: center;
    margin-right: -14px;
    margin-left: -14px;
  }

  .bcs-material__item {
    flex: 0 0 33%;
    margin-right: 14px;
    margin-left: 14px;
    padding: 1.5rem 2rem;
  }

  .bcs-material__item:only-child {  /* 子要素が一つしかない場合 */
    flex: 0 0 50%;
  }

  .bcs-material__summary .sm-only {
    display: none;
  }

  a.bcs-material__button {
    padding: 0.75em 3em;
    font-size: 0.875rem;
  }

  a.bcs-material__button::after {
    top: 0.75rem;
    right: 1rem;
  }

  .bcs-material__summary-button-group a.bcs-material__large-button {
    padding: 1.25rem 3.75rem;
    font-size: 1.25rem;
  }
}

/* ---------- */

.bcs-company-wrapper {
  padding-top: 32px;
  padding-bottom: 60px;
}

h2.bcs-company__heading {
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 12px;
  border-left: 3px solid #333;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: 0.075em;
  text-align: left;
}

.bcs-company__table {
  max-width: 790px !important;
  margin-right: auto;
  margin-left: auto;
}

.bcs-company__table th {
  text-align: right;
}

.bcs-company__table td {
  text-align: left;
}

@media (min-width: 992px) {
  .bcs-company-wrapper {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  h2.bcs-company__heading {
    margin-bottom: 3rem;
    border: none;
    padding-left: 0;
    font-size: 2rem;
    text-align: center;
  }

  h2.bcs-company__heading::after {
    content: " ";
    margin-left: -0.075em;
  }

  .bcs-company__table th,
  .bcs-company__table th {
    padding: 0.5rem !important;
  }

  .bcs-company__table th {
    padding-right: 1.5rem !important;
  }
}

/**
 * ------------------------
 * oy - お役立ち資料
 * ------------------------
 */

 .oy-u-widthFull {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}

a.oy-ctaButton {
  display: inline-block;
  position: relative;
  padding-top: 12px;
  text-decoration: none !important;
}

a.oy-ctaButton:hover {
  transition: all .2s ease;
  opacity: 0.75;
}

a.oy-ctaButton::after {
  content: '';
  position: absolute;
  top: calc((100% + 12px) / 2);
  right: 20px;
  left: auto;
  width: 6px;
  height: 6px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translate(0, -50%) rotate(45deg);
}

.oy-ctaButton__balloon {
  position: absolute;
  top: 0;
  left: -6px;
}

.oy-ctaButton__body {
  display: block;
  text-align: center;
  padding: 0.5rem;
  border-radius: 6px;
  background-color: #009d1b;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.05em;
}

p.oy-ctaNotice {
  margin-top: 0.5em !important;
  margin-bottom: 0.5em !important;
  font-size: 9px;
}

.text-center p.oy-ctaNotice {
  text-align: center;
}

.oy-primary {
  padding-top: 8px;
  padding-bottom: 24px;
  background: url('https://ad.jt-tsushin.jp/hatena/images/oy-bg-primary-information.jpg') no-repeat center;
  background-size: cover;
}

.oy-primaryContainer {
  max-width: 670px;
}

h1.oy-primaryContainer__heading {
  margin-top: 0;
  margin-bottom: 1rem;
}

.oy-primaryContainer__lead {
  margin-top: 16px;
  margin-bottom: 14px;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.5;
}

.oy-primaryContainer__description {
  margin-top: 14px;
  margin-bottom: 10px;
  padding: 16px;
  background-color: #fff;
  font-size: 12px;
  line-height: 1.75;
}

.oy-secondary {
  padding-top: 20px;
  padding-bottom: 40px;
  background-color: #eef3f4;
}

.oy-materialWrapper {
  display: flex;
  margin: 0 -10px;
}

.oy-material {
  margin: 0 10px 32px;
  padding: 12px 20px;
  border-radius: 20px;
  background: url('https://ad.jt-tsushin.jp/hatena/images/oy-bg-material.jpg') #fff bottom right no-repeat;
  background-size: contain;
  box-shadow: 0px 0px 2rem 2px rgba(206, 223, 227, 0.5);
}

.oy-material__heading {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-weight: bold;
  color: #0cbbd9;
  line-height: 1;
}

.oy-wrapper--purple .oy-material {
  background-image: url('https://ad.jt-tsushin.jp/hatena/images/oy-bg-material-purple.jpg');
}

.oy-wrapper--brown .oy-material {
  background-image: url('https://ad.jt-tsushin.jp/hatena/images/oy-bg-material-brown.jpg');
}

.oy-wrapper--purple .oy-material__heading {
  color: #8752b0;
}

.oy-wrapper--brown .oy-material__heading {
  color: #6d4800;
}

.oy-material__heading__number {
  box-sizing: content-box;
  padding-right: 1rem;
}

.oy-material__heading__title {
  font-size: 18px;
}

.oy-material__description {
  font-size: 12px;
}

.oy-material__data {
  margin-top: 18px;
  margin-bottom: 18px;
}

.oy-galleryImageContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 216px;
  height: 216px;
  margin-right: auto;
  margin-left: auto;
  background-color: #f7f7f7;
}

.oy-material__gallery__sub .oy-galleryImageContainer {
  width: 48px;
  height: 48px;
}

/* .oy-galleryImageContainer::before {
  content: "";
  display: block;
  padding-top: 100%;
} */

.oy-galleryImageContainer img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.oy-material__gallery__sub {
  display: flex;
  margin-top: 0.5rem;
}

.oy-material__gallery__sub > .oy-galleryImageContainer {
  max-width: 22%;
  flex: 0 1 22%;
  margin-left: 4%;
}

.oy-material__gallery__sub > .oy-galleryImageContainer:first-child {
  margin-left: 0;
}

.oy-material__moreButton {
  display: none;
}

.oy-material__list {
  margin: 0;
}

.oy-material__list dt {
  margin-top: 1.5rem;
  margin-bottom: 0.25rem;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.25;
}

.oy-material__list dt:first-child {
  margin-top: 0;
}

.oy-material__list dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.25;
}

.oy-material__list dd.oy-material__list__anchor {
  margin-top: 16px;
  text-align: right;
}

.oy-material__list dd.oy-material__list__anchor a {
  color: #666;
}

.oy-common {
  padding-top: 32px;
  padding-bottom: 48px;
  background: linear-gradient(#cce5ea 62.5vw, #eef3f4 62.5vw);
}

.oy-commonBlock {
  margin-bottom: 36px;
}

h3.oy-commonBlock__heading {
  margin-top: 0 !important;
  font-size: 20px;
  letter-spacing: 0.05em;
}

.oy-commonBlock__video {
  max-width: 740px;
  margin-right: auto;
  margin-left: auto;
}

.oy-related {
  padding-top: 28px;
  padding-bottom: 24px;
  background-color: #d8e3e5;
}

h3.oy-related__heading {
  margin-top: 0;
  margin-bottom: 18px;
  font-size: 15px;
}

.oy-banner-container {
  display: flex;
  flex-wrap: wrap;
  margin: -6px;
}

a.oy-banner {
  display: inline-block;
  flex-basis: calc(50% - 12px);
  margin: 6px;
}

.oy-raban {
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #eef3f4;
}

.oy-floating {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 16px;
  background-color: #fff;
  text-align: center;
  box-shadow: 0px 0px 24px 1px rgba(188, 200, 203, 0.77);
  z-index: 99;
  animation: fadeIn 2s ease 0s 1 normal;
}

.oy-floating__title {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}

.oy-floating__count {
  font-weight: bold;
  font-size: 13px;
  line-height: 1.5;
}

.oy-floating__number {
  padding-right: 0.25em;
  padding-left: 0.25em;
  color: #0cbbd9;
  font-size: 18px;
}

.oy-wrapper--purple .oy-floating__number {
  color: #c172ff;
}

.oy-wrapper--brown .oy-floating__number {
  color: #ea9d40;
}

.oy-floating__close {
  position: absolute;
  top: -10px;
  right: 6px;
  padding: 8px;
  border-radius: 50%;
  background-color: #000;
  line-height: 0;
  cursor: pointer;
}

.oy-floating__close::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-x-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M13.854 2.146a.5.5 0 0 1 0 .708l-11 11a.5.5 0 0 1-.708-.708l11-11a.5.5 0 0 1 .708 0Z"/><path fill-rule="evenodd" d="M2.146 2.146a.5.5 0 0 0 0 .708l11 11a.5.5 0 0 0 .708-.708l-11-11a.5.5 0 0 0-.708 0Z"/></svg>');
  background-size: cover;
}

@media (max-width: 991px) {
  a.oy-ctaButton {
    width: 100%;
  }

  .oy-ctaButton__balloon {
    width: 60px;
    height: 54px;
  }

  .oy-ctaButton__subText {
    display: block;
    font-weight: normal;
    font-size: 12px;
    line-height: 1.25;
  }

  .oy-materialWrapper {
    align-items: start;
    overflow-x: scroll;
    margin: 0;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .oy-material {
    flex: 1 0 75vw;
    margin: 0 16px 32px;
    background-position: bottom 0 right -60px;
    background-size: auto;
  }

  .oy-material__heading__number {
    width: 32px !important;
    height: 32px !important;
    padding-right: 0.5rem;
  }

  .oy-material__moreButton {
    display: inline-block;
    width: 100%;
    border: none;
    border-radius: 4px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 8px;
    background-color: #0cbbd9;
    color: #fff;
    font-size: 12px;
    text-align: center;
  }

  .oy-wrapper--purple .oy-material__moreButton {
    background-color: #8752b0;
  }

  .oy-wrapper--brown .oy-material__moreButton {
    background-color: #6d4800;
  }

  .oy-material__list {
    display: none;
    margin-top: 20px;
  }

  .oy-material__list.is-open {
    display: block;
  }

  .oy-commonBlock p {
    margin: 20px 0;
  }

  .oy-material__gallery__sub {
    display: none;
  }

  .oy-icon-raban {
    width: 28px;
    height: 28px;
  }
}

@media (min-width: 992px) {
  a.oy-ctaButton::after {
    width: 8px;
    height: 8px;
    right: 24px;
  }

  .oy-ctaButton__balloon {
    left: -36px;
  }

  .oy-ctaButton__body {
    padding: 1.5rem 4rem 1.5rem 5rem;
    font-size: 1.75rem;
    line-height: 1.5;
  }

  .oy-ctaButton__body .oy-particle {
    font-size: 1.16rem;
  }

  a.oy-ctaButton--lgSmall .oy-ctaButton__body {
    padding: 1rem 5rem 1rem 6rem;
    font-size: 1.75rem;
  }

  a.oy-ctaButton--lgSmall .oy-ctaButton__subText {
    display: block;
    font-weight: normal;
    font-size: 1rem;
  }

  a.oy-ctaButton--lgSmall .oy-ctaButton__body .oy-particle {
    font-size: 1rem;
  }

  p.oy-ctaNotice {
    font-size: 0.9375rem;
  }

  .oy-primary {
    padding-top: 0.75rem;
    padding-bottom: 2.5rem;
  }

  h1.oy-primaryContainer__heading img {
    max-width: none !important;
  }

  .oy-primaryContainer__lead {
    margin-top: 2rem;
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
  }

  .oy-primaryContainer__description {
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
    padding: 1.25rem;
    font-size: 1rem;
  }

  .oy-secondary {
    padding-top: 2.8rem;
    padding-bottom: 8.75rem;
  }

  .oy-materialWrapper {
    flex-wrap: wrap;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .oy-material {
    flex-basis: calc(50% - 32px);
    padding: 2rem 2.5rem;
  }

  .oy-material__heading__title {
    font-size: 1.5rem;
  }

  .oy-material__description {
    font-size: 15px;
  }

  .oy-material__data {
    display: flex;
    margin-top: 2rem;
  }

  .oy-material__gallery {
    flex-basis: 216px;
    margin-right: 2rem;
  }

  .oy-material__list {
    flex: 1;
    position: relative;
    padding-bottom: 2rem;
  }

  .oy-material__list dt {
    font-size: 14px;
    letter-spacing: 0.075em;
  }

  .oy-material__list dd {
    color: #666;
    font-size: 14px;
  }

  .oy-material__list dd.oy-material__list__anchor {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .oy-common {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    background: linear-gradient(#cce5ea 450px, #eef3f4 450px);
  }

  .oy-commonBlock {
    margin-bottom: 5rem;
  }

  .oy-commonBlock__flex {
    display: flex;
    align-items: center;
  }

  .oy-commonBlock__flex__body {
    flex: 1;
  }

  .oy-commonBlock__flex__figure {
    margin-left: 2rem;
    flex-basis: 44%;
  }

  h3.oy-commonBlock__heading {
    font-size: 1.66rem;
  }

  .oy-related {
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
  }

  h3.oy-related__heading {
    font-size: 1.25rem;
  }

  .oy-banner-container {
    margin: -8px;
  }

  a.oy-banner {
    display: inline-block;
    flex-basis: calc(25% - 16px);
    margin: 8px;
    cursor: pointer;
  }

  .oy-raban {
    padding-bottom: 7.5rem;
  }

  .oy-floating {
    width: auto;
    right: 28px;
    bottom: 40px;
    left: auto;
    padding: 2.5rem 2rem 1.5rem;
  }

  .oy-floating__title {
    font-size: 1.5rem;
    line-height: 1.25;
  }

  .oy-floating__count {
    margin-bottom: 1rem;
    font-size: 1.125rem;
    line-height: 1.25;
  }

  .oy-floating__number {
    font-size: 2rem;
  }

  .oy-floating__close {
    top: -16px;
    right: -16px;
    padding: 11px;
  }

  .oy-floating__close::before {
    width: 18px;
    height: 18px;
  }

  a.oy-ctaButton--floating.oy-ctaButton::after {
    width: 6px;
    height: 6px;
  }

  a.oy-ctaButton--floating .oy-ctaButton__balloon {
    top: -2px;
    left: -6px;
  }

  a.oy-ctaButton--floating .oy-ctaButton__body {
    padding: 0.75rem 3.75rem 0.75rem 4.5rem;
    font-size: 1rem;
  }
}