@charset "utf-8";

/* 横はみ出しを隠したまま、ヘッダーの追従を有効にする。 */
body {
  overflow-x: clip;
}


/* ヘッダー内のBootstrap 4の余白・配置を本番に合わせる。 */
.siteHeader.navbar {
  display: block;
  padding: 0;
  position: sticky;
  top: 0;
}

.siteHeader.navbar > .siteHeadContainer {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 992px) {
  .siteHeader.navbar > .siteHeadContainer {
    max-width: 970px;
  }

  .siteHeader .navbar-header {
    float: left;
    margin-bottom: 0;
  }

  .siteHeader .siteHeader_logo {
    float: left;
    width: auto;
    padding: 5px 0;
    text-align: left;
  }

  .siteHeader .siteHeader_logo img {
    margin: 0;
  }

  .siteHeader .widget {
    font-size: 16px;
  }

  /* スクロール時もヘッダー全体とメニューの配置を保つ。 */
  .siteHeader #gMenu_outer {
    display: block;
    position: static;
    float: none;
    width: 100%;
    min-height: 0;
    background: transparent;
    box-shadow: none;
  }

  .siteHeader #gMenu_outer nav {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
  }

  .siteHeader ul.gMenu {
    display: block;
    float: none;
  }

  .siteHeader ul.gMenu > li,
  .siteHeader ul.gMenu > li:last-child {
    float: left;
    width: auto;
    border: 0;
  }

  .siteHeader ul.gMenu > li > a {
    padding: 0 0 0 80px;
    font-size: 17px;
    line-height: 1.65;
  }

  .siteHeader ul.gMenu > li .gMenu_name {
    font-size: inherit;
    font-weight: 400;
  }

  .siteHeader ul.gMenu > li::before {
    content: none;
  }

  .vk-mobile-nav-menu-btn {
    display: none;
  }
}

@media (min-width: 1200px) {
  .siteHeader.navbar > .siteHeadContainer {
    max-width: 1170px;
  }
}

/* モバイルではロゴの左余白と上余白を本番に合わせる。 */
@media (max-width: 991px) {
  .siteHeader.navbar > .siteHeadContainer {
    max-width: none;
    margin-left: 1%;
  }

  .siteHeader .navbar-header {
    margin-right: -15px;
    margin-left: -15px;
  }
}

/* フッターの色・文字組み・ウィジェット間隔を本番に合わせる。 */
footer.siteFooter {
  border-top: 0;
  background-color: #066ab6;
  line-height: 1.42857143;
}

.siteFooter .widget {
  margin-bottom: 0;
}

.siteFooter .ft_sitemap {
  line-height: 1.42857143;
}

.siteFooter .ft_sitemap h6 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

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

.siteFooter .ft_sitemap ul {
  margin: 10px 0;
}

.siteFooter .ft_sitemap li {
  padding: 0;
  font-size: inherit;
  line-height: 1.65em;
}

.siteFooter .ft_sitemap .sitemap_top {
  font-size: 15px;
}

.siteFooter .ft_sitemap .sitemap_sns li {
  font-size: .9em;
}

footer.siteFooter .footerMenu li a {
  padding: 0;
  line-height: inherit;
}

.siteFooter .ft_sitemap a {
  text-decoration: none;
}

.siteFooter .ft_sitemap a:hover {
  text-decoration: underline;
}

/* 新しいアイコンの固定幅を、従来の矢印の幅に合わせる。 */
.siteFooter .ft_sitemap .fa-arrow-alt-circle-right {
  width: 1em;
}

.siteFooter .ft_sitemap .fa-caret-right {
  width: .375em;
}

.siteFooter .ft_copyright p {
  line-height: 1.8;
}

/* 既存HTMLに合わせ、フッター内だけ旧Bootstrapの列幅・余白を再現する。 */
.siteFooter .row {
  display: block;
  margin-right: -15px;
  margin-left: -15px;
}

.siteFooter .row::before,
.siteFooter .row::after {
  display: table;
  content: " ";
}

.siteFooter .row::after {
  clear: both;
}

.siteFooter .row [class*="col-"] {
  flex: none;
  max-width: none;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

@media (max-width: 767px) {
  .siteFooter .ft_sitemap ul {
    margin: 0;
  }
}

@media (max-width: 640px) {
  .siteFooter .ft_copyright .text-right {
    text-align: left !important;
  }
}

@media (min-width: 768px) {
  .siteFooter .row .col-sm-4 {
    float: left;
    width: 33.33333333%;
  }
}

@media (min-width: 992px) {
  .siteFooter .container {
    max-width: 970px;
  }

  .siteFooter .row .col-md-12 {
    float: left;
    width: 100%;
  }

  .siteFooter .row .col-md-4 {
    float: left;
    width: 33.33333333%;
  }

  .siteFooter .ft_sitemap h6 {
    font-size: 15px;
  }
}

@media (min-width: 1200px) {
  .siteFooter .container {
    max-width: 1170px;
  }

  .siteFooter .row .col-lg-9 {
    width: 75%;
  }

  .siteFooter .row .col-lg-3 {
    width: 25%;
  }

  .siteFooter .row .col-lg-12 {
    width: 100%;
  }
}

@media (max-width: 991px) {
  .siteFooter .container {
    max-width: none;
  }
}

/* 新着情報の本文・サイドバーを本番と同じ幅・余白にする。 */
.post-type-post .sideSection,
.archive.post-type-post .siteContent {
  font-size: 16px;
  line-height: 1.42857143;
  color: #333;
}

.post-type-post .sideSection > .widget:last-child {
  /* 親テーマで除かれる最後のウィジェットの余白を戻す。 */
  margin-bottom: 25px;
}

.post-type-post .sideSection .widget-title {
  line-height: 1.7em;
}

.post-type-post .sideSection .postList li {
  border-bottom: 1px dotted #666;
}

.post-type-post .sideSection .localNavi {
  line-height: 20px;
}

.post-type-post .sideSection .localNavi a {
  border-bottom-color: #e5e5e5;
}

@media (min-width: 992px) {
  .post-type-post .siteContent > .container {
    max-width: 970px;
  }

  .post-type-post .siteContent > .container > .row > .mainSection-col-two {
    width: 66.666667%;
    float: left;
  }

  .post-type-post .siteContent > .container > .row > .sideSection-col-two {
    width: 25%;
    float: right;
  }
}

@media (min-width: 1200px) {
  .post-type-post .siteContent > .container {
    max-width: 1170px;
  }
}

@media (max-width: 991px) {
  .archive.post-type-post .siteContent > .container {
    max-width: none;
  }
}

/* 一覧の記事間隔・カテゴリ・ページ送り。トップの投稿一覧は対象外。 */
.archive.post-type-post .mainSection {
  margin-bottom: 0;
}

.archive.post-type-post .mainSection > .postList {
  margin-bottom: 25px;
}

.archive.post-type-post .mainSection .media {
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 2em 0;
  border-bottom: 1px solid #e5e5e5;
}

.archive.post-type-post .mainSection .media:first-child {
  border-top: 1px solid #e5e5e5;
}

.archive.post-type-post .mainSection .media-body {
  overflow: hidden;
}

.archive.post-type-post .mainSection .media-body_excerpt {
  display: inline;
}

.archive.post-type-post .entry-meta_items_term_button {
  font-size: 12px;
  line-height: 1.5;
  padding: 1px 15px;
  border-radius: 3px;
}

.archive.post-type-post .pagination {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  margin: 20px 0 0;
}

.archive.post-type-post .pagination .nav-links {
  margin: 0;
}

.archive.post-type-post .pagination a {
  color: #066ab6;
}

@media (min-width: 768px) {
  /* 親テーマでは768pxもモバイル扱いになるため、境界を揃える。 */
  .archive.post-type-post .entry-meta_items_term {
    float: right;
    margin-top: 0;
  }

  .archive.post-type-post .mainSection .postList_thumbnail {
    padding-right: 30px;
  }
}

@media (max-width: 767px) {
  .archive.post-type-post .mainSection .media .media-heading {
    font-size: 1.2em;
    line-height: 1.3em;
    margin-bottom: .5em;
  }
}

/* トップ本文の文字組みとボタンを本番に合わせる。 */
.home .siteContent {
  font-size: 16px;
  line-height: 1.42857143;
}

.home .siteContent .mainSection,
.home .siteContent .widget,
.home .siteContent .entry-body {
  font-size: 16px;
}

.home .siteContent .mainSection {
  margin-bottom: 0;
}

.home .siteContent .widget {
  margin-bottom: 35px;
}

.home .siteContent h3 {
  font-size: 24px;
  line-height: 1.7;
}

.home .siteContent .top_intro h3 {
  line-height: 1;
}

.home .siteContent p {
  line-height: 1.8em;
}

.home .siteContent a {
  color: #066ab6;
}

.home .siteContent .bk_blue_box,
.home .siteContent .tel a {
  color: #fff;
}

.home .siteContent .fa-phone,
.home .siteContent .fa-plus-circle {
  width: 1em;
}

.home .siteContent .fa-angle-right {
  width: .5em;
}

/* 旧グリッドの余白・列幅・中央寄せをトップ本文内だけ復元する。 */
.home .siteContent .row {
  display: block;
  margin-right: -15px;
  margin-left: -15px;
}

.home .siteContent .row::before,
.home .siteContent .row::after {
  display: table;
  content: " ";
}

.home .siteContent .row::after {
  clear: both;
}

.home .siteContent .row [class*="col-"] {
  flex: none;
  max-width: none;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.home .siteContent .top_second .second_box {
  width: 20%;
  margin: 2%;
  padding: 30px 0;
}

@media (min-width: 768px) {
  .home .siteContent .col-sm-12 {
    float: left;
  }
}

@media (min-width: 992px) {
  .home .siteContent .container {
    max-width: 970px;
  }

  .home .siteContent .col-md-12,
  .home .siteContent .col-md-4,
  .home .siteContent .col-md-3 {
    float: left;
  }

  .home .siteContent .row .col-md-4 {
    width: 33.33333333%;
  }
}

@media (min-width: 1200px) {
  .home .siteContent .container {
    max-width: 1170px;
  }

  .home .siteContent .col-lg-7,
  .home .siteContent .col-lg-5 {
    float: left;
  }

  .home .siteContent .row .col-lg-7 {
    width: 58.33333333%;
  }

  .home .siteContent .row .col-lg-5 {
    width: 41.66666667%;
  }

  .home .siteContent .row .col-lg-6 {
    width: 50%;
  }

  .home .siteContent .row .col-lg-8 {
    width: 66.66666667%;
  }

  .home .siteContent .row .col-lg-10 {
    width: 83.33333333%;
  }

  .home .siteContent .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .home .siteContent .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .home .siteContent .col-lg-offset-3 {
    margin-left: 25%;
  }
}

@media (max-width: 991px) {
  .home .siteContent .container {
    max-width: none;
  }

  .home .siteContent .top_second h3 {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .home .siteContent h3 {
    font-size: 20px;
  }

  .home .siteContent .widget {
    margin-bottom: 25px;
  }

  /* 新旧テーマでremの基準が異なるため、既存の間隔をpxで保つ。 */
  .home .siteContent .mb40 {
    margin-bottom: 40px !important;
  }

  .home .siteContent .fb-page,
  .home .siteContent .fb-page span {
    margin-top: 60px;
    height: 555px !important;
  }

  .home .siteContent .top_second .second_box {
    width: 42%;
    margin: 0 3% 15px;
  }

  .home .siteContent .concept_box {
    width: 90%;
    margin: 0 5%;
  }
}

@media (hover:hover) {
  a.bk_blue_box:hover {
    color: #abdaf8 !important;
  }
}

/* 本文の共通補正。対象を限定し、トップには適用しない。 */
:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent {
  font-size: 16px;
  line-height: 1.42857143;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .mainSection,
:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .entry-body {
  font-size: 16px;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .mainSection {
  flex: none;
  width: 100%;
  max-width: none;
  margin-bottom: 0;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .entry-body {
  padding-bottom: 40px;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .row {
  display: block;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .row::before,
:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .row::after {
  display: table;
  content: " ";
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .row::after {
  clear: both;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent h1 {
  font-size: 36px;
  line-height: 1.7em;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent h2:not(.ttl_h2) {
  line-height: 1.7em;
}

:is(.concept, .product, .parent-pageid-11) .siteContent h3 {
  font-size: 24px;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .bk_container > p {
  line-height: 1.8em;
}

:is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .fa-angle-right {
  width: .5em;
}

@media (min-width: 992px) {
  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .container {
    width: 970px;
    max-width: 970px;
  }

  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .mainSection {
    float: left;
  }
}

@media (min-width: 1200px) {
  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .container {
    width: 1170px;
    max-width: 1170px;
  }

  /* 旧テーマに合わせた本文開始位置。 */
  :is(.concept, .company, .shopping) .siteContent > .container {
    padding-top: 5px;
  }
}

@media (max-width: 991px) {
  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .container {
    max-width: none;
  }
}

@media (max-width: 767px) {
  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent h1 {
    font-size: 24px;
  }

  :is(.concept, .product, .parent-pageid-11) .siteContent h3 {
    font-size: 20px;
  }

  :is(.concept, .product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent .entry-body {
    padding-bottom: 24px;
  }
}

@media (max-width: 640px) {
  .concept .siteContent h3 {
    text-align: left !important;
  }
}

/* 本文の文字色・段落の行間。商品固有の装飾は対象を分ける。 */
:is(.product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent {
  color: #333;
}

:is(.product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact, .post-type-archive-work, .single-work) .siteContent p {
  line-height: 1.8em;
}

:is(.product, .parent-pageid-11) .siteContent .blue_box_ttl h2 {
  font-size: 24px;
}

:is(.product, .parent-pageid-11) .siteContent h4 {
  font-size: 20px;
  line-height: 1.7em;
}

:where(.product, .parent-pageid-11, .company, .shopping, .privacypolicy, .contact) .siteContent a {
  color: #066ab6;
}

:is(.product, .parent-pageid-11) .siteContent .bk_blue_box {
  color: #fff;
}

:is(.product, .parent-pageid-11) .siteContent :is(.pdf_link, .pdf_link_l) {
  color: #d7000f;
}

/* Bootstrap 3の列幅・余白・floatを対象の本文内で復元する。 */
:is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row:not(.container) {
  margin-right: -15px;
  margin-left: -15px;
}

:is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row [class*="col-"] {
  flex: none;
  max-width: none;
  min-height: 1px;
}

/* 各ページの幅・余白指定を残せるよう、基本指定の詳細度を抑える。 */
:where(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row :where([class*="col-"]:not(.product_box)) {
  width: 100%;
}

:where(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row :where([class*="col-"]:not(.product_box):not(.product_detail)) {
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 768px) {
  :where(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent :where([class*="col-sm-"]) {
    float: left;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-3:not(.product_box) {
    width: 25%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-4:not(.product_box) {
    width: 33.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-5:not(.product_box) {
    width: 41.66666667%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-6:not(.product_box) {
    width: 50%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-7:not(.product_box) {
    width: 58.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-8:not(.product_box) {
    width: 66.66666667%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-10:not(.product_box) {
    width: 83.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-sm-12:not(.product_box) {
    width: 100%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
}

@media (min-width: 992px) {
  :where(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent :where([class*="col-md-"]) {
    float: left;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-md-3:not(.product_box) {
    width: 25%;
  }

  :is(.company, .post-type-archive-work, .single-work) .siteContent .row .col-md-4:not(.product_box) {
    width: 33.33333333%;
  }

  .company .siteContent .row .col-md-8 {
    width: 66.66666667%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-md-9:not(.product_box) {
    width: 75%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-md-10:not(.product_box) {
    width: 83.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-md-12:not(.product_box) {
    width: 100%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
}

@media (min-width: 1200px) {
  :where(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent :where([class*="col-lg-"]) {
    float: left;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-3:not(.product_box) {
    width: 25%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-4:not(.product_box) {
    width: 33.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-6:not(.product_box) {
    width: 50%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-8:not(.product_box) {
    width: 66.66666667%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-9:not(.product_box) {
    width: 75%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-10:not(.product_box) {
    width: 83.33333333%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .row .col-lg-12:not(.product_box) {
    width: 100%;
  }

  :is(.product, .parent-pageid-11, .company, .shopping, .post-type-archive-work, .single-work) .siteContent .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
}

/* no-guttersより、既存の商品枠の余白を優先する。 */
:is(.product, .parent-pageid-11) .siteContent .product_box {
  padding-right: 15px;
}

:is(.product, .parent-pageid-11) .siteContent .product_detail {
  padding-right: 40px;
  padding-left: 40px;
}

@media (max-width: 1099px) {
  :is(.product, .parent-pageid-11) .siteContent .product_detail {
    padding-right: 30px;
    padding-left: 30px;
  }

  :is(.product, .parent-pageid-11) .siteContent .product_detail .row .text-left:first-child {
    text-align: center !important;
  }
}

/* 表は旧テーマのセル行間・余白を基本に、商品固有の指定を残す。 */
:where(.product, .parent-pageid-11) .siteContent :where(th, td) {
  font-size: 16px;
  line-height: 1.42857143;
}

:where(.product, .parent-pageid-11) .siteContent :where(.table) {
  color: inherit;
  margin-bottom: 20px;
}

:where(.product, .parent-pageid-11) :where(.siteContent) .table > :is(thead, tbody, tfoot) > tr > :is(th, td) {
  padding: 1em;
}

:is(.product, .parent-pageid-11) .siteContent .fa-file-download {
  width: .75em;
}

:is(.product, .parent-pageid-11) .siteContent :is(.vent_seinou, .vent_parts, .vent_parts03) th {
  padding-right: 0;
  padding-left: 0;
}

/* 旧テーマで効いていなかったBootstrap 4の余白を打ち消す。 */
.ventosan .siteContent h3.mt-3 {
  margin-top: 0 !important;
}

/* スマホ用タイトル画像の前に残る、旧固定ヘッダー用の余白を除く。 */
@media (max-width: 992px) {
  :is(.ventosan, .pax, .intellivent) .siteContent,
  :is(.ventosan, .pax, .intellivent) .entry-body {
    padding-top: 0;
  }

  :is(.ventosan, .pax, .intellivent) .header_sp {
    margin-top: 0;
  }
}

.thermal_insulation_door .siteContent .row .bg-light {
  padding-right: 0;
  padding-left: 0;
}

:is(.product, .parent-pageid-11) .siteContent .clearfix::before {
  display: table;
  content: " ";
}

@media (max-width: 767px) {
  :is(.product, .parent-pageid-11) .siteContent .blue_box_ttl h2 {
    font-size: 21px;
  }

  :is(.product, .parent-pageid-11) .siteContent h4 {
    font-size: 18px;
  }

  /* rem基準の変更で増えた既存の余白を元のpx値に戻す。 */
  :is(.product, .parent-pageid-11) .siteContent .mb20 {
    margin-bottom: 20px !important;
  }

  :is(.product, .parent-pageid-11, .company) .siteContent .mb40 {
    margin-bottom: 40px !important;
  }

  /* サムネイルへのリンクは画像に沿う幅で中央寄せする。 */
  :is(.product, .parent-pageid-11) .siteContent .int_images a {
    width: auto;
  }
}

/* ショップ独自の見出しサイズ・行間を維持する。 */
.shopping .siteContent h3 {
  line-height: 1.7em;
}

@media (max-width: 767px) {
  .shopping .siteContent h3 {
    text-align: left !important;
  }
}

/* 施工事例一覧：旧テーマのカードの文字組みと余白。 */
.post-type-archive-work .siteContent .postList {
  margin-bottom: 25px;
}

.post-type-archive-work .siteContent article {
  margin-bottom: 20px;
}

.post-type-archive-work .siteContent article :is(h2, a) {
  font-size: 16px;
  margin-top: 10px;
}

.post-type-archive-work .siteContent .media-body {
  display: table-cell;
  vertical-align: top;
  width: 10000px;
  overflow: hidden;
}

.post-type-archive-work .siteContent .media-heading {
  margin-bottom: 5px;
}

.post-type-archive-work .siteContent .entry-title a::before {
  font-size: 12px;
  margin-right: 10px;
  top: -2px;
}

/* 施工事例詳細：rem基準変更による拡大をpx指定で戻す。 */
.single-work .siteContent h2 {
  font-size: 21px;
  font-weight: 500;
}

.single-work .siteContent dt {
  font-size: 12px;
  padding: 20px 0 0 25px;
}

.single-work .siteContent dd {
  font-size: 16px;
  padding: 0 0 15px 25px;
  margin-bottom: 3px;
}

.single-work .siteContent #gallery-wrap {
  height: 249px;
}

.single-work .siteContent #slider {
  height: 214px;
}

.single-work .siteContent #carousel {
  height: 35px;
}

.single-work .siteContent .products_area {
  margin-top: 30px !important;
}

.single-work .siteContent .products_list li {
  margin-bottom: 35px;
}

.single-work .siteContent .products_category {
  font-size: 12px;
  margin-top: 15px;
}

.single-work .siteContent .products_name {
  font-size: 20px;
  margin-bottom: 20px;
}

:where(.single-work) .siteContent :where(p, dd) a {
  color: #066ab6;
}

/* 投稿・施工事例共通。Bootstrap 4にない旧形式の前後リンクを補完する。 */
.single-work .siteContent nav,
.single-post .siteContent .post-navigation {
  font-size: 14px;
  line-height: 1.42857143;
}

:is(.single-work, .single-post) .siteContent .pager {
  margin: 20px 0;
  padding: 0;
  text-align: center;
  list-style: none;
}

/* floatしたリンクを包含し、リストの余白相殺も旧テーマに揃える。 */
:is(.single-work, .single-post) .siteContent .pager::before,
:is(.single-work, .single-post) .siteContent .pager::after {
  display: table;
  content: " ";
}

:is(.single-work, .single-post) .siteContent .pager::after {
  clear: both;
}

:is(.single-work, .single-post) .siteContent .pager li {
  display: block;
  overflow: hidden;
  margin-bottom: 10px;
}

:is(.single-work, .single-post) .siteContent .pager a {
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 7px 15px 5px;
  border: 1px solid #abdaf8;
  background: #fff;
  color: #abdaf8;
  text-align: left;
  text-decoration: none;
}

:is(.single-work, .single-post) .siteContent .pager .previous a {
  float: left;
}

:is(.single-work, .single-post) .siteContent .pager .next a {
  float: right;
}

:is(.single-work, .single-post) .siteContent .pager a::before {
  margin-right: .8em;
}

:is(.single-work, .single-post) .siteContent .pager .next a::before {
  content: "»";
}

:is(.single-work, .single-post) .siteContent .pager a:is(:hover, :focus) {
  background: #abdaf8;
  color: #fff;
}

@media (min-width: 640px) {
  .post-type-archive-work .siteContent {
    padding-top: 10px;
  }

  .single-work .siteContent {
    padding-top: 5px;
  }

  .single-work .siteContent h2 {
    font-size: 28px;
    font-weight: 700;
  }

  .single-work .siteContent dd {
    padding-bottom: 20px;
  }

  .single-work .siteContent #gallery-wrap {
    height: 100%;
  }

  .single-work .siteContent #slider {
    height: 498px;
    margin-bottom: 15px !important;
  }

  .single-work .siteContent #carousel {
    height: 100px;
    margin-bottom: 60px;
  }

  .single-work .siteContent #carousel .swiper-slide {
    width: 100px !important;
    height: 70px !important;
    margin-right: 10px !important;
  }

  .single-work .siteContent #carousel .swiper-slide:last-child {
    margin-right: 0 !important;
  }

  .single-work .siteContent :is(.swiper-button-next, .swiper-button-prev) {
    bottom: 90px !important;
  }

  .single-work .siteContent .swiper-button-prev {
    left: -30px !important;
  }

  .single-work .siteContent .swiper-button-next {
    right: -30px !important;
  }

  .single-work .siteContent :is(.swiper-button-next, .swiper-button-prev)::after {
    font-size: 20px !important;
  }

  .single-work .siteContent .products_area {
    margin-top: 45px !important;
  }
}

@media (max-width: 639px) {
  .post-type-archive-work .siteContent h1 {
    line-height: 1.4em;
  }
}

/* お問い合わせ。旧グリッドの中央寄せと入力欄のサイズを補正。 */
.contact .entry-body > .row {
  margin-right: -15px;
  margin-left: -15px;
}

.contact .entry-body .col-lg-10 {
  flex: none;
  max-width: none;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 1200px) {
  .contact .entry-body .col-lg-10 {
    width: 83.33333333%;
    margin-left: 8.33333333%;
  }
}

.contact .must {
  font-size: 8px;
  line-height: inherit;
  margin-right: 10px;
}

.contact .siteContent :is(.wpcf7-text, .wpcf7-textarea) {
  font-size: 14px;
  line-height: 20px;
  color: #555;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);
}

.contact .siteContent .wpcf7-text {
  height: 34px;
}

.contact .siteContent :is(.wpcf7-text, .wpcf7-textarea):focus {
  border-color: #66afe9;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%), 0 0 8px rgb(102 175 233 / 60%);
}

/* CF7更新で分割された説明文と、チェック項目の段落ラッパーを補正。 */
.contact .contact_txt > p + p:last-child {
  margin-top: 1.8em;
}

.contact .contact_box > p:first-child,
.contact .contact_checkbox p {
  line-height: 1.7;
}

.contact .contact_checkbox p,
.contact .formbtn p {
  margin: 0;
}

.contact .contact_box .wpcf7-form-control-wrap + br {
  display: none;
}

.contact .contact_checkbox input[type="checkbox"] {
  margin: 4px 0 0;
  line-height: normal;
}

.contact .formbtn :is(.wpcf7-confirm, .wpcf7-back, .wpcf7-submit) {
  line-height: 1.42857143;
}

.contact .formbtn .btn-primary {
  border-color: #066ab6;
  color: #fff;
}

.contact .formbtn .btn-primary:is(:hover, :focus) {
  background: #abdaf8;
  color: #066ab6;
}

/* 待機表示は残し、非表示ボタンに付くスピナーの余白だけ除く。 */
.contact .formbtn .wpcf7-spinner {
  margin: 0;
  vertical-align: middle;
}

.contact .formbtn .wpcf7c-force-hide + .wpcf7-spinner {
  display: none;
}

/* 投稿本文は画面幅によらず本番と同じ文字サイズ・段落の行間にする。 */
.single-post .entry-body {
  font-size: 16px;
}

.single-post .entry-body p {
  line-height: 1.8em;
}

/* 日時・著者は本番と同じ768pxを境に文字サイズを切り替える。 */
:is(.single-post, .archive.post-type-post) .entry-meta_items {
  font-size: 14px;
  line-height: 20px;
}

@media (max-width: 767px) {
  :is(.single-post, .archive.post-type-post) .entry-meta_items {
    font-size: 12px;
    line-height: 1.42857143;
  }
}

/* 一覧・詳細で、G2に不足する同梱Font Awesome 7の指定を補う。 */
.fa_v7_css.post-type-post .entry-meta_items:is(.published, .entry-meta_items_author)::before {
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  margin-right: 5px;
}

.fa_v7_css.post-type-post .entry-meta_items.published::before {
  content: "\f073";
}

.fa_v7_css.post-type-post .entry-meta_items_author::before {
  content: "\f303";
}

/* 固定の問い合わせ帯。旧li由来の文字組み・余白だけを引き継ぐ。 */
.contact-band {
  font-size: 16px;
  line-height: 1.65em;
  margin-bottom: .8em;
}

.contact-band > a {
  color: #066ab6;
}

.contact-band .fa-phone {
  width: 1em;
}

.contact-band .fa-angle-right {
  width: .5em;
}

/* 確認画面では、案内文を空にした応答枠も非表示にする。 */
.wpcf7 form.custom-cscf7-confirmed .wpcf7-response-output {
  display: none;
}

@media (max-width: 640px) {
  .contact-band {
    line-height: 2em;
  }
}
